Latex教程

Latex是一种撰写文档的一种方式,适合数学公式较多的场景,对文档编辑的自由度较高,比较容易,不会出现Word中格式的问题。

相关文档查看以及学习资源:https://www.latexstudio.net/

通过电脑cmd终端输入命令texdoc ctex或者texdoc lshort-zh 查看相应的文档

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
% 导言区
% 在导言区主要进行全局设置
\documentclass{article} %article, book, report, letter
\usepackage{ctex}
% 或者上面两行可以用 \documentclass{ctexart} 来代替,效果相同
%ctexart, ctexbook, ctexrep, ctexbook, ctexbeamer 没有letter这样的文档类
\title{\heiti 杂谈勾股定理}
\author{\kaishu 张三}
\date{\today}
\newcommand\degree{^\circ}

% 正文区(文稿区)
\begin{document} % 一个latex文件有且只有一个document环境
\maketitle % 使用此命令输出整个标题
Hello world!

%通过增加空行来进行换行
let $f(x)$ be defined by the formula $f(x)=3x^2+x-1$ % 通过 $ $来编写公式
$$f(x)=3x^2+x-1$$ which is a ploynomial of degree 2. % 可以通过 $$ $$来另起一行进行显示公式

勾股定理可以用现代语言表述如下:

直角三角形斜边的平方等于两腰的平方和。%是否定格写和最终输出结果没有关系

可以用符号语言表述为:设直角三角形 $ ABC $,其中 $ \angle C = 90 \degree$,则有:
\begin{equation}
AB^2 = BC^2 + AC^2
\end{equation}
\end{document}

运行结果:

image-20220422193602438

1 字体属性

在Latex中,一个字体有5中属性:

  • 字体编码
    • 正文字体编码:OT1,T1,EU1等
    • 数学字体编码:OML、OMS、OMX等
  • 字体族
    • 罗马字体:笔画起始处有装饰
    • 无衬线字体:笔画起始处无装饰
    • 打字机字体:每个字符宽度相同,有称等宽字体
  • 字体系列
    • 粗细
    • 宽度
  • 字体形状
    • 直立
    • 斜体
    • 伪斜体
    • 小型大写
  • 字体大小

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
% 导言区
% 在导言区主要进行全局设置
\documentclass[10pt]{article}
\date{\today}
\usepackage{ctex}
%\setmainfont{Minion Pro}
\usepackage[T1]{fontenc}
\setmainfont{TeX Gyre Termes}
\newcommand{\myfont}{\textbf{\textsf{Fancy Text}}}

% 正文区(文稿区)
\begin{document}
% 字体族设置(罗马字体、无衬线字体、打字机字体)
字体族设置:
\textrm{Roman Family} \textsf{Sans Serif Family} \texttt{Typewriter Family}

\rmfamily Roman Family {\sffamily Sans Serif Family} {\ttfamily Typewriter Family} %可以用{}限制字体作用的范围

\sffamily Here show sffamily font style
%如果不用{}来限定字体作用范围,等到达下一个字体格式时会自动停止当前字体的格式

\ttfamily Here show ttfamily font style

{\rmfamily Here show rmfamily font style.} % 可以通过{}限制字体作用的范围

Here show ttfamily font style!

% 字体系列设置(粗细、宽度)
\songti 字体系列设置:
\textmd{Medium Series} \textbf{Boldface Series}
{\mdseries Medium Series} {\bfseries Boldface Series}

% 字体形状(直立、斜体、伪斜体、小型大写)
\songti 字体形状:
\textup{Upright Shape} \textit{Italic Shape}
\textsl{Slanted Shape} \textsc{Small Caps Shape}

{\upshape Upright Shape} {\itshape Italic Shape} {\slshape Slanted Shape} {\scshape Small Caps Shape}

% 中文字体 注意需要使用ctex宏包,否则无法使用中文的相关设置
\songti 中文字体:
{\songti 宋体} \quad{\heiti 黑体} \quad {\fangsong 仿宋}\quad{\kaishu 楷书}

