文章目录
LaTex
基础常识
文档类
% 英文文档类一般用article
\documentclass{article}
% 中文文档类一般用ctexart
\documentclass{ctexart}
编译类型
% 英文推荐,pdflatex,显示中文需要加utf8
% 中文推荐,xelatex
命令格式
命令通常以反斜线开头,可以带零到多个参数。命令也可以是直接输出某种结果;也可以改变一个状态,此时 LATEX用花括号 {} 分组或环境作为状态改变的作用域。
% 参数总在后面,用中括号表示可选参数
\cmd [opt] {arg1} {arg2}
\frac{1}{2}
\em abc
\emph{abc}
环境介绍
\begin{env}
...环境的内容
\wnd{env}
\begin{matrix} ... \\ ... \end{matrix}
\begin{flushright}
文字
\end{flushright}
简单书写
1. 正文文本
- 直接输入正文文本。
- 用空格分开单词。一个换行符等同于一个空格,多个空格的效果与一个 相同;也可以通过
\quad
代表一个空格。 - 自然段分段是空一行。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
aa bb cc dd ee \quad ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
aa bb cc dd ee ff
\end{document}
2. 正文符号
\# \$ \% \& \{ \} \textbackslash
对应如下:# $ % & { } \
\S \dag \ddag \P \copyright \textbullet \textregistered \texttrademark \pounds
对应如下:§ † ‡ ¶ © • ® ™ £
标题作者
1. 导入宏包
\usepackage{authblk}
2. 标题、作者、机构
\title{...}
显示标题,会自行设定当前日期\date{}
可以去掉日期\author[opt]{...}
可选参数一般设定为第几作者,大括号参数为作者名字\author[opt]{...\thanks{Corresponding author: ...@mail.com}}
通讯作者使用\thanks{...}
\affil[opt]{...}
设置机构,可选参数应当与\author[opt]{...}
的可选参数对应\renewcommand*{\Affilfont}{\small\it}
修改机构名称的字号和大小\renewcommand\Authands{ and }
可以去掉 and 前的逗号
\title{Who am I}
\author[1]{Author A}
\author[1]{Author B \thanks{Corresponding author: email@mail.com}}
\author[2]{Author C}
\affil[1]{Department of Computer Science, the Southeast University}
\affil[2]{Department of Computer Science, the Southeast University}
\renewcommand*{\Affilfont}{\small\it} % 修改机构名称的字体与大小
\renewcommand\Authands{ and } % 去掉 and 前的逗号
3. 正文显示
\begin{document}
\maketitle
\end{document}
章节、目录和列表
不同的文档类中的章节不一样。我们常用的article文档类的章节层次有:section, subsection, subsubsection, paragraph, subparagraph。使用方法均为添加 \
和 {}
1. 章节
\section{one}
\section{two} % 加*之后就不会带序号了
\subsection{title}
\subsubsection{title}
\paragraph{title}
\subparagraph{title}
2. 目录
\tableofcontents
在需要的地方插入此条命令。
3. 列表环境
enumerate
编号itemize
不编号description
有标题
\begin{itemize}
\item Who am I?
\item I am me.
\item Do you think so?
\end{itemize}
\begin{enumerate}
\item Who am I?
\item I am me.
\item Do you think so?
\end{enumerate}
\begin{description}
\item[aaa] Who am I?
\item[bbb] I am me.
\item[ccc] Do you think so?
\end{description}
公式
1. 数学公式
数学模式下字体、符号、间距与正文都不同,一切数学公式(包括单个符号 n, π)都要在数学模式下输入。
行内(inline)公式:使用一对符号 $ $ 来标示。如 $a+b=c$
。
显示(display)公式:
- 简单的不编号公式用命令
\[
和\]
表示。 - 基本的编号的公式用 equation 环境。
- 更复杂的结构,使用 amsmath 宏包提供的专门的数学环境。(不要 使用 eqnarray 环境)
四则运算
LaTex | 显示 |
---|---|
1+1=2 | 1 + 1 = 2 1+1=2 1+1=2 |
1-1=0 | 1 − 1 = 0 1-1=0 1−1=0 |
1 \cdot 1=1 | 1 ⋅ 1 = 1 1 \cdot 1=1 1⋅1=1 |
1\div1=1 | 1 ÷ 1 = 1 1\div1=1 1÷1=1 |
累加
\sum_{下标表达式}^{上标表达式}{累加表达式}
LaTex | 显示 |
---|---|
\sum_{i=1}^{n}{x_i} | ∑ i = 1 n x i \sum_{i=1}^{n}{x_i} ∑i=1nxi |
累乘
\prod_{下标表达式}^{上标表达式}{累加表达式}
LaTex | 显示 |
---|---|
\prod_{i=1}^{n}{x_i} | ∏ i = 1 n x i \prod_{i=1}^{n}{x_i} ∏i=1nxi |
上标下标
LaTex | 显示 |
---|---|
x^2 | x 2 x^2 x2 |
x_1 | x 1 x_1 x1 |
x_i^2 | x i 2 x_i^2 xi2 |
向量、平均
LaTex | 显示 |
---|---|
\vec{a} | a ⃗ \vec{a} a |
\hat{a} | a ^ \hat{a} a^ |
增广矩阵
$$
\left [
\begin{array}{c:c}
\begin{matrix}
1&1\\
2&4
\end{matrix}&
\begin{matrix}
15\\
40
\end{matrix}
\end{array}
\right ]
$$
[ 1 1 2 4 15 40 ] \left [ \begin{array}{c:c} \begin{matrix} 1&1\\ 2&4 \end{matrix}& \begin{matrix} 15\\ 40 \end{matrix} \end{array} \right ] [12141540]
分式
分式:\frac{分子}{分母}
LaTex | 显示 |
---|---|
\frac{1}{2} | 1 2 \frac{1}{2} 21 |
根式
根式:\sqrt[次数]{根号下}
LaTex | 显示 |
---|---|
\sqrt{x^3} | x 3 \sqrt{x^3} x3 |
\sqrt[3]{x^2} | x 2 3 \sqrt[3]{x^2} 3x2 |
方程式
equation
环境和cases
环境
\begin{equation} % equation带*之后的意思不整体标号
\begin{cases}
x_{1}+y_{1}=12\\
x_{2}-y_{1}=6
\end{cases}
\end{equation}
极限
极限:\lim
LaTex | 显示 |
---|---|
\lim_{x \to 0}\frac{\sin x}{x}=1 | lim x → 0 sin x x = 1 \lim_{x \to 0} \frac{\sin x}{x}=1 limx→0xsinx=1 |
导数
导数:{f}’(x)
LaTex | 显示 |
---|---|
{f}’(x) = x^2 + x | f ’ ( x ) = x 2 + x {f}’(x) = x^2 + x f’(x)=x2+x |
积分
积分:\int
被积函数和dx之间、多重积分内 dx 和 dy 之间 使用一个斜杠加一个逗号 , 来增大稍许间距。
两个积分号之间使用一个斜杠加一个感叹号来减小稍许间距。使之更美观。
LaTex | 显示 |
---|---|
\int_a^b f(x)\,dx | ∫ a b f ( x ) d x \int_a^b f(x)\,dx ∫abf(x)dx |
\int_a^b f(x)g(y)\, dx\,dy | ∫ a b f ( x ) g ( y ) d x d y \int_a^b f(x)g(y)\, dx\,dy ∫abf(x)g(y)dxdy |
\int \!\!\!\int_D f(x,y)\,dxdy | ∫ ∫ D f ( x , y ) d x d y \int \!\!\!\int_D f(x,y)\,dxdy ∫∫Df(x,y)dxdy |
2. 希腊字母
LaTex | 希腊字母 | LaTex | 希腊字母 |
---|---|---|---|
\alpha | α \alpha α | \Alpha | A \Alpha A |
\beta | β \beta β | \Beta | B \Beta B |
\gamma | γ \gamma γ | \Gamma | Γ \Gamma Γ |
\delta | δ \delta δ | \Delta | Δ \Delta Δ |
\epsilon | ϵ \epsilon ϵ | \Epsilon | E \Epsilon E |
\zeta | ζ \zeta ζ | \Zeta | Z \Zeta Z |
\eta | η \eta η | \Eta | H \Eta H |
\theta | θ \theta θ | \Theta | Θ \Theta Θ |
\iota | ι \iota ι | \Iota | I \Iota I |
\kappa | κ \kappa κ | \Kappa | K \Kappa K |
\lambda | λ \lambda λ | \Lambda | Λ \Lambda Λ |
\mu | μ \mu μ | \Mu | M \Mu M |
\nu | ν \nu ν | \Nu | N \Nu N |
\xi | ξ \xi ξ | \Xi | Ξ \Xi Ξ |
\omicron | ο ο \omicronο οο | \Omicron | O \Omicron O |
\pi | π \pi π | \Pi | Π \Pi Π |
\rho | ρ \rho ρ | \Rho | P \Rho P |
\sigma | σ \sigma σ | \Sigma | Σ \Sigma Σ |
\tau | τ τ \tauτ ττ | \Tau | T \Tau T |
\upsilon | υ \upsilon υ | \Upsilon | Υ \Upsilon Υ |
\varphi | φ \varphi φ | \Phi | Φ \Phi Φ |
\chi | χ \chi χ | \Chi | X \Chi X |
\psi | ψ \psi ψ | \Psi | Ψ \Psi Ψ |
\omega | ω \omega ω | \Omega | Ω \Omega Ω |
amsmath 是基本的数学工具包,在包含数学公式的文档中几乎无处不在。mathtools 则对 amsmath 做了一些补充和增强。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{mathtools}
\begin{document}
\begin{align*}
2^5 &= (1+1)^5 \\
&= \begin{multlined}[t]
\binom50\cdot 1^5 + \binom51\cdot 1^4 \cdot 1
+ \binom52\cdot 1^3 \cdot 1^2 \\
+ \binom53\cdot 1^2 \cdot 1^3
+ \binom54\cdot 1 \cdot 1^4 + \binom55\cdot 1^5
\end{multlined} \\
&= \binom50 + \binom51 + \binom52 + \binom53
+ \binom54 + \binom55
\end{align*}
\end{document}
表格
1. 导入宏包
\usepackage{booktabs} % 导入表线控制的宏包
\usepackage{array} % 导入表列格式的宏包,用于调整文本单元格宽度
\usepackage{caption} % 用于标题需要的宏包
\usepackage{graphicx} %用于调整表格自定义大小
\usepackage{threeparttable} % 用于表格注解的宏包
2. 普通表
所谓表格即使用 横竖线 将文本框起来。
在LaTex中,使用 tabular 的环境。
\begin{tabular}{|c|c|c|c|r|l|}
\hline % 其中,|c|表示文本居中,文本两边有竖直表线。
aaa & bbb & ccc & ddd & eee & fff \\ \hline
1 & 2 & 3 & 4 & 5 & 6 \\ \hline
7 & 8 & 9 & 10 & 11 & 12 \\ \hline
13 & 14 & 15 & 16 & 17 & 18 \\ \hline
\end{tabular}
3. 三线表
\begin{tabular}{ccc}% 其中,tabular是表格内容的环境;c表示centering,即文本格式居中;c的个数代表列的个数
\toprule[2pt] %[4pt]设置线宽
a & b & c \\ %换行
\midrule[1pt]
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\bottomrule[2pt]
\end{tabular}
4. 表头、位置、字号
由于需要对表格的整体进行调整,在这我们加上一个table的环境,方便操作。
\begin{table}[!ht]
% 表格整体相关设置
\begin{tabular}{|c|c|c|c|r|l|}
% 表格内容
\end{tabular}
% 表格整体相关设置
\end{table}
\centering
代表紧跟的所有内容都居中显示\caption{...}
显示表格的标题\resizebox{\textwidth}{!}{}
设置表格的宽度\begin{table}[!ht]......\end{table}
设置表格的位置{\large1}
代表1的小四字号
\begin{table}[!ht] % [!ht]表格在文本中放置的位置参数,尽量放当前位置,否则下页顶部
\centering
\caption{标题}
\resizebox{\textwidth}{!}{
\begin{tabular}{|c|c|c|c|r|l|}
\hline % 其中,|c|表示文本居中,文本两边有竖直表线。
aaa & bbb & ccc & ddd & eee & fff \\ \hline
{\large1} & 2 & 3 & 4 & 5 & 6 \\ \hline
7 & 8 & 9 & 10 & 11 & 12 \\ \hline
13 & 14 & 15 & 16 & 17 & 18 \\ \hline
\end{tabular}
}
\end{table}
5. 表格注解
\begin{threeparttable}...\end{threeparttable}
用于表格注解
\begin{table}[!ht] % [!ht]表格在文本中放置的位置参数,尽量放当前位置,否则下页顶部
\centering
\caption{标题}
\resizebox{\textwidth}{!}{
\begin{threeparttable}
\begin{tabular}{|c|c|c|c|r|l|}
\hline % 其中,|c|表示文本居中,文本两边有竖直表线。
aaa & bbb & ccc & ddd & eee & fff \\ \hline
{\large1} & 2 & 3 & 4 & 5 & 6 \\ \hline
7 & 8 & 9 & 10 & 11 & 12 \\ \hline
13 & 14 & 15 & 16 & 17 & 18 \\ \hline
\end{tabular}
注:这是注解。
\end{threeparttable}
}
\end{table}
表格利器
使用下面的表格生成器,可以在线生成表格代码:
https://www.tablesgenerator.com/latex_tables
功能各异的表格宏包
单元格处理:multirow、makecell
长表格:longtable、xtab
定宽表格:xtabular
表线控制:booktabs、hhline、arydshln
综合应用:tabu
插入图片
插入图片分为两种:
- 事先已经准备好图片
- 使用 LaTex 代码,直接在文档中画图
下面以 事先准备好的图片 为例进行说明。
1. 导入宏包
% 导言区
\usepackage{graphicx}
2. 正文插入
\includegraphics[<opt>]{<filename>}
- 第一个参数为可选参数,用于对图片的格式进行调整。
比如,图片的高度、宽度、缩放、角度等。 - 第二个参数为路径名。
% 原图
\includegraphics[]{1.jpg}
\includegraphics[]{2.png}
% 缩放
\includegraphics[scale=0.3]{1.jpg}
\includegraphics[scale=0.5]{2.png}
% 指定高度 宽度自动调整
\includegraphics[height=3cm]{1.jpg}
% 指定宽度 高度自动调整 宽度为3厘米
\includegraphics[width=3cm]{1.jpg}
% 指定高度比例 宽度自动调整 高度为文本行宽的50%
\includegraphics[height=0.5\textheight]{2.png}
% 指定宽度比例 高度自动调整
\includegraphics[width=0.5\textwidth]{2.png}
% 指定旋转角度
\includegraphics[angle=45,height=0.5\textheight]{1.jpg}
3. 浮动体
使用 figure 的浮动体环境,使用figure表示的是把我们这个东西看成一个段落,并且是没有任何缩进的。
\centering
代表紧跟的所有内容都居中显示\caption
设置图片的一个编号以及为图片添加标题\label
是用来链接的\ref
是用来引用的,引用的内容为标签名
% 浮动体
\begin{figure}[ht]
% 居中显示
\centering
\includegraphics[height=0.5\textheight]{2.png}
\caption{figuretest clock}
\label{fig:label}
\end{figure}
Figure \ref{fig:label} is very good.
4. 建立图片分组
一般在软件开发过程中,我们通常会把图片存放在某个特定的文件夹内。
\graphicspath{{figs/}}
表示存放图片的路径
% 导言区
\graphicspath{{images/}} % images为存放图片的文件夹名
% 正文区
\includegraphics[angle=45,height=0.5\textheight]{...} % ...用 images 文件夹下的图片文件名替换
参考文献
在LaTex中,参考文献的引用较为简单。
1. 选择引用格式
找到论文的引用格式,选择BibTex格式。
2. 建立 .bib 文件
将 上面的格式 直接复制到 .bib 文件中。
紧接着大括号的是:标签,
title:论文题目,
author:论文作者,
journal:论文发布期刊、会议或者所属,有些论文用booktitle,
volume:卷,
number:号,
pages:页码,
year:年份。
3. 导入宏包
% 导言区
\usepackage{cite}
4. 在文章中插入参考文献
在某个需要的地方,插入参考文献
使用方法如下:
% 正文区
% ... 修改为 标签
% \textsuperscript{\cite{...}}
\textsuperscript{\cite{ripoll2002wp1}}
5. 插入文献格式和文件
使用方法如下: 在 \end{document}前面加上下面代码
\bibliographystyle{...}
\bibliography{document} % document 可以修改,即为 .bib 文件的文件名
\bibliographystyle{...}
是插入参考文献的样式,不同的杂志期刊的样式不一样。常见的预设样式的可选项有6种,分别是:
- plain:按字母的顺序排列,比较次序为作者、年度和标题;
- unsrt:样式同plain,只是按照引用的先后排序;
- abbrv:类似plain,将月份全拼改为缩写,更显紧凑;
- ieeetr:国际电气电子工程师协会期刊样式;
- acm:美国计算机学会期刊样式;
- siam:美国工业和应用数学学会期刊样式;
\bibliography{document}
的作用是插入document.bib 文件