Latex基本语法的快速入门(Updating),为自己快速查找回想指令
一. 组织文档结构
只有具有良好结构的文档,才适合使用Latex编写,因此在写之前需要将文档的组成部分分隔清晰。
1.文档基本结构
以document环境为界,document环境之前的是导言部分(格式设置),环境内部是正文部分(套用格式)。
1 | % 导言: 格式设置 |
2.文档部件
文档常见基本组成要素的命令格式:
- 标题:
\title,\author,\date——\maketitle - 摘要|前言:
abstract环境|\chapter* - 目录:
\tableofcontents - 章节:
\chapter,\section - 附录:
\appendix+\chapter,\section - 文献:
\bibliography - 索引:
\printindex
文档正文文本部分有不同的层级划分,类似于Word中的一级标题,二级标题,段落正文等等,层级格式的设定包含在导言区导入的类或宏包中(相应的标题格式可以在类或宏包中修改),实际在正文部分中只使用一些层级命令来实现文档划分。
| 层次 | 名称 | 命令 | 备注 |
|---|---|---|---|
| -1 | part(部分) | \part |
可选最高层 |
| 0 | chapter(章) | \chapter |
report,book类最高层 |
| 1 | section(节) | \section |
article类最高层 |
| 2 | subsection(子节) | \subsection |
report,book类 |
| 3 | subsubsection(子子节) | \subsubsection |
默认不编号不编目录 |
| 4 | paragraph(段落) | \paragraph |
默认不编号不编目录 |
| 5 | subparagraph(子段落) | \subparagraph |
默认不编号不编目录 |
一般的科技论文模板中,较多的使用层次0-4这几个命令。
3.大型文件组织
在编写大型程序时,为了便于维护,可以将复杂的实现逻辑隔离出来,放在一个单独的模块中;也可以按程序逻辑将其划分为不同的模块,只在主函数中调用各模块接口。
使用Latex组织文件也是类似的,我们在主文档中给出文档的总体框架,按照内容划分不同的子文件,在子文件中使用单独的类文件和格式文件设置格式,为了便于维护,常将复杂的图片或者文本用小文件隔离。
在各文件中,使用\documentclass读入文档类文件(.cls),使用
\usepackage读入格式文件——宏包(.sty),使用
\include读入章节文件|独立子文件(.tex)并分页,使用
\input读入任意文件,例如:.pdf,.jpg,.png等格式文件。
1 | % language-main.tex |
1 | % intro.tex |
1 | % class.tex |
1 | % appendix.tex |
二. 填写文档内容
1.语法结构
Latex的语法有命令和环境两种格式
命令
命令字在反斜杠后,必选参数在其后用花括号包裹,可选参数用中括号放在二者之间: \[ \cmd[opt]\{arg1\}\{arg2\} \]
环境
1
2
3\begin{env}
...
\end{env}
2.正文文本语法
自然段的分段是在
.tex文件中空一行。被占用的符号,例如:%,{},[],$等需要在前面加反斜杠
\进行转义。键盘上没有的特殊符号用命令行输入,详查
symbols文档。
查询文档的方式是在cmd命令行(Win)/ 终端(Mac|Linux)中输入:
1 texdoc docname
3.公式
数学模式下的字体、符号、间距都与正文不同,一切数学公式都需要在数学模式下输入。
行内(inline)公式:使用一对美元符号
$...$表示行间(display)公式:
无编号行间公式:使用
\[ ... \]表示带编号行间公式:使用
equation环境,更复杂的结构,使用amsmath宏包提供的专门数学环境
编写公式时一些简单的数学结构列举如下:
- 上标与下标:用
^和_表示 - 上下划线与花括号:
\overline,\underline,\overbrace,\underbrace - 分式:
\frac{分子}{分母} - 根式:
\sqrt[次数]{根号下内容}
实际中编写数学公式有如下几种方法
可以先在Word中使用其自带的MathType可视化编写公式后,再转换成Tex格式:
方法一:在word 中选中公式,通过快捷键
Alt+\键实现转换。方法二:选中我们需要转换的公式之后,直接点击MathType选项卡中的
切换TEX即可来回切换。方法三:在MathType选项卡中有一个
转换公式按钮,可以将MathType公式转换成很多其他的公式格式,当然我们常用的还是LaTeX 2.09 and later。使用AxMath编辑器进行转换
使用在线网站:
截图提取公式,需要安装一个小软件:https://mathpix.com/
Note:上述工具都是辅助,准确的公式显示还需在实际环境下调试
数学公式使用的众多宏包中:
amsmath是基本的数学工具包,在包含数学公式的文档中几乎无处不在。mathtools则对amsmath做了一些补充和增强。siunitx:数学单位的一揽子解决方案mhchem:编写化学式
4.列表和文本块
列表环境:带编号列表
enumerate、不带编号的列表itemize、有标题的列表:description定理类环境:
\newtheorem定义定理类环境,如: \[ \newtheorem\{thm\}\{定理\}[section] \] 使用定理类环境:1
2
3\begin{thm}
一个定理
\end{thm}代码抄录:
由于Latex语法中的关键字和多数程序中的代码语法相冲突,因此直接呈现代码需要特殊环境
verbatim或\verb命令。前者针对大段程序抄录(display模式),后者针对小部分程序(inline模式)。需要注意的是:
\verb命令的语法规定,其使用格式是:\verb|programs|,需要用|或其他符号分隔开来。实际中,为了实现语法高亮以及排版更加美观,通常使用
listings宏包,配合lstlisting环境:1
2
3
4
5
6
7
8
9
10
11
12
13
14\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{flexiblecolumns,numbers=left,numberstyle=\footnotesize}
% flexiblecolums用来修改字符间距,numbers=left用于给左边加行号,numberstyle顾名思义修改数字大小。
\begin{lstlisting}[language=C++]
#include <stdio.h>
int main () {
printf("Hello world!\n");
}
\end{lstlisting}
\end{document}要是从文件中添加代码,可以使用:
1
\lstinputlisting[language=Python]{helloworld.py}
当然代码高亮还可以通过引入
minted宏包来定制(以下先暂时省略,日后再补充)
算法
5.图表和浮动环境
画表格:使用
tabular环境,具体定制格式时,使用在线网站插图:使用
graphicx宏包提供的\includegraphics命令:1
\includegraphics[width=15cm]{foo.pdf}
浮动体:图片环境——
figure环境;表格环境——table环境;浮动体的标题用\caption命令得到,自动编号。
三. 参考文档
参考自刘海洋老师的LaTex讲座 tex_intro_talk.pdf