\songti 中文字体的{\bf 粗体}{\songti 与}\textit{斜体}\\ % 中文的粗体是用黑体表示的,斜体是用楷书表示的

% 字体大小
{\tiny Hello}\\
{\scriptsize Hello}\\
{\footnotesize Hello}\\
{\small Hello}\\
{\normalsize Hello}\\
{\large Hello}\\
{\Large Hello}\\
{\LARGE Hello}\\
{\huge Hello}\\
{\Huge Hello}\\

% 中文字号设置命令
\zihao{-0} 你好!\\% 参数为 -0 为小初号
\zihao{5} 大人

\myfont

\end{document}

运行结果:

image-20220423090110564

2 Latex文档基本结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
% 导言区
\documentclass{ctexbook}
%\usepackage{ctex}
\ctexset{
section = {
format+ = \zihao{-4} \heiti \raggedright,
name = {,、},
number = \chinese{section},
beforeskip = 1.0ex plus 0.2ex minus .2ex,
afterskip = 1.0ex plus 0.2ex minus .2ex,
aftername = \hspace{0pt}
},
subsection = {
format+ =\zihao{5} \heiti \raggedright,
% name={\thesubsection、},
name = {,、},
number = \chinese{section},
beforeskip = 1.0ex plus 0.2ex minus .2ex,
afterskip = 1.0ex plus 0.2ex minus .2ex,
aftername = \hspace{0pt}
}
}



% 正文区(文稿区)
\begin{document}
\tableofcontents %产生整个文档的目录

\chapter{绪论}
\section{引言}
近年来,随着互联网技术的发展,我国的数字化教育资源建设取得了巨大的成就。很多高校建立了自己的数字化学习平台,数字化教学在教育中发挥着越来越大的作用。

new近年来,随着互联网技术的发展,我国的数字化教育资源建设取得了巨大的成就。
\\很多高校建立了自己的数字化学习平台,数字化教学在教育中发挥着越来越大的作用
% 采用\\的方法来换行并不能缩进,但是如果采用\par的方式,能够产生新的段落,通常为了保证源文件的清晰,通过插入空行来实现
近年来,随着互联网技术的发展,我国的数字化教育资源建设取得了巨大的成就。
\par 很多高校建立了自己的数字化学习平台,数字化教学在教育中发挥着越来越大的作用

\section{实验方法}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验条件} %subsubsection在book中不起作用
\subsubsection{实验过程} 实验过程实验过程
\subsection{结果分析}
\section{结论}
\section{致谢}

\chapter{实验与结果分析}
\section{引言}
\section{实验方法}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验条件}
\subsubsection{实验过程}
\subsection{结果分析}
\section{结论}
\section{致谢}
\end{document}

运行结果:

image-20220423093807202

image-20220423093737903

image-20220423093839745

image-20220423093914057

image-20220423093939903

3 Latex中的特殊字符

在Latex中,特殊字符使用如下:

  • 空行分段,多个空行等同一个
  • 自动缩进,绝对不能使用空格代替
  • 英文中多个空格处理为一个空格,中文中空格将被忽略
  • 汉字与其他字符的间距会自动由XeLaTeX处理
  • 禁止使用中文全角空格

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
% 导言区
\documentclass{article}
\usepackage{ctex}
\usepackage{xltxtra} % 提供了针对XeTeX的改进并且加入了XeTeXd的LOGO
\usepackage{texnames} % 一些LOGO
\usepackage{mflogo}

% 正文区(文稿区)
\begin{document}
\section{空白符号}
Are you wiser than others? ddefinitely no. in some ways. may it is true. What can you achieve?

近年来,随着逆向工程 和三维重建技术in some ways.的发展和应用,获取现实世界中物体的三维数据的方法越来越多的关注和研究。

% 1em()当前字体中M的宽度
a\quad b
% 2em

a\qquad b

% 约为1/6个em
a\,b

a\thinspace b

0.5个em:

a\enspace b

空格:

