Overleaf开发界面
latex命令:\命令[可选参数]{必选参数}
Latex项目组成:
.tex
:正文.bib
:参考文献库.esp/.pdf
:图片.cls
:模板(通过\documentclass
导入,如article
).sty
:宏包(通常paper的模板就是设置在宏包中,如cvpr.sty
),会给.bst
:bib参考文件的风格样式(如cvpr.bst
),会给
.tex文件结构:
①导言区preamble:\documentclass{article}
到\begin{document}
②正文区document body:\begin{document}
到\end{document}
\documentclass{article} % documentclass表示文档类型,常用的就是article
% 这里是导言区:用于导入宏包、设置引用、设置标题和作者信息、设置页面大小、页眉页脚样式、章节标题样式
\usepackage{...} % 导入宏包
\title{} % 文章的标题
\author{} % 文章的作者
\date{} % 文章的日期
\begin{document}
% 这里是正文区:同于写文本、公式、图表、引用文献
\end{document}
[注]:大多数国外期刊不支持中文,一定注意标点符号要是英文
注释%:若要输出 % 字符本身,则需要在 % 之前加上反斜杠 \ 进行转义(escape)
一、文本/排版
1、documentclass 文档类型和版型:documentclass [A] {B}
-
A
:①字体:10pt(默认值),11pt,12pt
,例子:\documentclass[11pt]{article}
②纸张大小:最常见的就是a4paper
,letterpaper(默认值)
,例子:\documentclass[a4paper]{article};
③单双面:oneside(article, report默认值),twoside(book默认值)
,例子:\documentclass[twoside]{article};
④组合实现:\documentclass[a4paper,twoside,10pt]{article}
顺序随意; -
B
:①常用:article(英文科研文章)/report/book/beamer(PPT)
;②ctex文档类(支持中文):ctexart/ctexrep/ctexbook/ctexbeamer
;
\documentclass[10pt,twocolumn,letterpaper]{article}
% 字体大小10pt, 双栏twocolumn, 纸张大小letterpaper; article类型文章
2、usepackage导入宏包:\usepackage[可选参数]{包名}
3、换行: \newline
或 \\
;换页:\clearpage
或\newpage
;分段:空行
或 \par
4、加标题/日期/作者:
在\begin{document}之前输入:
\title{标题}\author{作者}\date{日期}
在\begin{document}之后输入:(正文区的\maketitle
能将在导言区中定义的标题、作者、日期按照预定的格式展现出来)
\maketitle
%输入\maketitle后,标题/日期/作者才生效
5、修改页大小、页边距:
导入宏包:\Usepackage{ geometry }
设置页边距:\geometry(left=2.54cm,rught=2.54cm,top=3.09cm,bottom=3.09cm); %A4版上下为 2.54厘米;左右为 3.09厘米
6、文本加粗: \textbf{ }
;
7、左对齐: \noindent ; %本行左对齐不缩进
8、浮动体(解决分页问题):令大块的图表内容可以脱离上下文,放置在合适的位置。本质上是latex预定义的两个环境figure
和table
(单栏图表),figure*
和table*
(双栏图表),注意双栏图表的浮动体placement只能使用tp。
\begin{table}[⟨placement⟩]
…
\end{table}
定稿之前随意浮动,定稿之后可以通过增删文字来实现微调。
9、空格: 单格\quad
, 双格\\quad
10、居中/左对齐/右对齐:
①部分居中:
\centering;
%小范围内(比如表格)居中后面部分内容
②全部居中/左对齐/右对齐:
\begin{center/flushleft/flushright}
要居中的内容
\end{center/flushleft/flushright }
11、字体字形:
12、标题页:
两种生成方法:在导言区 或 正文区都可以创建标题页
13、环境:
常见的环境:无序列表itemize
、有序列表enumerate
、图片figure
、表格table
、公式equation
。
\begin{环境名}[可选参数](必选参数)
......
\end{环境名}
14、附录:
从\appendix
开始,后面是附录,后续章节编号为大写字母
\appendix
二、章节和段落
摘要:\begin{abstract} ………… \end{abstract}
关键字:\begin{keyword} ………… \end{keyword}
在文档类 article/ctexart 中,定义了五个命令来调整行文组织结构。他们分别是
\section{一级标题}
\subsection{二级标题}
\subsubsection{三级标题}
\paragraph{四级标题} %(一般最小用到四级标题)
\subparagraph{五级标题}
在report/ctexrep中,还有\chapter{·}
;在文档类book/ctexbook中,还定义了\part{·}
三、数学公式
导入amsmath
宏包,开始写数学公式(此外,amsfonts
宏包以及基于它的 amssymb
宏包提供了丰富的数学符号;amsthm
宏包扩展了 LATEX 定理证明格式):
1、插入公式:
- 行内公式(
无编号
):$ 公式 $
或\( 公式 \)
。有时为了避免行内公式的分数被压缩为行高,需要在前面加上\displaystyle
,使其和行间公式一样大。
$a=b+c$
\displaystyle $a=b+c$
\(a=b+c\)
- 行间公式(自带公式
编号
):使用\begin{}
和\end{}
构造下面的环境,如果公式内需要文本,使用\text{文本}
。公式交叉引用:在公式中,使用\label{name}
设置公式的交叉引用,在正文中,使用\eqref{name}
或\ref{name}
引用(name
一般命名为eqi
)。equation
环境:单行公式align
多行公式(&对齐等号,\\换行)gather
多行公式(不对齐等号,\\换行)
\begin{equation}
\label{eq:first} %交叉引用
a = b + c
\end{equation}
\begin{align}
\label{eq:second} %交叉引用
a &= b + c + d \\
&= a - c
\end{align}
\begin{gather}
\label{eq:third} %交叉引用
a = b + c + d \\
= d - e
\end{gather}
\ref{eq1}
和\eqref{eq1}
分别是(1)
和1
:
章节关联编号:在导言区添加amsmath后,再添加\numberwithin{equation}{section}
。这样公式的编号即可变为section_id.eq_id
。
- 无编号 行间公式:也可以使用
displaymath
或equation*
环境来插入(不推荐$$ $$
)。
\begin{displaymath}
a = b + c
\end{displaymath}
\begin{equation*}
a = b + c
\end{equation*}
2、粗体(向量或矩阵):用\mathbf{}
(有时\textbf{}
仍然有用);
3、上下标:字母^上标
;字母_下标;
。双侧上下标使用\sideset{左上下标}{右上下标}{主体部分}
。
$$R^{A}$$
$$R_{B}$$
$$\sideset{^A_B}{^C_D}{R}$$
4、括号:()
、[]
直接使用即可,{}
需要用转义字符表示\{\}
。\left
和\right
可以使括号与公式大小相匹配(需同时使用)。
$$ f(x,y,z) = 3y^2z + \left( 3+\frac{7x+5}{1+y^2} \right) $$
5、分数:\frac{分子}{分母}
;
6、常用数学符号:特殊符号查询使用Detexify手写识别,包括一些emjoy符号。
7、点 与 省略号:
8、矢量:\vec{字母}
(长度固定箭头)或\overrightarrow{字母}
(长度可变右箭头)、\overleftarrow{字母}
(长度可变左箭头)
$$\Vec{ABC}$$
$$\overrightarrow{ABC}$$
$$\overleftarrow{ABC}$$
9、积分:\int^{上标}_{下标} {被积分内容}
,其中{\rm d}
表示对后续d
取消斜体,\,
表示一个小空格。
$$\int_{i=0}^{N} {x_i} \,{\rm d}x$$
10、极限:lim_{start \to end}
,可以使用\atop
结合多个换行条件。
$$lim_{z \to \inf \atop z \in R } f(z)$$
11、累乘、累加、交集并集:
\sum_{下标}^{上标} {主体表达式}
\prod_{下标}^{上标} {主体表达式}
\bigcup_{下标}^{上标} {主体表达式}
\bigcap_{下标}^{上标} {主体表达式}
$$\sum_{a}^{b} {c} \quad and \quad
\prod_{a}^{b} {c} \quad and \quad
\bigcup_{a}^{b} {c} \quad and \quad
\bigcap_{a}^{b} {c}$$
12、方程组:使用cases
环境,\\
换行。使用&
加条件。
$$
f(x) =
\begin{cases}
x^2 & x<0 \\
x+3 & x>=0 \\
\end{cases}
$$
13、易错点:
【注】:更加复杂的公式可以依赖LaTeX公式编辑器生成。
四、插入图片
1、首先将需要插入的图片(PDF Latex接收PDF(推荐)
、EPS
格式的图片)上传到当前编辑文件的云端库中(一般创建一个fig文件夹,存放fig1.pdf等图像文件);
2、其次导言区导入graphicx
宏包,使用\includegraphics
插入图片,注意我们使用figure环境
作为浮动体容器设置图片的位置:
\usepackage{graphicx} % 导入宏包
\begin{figure}[!htpb]/[H] % [htbp]是自动排版,;[H]固定位置
\centering % 图片居中
\includegraphics[hight=4.5in, width=4.5in, scale=0.3]{绝对路径.pdf} % 可选设置[大小width,hight,缩放scale]{路径path}
\caption{图注} % 图注
\label{交叉引用名} % 交叉引用名
\end{figure}
图片浮动体位置排版:(1){figure}
不加可选参数[!htpb]
时,表示按照图片浮动体 排版(默认图片放在最上方)
;(2){figure}
加上可选参数[!htbp]
时,尽可能按照参数指定的方式来处理图片浮动位置(h
代表here当前位置,将图表排在当前文字位置,如果当前页位置不足则该参数无效 ;p
表示p-page-of-its-own浮动页,将图像放在运行有浮动对象的页面上;t
表示将图表放在页面的top (页首);b
表示将图表放在页面的 bottom(底部);!
表示忽略美观因素,覆盖内置布局方式),按照从左到右的顺序考虑!htbp每个参数 (3)H表示强制在当前位置放置图像,需要float宏包。
- 多图并列+
同一图注
:只需在上述代码中放两个\includegraphics[width=0.49/linewidth]{图片名.png}
即可。 - 多图并列+
不同图注
:需要引入特殊的宏包subfigure
,然后使用\subfloat[子图题注]{原始includegraphics子图指令}
构建子图。
设置图片大小:\textwidth页面版芯宽度, \paperwidth页面纸张宽度, \linewidth当前行宽度。可以用0-1的小数乘这些宽度实现对图片width进行缩放(hight会根据width自动缩放,保持宽高比)。不推荐同时设置width和hight,这将改变原始图像宽高比。
- 单栏页面+单栏显示:
\includegraphics[width = 0.8\textwidth]{a.jpg}
,这样图片的宽度会被缩放至单栏页面的页面
宽度的百分之八十。 - 双栏页面+单栏显示:
\includegraphics[width = 0.8\linewidth]{a.jpg}
这样图片的宽度会被缩放至双栏页面的单栏
宽度的百分之八十,但要去掉\centering
。 - 双栏页面+跨栏显示:(加*)
\begin{figure*} .... \end{figure*}
交叉引用图片:正文中交叉引用图,就可以使用\ref{交叉引用名}
,注意创建引用时,\label{交叉引用名}
一定紧跟在\caption{图注}
后面。如果使用cleverref
宏包,则使用\label{fig:交叉引用名}
和\cref{fig:交叉引用名}
。
五、插入表格
使用table/table*
浮动体环境,配合tabular
环境,导入array, tabu, longtable, tabularx, diagbox, dcolumn
等宏包开始制表:
1、制表!!!:浮动体参数,可选(t表格置于页面顶部,b表格置于页面底部),列格式参数:
- 格内对齐:“
l/c/r
”表示格内居左left/中center/右right,在tabular环境参数中设置。 - 普通竖线:“
|
”表示显示竖线,在tabular环境参数中设置。在\begin{tabular}{cccc}
中每个c之间加入|
,\begin{tabular}{|c|c|c|c|}
。 - 普通横线:“
\hline
”表示显示横线,在tabular环境内设置。\cline{start-end}
表示画指定起始列号和终止列号的横线,如\cline{2-3}
。
如下是最简单的三线表(但\hline并不是真正的三线表的线,而是普通横线)
\begin{tabular}[浮动体参数]{列格式参数=c|cc} % 3列格内居中,并显示第一列和第二列之间的1条竖线
\hline % 画横线
A & B & C\\ % “&”分隔不同列内的内容,“\\”表示换行
\hline % 画横线
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\hline % 画横线
\end{tabular}
2、三线表的横线:\usepackage{booktabs}
导入booktabs
宏包,用\toprule
(第一根横线)和\bottomrule
(最后一根横线)表示三线表上下的2根粗横线,表格的第一根线和最后一根线比\midrule
(表格中间的横线,等于\hline)更粗一些。\cmidrule{s-e}
类似\cline{s-e}
。
\begin{tabular}{c|cc}
\toprule
A & B & C\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
3、浮动体调整表格位置:使用table
或table*
(跨双栏)浮动体的可选参数控制表格在页面中的位置。
\begin{table}[!htbp]
\begin{tabular}{c|cc}
\toprule
A & B & C\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
\end{table}
其中,{table}有若干可选参数[!htbp],h代表here,将表格排在当前文字位置 ;t表示将表格放在下一页的 top (页首) ;p表示p-page-of-its-own;b表示将表格放在当前页的 bottom (底部) ;!表示忽略美观因素,尽可能按照参数指定的方式来处理表格浮动位置;不加[!htbp]时,latex会按照浮动体规则,把表格放在页面最上方。
4、居中:
- 长度不长时,
\centering
- 长度过长时,
\centerline{}
,把tabular的所有内容放进去
\begin{table}[!htbp]
\centering
\begin{tabular}{c|cc}
\toprule
A & B & C\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
\end{table}
5、表注和交叉引用标签:
- 创建标签:在
\caption{name}
之后使用\label{label_name}
- 引用标签:在正文中引用表格时,只需
\ref{label_name}
6、合并单元格:
- 行内单元格合并:使用
\multicolumn{合并的项数}{新列格式}{格内内容}
,我们只需要将想要合并的那几个单元格的xx & xx & xx
,替换为\multicolumn{合并的列数}{新列格式}{格内内容}
即可。如下把第一行的最后2个单元格合并:
\begin{tabular}{c|cc}
\toprule
A & \multicolumn{2}{c}{B} \\ % “&”分隔不同列内的内容,“\\”表示换行
\hline
E & F & G \\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J \\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
- 列内单元格合并:导入
multirow
宏包,\multirow{合并的行数}{宽度}{内容}
将同一列的多行合并,内容到达指定宽度后自动换行。如果{宽度}
使用*
代替,单元格宽度即为输入内容的宽度。(注意在合并多行后需要使用\cline{s-e}
,而不是普通的\hline
,否则合并后的单元格将会被长横线分割)
\begin{tabular}{c|cc}
\toprule
\multirow{2}*{A} & B & C \\
\cline{2-3}
& F & G \\ % “&”分隔不同列内的内容,“\\”表示换行
\hline
H & I & J \\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
7、行高:\renewcommand \arraystretch{2}
%表格行高设置为默认的2倍
8、三线表!!!:
\usepackage{booktabs} %导言区
\usepackage{threeparttable} %导言区
%三线表实例
\begin{table}[!ht]
\caption{A table with notes} \label{tab:tablenotes}
\centering
\begin{threeparttable} %这行要添加
%表格内容
\begin{tabular}{*4{c}}\toprule
Table head\tnote{1} & Table head\tnote{1} & Table head\tnote{2} & Table head\tnote{2} \\ \midrule
Some values & Some values & Some values & Some values \\
Some values & Some values & Some values & Some values \\
Some values & Some values & Some values & Some values \\
Some values & Some values & Some values & Some values \\ \bottomrule
\end{tabular}
%表下注释
\begin{tablenotes} %这行要添加, 从这开始
\footnotesize %这行要添加
\item[1] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. %这行要添加
\item[2] The quick brown fox jumps over the lazy dog. %这行要添加
\end{tablenotes} %这行要添加
\end{threeparttable} %这行要添加,到这里结束
\end{table}
【注】:更加复杂的表格 可以依赖表格生成器生成。
9、宽表格或越界表格处理:
- 减小字号:
\small
或\footnotesize
。
\begin{table*}[!htbp]
\centering
\small
\begin{tabular}{c|cc}
\toprule
AAAAAA AAAAAA & BBBBBB BBBBBB & CCCCCC CCCCCC\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
\end{table*}
- resizebox:导入
graphicx
宏包,然后使用\resizebox{\textwidth}{!}{表格内容}
,将表格包在一个行宽\textwidth大小的容器内。
\begin{table}[!htbp]
\centering
\resizebox{\textwidth}{!}{
\begin{tabular}{c|cc}
\toprule
AAAAAA AAAAAA & BBBBBB BBBBBB & CCCCCC CCCCCC\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
}
\end{table}
- 格内手动换行:例如一个单元格内容的文字是
AAAAA AAAAA
,这个单元格就是一个又长又扁的单元格,但我们可以使用\makecell{AAAAAA\\AAAAAA}
将其在空格处断句换行,变得更宽但没那么长(需要导入makecell
宏包)。另外,如果换行后的标题行上下高度太挤,我们可以在\begin{tabular}
之前,使用\setcellgapes{5pt}
和\makegapedcells
,为其增加高度空间。
\begin{table*}[!htbp]
\centering
\begin{tabular}{c|cc}
\toprule
\makecell{AAAAAA\\AAAAAA} & \makecell{BBBBBB\\BBBBBB} & \makecell{CCCCCC\\CCCCCC}\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
\end{table*}
- 格内自动换行:导入
tabularx
和array
宏包,将原来的tabular替换为tabularx,并指定表格宽度为\textwidth
,使用>{\centering\arraybackslash}X
代替原来的c
表示自适应调整格宽同时居中。
\begin{table*}[!htbp]
\centering
\begin{tabularx}{\textwidth}{>{\centering\arraybackslash}X|>{\centering\arraybackslash}X|>{\centering\arraybackslash}X} % 使用tabularx并设置表格宽度为\textwidth
\toprule
AAAAAA AAAAAA & BBBBBB BBBBBB & CCCCCC CCCCCC \\ % 移除了makecell,改为自动换行
\midrule
E & F & G \\ % F和G列的内容将自动换行并居中
H & I & J \\ % I和J列的内容将自动换行并居中
\bottomrule
\end{tabularx}
\end{table*}
- 翻转表格:导入
rotating
宏包,如果表格实在太宽,把table
浮动体环境替换为sidewaysyable
环境翻转90°。(sidewaystable*
也是双栏的)
\begin{sidewaystable}
\centering
\begin{tabular}{c|cc}
\toprule
AAAAAA AAAAAA & BBBBBB BBBBBB & CCCCCC CCCCCC\\ % “&”分隔不同列内的内容,“\\”表示换行
\midrule
E & F & G\\ % “&”分隔不同列内的内容,“\\”表示换行
H & I & J\\ % “&”分隔不同列内的内容,“\\”表示换行
\bottomrule
\end{tabular}
\end{sidewaystable}
六、图表交叉引用label和ref
交叉引用分为2步:
-
创建标签:
\label{label_name}
,创建章节标题、行间公式、有序列表、图表标题的标签。label_name命名规范:图片fig:number
、表格tab:number
、公式eq:number
-
引用标签:
\ref{label_name}
,引用创建过的标签。
如果使用cleverref
宏包,则使用\label{fig/tab:交叉引用名}
和\Cref{fig/tab:交叉引用名}
(这里是正文中的Figure i和Table i)和\cref{fig/tab:交叉引用名}
(这里是引用表的fig. i和tab. i)。
hyperref宏包应该在 cleveref 之前导入,自动给图表的交叉引用添加超链接标志,实现点击跳转。使用\usepackage[hidelinks]{hyperref}
可以隐藏超链接的红框,保留跳转功能。
七、参考文献与交叉引用
LaTeX在reference部分插入参考文献,可以使用BibTex,也可以不使用BibTex。
参考文献的交叉引用也分为2步:
- 创建文献:在thebibliography或.bib中设置name, 已经其他信息(从谷歌学术copy)。
- 引用文献:
\cite{name}
引用名为name的文献
不使用BibTeX (thebibliography)
先在文章文章末尾写好需要插入的参考文献,逐一写出,例如:
\begin{thebibliography}{99}
\bibitem{name1}郭莉莉,白国君,尹泽成,魏惠芳. “互联网+”背景下沈阳智慧交通系统发展对策建议[A]. 中共沈阳市委、沈阳市人民政府.第十七届沈阳科学学术年会论文集[C].中共沈阳市委、沈阳市人民政府:沈阳市科学技术协会,2020:4.
\bibitem{name2}陈香敏,魏伟,吴莹. “文化+人工智能”视阈下文化创意产业融合发展实践及路径研究[A]. 中共沈阳市委、沈阳市人民政府.第十七届沈阳科学学术年会论文集[C].中共沈阳市委、沈阳市人民政府:沈阳市科学技术协会,2020:4.
\bibitem{name3}田晓曦,刘振鹏,彭宝权. 地方高校开展教育人工智能深度融合的路径探究[A]. 中共沈阳市委、沈阳市人民政府.第十七届沈阳科学学术年会论文集[C].中共沈阳市委、沈阳市人民政府:沈阳市科学技术协会,2020:5.
\bibitem{name4}柏卓君,潘勇,李仲余.彩色多普勒超声在早期胚胎停育诊断中的应用[J].影像研究与医学应用,2020,4(18):129-131.
\bibitem{name5}杨芸.我院2018年人血白蛋白临床应用调查与分析[J].上海医药,2020,41(17):34-35+74.
\end{thebibliography}
上面列出了5个参考文献,{thebibliography}
的选项99指的是参考文献的个数最大为99,可以设置为别的数。
正文中引用参考文献的方法是:
\cite{name1}
\cite{name1, name5}
编译后就可以得到:
[1]
[1, 5]
使用BibTeX(.bib, 推荐使用)
这种方法需要建立参考文献数据库.bib文件
,引用的时候调用所需要的参考文献:BibTeX 是一种格式和一个程序,用于协调LaTeX的参考文献处理. BibTeX 使用数据库的的方式来管理参考文献。BibTeX 文件的后缀名为 .bib
。
(1)建立BibTeX文件(.bib):BibTeX 文件例子:
@article{
name1, % 交叉引用的唯一name,\cite{name}
author = {作者, 多个作者用 and 连接},
title = {标题},
year = {年份},
journal = {期刊名}, % optional
volume = {卷20}, % optional
number = {页码}, % optional
abstract = {摘要, 这个主要是引用的时候自己参考的, 这一行不是必须的} % optional
}
第一行@article
告诉 BibTeX 这是一个文章类型的参考文献,还有其它格式, 例如 article期刊, inproceedings会议, book书, booklet, conference, inbook, incollection,manual, misc, mastersthesis, phdthesis, proceedings, techreport, unpublished 等等。
接下来的"name1
",就是你在正文中应用这个条目的名称。
其它就是参考文献的具体信息。
(2)LaTeX中导入BibTeX:在论文最末,\end{document}
之前,插入如下两行命令:
\bibliographystyle{plain} % 设置参考文献的样式
\bibliography{ref} % 导入ref.bib文件,不需要后缀.bib
常见参考文献样式的可选项有8种,分别是:(一般投稿的期刊或会议会指定.bst
文件,直接粘)
plain
,按字母的顺序排列,比较次序为作者、年度和标题;unsrt
,样式同plain,只是按照引用的先后排序;- alpha,用作者名首字母+年份后两位作标号,以字母顺序排序;
- abbrv,类似plain,将月份全拼改为缩写,更显紧凑;
- ieeetr,国际电气电子工程师协会期刊样式;
- acm,美国计算机学会期刊样式;
- siam,美国工业和应用数学学会期刊样式;
- apalike,美国心理学学会期刊样式;
(3)LaTeX正文中引用参考文献:\cite {引用文章名称}
,默认使用交叉引用
八、常用宏包
\usepackage{xxx}
加载宏包(package)本质上是导入了一个xxx.sty
文件,这个文件也遵循latex语法,通过扩展或提供 LaTeX 的某一特定功能,以便利用户使用:
\usepackage{ctex} %编辑中文必须要引入的宏包
\usepackage{graphicx} %实现插图需要的引入的宏包
\usepackage{subfigure} %并列排图需要引入的宏包
\usepackage{caption} %将figure 1改为fig.1要引入的宏包
\usepackage{indentfirst} %默认第一段首行缩进
\bibliographystyle{unsrt} %参考文献引入的宏包
\usepackage{cite} %参考文献上标
\usepackage{balance} %双叶排版时,按顺序安排参考文献
\usepackage{geometry} %页面设置宏包
\usepackage{amsmath} %提供\begin{equation}
\usepackage{amssymb} %提供\substack
\usepackage{fontspec} %设置字体引入的宏包
\usepackage{booktabs} %画三线表需要用到的宏包
\usepackage{multirow} %画三线表需要用到的宏包
\usepackage{ragged2e} %两端对齐
\usepackage{float} %强制图片位置
\usepackage{indentfirst} %首行缩进
\usepackage{tabularx} %画三线表需要用到的宏包
\usepackage{threeparttable} %画三线表需要用到的宏包
\setmainfont{Times New Roman} %设置罗马字体
\geometry{a4paper, scale=0.85} %设置页面A4纸,页边距0.8
\usepackage{fancyhdr} %设置没有页眉页脚
\graphicspath{{tu}} %图片在当前目录下的figure目录
graphicx
是所有宏包中最重要的宏包,这个宏包引入了插图命令 \includegraphics,我们的文档如果需要插图都将用到它。
图像宏包
array & booktabs
array 宏包扩展了 array 和 tabular 环境功能,主要增加和增强了列样式选项,甚至可编程定义新的列样式;还增加了许多细部微调功能,如改变垂直表格线的粗细 和自动调整表格间隙等。使用该宏包可以排印出外形美观、功能丰富的表格。
booktabs 宏包可以让我们创建没有竖线分隔的表格,这些分隔线在很多情况下是不必要的,并且很难看。使用 booktabs 宏包创建表格比创建普通 LaTeX 表格更费劲。
amsmath & amssymb & amsfonts
amsmath 宏包是 AMS(美国数学协会)系列宏包中最重要的宏包,这个宏包引入了一些改进的数学环境。比如:加载 amsmath之后,我们可以使用 align 环境。我所有的行间公式都使用了 align 环境 (或者无编号版的 align* 环境),即便有时候公式不需要对齐。
cleveref
这个宏包引入了 \cref 命令,当使用这个命令用于交叉引用的时候(而不是 \ref 或者 \eqref),根据引用的不同,它会自动添加一个单词前缀,引用 figure 环境,它会自动添加 “fig.”,而对于 equation 环境,它会自动添加 “eq.”。因此,这是一个用来简化写作的 LaTeX 宏包。
hyperref
hyperref 非常强大,你可以有非常多的可能性,其中最突出的特色是超链接。当引用一幅图的时候,引用与图形形成了链接,当你点击引用的地方,它会跳转到链接的图片处。并且 hyperref 可以让你插入 PDF 元数据到你的最终文档中。
注意:作为一个经验法则,你应该在导言区的最后加入这个宏包,在所有宏包之后。也存在少数例外的情况:比如,本文提到的 cleveref 宏包,cleveref宏包应该在 hyperref 之后导入,自动给图表的交叉引用添加超链接标志。
geometry
使用 geometry 宏包来调整页面的页边距非常方便。整个文档默认的页边距可以通过这个宏包的选项来改变(置于\usepackage 之后的方括号内,比如 a4paper),大部分情况下,我使用这个宏包(使用 a4paper 选项)来创建 A4 纸张以及相应的页边距。
页面布局宏包
microtype
microtype 宏包可以改善了单词、字母的间距。它可能做了很多,但是大部分人察觉不到使用它之后文档的变化。但至少,加载了 microtype 之后,文档看起来更好,也更容易阅读。注意:如果有使用到字体宏包,需要将 microtype 宏包放在它们的后面,因为这个宏包对单词、字母的调整和字体是有关的。