Latex 相关记录
编译方式
改为用 xelatex 编译。
放在导言栏最前面。 1
页眉页脚
Latex 预定义页面风格
empty
:没有页眉页脚。- 在标题页(包括手动或者自动由
\maketitle
生成的 titlepage 环境),会使用该风格禁用所有页眉页脚。
- 在标题页(包括手动或者自动由
plain
:没有页眉,页脚是居中的页码。- report 和 article 默认使用该风格。
- 不单独成页的
\maketitle
,单独成页的\part
,以及\chapter
所在的一页,自动使用该风格。
heading
:没有页脚,页眉是章节名称的页码。- book 默认使用该风格。
myheading
:没有页脚,页眉是章节名称的页码。
自定义页面风格
调用 fancyhdr
宏包。
1
2
3\usepackage{fancyhdr} %设置全文页眉、页脚的格式
\pagestyle{fancy}
\hypersetup{colorlinks=true,linkcolor=black}% 去除引用红框,改变颜色
使用 \fancypagestyle{stylename}{}
的形式设置不同的页眉页脚风格。
1
2
3
4
5
6
7
8
9
10\fancypagestyle{mainFancy} % 正文部分格式
{
\fancyhf{}
\renewcommand\headrulewidth{.5pt} % 页眉横线
\renewcommand\footrulewidth{0pt}
\fancyhead[L]{Team \# 2403961} % 页眉左侧
\fancyhead[R]{Page \thepage\ of 25} % 页眉右侧
\fancyfoot{}
}
其中常见的指令有
\fancyhf{}
:通常只用于清空页眉页脚。\fancyhead[]{}
:设置页眉,中括号内为命令参数,没有参数时可省去;大括号内为内容,为空则表示清空页眉。\fancyfoot[]{}
:设置页脚。
上述指令可选参数如下
参数 | 意义 | 备注 |
---|---|---|
E | 偶数页 | |
O | 奇数页 | |
L | 左侧区域 | |
C | 中间区域 | |
R | 右侧区域 | |
H | 页眉 | 只用于 \fancyhf{} |
F | 页脚 | 只用于 \fancyhf{} |
参数可组合使用,如
\fancyhead[OR, EL]{\thepage}
,表示在奇数页左侧、偶数页右侧页眉显示当前页数。
上述设置均在导言栏中完成,在正文中切换页眉风格时需使用
\pagestyle{stylename}
。
也可以用 \thispagestyle{}
单独设置当前页的风格。
目录
生成目录
1
2\renewcommand*\contentsname{\hfill Contents \hfill} % 使目录居中
\tableofcontents
将参考文献添加到目录中
1
\addcontentsline{toc}{section}{Reference}
将附录添加到目录中
1
\addappheadtotoc
参考文献
引用宏包
1
2\usepackage{bibentry}
\usepackage[square, comma, sort&compress, numbers]{natbib}
如果直接
\usepackage{natbib}
,使用时可能会报错:Bibliography not
compatible with author-year citations.
在正文中使用
1
2
3
4\begin{thebibliography}{99} % {}内表示序号最大位数(两位)
\bibitem{ref1}This is the first ref.
\bibitem{ref2}This is the second ref.
\end{thebibliography}
附录
引用宏包
1
\usepackage{appendix}
在正文中使用
1
2
3
4
5\begin{appendices}
\section*{Appendices}
This is appendices.
\end{appendices}
不知道为什么,如果不加
\section*{Appendices}
,附录部分不会显示一个 Appendices
的标题。
代码块
一般情况
导言栏
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21\usepackage{color}
\usepackage{listings}
\lstset
{
language=C, % 设置语言
basicstyle=\footnotesize, % 代码字体
numbers=left, % 行编号位置
numberstyle=\footnotesize, % 标号字体
stepnumber=1, % 表示每行都标号
numbersep=7pt, % 标号离代码框的距离
backgroundcolor=\color{white}, % 背景颜色
showspaces=false,
showstringspaces=false,
showtabs=false,
frame=single,
tabsize=2, % 一个Tab等于的空格数
captionpos=b,
breaklines=true,
breakatwhitespace=false,
escapeinside={\%*}{*}
}
正文使用
1
2
3
4
5
6
7
8
9\begin{lstlisting}
// hello?
int main()
{
printf("hello");
return 0;
}
\end{lstlisting}
只插python
导言栏
1
\usepackage{pythonhighlight}
正文使用
1
2
3
4\begin{python}
# hello?
print("hello")
\end{python}
图片
在导言栏指定图片的存放位置,后续引用的图片都需要存储在该文件夹中,该文件夹与
tex 文件在同一级目录中。
1
\graphicspath {{images/}} % 存放图片的文件夹
在正文中使用
1
2
3
4
5\begin{figure}[H]
\centering
\includegraphics[width=0.43\linewidth]{image1.png} % 设置图片大小和指定插入的图片
\caption{image1} % 设置图片标题
\end{figure}
多个图片并排
使用 minipage
实现。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16\begin{figure}[H]
\centering
\begin{minipage}[H]{0.45\linewidth} % 设置 minipage 的大小
\centering
\includegraphics[width=0.9\linewidth]{image1.png}
\caption{image1}
\end{minipage}
% 调整两个 minipage 间距
\hspace{0cm}
\centering
\begin{minipage}[H]{0.45\linewidth}
\centering
\includegraphics[width=0.9\linewidth]{image2.png}
\caption{image2}
\end{minipage}
\end{figure}
\hfill%
:放在两个 minipage
中间,使图片的分布撑满整行。
表格
1 | \begin{table}[H] |
\begin{tabular}{c|c|c}
- 对齐方式
c
:居中对齐l
:左对齐r
:右对齐
- 列数
有几个字母就有几列,每一列的对齐方式可以单独设置 - 列分隔线
有|
的地方就有列分隔线
\hline
- 画整行的分隔线,画两次可以起到加深的作用。
- 如果需要画指定格子的分隔线,可改为
\cline{2-3}
,表示画第 2 格到第 3 格的行分隔线。
多个表格并排放置
使用 minipage
实现。
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\begin{center}
% 第一个 minipage
\begin{minipage}[H]{0.4\textwidth} % 设置 minipage 的大小
\centering
\begin{table}[H] % 第一个表格
\centering
\setlength{\tabcolsep}{8mm}
\begin{tabular}{c|c|c}
\hline
\hline
A & B & C \\
\hline
\hline
a1 & b1 & c1 \\
\hline
a2 & b2 & c2 \\
\hline
a3 & b3 & c3 \\
\hline
\hline
\hline
\end{tabular}
\caption{table 1}
\end{table}
\end{minipage}
% 调整两个 minipage 间距
\hspace{0cm}
% 第二个 minipage
\begin{minipage}[H]{0.4\textwidth}
\centering
\begin{table}[H]
\centering
\setlength{\tabcolsep}{8mm}
\begin{tabular}{c|c|c}
\hline
\hline
A & B & C \\
\hline
\hline
a1 & b1 & c1 \\
\hline
a2 & b2 & c2 \\
\hline
a3 & b3 & c3 \\
\hline
\hline
\end{tabular}
\caption{table 2}
\end{table}
\end{minipage}
\end{center}
图片和表格并排排列也是这样操作。
合并单元格
合并列:\multicolumn{cols}{pos}{text}
cols
:需要合并的列数
pos
:设置对齐方式和竖分隔线
text
:该单元格内容
1 | \begin{table}[H] |
合并行:\multirow{rows}{width}{text}
rows
:需要合并的行数width
:一般填 *text
:单元格内容
1 | \begin{table}[H] |
单元格内换行
通过 \makecell
实现。
1 | \begin{table}[H] |
列表
有编号列表
可以嵌套使用。
1
2
3
4
5
6
7
8
9\begin{enumerate}
\item one
\begin{enumerate}
\item one one
\item one two
\end{enumerate}
\item two
\item three
\end{enumerate}
无编号列表
可以嵌套使用。
1
2
3
4
5
6
7
8
9\begin{itemize}
\item one
\begin{itemize}
\item one one
\item one two
\end{itemize}
\item two
\item three
\end{itemize}
公式
equation
:公式末尾会带有编号;多个公式在一个
equation
中时,一共只带有一个编号。
1
2
3
4
5
6
7
8
9
10
11\begin{equation}% 单个公式
A = B + C
\end{equation}
\begin{equation}
\centering
\begin{split} % 多个公式
A_0 &= B + C \\ % & 表示对齐的位置
C_0 &= B - C
\end{split}
\end{equation}
align
:多个公式时,每个公式结尾均带有编号。
1
2
3
4\begin{align}
A_0 & = A + B \\
& = 3C
\end{align}
单个公式直接开数学环境打就行了,公式结尾不带编号
1
2
3
4
5
6
7% 单独成行并居中
$$
A = B + C
$$
% 在行中间
所以 $A = B + C$
aligned
:只能在数学环境中使用,公式结尾不带编号。
1
2
3
4
5
6$$
\begin{aligned}
A_0 & = A + B \\
& = 3C
\end{aligned}
$$
大括号
\left \right
指令可以生成与后续内容大小匹配的括号。
1 | $$ |
矩阵
1 | $$ |
杂七杂八
使用英文标签
指 figure、Contents 啥的是英文显示。
1
\usepackage[english]{babel}