a\ b

硬空格:% 也就是不能分割的空格

a~b

1pc=12pt=4.218mm

a\kern 1pc b

-1em:

a\kern -1em b

a\kern 1em b

a\hspace{35pt}b

占位高度

a\hphantom{xyzttt}b %和输入框中的占用宽度相同

弹性长度

ddddddddda\hfill b

\section{\LaTeX 控制符}
\# \$ \{ \}

\~{}

\_{}

\^{}

\textbackslash

\&

\section{排版符号}
\S \P \dag \ddag

\copyright \pounds

\section{\TeX 标志符号}
% 基本符号
\TeX{} \LaTeX{} \LaTeXe{}
\XeLaTeX %xltxtra宏包提供

%texnames宏包提供
\AmSTeX{} \AmS-\LaTeX{}
\BibTeX{} \LuaLaTeX

%mflog宏包提供
\METAFONT{}

\MF{}

\MP{}
\section{引号}
单引号 \quad ` '

双引号 \quad `` ''
\section{连字符}
-\quad -- \quad ---
\section{非英文字符}
\oe \quad \OE \quad \ae \quad \AE \quad \aa \quad \AA \quad \o \quad
\O \quad \l \quad \L \quad \ss \quad \SS \quad !` \quad ?`
\section{重音字符(以o为例)}
\`o \quad \'o \quad \^o \quad

\''o \quad \~o \quad \=o \quad

\.o \quad \u{o} \quad \v{o} \quad

\H{o} \quad \r{o} \quad \t{o} \quad

\b{o} \quad \c{o} \quad \d{o}
\end{document}

运行结果:

document_1

document_2

document_3

4 Latex中的插图

导言区:\usepackage{graphicx}

语法:\includegraphics[<选项>]{<文件名>}

格式:EPS,PDF,PEG,JPEG,BMP

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
% 导言区
\documentclass{ctexart}

%usepackage{ctex}

%导言区:\usepackage{graphicx}
%语法:\includegraphics[<选项>]{<文件名>}
%格式:EPS,PDF,PEG,JPEG,BMP

%\usepackage{graphics}
\usepackage{graphicx}
\graphicspath{{figures/},{pics/}} %图片在当前目录下的 figures 目录,图片可以放在多个目录中用{}包含进来

% 正文区(文稿区)
\begin{document}
\LaTeX{}中的插图:

\includegraphics{new} % 可以加入文件后缀名,也可以不加

\includegraphics{baa.bmp}

\includegraphics[scale=0.3]{new}
\includegraphics[scale=0.3]{baa.bmp}

\includegraphics[height=2cm]{new}
\includegraphics[height=2cm]{baa.bmp}

\includegraphics[width=2cm]{new}
\includegraphics[width=2cm]{baa.bmp}

\includegraphics[height=0.1\textheight]{new}
\includegraphics[height=0.1\textheight]{baa.bmp}

\includegraphics[width=0.2\textheight]{new}
\includegraphics[width=0.2\textheight]{baa.bmp}

\includegraphics[angle=-45,width=0.2\textwidth]{baa}
\end{document}

运行结果:

image-20220423150611435

image-20220423150638099

5 Latex中添加表格

Latex中插入表格方式:

1
2
3
4
5
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
\hline
<表项> & <表项> & ... & <表项> & <表项> \\
...
\end{tabular}

\\表示换行,用&表示不同的列

l—本列左对齐,c—本列居中对齐,r—本列右对齐,p{<宽>}—本列宽度固定,能够自动换行

可以在cmd中输入texdoc booktabtexdoc longtabtexdoc tabu等命令查看表格对应的文档。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

%usepackage{ctex}

% 正文区(文稿区)
\begin{document}
\begin{tabular}{| l || c | c | c | r |}
\hline
姓名 & 语文 & 数学 & 外语 & 备注\\
\hline \hline
张三 & 87 & 100 & 93 & 优秀\\
\hline
李四 & 75 & 64 & 53 & 补考\\
\hline
王二 & 80 & 82 & 78 &\\
\hline
\end{tabular}

\begin{tabular}{| l || c | c | c | p{1.5cm} |} % 可以通过p来设置列宽
\hline
姓名 & 语文 & 数学 & 外语 & 备注\\
\hline \hline
张三 & 87 & 100 & 93 & 优秀\\
\hline
李四 & 75 & 64 & 53 & 补考另行通知\\ %当字数超过规定的列宽时,会自动换行
\hline
王二 & 80 & 82 & 78 &\\
\hline
\end{tabular}
\end{document}

运行结果:

image-20220423161146330

6 Latex中的浮动体

利用浮动体可以实现灵活分页(避免无法分割的内容产生的页面留白),给图表添加标题,交叉引用

语法:figure环境(table环境与之类似)

1
2
3
\begin{figure}[<允许位置>]
< 任意内容 >
\end{figure}

<允许位置>参数(默认tbp)

  • h,此处(here)— 代码所在的上下文位置
  • t,页顶(top)— 代码所在页面或之后页面的顶部
  • b,页底(bottom)— 代码所在页面或之后页面的底部
  • p,独立一页(page)— 浮动页面

标题控制(caption、bicaption等宏包)

并排与子图表(subcaption、subfig、floatrow等宏包)

绕排(picinpar、wrapfig等宏包)

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
%导言区
\documentclass{ctexart}
\usepackage{graphicx}
%\usepackage{graphics}
\graphicspath{{figures/},{pics/}}

% 正文区(文稿区)
\begin{document}
%有figure浮动体环境
\LaTeX{}中\TeX 系统的吉祥物---小狮子见图\ref{fig-lion}:%通过标签的方式实现引用
\begin{figure}[htbp] %将该部分内容排在合适的位置
\centering %通过此命令将环境中的内容居中排版,该排版只影响环境中的内容
\includegraphics[scale=1]{baa}
\caption{\TeX 系统的吉祥物---小狮子}\label{fig-lion} %该插图被自动进行了编号,可以对图片打标签从而进行实现引用
\end{figure}


walle是电影机器人总动员中的主角,见图\ref{fig-ba}:
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.5]{ba}
\caption{walle}\label{fig-ba}
\end{figure}


\LaTeX{}中的表格中使用表格\ref{table-score}所示的表格:
\begin{table}[h]
\centering
\caption{考试成绩单}\label{table-score} %表格也被进行自动编号,和插图编号相互独立
\begin{tabular}{|l|c|c|c|r|}
\hline
姓名 & 语文 & 数学 & 外语 & 备注\\
\hline \hline
张三 & 87 & 100 & 93 & 优秀\\
\hline
李四 & 75 & 64 & 53 & 补考\\
\hline
王二 & 80 & 82 & 78 &\\
\hline
\end{tabular}
\end{table}

\end{document}

运行结果:

document_1

document_2

7 Latex数学公式初步

Latex中公式的使用方式见示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
% 导言区
\documentclass{ctexart}
\usepackage{amsmath} %带*号的equation需要用到此宏包
\usepackage{lmodern}
% 正文区(文稿区)
\begin{document}
\section{简介}
\LaTeX{}将排版内容分为文本模式和数学模式,文本模式用于普通文本排版,数学模式用于数学公式排版。
\section{行内公式}
\subsection{美元符号}
交换律是$a+b=b+a$,如$1+2=2+1$
\subsection{小括号}
交换律是\(a+b=b+a\),如\(1+2=2+1\)
\subsection{math环境}
\begin{math}
1+2=2+1=3
\end{math}
\section{上下标}
\subsection{上标}
$3x^{20} + 2x^2 - x + 2 =0$ %使用{}里面的内容为上标内容

$3x^{3x^{20} + 2x^2 - x + 2} + 2x^2 - x + 2 =0$
\subsection{下标}
$a_0, a_1, a_2, ... ,a_{100},a_{2x^2 - x + 2}$
\subsection{希腊字母}
$\alpha$
$\beta$
$\gamma$
$\epsilon$
$\pi$
$\omega$

$\Gamma$
$\Delta$
$\Theta$
$\Pi$
$\Omega$

$\alpha^3 + \beta^2 +\gamma = 0$

\section{数学函数}
$\log$
$\sin$
$\cos$
$\arcsin$
$\arccos$
$\ln$

$\sin^2 x + \cos^2 x = 1$

$y = \arcsin x$

$y = \sin^{-1} x$

$y = \log_2 x$

$y = \ln x$

$\sqrt{2}$
$\sqrt{x^2 + y^2}$
$2\sqrt{2 + \sqrt{2}}$
$\sqrt[4]{x}$
\section{分式}
大约是原体积的$3/4$
大约是原体积的$\frac{3}{4}$

$\frac{x}{x^2 + x + 1}$

$\frac{\sqrt{x-1}}{\sqrt{x+1}}$

$\frac{1}{1 + \frac{1}{x}}$

$\sqrt{\frac{x}{x^2 + x + 1}}$

\section{行间公式}
\subsection{美元符号}
交换律是
$$a+b=b+a$$

$$1+2=2+1=3$$

\subsection{中括号}
交换律是
\[a+b=b+a\]

\[1+2=2+1=3\]

\subsection{displaymath环境}
交换律是
\begin{displaymath}
a+b=b+a
\end{displaymath}

\begin{displaymath}
1+2=2+1=3
\end{displaymath}

\subsection{自动编号公式equation环境}
交换律见式 \ref{eq:commutative}:
\begin{equation}
a+b=b+a \label{eq:commutative}
\end{equation}

\subsection{不编号公式equation*环境}
交换律见式 \ref{eq:commutative2}:%此时交叉引用的编号是小节编号
\begin{equation*}
a+b=b+a \label{eq:commutative2}
\end{equation*}

公式的编号与交叉引用也是自动实现的,大家在排版中要习惯于采用自动化的方式处理诸如图、表、公式的编号与交叉引用。再如公式\ref{eq:pol}
\begin{equation}
x^5 - 7x^3 + 4x = 0 \label{eq:pol}
\end{equation}

\end{document}

运行结果:

document_1

document_2

document_3

8 Latex数学公式的矩阵

用Latex排版复杂数学公式的矩阵如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
% 导言区
\documentclass{ctexart}
\usepackage{amsmath}
\usepackage{lmodern}
\newcommand{\adots}{\mathinner{\mkern2mu%
\raisebox{0.1em}{.}\mkern2mu\raisebox{0.4em}{.}%
\mkern2mu\raisebox{0.7em}{.}\mkern1mu}}

% 正文区(文稿区)
\begin{document}
\[
\begin{matrix}
0 & 1\\
1 & 0
\end{matrix} \qquad
\begin{vmatrix}
i & v \\
0 & -i
\end{vmatrix} \qquad
\begin{Vmatrix}
i & V \\
0 & -i
\end{Vmatrix} \qquad
\begin{pmatrix}
i & p \\
0 & -i
\end{pmatrix} \qquad
\begin{bmatrix}
i & b \\
0 & -i
\end{bmatrix} \qquad
\begin{Bmatrix}
i & B \\
0 & -i
\end{Bmatrix} \qquad
\]

% 可以使用上下标
\[
A =
\begin{pmatrix}
a_{11}^2 & a_{12}^2 & a_{13}^2 \\
0 & a_{22} & a_{23} \\
0 & 0 & a_{33}
\end{pmatrix}
\]

% 常用省略号:\dots、 \vdots、 \ddots
\[
A = \begin{bmatrix}
a_{11} & \dots & a_{ln} \\
& \ddots & \vdots \\
0 & & a_{nn}
\end{bmatrix}_{n \times n} % 在数学公式中可以用\times来排版 × 号
\]

% 常用省略号:\dots、 \vdots、 \ddots、 \adots(这个是自定义的一个命令,可以通过newcommand来新建一个格式)
\[
A = \begin{bmatrix}
a_{11} & \dots & a_{ln} \\
\adots & \ddots & \vdots \\
0 & & a_{nn}
\end{bmatrix}_{n \times n} % 在数学公式中可以用\times来排版 × 号
\]

% 分块矩阵
\[
\begin{pmatrix}
\begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix}
& \text{\Large 0} \\ %此处的text将数学模式临时切换到文本模式
\text{\Large 0} & \begin{matrix}
1&0\\0&-1 \end{matrix}
\end{pmatrix}
\]

% 三角矩阵
\[\begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{ln} \\
& a_{22} & \cdots & a_{2n} \\
& & \ddots & \vdots \\
\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}} & &a_{nn} % 通过multicolumn来合并多列,通过raisebox来调整高度
\end{pmatrix}
\]

% 跨列的省略号:\hdotsfor{<列数>}
\[
\begin{pmatrix}
1 & \frac 12 & \dots & \frac ln \\
\hdotsfor{4} \\
m & \frac m2 & \dots & \frac mn
\end{pmatrix}
\]

% 行内小矩阵(smallmatrix)环境
复数 $z = (x,y)$也可用矩阵
\begin{math}
\left(% 需要手动加上左括号
\begin{smallmatrix}
x & -y \\ y & x
\end{smallmatrix}
\right)% 需要手动加上右括号
\end{math}来表示。

% array环境(类似于表格环境tabular)
\[
\begin{array}{r|r}
\frac{1}{2} & 0\\
\hline
0 & -\frac a{bc} \\
\end{array}
\]

% 用array环境构造复杂矩阵
\[
% @{<内容>}-添加任意内容,不占表项计数
% 此处添加一个负值空白,表示向左移-5pt的距离
\begin{array}{c@{\hspace{-5pt}}l}
%第1行,第1列
\left(
\begin{array}{ccc|ccc}
a & \cdots & a & b &\cdots &b \\
& \ddots & \vdots & \vdots & \adots \\
& & a & b \\ \hline
& & & c &\cdots & c \\
& & & \vdots & &\vdots \\
\multicolumn{3}{c|}{\raisebox{2ex}[0pt]{\Huge 0}}
& c & \cdots & c
\end{array}
\right)
&
% 第1行第2列
\begin{array}{l}
%\left.仅表示与\right\}配对,什么都不输出
\left.\rule{0mm}{7mm}\right\}p\\
\\
\left.\rule{0mm}{7mm}\right\}q\\
\end{array}
\\[-5pt]
% 第2行,第1列
\begin{array}{cc}
\underbrace{\rule{17mm}{0mm}}_m &
\underbrace{\rule{17mm}{0mm}}_m
\end{array}
& % 第2行第2列
\end{array}
\]

\end{document}

运行结果:

document_1

document_2

9 Latex中多行公式排版方法

针对多行公式排版问题,可以参考示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
% 导言区
\documentclass{ctexart}
\usepackage{amsmath}
\usepackage{amssymb}

% 正文区(文稿区)
\begin{document}
\begin{gather} %可以使用gather实现多行公式排版
% gather 和 gather* 环境(可以使用\\换行)
% 带编号
a + b = b + a \\
ab ba
\end{gather}

\begin{gather*}
3 + 5 = 5 + 3 = 8 \\
3 \times 5 = 5 \times 3
\end{gather*}

% 在\\前使用 \notag 阻止编号
\begin{gather}
3^2 + 4^2 = 5^2 \notag \\
5^2 + 12^2 = 13^2 \notag \\
a^2 + b^2 = c^2
\end{gather}

% align 和 align* 环境(用 & 进行对齐)
% 带编号
\begin{align}
x &= t + \cos t + 1 \\
y &= 2\sin t
\end{align}
% 不带编号
\begin{align*}
x &= t & x &= \cos t & x &= t \\
x &= 2t & x &= \sin(t+1) & y &= \sin t
\end{align*}

% split 环境(对齐采用 align 环境的方式,编号在中间)
\begin{equation}
\begin{split}
\cos 2x &= \cos^2 x - \sin^2 x \\
&= 2\cos^2 x - 1
\end{split}
\end{equation}

% case 环境
% 每行公式中使用 & 分隔为两部分,通常表示值和后面的条件
\begin{equation}
D(x) = \begin{cases} % 数学公式中无法实现中文排版,需要\text切换到文本模式
1, & \text{如果 } x \in \mathbb{Q}; \\ % \in 命令用于输出 属于 符号
0, & \text{如果 } x \in \mathbb{R}\setminus\mathbb{Q}. % \mathbb 用于输出花体字符,需要amssymb宏包支持
\end{cases}
\end{equation}
\end{document}

运行结果:

document_1

10 Latex中的参考文献BibTeX

一次管理,一次使用
参考文献格式:

1
2
3
4
5
\begin{thebibliography}{编号样本}
\bibitem[记号]{引用标志}文献条目1
\bibitem[记号]{引用标志}文献条目2
......
\end{thebibliography}

其中文献条目包括:作者,题目,出版社,年代,页码等。
引用时候要可以采用:\cite{引用标志1,引用标志2,...}

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
% 导言区
\documentclass{ctexart}
\usepackage{natbib}
\bibliographystyle{plain} % plain unsrt alpha abbrv 选择采用不同的排版样式 需要清理样式文件


\begin{document}
% 一次管理,一次使用
% 参考文献格式:
% \begin{thebibliography}{编号样本}
% \bibitem[记号]{引用标志}文献条目1
% \bibitem[记号]{引用标志}文献条目2
% ......
% \end{thebibliography}
% 其中文献条目包括:作者,题目,出版社,年代,页码等。
% 引用时候要可以采用:\cite{引用标志1,引用标志2,...}


引用一篇文章 \cite{bernd_bullnheimer_improved_nodate}
引用另外一篇文章\cite{chengzhi_qu_novel_2020}
引用第三篇文章\cite{haibin_duan_three-dimension_2010}
引用另个一文献\cite{article4}

\begin{thebibliography}{99}
\bibitem{article4}陈立辉,苏伟,蔡川,陈晓云.\emph{基于LaTeX的Web数学公式提取方法研究}[j].计算机科学. 2014(06)
\end{thebibliography}

\bibliography{paper,newpapers}
\nocite{xianwei_wang_path_2020} % 可以使用 \nocite 插入未引用的特定的参考文献
% \nocite{*} % 该命令是排版未引用的所有文献。需要在 工具 选项中点击 清理辅助文件,然后重新运行即可看到排版的所有未引用的参考文献

\end{document}

运行结果:

document_1

11 Latex中的参考文献BibLaTeX

通过BibLaTeX来插入参考文献:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
% 导言区
\documentclass{ctexart}
% biblatex/biber
% 新的TEX参考文献排版引擎
% 样式文件()参考文献样式文件--bbx文件,引用样式文件--cbx)使用LATEX编写
% 支持根据本地化排版,如:
% biber -l zh_pinyin texfile, 用于指定按拼音排序
% biber -l zh_stroke texfile, 用于按笔画排序
%\usepackage[style=numeric,backend=biber]{biblatex}
\usepackage[style=caspervector,backend=biber,utf8,sorting=cenyt]{biblatex}
%sorting是将参考文献按照中英文姓名等进行排序,cenyt分别表示c为中文e为英文n为作者姓名t为文献标题y为出版年,也可以为ecnyt
%如果不需要进行sorting,则sorting=cenyt这句命令可以不用写
\addbibresource{paper.bib} % 文件名 .bib 不能省略

%正文区(文稿区)
\begin{document}
%一次管理多次使用

无格式化引用\cite{bernd_bullnheimer_improved_nodate}

带方括号的引用\parencite{__2020}

上标引用\supercite{fatin_hassan_ajeil_grid-based_2020}

又一篇文章\supercite{huchunyangGaiJinYiQunSuanFaZaiAGVLuJingGuiHuaZhongDeYingYong2020}

有一篇文章\supercite{NewRankBased}

% \nocite{*} % 输出未引用的参考文献
\printbibliography % 输出参考文献列表
% \printbibliography[title={参考文献}] % 可以通过此命令将 References 改为中文 参考文献

\end{document}

运行结果:

document_1

也可以在文件夹下通过新建build.bat文件,并写入如下代码:

1
2
3
4
5
xelatex document
biber -l zh__pinyin document
xelatex document
xelatex document
del *.aux *.bbl *.bcf *.bcf *.blg *.log *.xml

其中documentdocument.tex文件名相对应,且.bat文件和.tex文件放在同级目录下。并对TeXstudio的Biber进行更改如下:

image-20220424153250969

然后双击执行,不需要用管理员来运行,用管理员运行会出错。

12 Latex中的自定义命令和环境

Latex中自定义命令和环境示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
% 导言区
\documentclass{ctexart}
% \newcommand - 定义命令
% 命令只能由字母组成,不能以\end开头
% \newcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}

% \newcommand可以是简单字符串替换,例如:
% 使用\RPC相当于People's Republic of\emph{China}这一串内容
\newcommand\PRC{People's Republic of \emph{China}}

% \newcommand也可以使用参数
% 参数个数可以从 1 到 9,使用时用 #1,#2,...,#9 表示
\newcommand\loves[2]{#1 喜欢 #2}
\newcommand\hatedby[2]{#2 不受 #1 喜欢}

% \newcommand的参数也可以由默认值
% 指定参数个数的同时指定了首个参数的默认值,那么这个命令的第一个参数就称为可选的参数(要使用中括号指定)
\newcommand\love[3][喜欢]{#2#1#3}

% \renewcommand - 重定义命令
% 与\newcommand 命令作用和用法相同,但只能用于已有命令
% \renewcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}
\renewcommand\abstractname{内容简介}

% 定义和重定义环境
% \newenvironment{<环境名称>}[<参数个数>][<首参数默认值>]
% {<环境前定义>}
% {<环境后定义>}
% \renewenvironment{<环境名称>}[<参数个数>][<首参数默认值>]
% {<环境前定义>}
% {<环境后定义>}

% 为 book 类中定义摘要 (abstract) 环境
\newenvironment{myabstract}[1][摘要]
{\small %设定字号
\begin{center}\bfseries #1\end{center}
\begin{quotation}}
{\end{quotation}}

% 环境参数只有<环境前定义>中可以使用参数,
% <环境后定义>中不能再使用环境参数
% 如果需要,可以先把前面得到的参数保存在一个命令中,在后面使用:
\newenvironment{Quotation}[1]
{\newcommand\quotesource{#1}
\begin{quotation}}
{\par\hfill--- 《\textit{\quotesource}》
\end{quotation}}

%正文区(文稿区)
\begin{document}
\begin{abstract}
这是一段摘要
\end{abstract}

\PRC

\loves{猫}{鱼}

\hatedby{猫儿}{萝卜}

\love{猫儿}{鱼}

\love{最爱}{猫儿}{鱼}

\begin{myabstract}[我的摘要] %将 我的摘要 替换 摘要
这是一段自定义格式的摘要...
\end{myabstract}

\begin{Quotation}{易$\cdot$乾}
初九,潜龙勿用。
\end{Quotation}

定义命令和环境是进行\LaTeX{}格式定制、达成内容与格式分离目标的利器。使用自定义的命令和环境把字体、字号、缩进、对齐、间距等各种繁琐的内容包装起来,赋以一个有意义的名字,可以使文档结构清晰、代码整洁、易于维护。在使用宏定义功能时,要综合利用各种已有的命令、环境、变量等功能,事实上,前面所介绍的长度变量与盒子、字体字号等内容,大多并不直接出现在文档正文中,而主要都是用在实现各种结构化的宏定义中。

\end{document}

运行结果:

document_1