LaTeX的安装与使用
一、Ubuntu上的安装
系统Ubuntu18,准备使用支持中文的XeLaTex。网络上有很多差不多的教程,基本上是XeLaTex版本的教程。
1. 安装
由于texlive-full比较大,这里又有流量限制,所以就参考了这篇文章,只安装了我需要的部分:
# 1.
apt-cache search latex # 可以看到许多包,可以看看需要安装哪些包;选择安装texlive-latex-base, 它的描述是:Tex Live: Basic LaTex packages. sudo apt install texlive-latex-base # 这样就安装好Latex了,可以直接使用。但编译中文时,由于没有安装CJK中文环境,会提示找不到CJK包
# 2.
apt-cache search cjk # 有许多关于CJK 环境的包;如:latex-cjk-all
sudo apt install latex-cjk-all # 安装中文环境,它的描述是:Installs all LaTex CJK packages.(Chinese,Japanese,Korea)
# 3. 有些.sty文件可能没有安装,例如:lastpage.sty. 根据Latex输出的错误信息,使用下面的命令来查找相应的包:
apt-cache search lastpage # 注意不要加.sty文件后缀
sudo apt install texlive-latex-extra # 描述:texlive-latex-extra - TeX Live: LaTeX supplementary packages
# 完成上面的这三步,可以完全满足平时的应用需求。如果以后需要使用到新的包,可以使用上面第三步的方法来查找相应的安装包,并选择安装即可
sudo apt install texmaker # 安装texmaker程序,它是一个图形化界面的Tex书写,编译,生成,预览集合为一体的程序。与Windows操作系统中的WinTex界面很相似
sudo apt install texlive-xete # XeLaTex
sudo apt install texlive-publishers # Texlive-publishers-support for publishers, theses, standards, conferences, etc.
# 使用apt-cache show texlive-publishers命令可以看到它所支持的CTAN包的信息
要使用XeLaTex,打开TeXMaker - options - configure texmaker - commands,将LaTeX那一行的latex改为xelatex即可
"latex-workshop.latex.recipes": [{ "name": "xelatex", "tools": [ "xelatex" ] }, { "name": "xelatex ->bibtex -> xelatex*2", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] }, { "name": "pdflatex", "tools": [ "pdflatex" ] } ], "latex-workshop.latex.tools": [{ "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ], "latex-workshop.latex.autoClean.run": "onBuilt", // 自动清除辅助文件 "latex-workshop.latex.autoBuild.run": "never" // 禁止保存时自动编译
之后即可使用。编译的快捷键为 ctrl + alt + b,更改参考——博客
三、 语法
1. 基本语法
\
开头,以第一个空格或非字母 的字符结束的一串文字,他们并不被输出,但是他们会影响输出文档的效果documentclass
,它后面紧跟着的{article}
代表这个控制序列有一个必要的参数,该参数的值为article
. 这个控制序列的作用,是调用名为 “article” 的文档类控制序列begin
,这个控制序列总是与end
成对出现。这两个控制序列以及他们中间的内容被称为“环境”;他们之后的第一个必要参数总是一致的,被称为环境名。只有在 “document” 环境中的内容,才会被正常输出到文档中去或是作为控制序列对文档产生影响
\begin{document}
与\documentclass{article}
之间的部分被称为导言区。导言区中的控制序列,通常会影响到整个输出文档\begin{figure} \captionsetup[subfigure]{labelformat=empty} % 设置关闭子图编号 \begin{subfigure}{.5\textwidth} \centering \includegraphics[height=3cm]{example-image-a} \caption{Test subfigure 1} % 图注没有编号(a),为:Test subfigure 1 \end{subfigure}% \begin{subfigure}{.5\textwidth} \centering \includegraphics[height=3cm]{example-image-b} \caption{Test subfigure 2} \end{subfigure}% \caption{Two subfigures} \end{figure}
\hspace{2.0em}正文。。。
4. 设置bicaption的编号前缀
下面的代码是在中文论文模式中,设置第二个题注的名字分别为英文:Table、Figure、Algorithm
\usepackage{ctex} %引入CTEX宏包 \usepackage{caption} \usepackage{bicaption} \captionsetup[figure][bi-second]{name=Figure} %设置图的英文编号前缀 \captionsetup[table][bi-second]{name=Table} %设置表的英文编号前缀 %%%%%%%%%%%%%%%%%%%%%%%% \DeclareCaptionOption{bi-first}[]{}% 1st language \DeclareCaptionOption{bi-second}[]{% 2nd language \def\tablename{Table} % 表 \def\figurename{Figure} % 图 \def\algname{Algorithm} % 算法 } \captionsetup[bi-first]{bi-first}% \captionsetup[bi-second]{bi-second}%
5. 伪代码块
algorithmic 包:REQUIRE等控制词需要大写
algorithmicx 包:Require等控制词首字母大写即可
\usepackage{algorithm} \usepackage{algorithmic} \usepackage{color} % 颜色包 \begin{algorithm} \caption{Calculate $y = x^n$} \label{alg:alg1} \begin{algorithmic}[1] % 给代码行添加编号 \REQUIRE $n \geq 0 \vee x \neq 0$ % 输入 \ENSURE $y = x^n$ % 输出 \STATE $y \leftarrow 1$ % 初始化 \IF{$n < 0$} ... \ELSE ... \ENDIF \color{red} % 后续行均标为红色 \FOR {$a $ to $b$} ... \ENDFOR \color{black} % 后续行均标为黑色 \WHILE{$N \neq 0$} ... \ENDWHILE {\color{red} \STATE ...} % 标红当前行 \end{algorithmic} \end{algorithm}
若要改为中文可以用下面的命令的编译结果由 “Input” 改为 “输出:”:
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
6. 在表格底部添加注释
下面的方法是在最后添加一行,但不添加 \hline,就可以显得该行不在表格中
注意,注释行的列数应该和表中所有列数相同(也可以按情况调整),这样注释行才不会影响表格中的列宽,也不会导致竖线穿到最后一根横线下
—— 因为\end{tabular} 之前的都是表格元素,所以注释本质也是表内的元素,会影响整个表格的布局 ——参考博客
\begin{table}[!htbp] \centering \footnotesize% fontsize \setlength{\tabcolsep}{4pt} \bicaption{\quad cn} {\quad en} \label{tab:results} \begin{tabular}{ccccccccc} \hline A & B & C\\ \hline 1 & 0 & 2 \\ \hline \multicolumn{3}{l}{* Our } % 在最后一行下面添加注释“* Our” \end{tabular} \\ \end{table}
7. 表格内文字换行
可以用makecell命令,结合 \\ 可以直接实现换行——参考博客
或者用p{30pt}这样的命令指定列宽,超过列宽的文字也会换行——参考博客——该博客还介绍了如何将多个表格并排展示(minipage和tabular结合即可)
\begin{table}[!htbp] \centering \bicaption{\quad cn} {\quad en} \label{tab:esults} \begin{tabular}{ccccccccc} \hline A & B & \makecell{C/ \\ D} \\ % C/D 1 & 0 & 2 \\ \hline \end{tabular} \\ \end{table}