LaTeX使用教程
模板
注释
LateX文件注释使用“%” ,在一行中“%” 号后面的内容均会被注释掉,生成PDF文件时不会显示。
另:关于LaTeX的定位操作可以在PDF预览中在想要定位的文字上按住Ctrl+鼠标左键便会定位到相应代码处,而在代码区域选中想要定位的段落,按住Ctrl+Alt+J便会定位到PDF中指定位置。
比如说我想将下图中which从句给注释掉,我们可以进行如下操作:
然后进行编译,可以看到which从句消失了,如下图所示。这便是%的注释作用。
命令或特殊符号
“\” 符号出现,表示这是一个命令或者特殊符号。如下图所示,“\”就是命令的开头。
另外“\”的作用还有输入特殊符号的作用。LaTaX中常用的特殊符号有:
%:注释符号
&:数学公式对齐符号
$:这个符号被用作数学公式标记符:被框在两个该符号中间的内容将会翻译为数学公式
~:保留强制空格
^:上标标记
_:下标标记
{}:花括号内内容当作整体看待
#:编写宏包时使用
这些符号都不能直接输入,需要在这些符号前加一个反斜杠“\”才可以正常显示。
比如,我们需要在intend这个单词前面添加一个“%”,但是如果单纯在正文中加入“%”则后续文本都将会被当作注释而注释掉。此时我们需要输入“\%”便可正常输入“%”,如下图所示。其他符号也是同理。
普通文本(白色字符)
普通文本在LaTeX中显示维白色字符。当然,我们使用时,常使用上述所说方法进行定位,一般也不会修改别人给我们的原LaTeX代码,意思就是,白色字符代码是正文,其他的颜色代码多多少少可能有其他的功能,删除的时候要多加小心。
正文
设定区域:顾名思义,这一区域的内容是对于文档的一系列设定,并不会影响输出文档的内容。
“\documenteclass{...}”、“\usepackage{..}”为设定区域,规定论文格式,导入相关依赖包等。对导出PDF的内容并没有影响。
关于宏包:相当于LaTeX自带的一些函数,我们论文写作中需要时不时的调用这个函数,如果没有相应宏包的支持,编译过程中可能会发生报错。
关于LaTeX的常用宏包,参考:[LaTeX 指南] 功能性宏包推荐(可能过时,需甄别) - 知乎
在这里,我们只提及一般必须包含的宏包名称:
数学公式 - amsmath
插图 – graphic
表格 - array
其他的宏包,具体去参考上面的文章即可。
正文区域:顾名思义,这一部分的内容就是输出文章的内容。
正文区域以“\begin{…}”开始“\end{…}”结束。例如:
对于这一部分的修改,正如上面所说的,只需要对白色的正文部分进行删减修改即可,在这里就不再重复展示。这样便可以保证原格式保持不变。当然,对于进阶的科技论文写作者,也可以适当添加或删除字段。
正文的各级标题: chapter:章,一般只用于可以成书的文章,比如学位论文。
section:节
subsection:小节
subsubsection:小小节
演示如下图所示:
换行、换段、换页、首行缩进等命令:
\\(\newline、\linebreak、\\[offset]):换行指令,如下图所示,可以明显看到摘要文本出现了换行。
\par:分段指令,如下图所示,IEEEtran前明显出现了一个分段导致的缩进。
\newpage:分页命令,如下图所示。
数学公式
正文行中的特殊字符和短公式:使用“$公式$”的形式进行插入。比如,我们想在第一个Section之后添加一个公式,如下图所示:
我们可以看到在第一个section后出现了我们所添加的公式内容。
当然,有些公式需要在文中进行引用,我们使用:
\begin{equation}\label{公式标签}
……
\end{equation}
进行设置,并在文中引用处使用:
\autoref{公式标签}进行引用,值得注意的是需要导入\usepackage{hyperref}依赖包。
比如文中的:
引用:
效果:
效果:
在LaTeX中,\eqref和\autoref都是用于引用的命令,但它们各有不同的用途和特点:
\eqref:这个命令由amsmath包提供,用于引用文档中的方程。使用\eqref来引用一个方程时,它会自动在方程编号周围加上括号。
\autoref:由hyperref包提供,这个命令生成的引用会额外包含上下文信息,比如被引用内容的类型。例如,在引用一个方程时,它可能会在编号前添加"方程",在引用一个章节时,则会添加"章节"。
一个常见的做法,如果你想结合\eqref和\autoref的功能,一些用户通过特定的技巧来同时利用\autoref提供的上下文以及\eqref的格式化特点。
具体区别如下:
使用\eqref时,方程编号会自动被加上括号,更适合单纯的方程引用场景。
使用\autoref时,则可以为读者提供额外的内容类型信息,使文档具有更好的可读性,适合需要在引用时标明引用类型的场景。
示例:我们在第一个section后添加一个label,名为001,并在第一段结束后进行引用,效果如下图所示:
无编号公式:即单独成一行的公式,但不做引用编号。
用“\[公式\]”或“$$公式$$”来表示。
示例:在刚才的编号公式后添加两个一样的公式:
编译
添加图片注释,不超过 140 字(可选)
多行公式:使用“\begin{split}…\end{split}”进行编辑,同样值得注意的是,需要导入依赖包“\usepackage{amsmath}”
示例:比如我想输入一个非常长的公式:
A+B+C+D+E+F+G=H+I+J+K+L+M+N+O=P+Q+R+S+T+U=100
如果直接用单行公式的输出方法则会:
输出公式太长直接挤了出去,那么我们就需要在其中进行换行操作,我们可以在不适用split的情况下添加“\\”进行尝试换行操作,发现并不会产生任何变换,此时需要我们引入split工具进行操作。
示例代码:
在LaTeX中输入多行公式通常会使用`amsmath`包提供的环境,如`align`、`gather`和`multiline`。以下是一些使用这些环境的例子:
用于多行公式且可对齐的情况。可以在`&`符号处对齐多行公式。
\begin{align}
a &= b + c \\
x &= y - z
\end{align}
当多行公式不需要对齐时使用 `gather` 环境。gather 环境允许你编写多个不对齐的公式。每个公式单独居中,你也不能在 gather 环境中设置对齐点。
\begin{gather}
a = b + c \\
x = y - z
\end{gather}
multline 环境:当单个公式跨越多行时,主要用于过长的公式换行。multline 环境用于单一公式太长,需要分为多行显示时使用。它将首行左对齐,末行右对齐,中间的行如果有多行则会居中对齐。在 multline 环境中,你并不能设定特别的对齐点,因为它是为了处理单个公式在多行中的格式。
\begin{multline}
a + b + c + d + e + f + g + h + i \\
+ j + k + l + m + n
\end{multline}
每种环境适用于不同的情况,您可以根据需要的对齐方式和公式长度来选择合适的环境。
如果你需要对多行公式进行精确的对齐操作,通常推荐使用 align 环境,因为它可以通过 & 符号指定每行公式之间的对齐点。
我们观察到每个公式都进行了编号,那是否我们可以获得没有编号的公式呢?
在LaTeX中,`gather` 和 `align` 环境确实都会为公式自动添加编号。如果你想禁止编号,可以使用带有星号`*`版本的环境:`gather*` 和 `align*`。使用这些环境,LaTeX将不会为公式添加编号。
在LaTeX中使用 `gather*` 环境:
\begin{gather*}
a = b + c \\
d = e + f
\end{gather*}
使用这个环境,上述公式将不会被编号。
同样地,在LaTeX中使用 `align*` 环境:
\begin{align*}
a &= b + c \\
d &= e + f
\end{align*}
这个环境也不会给公式添加编号。
同理,multline也可以进行同理操作,这里不再赘述。
添加图片注释,不超过 140 字(可选)
分情况讨论:使用“\begin{cases}…\end{cases}”,值得注意的是,cases依然是属于amsmath包,请记得调用!
示例:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
f(x) =
\begin{cases}
x & \text{if } x > 0, \\
0 & \text{if } x = 0, \\
-x & \text{if } x < 0.
\end{cases}
\]
\end{document}
输出情况:上述运用了&对齐符号、\[\]的不带编号的数学符号。
注意:\text{}中间可以添加以正文文字输出的文字样式。
当然很多同学会有这样的疑问:我有些公式很长或者带有一些比如像积分、求和这种大符号,我又该怎么写呢?是不是需要记忆很多符号的代码呢?
其实不必,我们只需要利用word中的公式编辑器编辑好公式直接复制粘贴进VSCode即可,就拿下面的伽马公式为例:
我们直接全选,Ctrl+C,然后到VSCode上Ctrl+V,你会发现一行代码直接就上去了,如下:
\Gamma\left(z\right)=\int_{0}^{\infty}{t^{z-1}e^{-t}dt}=\frac{e^{-\gamma z}}{z}\prod_{k=1}^{\infty}{\left(1+\frac{z}{k}\right)^{-1}e^{z/k}},\ \ \gamma\approx0.577216
根本不需要看懂,直接编译一下,wok,完全一样!所见即所得。如此复杂的公式都搞定了,简单的公式更不在话下。
图片
在LaTeX中插入图片是一个常见的需求,主要通过\includegraphics命令实现,该命令包含在graphicx宏包中。
最重要的就是不要忘了添加宏包,在文档的序言区(\begin{document}之前)添加graphicx宏包:
\usepackage{graphicx}
使用\includegraphics命令插入图片。你可以指定图片的宽度、高度、旋转角度等属性。
示例代码:
\includegraphics[width=2in]{path/to/your/image.jpg}
其中,[width=2in]指定了图片的宽度(这里是2英寸),{path/to/your/image.jpg}是图片的相对或绝对路径。
相对路径如何获取:
关于label标签的使用,在这里不再赘述,上面已经有过详尽地介绍。
接下来介绍图片与文本的对齐方式:
通常情况下,\includegraphics命令只是单纯地插入图片,如果需要调整图片与周围文本的对齐方式,可以在\includegraphics命令外面添加\begin{figure}环境,并通过\centering命令等方式调整对齐。
示例代码:
\begin{figure}[ht]
\centering
\includegraphics[width=2in]{path/to/your/image.jpg}
\caption{这里是图片描述}
\label{fig:image1}
\end{figure}
这段LaTeX代码创建了一个带有标题和居中对齐的图片。图片会被尝试放置在代码所在的当前位置(或页面顶部),图片的宽度设定为2英寸,而高度则自动调整以保持图片的原始宽高比。此外,通过\caption和\label命令,图片还拥有了说明文字和可以在文内引用的标签。
重点对[ht]这个部分进行解释,这一部分叫做控制浮动体选项集:
在LaTeX中,控制浮动体(如figure和table环境)位置的选项集包括一系列字母,每个字母都指定了LaTeX尝试放置浮动体的一个可能位置。下面是这些位置选项的含义:
h (here) - 表示尽可能在文本中给定浮动体位置的大概位置放置浮动体。
t (top) - 将浮动体放置在页面的顶部。
b (bottom) - 将浮动体放置在页面的底部。
p (page) - 将浮动体放在一张只包含浮动体的单独页面上。
! - 强制忽略LaTeX处理浮动体的一些严格规则,尽量依照您选择的位置放置浮动体。
你可以单独使用这些选项,或者组合使用它们来提供LaTeX关于在何处可以放置浮动体的更多灵活性。比如,[htbp] 会让LaTeX尝试以你编写顺序(先尝试当前位置,然后是页顶,页底,最后是单独的浮动体页)放置浮动体。
表格
在LaTeX中插入表格主要通过table环境和tabular环境来实现。
\usepackage{graphicx} % 可选, 用于图像支持
\usepackage{array} % 可选, 用于增强表格功能
调用宏包不再赘述。
以中国科学技术大学的学位论文格式模板三线表格为例(以逐行标注注释):
网址链接:https://github.com/ustctug/ustcthesis
\begin{table}
% 这一行开始了一个table环境,它是LaTeX中的一个浮动体环境,用于处理图表和表格等。它可以自动调整表格的位置,以实现最佳的文档布局。
\centering
% 这一行命令用于将接下来的内容(在此情况下是表格)居中放置在页面上。
\caption{表号和表题在表的正上方}
% 此命令为表格提供了一个标题。在这个例子中,标题为“表号和表题在表的正上方”。这个标题将出现在表格的上方。
\label{tab:exampletable}
% \label命令为表格设置一个标签(在这个例子中是tab:exampletable),这使得在文档的其他位置可以通过\ref命令引用到这个表格。
\begin{tabular}{cl}
% 这一行开始了一个tabular环境,用于创建具体的表格结构。{cl}参数指定了该表格有两列,第一列内容居中对齐(c),第二列内容左对齐(l)。
\toprule
% \toprule命令创建了表格顶部的一条粗横线,是booktabs包的命令,用于创建美观的表格。
类型 & 描述 \\
% 这里定义了表格的两列的标题,第一列是“类型”,第二列是“描述”。
\midrule
% \midrule命令创建了标题行下的一条细横线,也是booktabs包的命令。
挂线表 & 挂线表也称系统表、组织表,用于表现系统结构 \\
无线表 & 无线表一般用于设备配置单、技术参数列表等 \\
卡线表 & 卡线表有完全表,不完全表和三线表三种 \\
\bottomrule
% \bottomrule命令创建了表格底部的一条粗横线,结束表格的可视内容。
\end{tabular}
\end{table}
综合上述,该代码创建了一个简洁、格式化的表格,包含标题、引用标签、顶部和底部的边框线,以及中间行的分隔线,用于清晰地展示不同类型的表格以及它们的描述。
编译:
如何编辑表格每列的属性:
r | right |
---|---|
l | left |
c | center |
t | top |
b | bottom |
p{'width'} | 单元格内容向上置顶 |
m{'width'} | 单元格上下居中 (requires array package) |
b{'width'} | 单元格向下置底 (requires array package) |
其他命令:
& | 列分隔符 |
---|---|
\\ | 换行 |
\hline | 一条水平直线 |
\newline | 在单元格内(在段落列内)新建一行 |
| | 一条垂直线 |
|| | 两条垂直线 |
给一个生成LaTeX表格的网站链接:LaTeX Tables Editor
再给一个:CTAN: Package Excel2LaTeX
安装完成后可以直接从Excel导出LaTeX格式的表格
示例代码:
编译效果:
参考文献
引用参考文献我们利用JabRef软件进行文献管理。
下载地址:JabRef - Free Reference Manager - Stay on top of your Literature
安装以及汉化在此不进行介绍,我们直接介绍如何利用JabRef软件进行文献管理以及输出到LaTeX。
我们依旧以中国科学技术大学的学位论文格式模板为例,我们找到相应文件中bib文件夹,并找到其中的.bib文件。
如果当前模板没有BibTex数据库,我们可以新建一个文件为.bib类型即可。创建完成后利用JabRef软件打开该文件。
比如说我们需要引用这篇文章:
点击“引用”—“BibTeX”即可生成BibTeX代码,进行复制:
然后,在JabRef软件中粘贴即可导入所引用的文献。
Ctrl+S保存文档。
关于引用以及文末显示参考文献:
编辑tex文件,在正文区最后添加代码 \bibliography{ bib文件名 },这样子在最后就会显示参考文献。
仍然以中国科学技术大学的学位论文格式为例:
相对路径等问题不再进行赘述。
那么如何在正文中插入参考文献呢?(\cite命令)
比如我要在下图中正文最后插入我们刚才引用的文献:
引用格式为:\cite{Bibtexkey}进行引用,Bibtexkey可以通过JabRef软件进行获取。
引用:
编译:
可以看到我们参考的文献在正文以及文末参考文献中都已经正常显示。
总结
至此,我们已经学习了最基本的LaTeX技巧,包括:正文、数学公式、图片、表格、文献引用,并简单介绍了JabRef软件的简单使用。希望本篇教程对各位的科研生活有所帮助。
本篇文章并未涉及如何去写一个LaTeX模板,只涉及基本的LaTeX编辑,对新入门的同学比较友好。
如有错误欢迎指出!