一份及其简单的 LaTeX 教程
环境配置
如果觉得配置麻烦可以使用 Overleaf, 在线 LaTeX 编辑器 在线编辑。
基础指令
导言区
在所有的文档开头,需要编写导言区,作用是规定文档基础格式和调用宏包,可以对应地理解为 Python 中的 import
和 C 语言中的 #include
或者 #define
。
文章基础格式定义
一般导言区的开头是 \documentclass
定义文章基础类型格式。
1 | \documentclass[12pt,a4paper]{article} |
的所有指令都由 \
作为起始。
这里的参数 article
是 book
(出版书籍)、beammer
(幻灯片) 等类型。本文档主要介绍 article
(文章) 类型。同时 []
中的参数分别定义了正文字体大小 12pt
和纸张大小 a4paper
,读者可以根据需要自行调整。
宏包调用及常用宏包介绍
类似于 Python 的各种库,
1 | \usepackage[heading = true]{ctex} |
上面这条指令便是调用宏包的基础命令格式,其中 []
中的内容是宏包支持的调整参数,例中 heading = true
是宏包 ctex
的一个可调整参数,作用是使文章的默认标题格式为中文排版格式。而 {}
中的便是具体的宏包名称。从这里我们可以窥见 []
中为可调整参数,{}
中为主要命令。
接下来介绍一些比较常用的宏包:
1 | \usepackage{ctex} % 中文输入支持 |
宏包调用具体参数本比较繁多复杂,为简洁文档不做详细介绍,读者若需要可以自行翻阅官方文档。
页边距、页眉页脚设计基础
文章页面布局的设计中最为基础的便是页边距和页眉页脚的设计,需要调用上面提到的 fancyhdr
和 geometry
宏包。下面提供一个基础的设置。
1 | \geometry{left=3cm,right=3cm,top=2.5cm,bottom=2.5cm} % 文章左侧边距、右侧边距、顶部留白、底部留白 |
1 | \documentclass[article] |
编译效果如下:
我在页眉页脚的设置利用表格环境搭建了类似试验报告纸的格式。这里可以窥见 html
语言的特点。
文章标题
文章的标题和作者信息等内容也可以在导言区定义。
1 | \documentclass[article] |
如此在导言区定义好基本信息之后,只需要在正文中引入命令 \maketilte
便会自动生成标题。这里的 \date{}
命令如果删去则会自动添加编译时的日期,如果调用参数 \date{\today}
则同样会引入编译当天的日期。
编译效果如下:
其他应用
总而言之导言区就是需要定义在整个文档之前的,大部分情况下适用于整篇文档的一些基础设置,除了上述的应用外,还可能有对代码环境的定义、自定义指令、自定义标题格式等等,这里不再赘述。
正文
定义好导言区的格式之后我们就可以进入正文的编写了。
正文环境
\being{env}
结束于 \end{env}
。这两条语句之间的部分便会被应用于对应的环境,正文环境为 document
,因此我们需要在 \being{document}
和 \end{document}
之间编写正文内容。
1 | \begin{document} |
标题
1 | \part % |
其中 Chapter
不支持 article
类型的文档,多用于 book
类型中。在中英文环境中的编译结果如下:
其中直接使用 \section
等命令默认会有编号,若在命令后加上一个 *
符号如 \section*{ABC}
则不会编号。
除了默认的标题格式,我们还可以根据需要自定义标题格式。
1 | \usepackage{titlesec} % 自定义多级标题格式的宏包 |
以上参数具体如何设计可以自行参考相关文档,这里不再赘述,只给出一些例子:
1 | \titleformat{\section}[block]{\LARGE\bfseries}{Sec.\arabic{section}}{1em}{Hello: }[] |
定义的部分应当如前文所说,放在导言区。
编译效果如下:
内容
内容的编辑没有太多可以讲的,只有一些常用的操作需要遵循
空格:在文档中直接写空格默认不会被编译,以下是空格相关的代码以及编译效果;
代码 编译效果 空格 ab
无空格 a\,b
小空格 a\; b
中等空格 a \ b
大空格 a\quad b
一个空格 a\qquad b
两个空格 a\!b
紧贴 回车:在文档中回车也不会被编译,可以用
\\
或者\newline
命令另起一行,新的一行没有缩进,段落之间的正常换行则需要在两段之间保留一个空行:1
2
3
4这是
第一段
这是第二段 \\ 换行 \newline 再换行。令起一页,可以用
\newpage
或者\clearpage
命令;文字加粗,可以用命令
\textbf{文本}
实现;文字居中,利用
center
环境实现:1
2
3\begin{center}
居中文本
\end{center}
其他操作可以在需要使用的时候可以查阅相关文档,这里不再赘述。
公式环境
基础公式块;基础公式块分为行间公式
\(a + b\)
和行内公式\[a + b\]
,编译出来的公式和
接下来的内容大部分都需要在公式块中编写;上下标:
a^n
编译为; a_b
编译为; 分数:
\frac{a}{b}
编译为; 求和、极限:
\sum_{i = 1}^{n}x_i
编译为, \lim_{n \rightarrow \infty}\frac{1}{n}
编译为; 根号:
\sqrt{a}
编译为; 不等号:大于号
\geq
、小于号\leq
以及不等号\neq
,编译为:;这里如果觉得默认的符号不好看,需要调用 amssymb
宏包以支持\leqslant
和\geqslant
编译为:使得符号更美观; 公式环境:除了基础公式块,还可以用
align
环境编译公式,如此编译的公式默认为行间公式:1
2
3\begin{align}
a+b
\enb{align}如此编译出来的公式会自动编号,如果不想要编号则可以用
algn*
环境。此外,
align
环境于基础公式块不同的地方在于该环境中支持公式换行书写,这样就可以写出类似托式的格式了:1
2
3
4\begin{align*}
P\{X\} &= P\left\{x \leqslant X\right\} \\
&= \int_{-\infty}^{x} f(x)\,dx
\end{align*}注意,
align
环境和基础公式环境\[\]
二者选其一,不可同时调用;自适应括号:在公式环境下写括号可以直接用
()
但是这样的括号不能根据公式的形式自适应大小:
若想要自适应大小,则可以利用\left(\rihgt)
:
出自之外,像中括号[]
、绝对值符号||
和 大括号\{\}
等都可以用这样的方法。这里要注意由于大括号是
指令中的符号,因此为了如果需要打出来这个符号,则需要在它前面加一个反斜杠 \
转义,其他的一些特殊符号如百分号,井号之类的也需要加转义符方程组环境:方程组环境
cases
是一个非常使用的环境,可以用来输入方程组或者分段函数等:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20\usepackage{cases} % 导言区导入宏包
...
% 方程组
\begin{align}
\begin{cases}
a + b = c \\
c + d = g
\end{cases}
\end{align}
% 分段函数
\begin{align*}
f\left(x\right) =
\begin{cases}
a + b = c & a > 0 \\
c + d = g & others.
\end{cases}
\end{align*}矩阵行列式:对于矩阵行列式,可以用
array
环境:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21% 矩阵
\begin{align*}
\left(
\begin{array}{ccc}
a & a & a \\
b & b & b \\
c & c & c
\end{array}
\right)
\end{align*}
% 行列式
\begin{align*}
\left|
\begin{array}{ccc}
a & a & a \\
b & b & b \\
c & c & c
\end{array}
\right|
\end{align*}观察代码逻辑,可以发现它其实就是手写的逻辑,首先引入公式环境,然后写左边右边的括号,再在括号中写相应的内容,这里写这种规律排列的语法和
表格的语法是相同的。 希腊字母:数学公式怎么能少了希腊字母呢!在
中只需要用每个字母对应的英文作为代码就可以调用希腊字母啦!例如: \alpha
\beta
等,同时,大写首字母可以得到字母的大写形式: \Gamma
和 \Omega
等。
到此就基本介绍完了
图片插入
未完待续……
表格插入
未完待续……