Latex教程

Latex学习笔记

前言

Latex很重要,尤其对于一些科研选手来说,作为科研小菜鸡的我在这里记录下我的Latex学习教程

一、Tex的介绍与学习

1.1 Tex的宣传

这里是一个宣传 TeX — 世界上最漂亮,最有趣,最可靠的排版程序的网页。希望通过我的介绍,你能体会到使用 TeX 的快乐感觉,并且成为一个 TeX 的用户和支持者。由于中国 TeX 的普及率还很低,我们必须适当宣传。如果你也情不自禁爱上了 TeX,你希望更多的人从中受益,那么把 TeX介绍给你的朋友们吧。
不管你怎么到了这里,或者是写论文时被 Word 繁琐的功能弄晕了,想看看这个新鲜东西能否消除你的烦恼?或者你是久闻 TeX 大名,但是不知道这到底是怎么回事?或者你不知道 LaTeX 和 TeX, MikTeX, teTeX 有什么关系?或者你是被我的“公益广告”拉过来的……这一页都是非常有意思的 😃

1.1.1 Tex是什么

TeX 不是一家公司生产的,它主要是由计算机科学家 D.E.Knuth 设计并实现的。在 TeX 的诞生过程中,还包含了千千万万 TeX 用户的建议和要求。TeX 使用的字体包含了许许多多书法家,字体设计家的功劳,其中包括著名的 Hermann Zapf,其实 Knuth 自己也是一个字体设计艺术家。TeX 的宏包,字体,…… 成千上万,是由各个领域的的专家按照自己专业的需要设计的。所以 TeX 是全世界科学家和艺术家集体智慧的结晶。

1.1.2 Tex是哪家公司生产的

看看上面右边那位,它就是 TeX。TeX 的名字是由大写的希腊字母图1
组成。在希腊语中这个词的意思是“科技”和“艺术”,这也解释了它的发音。“T”和“E”就像在“technology”中的发音一样,而“X”的发音类似于苏格兰语单词“loch”或德语单词“ach”中的“ch”,也类似于西班牙语中的“j”或俄语中的“kh”。当你对着电脑屏幕读这个单词,你的屏幕就会起雾。

1.1.3 Latex怎么发音

LaTeX 读作:“雷TeX”。嘿嘿。

1.1.4 排版Word也可以啊,Tex跟Word,WordPerfect有什么不一样?

Word 和 WordPerfect 是“字处理程序”(word processor),它们是“所见即所得(WYSIWYG)”的,你直接修改字体,颜色,用鼠标画出表格…… 马上就可以看到效果。屏幕上显示出来是什么效果,印出来……基本上就是那个效果。而 TeX 不是,你输入的都是文本文件,需要一个程序(当然就是tex了)处理之后才能得到一个排版后的结果。

1.1.5 那样的话Tex还不如Word呢

你认为 WYSIWYG 很好吗?其实还有更好的,TeX 是 “WYTIWYG(所想即所得)”。用 TeX 写论文的时候,你根本不用想着“这个单词使用什么字体呢?”,“这行应该缩进多少呢?”,……这类问题。你能够专注于你的思路,你的作品的逻辑关系,这样才能更好的为你的读者着想,写出比用WYSIWYG更好的作品。用TeX写文章,你想的是“这一段是否应该属于上一节呢?”,“这句话跟我这章的主题符合吗?”,“是否应该开始新的一章呢?”……
你告诉 TeX 的是:“这是一章开始”,“这个单词应该强调”,“这里是一段诗”……而不是告诉它:“这是第3章,应该用黑体三号字,开头有一个‘双S’,……”,“这个单词用斜体楷体小四”,“左右缩进各一英寸,右边不要对齐,换用小一号花体”……
在用 TeX 的时候,TeX 是你的排字工,你是诗人,作家…… 而用字处理程序的时候,你既当作者又当排字工,累不累?
其实你也知道,再好的字处理程序打印出来的效果也跟屏幕上看到的大不一样,而 TeX 生成的 dvi 文件在屏幕上看到是什么样,打印出来绝对就是那个样子,每一个字符的每一笔每一划,……都是一模一样。在某种程度上,TeX 才是“所见即所得”。

1.1.6 Tex,几十年前的东西了,又不更新,早过时了吧

TeX 确实已经很老了,它在 1982 年以后基本就没有变化过。但是你相信世界上有如此完美的程序吗?它几乎没有bug, 而且你可以在几乎任何计算机上使用它,从PC机到Cray巨型机。经过几十年的风霜,它仍然是文档排版界的 “No.1”, “state-of-the-art”.它的王牌地位明显还将在21世纪继续保持!
TeX 的版本自从1995年3月就保持在 3.14159 没有变化,最近才变成了 3.141592。这说明什么呢?这说明它已经趋于完美。你应该改变所有软件都必需从 0.1, 1.0, 1.1, 1.2, 2.0, …, 3.0, 3.1, 95, 98, 2000, XP, … 不断升级的想法。
TeX 是如此的稳定,几十年前的文档在现在输出效果不会有任何变化,你学习的TeX语法有永远不过时的保证。
虽然TeX程序和语言本身没有再变化,但是TeX是可以在不修改主体的情况下扩展的。TeX的扩展性使得它成为最先支持PDF的系统之一,你可以参考ConTeXt 专栏。基于TeX的各种格式,应用风起云涌,百花齐放。TeX 现在还是 SGML, XML 的后端主力。
虽然你几十年前的文档不加修改是不会变化的,但是你可以任意的选择采用新式的办法处理你的文档。当新的宏包产生的时候,你只要改几个字就可以使你的“古籍”具有当今最流行的效果。比如转化成一个带有超级链接和bookmark的PDF文件!

1.1.7 你不应该用形容词的最高级还形容一个东西,我听你说了“最漂亮”,“最美”,甚至“完美”!

通常我们不应该乱用最高级,但是在这种情况下,我可以使用“最漂亮”,“最美”,甚至“完美”来形容 TeX,因为还没有其它程序能够处理如此复杂的内容,得到的效果能够与 TeX 比美!这些问题太复杂,以至于 Microsoft,Quark,甚至 Adobe 都不感兴趣。TeX 是如此不可一世,以至于 TeX 经常成为“宗教战争”的起因。
长江后浪推前浪,将来一定会出现超过 TeX 的程序。它们从 TeX 身上应该能学到很多东西。即使有一天 TeX 不再是最好,但是它的影子还是会在其它程序身上出现。

1.1.8 你这么关心文档的外表干什么?重要的是内容

正确。重要的是内容。但是如果你编辑你的大作的时候还想着字体该用什么,行间距该多大,…… 你的内容质量是否会受到影响呢?TeX 使你专心于内容,这正符合你的一贯思想啊!而且顺便你就得到了世界一流的美观效果,何乐而不为?
知之者不如好之者,好之者不如乐之者。
Beautiful presentations can greatly deepen our perception of difficult concepts.
看到漂亮的公式,均称的排版,优雅的字体,你体会到美的旋律,行云流水,一气呵成…… 即使最难的概念也会轻松的印到你的大脑里,持久不变!

1.2 TeX的基本概念

新手学习TeX,推荐用什么编译器,是LaTeX还是CTeX?或者说别的什么?
十秒版本:

1.2.1 引擎

与通常用的编程语言的编译器相对应——如 C++ 的 gcc/icc/cl、Java 的 javac——TeX 的「编译器」的真名叫做「TeX 引擎」。TeX 引擎大概有如下一些选择:

  • Knuth
  • TeX
  • e-TeX
  • pdfTeX
  • LuaTeX
  • XeTeX
  • pTeX
  • upTeX
  • e-upTeX
  • pTeX-ng
    其中,Knuth TeX 是高德纳的原版 TeX,现在你基本已经找不到它了。

e-TeX 是目前事实上的「标准」TeX。尽管它名字中的「e」表示的是「extended」。几乎所有的后续的 TeX 编译器都是在 e-TeX 基础上开发的。

pdfTeX 是西文世界最常用的 TeX 编译器。通常来说,西文期刊的模板,用 pdfTeX 作为编译器编译不会错。

LuaTeX 则是作为 pdfTeX 正统后继者出现的。它给 TeX 加入了 Lua 脚本的支持,同时原生支持 Unicode。它可以通过 Lua 回调加入编译器级别的 CJK 字符支持;虽然这样子处理,编译起来效率很低速度很慢。

XeTeX 是 e-TeX 的另一个分支扩展。它也原生支持 Unicode,并且和 LuaTeX 一样,支持直接调用系统里的字体。目前推荐的中文支持办法,是在 XeTeX 引擎上,使用宏的方式解决的。(xeCJK宏包)

pTeX 及后续的 TeX 引擎,我们习惯称之为「pTeX 系引擎」。这里的「p」是「publish」的缩写。看得出来,pTeX 的日本作者们「野心」很大的,想要做成一个出版工业级的引擎。pTeX 系引擎里,目前用得最广泛的是 e-upTeX。它可以较好地支持 CJK 字符。不过由于是日本人开发的,所以对日语支持是最好的。用来撰写中文文档,跟我们的习惯有些出入,需要有丰富的经验才能驾驭。pTeX-ng 则是 pTeX 系引擎的新贵,它是由国人Clerk Ma 开发的引擎。其中「ng」是「next generation」的缩写。从命名来看,果然还是要「秒杀」一下我们的邻居的。pTeX-ng 已经相对成熟,不过我用得很少,故不展开。关于 pTeX 系引擎,我有翻译过一系列文章(在此)。

小结一下。Knuth TeX 是祖宗,目前已被供起来,不太会被用到。e-TeX 开创了新世纪,不过裸用 e-TeX 也很少。pdfTeX 在西文世界里被广泛使用,也很稳定。LuaTeX 是 pdfTeX 的「正统」继承者,不过编译起来慢慢慢。用 XeTeX 来支持中文比较成熟,在中文世界里被推荐使用。pTeX 系引擎源自日本,感兴趣的可以玩一玩。

1.2.2 格式

TeX 是一个「宏语言」。当你制作了一些特别基础的宏,那么你可以将其发布为一个「格式」(format)。建立在 TeX 之上,有常用的格式:

  • plain TeX:这是 Knuth 搞出来的格式,最为基础。
  • LaTeX:这是兰伯特搞出来的格式,使用最为广泛
  • ConTeXt:这也是一个格式。不过我基本没用过。

你在某个格式之上写作文档(manuscript)时,你需要先告诉 TeX 引擎你要载入哪个格式。因为格式使用得太频繁了,所以人们倾向于把格式和引擎打包在一起。这样,就不用每次都告诉 TeX 引擎这件事情了。以 LaTeX 为例,将它与上述引擎打包在一起之后,我们有了:

  • e-TeX -> LaTeX
  • pdfTeX -> pdfLaTeX
  • LuaTeX -> LuaLaTeX
  • XeTeX -> XeLaTeX
  • pTeX -> pLaTeX
  • upTeX -> upLaTeX
  • e-upTeX -> e-upLaTeX
  • pTeX-ng -> pLaTeX-ng

尽管真正的「编译器」应该是「TeX 引擎」这一概念。但实际上,在日常沟通中,我们说的「怎么编译」,应当指的是这些「格式与引擎相结合」的产物。


于是,再小结一下:

  • 西文文档:pdfLaTeX、XeLaTeX
  • 中文文档:XeLaTeX
  • 考古者:LaTeX
  • 好奇心者:LuaLaTeX、pLaTeX-ng
  • 好奇心爆棚者:pLaTeX、upLaTeX、e-upLaTeX

1.2.3 发行版

回到「宏」的问题上来。当你写了一些具有特定功能的宏,你会考虑将其发布为宏包(style package)或者文档类(document class)。也因此,当你想要用某些特定功能,你会倾向于去寻找宏包或者文档类,而不是自己造轮子。若是你每次寻找宏包,都要去互联网上爬文、下载、安装、调试、使用。那么多试几次,你一定会崩溃。

这引出了「TeX 发行版(distribution)」或者「TeX 系统(system)」或者「TeX 套装(suite)」的概念,表示上述所有引擎、格式、宏包,还有一些为了简便未在此处介绍的驱动、辅助工具,的集合。一般来说 TeX 发行版是用户真正需要安装的东西。也就是说,讨论「新手应该安装什么」的时候,我们实际上讨论的是「新手应该安装什么 TeX 发行版」。

  • TeX Live
  • MikTeX
  • CteX
  • maxTeX

对于任何阶段的 TeX 用户,这里都推荐安装 TeX Live 这一发行版。若你使用 macOS,则推荐安装基于 TeX Live 开发的 macTeX 这一发行版。

注意:不推荐 CTeX 发行版。没有理由,不听解释。

注意:名为 CTeX 的,除了发行版,还有一个宏集(多个宏包组成的集合)。它们不是一个东西。尽管我们不推荐 CTeX 发行版,但我们强烈推荐使用 CTeX 宏集解决中文支持和版式设定的问题。

最后,对于新人:一份其实很短的 LaTeX 入门文档

1.3 不使用CteX套装的原因

  1. CTeX 封装的 MikTeX 在实现 XeTeX 以及字体库的时候有一些问题,前者导致运行 XeLaTeX
    异常缓慢,后者导致使用一些数学字体的时候会报错。
  2. CTeX 封装的默认编辑器 WinEdt 是闭源软件,实际上是在使用盗版软件。
  3. CTeX 封装的默认编辑器 WinEdt 修改了默认编码为 GBK, 这将在后续使用过程中产生很多问题,对初学者来说是不良的。
  4. CTeX 封装的默认编辑器 WinEdt 集成了太多的功能,并且修改了很多 LaTeX的默认行为,对于初学者来说,这些未经通告的默认行为修改对于其对 LaTeX 的理解是不良的。
  5. CTeX 套装的 2.9.2.164 版本至今已经超过一年未更新,aloft 老大似乎也没有更新的愿望,事实上也没有必要再更新了。
  6. CTeX 由于封装 MikTeX 而只能运行于 Windows 平台。

顺带: CTeX 是因为 CJK 包的字体配置复杂,为了免去入门用户的配置成本而推出的。 而现在因为 XeTeX 引擎以及 xeCJK 宏包的出现,CJK 包已经成为过去。并且使用 zhm 可以与 CJK 结合方便地动态配置字体。因此 CTeX 曾经的优势实际上已经不成为优势,并且因其引起的各种国内期刊模板的老旧问题正不断成为阻碍中国 TeX 社区进步的恼人因素。

总结

我们中国用户推荐使用:
发行版本: TeX Live
引擎: LaTeX
编译器:XeLaTex
编辑环境:TeXStudio

参考文献

二、TeX环境的搭建

在前一章,我们知道了Tex的大概情况啦,今天我们来介绍一下,推荐如何下载推荐中国用户的发行版本 TeX Live,和编写环境。

2.1 Tex Live的下载与安装

  1. 点开TexLive官网

图2

  1. 点击图中红色方框

图3

  1. 下载完成后右键点击下载后的文件,点击装载
  2. 找到图示bat文件,右键点击后以管理员身份运行。
    图4
  3. 到下图这个界面,其中路径可以修改,点击安装

图5

  1. 安装好后点击关闭

图6

  1. 安装完成后,点击开始菜单,会出现TeXlive2020程序组,使用TeXworks editor即可进行最简单的编译,输入以下代码段:
    图7
1
2
3
4
\documentclass{article}
\begin{document}
How are you?
\end{document}

2.2 TeXstudio的下载、安装、配置

可以直接进入官方网站,点击Download Now直接下载,但下载速度会很慢,甚至有可能下载不成,所以下面简要说明通过github开源仓库链接进行下载的方法。

  1. 进入上述官方网站,找到下图所示部分,点击Git respository即可进入相应github开源仓库链接
    图8
  2. 选择releases中的最新稳定版本双击进行下载

图9

  1. 下载完成后,双击安装包即可完成下载(默认安装在C盘,可更改)
  2. 安装完成后,在option的第一项进行设置,可以在常规中将显示改为中文。
    图10
    图11
    注:如果出现代码中英文部分有红线可以参考这篇文章解决:https://blog.csdn.net/sdtvyyb_007/article/details/49849995

三、Tex命令行操作

3.1 查看版本号

3.1.1 查看TeX的版本号

在命令行输入:tex -v
图12

3.1.2 查看LaTeX的版本号

在命令行输入:latex -v
图13

3.1.3 查看查看XeLeTeX的版本号

在命令行输入:xelatex -v
图14

3.2 更行版本

在命令行输入:tlmgr update --all
图15
你自己测试,我这里失败了

3.3 用命令行来编译.tex文件

3.3.1 用LaTeX编译

  1. 生成.dvi文件

若想编译text.tex文件,则可在命令行输入:latex test.tex
图16
此时会生成几个中间文件,其中.dvi就是TeX以前的标准输出文件。现在已经发展为.pdf文件。
图17

  1. 生成.pdf文件

在生成.dvi的基础上,再使用如下命令,便可转化为.pdf文件
dvipdfmx test.dvi

  1. 生成的所有文件

图18

3.3.2 用XeLaTeX编译

  1. 一步生成pdf文件
    再命令行输入如下命令:xelatex test.tex
    图19
  2. 生成的所有文件
    图20

3.4 用批处理文件编译.tex文件

3.4.1 latex 编译的批处理文件

  1. 源代码
1
2
3
4
5
6
7
8
9
10
11
 ::使用latex编译.tex文件
latex test.tex

::使用dvipdfmx生成pdf文件
dvipdfmx test.dvi

::删除中间文件
del *.aux *.dvi *.log

::暂停一下
pause
  1. 使用
    在.tex同目录下, 保存为build.bat文件,双击便可自动编译

3.4.2 xelatex编译的批出里文件

  1. 源代码
1
2
3
4
5
6
7
8
::使用latex编译.tex文件
xelatex test.tex

::删除中间文件
del *.aux *.log

::暂停一下
pause
  1. 使用
    在.tex同目录下, 保存为buildx.bat文件,双击便可自动编译

四、TeXstudio的使用

4.1 TeXstudio的认识

4.1.1 TeXstudio的安装

请看2.2这一小节

4.1.2 TeXstudio的优点

  1. 具有自动补齐的功能,可提高编写效率,也是许多大佬使用的TeX编辑器
  2. 在编译的功能上,明显强于Texworks和WinEdt10
  3. 可一边编写代码,一边预览输出的文档效果

4.1.3 Texstudio的界面

图21

4.2 TeXstudio的编译与查看

图22

4.3 TeXstudio的基本设置

4.3.1 设置编辑器的环境

  1. 打开设置的界面
    图23

  2. 设置为中文
    图24

4.3.2 设置主题

在配置方案-》现代
图25

4.3.3 设置编译器与编码

为了正常的输出中文,我们需要把编译器改成XeLaTeX ,utf-8编码

  1. 设置编译器
    图26
  2. 设置编码
    图27

五、Latex源文件的结构

5.1 Latex源文件的结构

1
2
3
4
5
6
7
8
9
10
11
% 导言区 用于全局设置
\documentclass{article} % book, report, letter
\title{My First Document}
\author{xiangkunlan}
\date{\today}

% 正文区
\begin{document}
\maketitle
Hellow World!
\end{document}

5.2 基础语法

  1. 注释
    % 用于注释
  2. 空行
    可以在输出时换行效果,同时使结构更加清晰,不过在源文件的多个换行效果,在输出文件,只有一个换行的效果。
  3. document
    每一个latex文件,只有一个document环境
  4. 数学公式
    行内数学公式:$$
    行间数学公式:$$$$
  5. latex的文件格式分类
    使用$符号,数学格式
    不使用$符号,文本格式

六、Latex 字体的设置

6.1 字体族的设置

  1. 说明
    字体命令:\textrm{Roman Family} 在花括号内的字体都是Roman Family 字体
    字体声明:\rmfamily Roman Family 该命令下面的字体都是是Roman Family字体,直到新的声明出现覆盖该声明。
  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
% 导言区
\documentclass{article}
\usepackage{ctex}

% 正文区
\begin{document}
% 字体族的设置:罗马字体, 无衬线字体 打字机字体 中文(黑体,宋体,仿宋,楷书)

% 字体命令
\textrm{Roman Family}

\textsf{Sans Serif Family}

\texttt{Typewriter Family }

% 字体
{\songti 宋体}

{\heiti 黑体}

{\fangsong 仿宋}

{\kaishu 楷书}

% 字体声明
\rmfamily Roman Family
\sffamily Sans Serif Family
\ttfamily Typewriter Family

\end{document}
  1. 输出结果
    图28

6.2 字体系列的设置

  1. 源代码
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
% 导言区
\documentclass{article}
\usepackage{ctex}

% 正文区
\begin{document}
% 字体系列的设置(粗细,宽度)

% 字体命令
\textmd{Medium Series}

\textbf{Boldface Series}

%字系列
\textbf{粗体}

\textit{斜体}


% 字体声明
\mdseries{Medium Series}

\bfseries{Boldface Series}


\end{document}
  1. 输出效果
    图29

6.3 字体形状的设置

1.源代码

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
% 导言区
\documentclass{article}
\usepackage{ctex}

% 正文区
\begin{document}
% 字体形状设置(直立,斜体,伪斜体 ,小型大写)

% 字体命令
\textup{Upright Shape}

\textit{Italic Shape}

\textsl{Slanted Shape}

\textsc{Small Caps Shape}

% 字体声明
\upshape{Upright Shape}

\itshape{Slanted Shape}

\slshape{Slanted Shape}

\scshape{Small Caps Shape}

\end{document}

2.输出效果
图30

6.4 字体大小的设置

1.说明
在\documentclass[可选项]{article} 可选项:10pt, 11pt,12pt
图31
图32
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
33
34
35
36
37
38
39
40
% 导言区 10pt, 11pt, 12pt
\documentclass[12pt]{article}
\usepackage{ctex}

% 正文区
\begin{document}
% 字体大小

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

% 中文的字号
\zihao{0} 你好\\
\zihao{-0} 你好\\
\zihao{1} 你好\\
\zihao{-1} 你好\\
\zihao{2} 你好\\
\zihao{-2} 你好\\
\zihao{3} 你好\\
\zihao{-3} 你好\\
\zihao{4} 你好\\
\zihao{-4} 你好\\
\zihao{5} 你好\\
\zihao{-5} 你好\\
\zihao{6} 你好\\
\zihao{-6} 你好\\
\zihao{7} 你好\\
\zihao{8} 你好\\


\end{document}

3.输出效果
图33

6.5 函数式编写文档

  1. 说明

在latex文档里,我们不可能满篇文章的设置字体,我们可以用\newcommand{cmd}{def} 来定义一个新的命令,把字体的整体设置放在def里,减少代码量,也利于更改。

  1. 源代码
1
2
3
4
5
6
7
8
9
10
11
12
% 导言区
\documentclass{article}
\usepackage{ctex}

% 模块式编程
\newcommand{\myfont}{\textit{\textbf{\textsf{Fancy Family}}}}

% 正文区
\begin{document}
% 调用自己的函数
\myfont{Fancy Family}
\end{document}
  1. 输出效果

图34

七、Latex的文档结构

\section 一级标题
\subsection 二级标题
\subsubsection 三级标题
空行 用于分割段落、命令、文字
\ 换行
\par 换行
chapter{} 章节大纲
\tableofcentonts 生成目录

7.1 对于Ctex宏包中的文档结构

  1. 说明
    \section{一级标题}
    \subsection{二级标题}
    \subsubsection{三级标题}
    注意:在Ctex宏包中,所有的标题都靠左对齐,没有四级标题
  2. 源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
\documentclass{article}
\usepackage{ctex}

\title{LaTeX教程}
\author{xxxxxxxxxx }
\date{2022}

\begin{document}
\maketitle

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


\end{document}

  1. 输出效果
    图35

  2. 技巧
    空行:用于分割段落(同时使原文档结构更清晰)
    空行:用于分割命令与文字
    \ :用于换行
    \par:也用于换行

7.2 对于ctexart的文档结构

  1. 说明
    命令与ctex宏包一致,显示有一些区别:在ctexart中的一级标题是居中的,不过可以通过其他的命令来改变。(具体的更改,请看ctex说明手册)
  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
33
\documentclass{ctexart}
% \usepackage{ctex}

\title{LaTeX教程}
\author{2038145339 }
\date{2022}

\begin{document}
\maketitle

\section{引言}
夜,结束了一天的喧嚣后安静下来,伴随着远处路灯那微弱的光。风,毫无预兆地席卷整片旷野,撩动人的思绪万千。星,遥遥地挂在天空之中,闪烁着它那微微星光,不如阳光般灿烂却如花儿般如痴如醉

% 空行用于分割段落,\\只是换行,
欲将沉醉换悲凉,清歌莫断肠。这混乱的尘世,究竟充斥了多少绝望和悲伤。你想去做一个勇敢的男子,为爱,为信仰,轰轰烈烈的奋斗一场。你周身充斥着无人可比的灵气和光芒。你有着与伟人比肩的才气和名声,你是那样高傲孤洁的男子。你的一寸狂心未说,已经几度黄昏雨。\\曾经以为,相爱的人一定要相守,只有相守,情感才能长久。可是,此岸和彼岸只不过是空间的差距,却无法拉长心灵的距离

时光荏苒,岁月无声。日子不紧不慢的如涓涓溪水静静的流去,而从身边流去的只有时光,沉淀下来的是与你一路相伴的幸福和快乐,温馨和安暖。于我,在这个凋零都感受到诗意横溢的秋,只想做一件事,拈一片绯红的枫叶,轻轻地刻上我的心语。对信仰,是我今生永不改变的主题!而后,幸福的寄往有你的那个城市。从此,在我心里,于我的生命里,轻握你许的安暖,静静地在岁月的彼岸,为你守候一世永恒!
% \par 也可以进行换行,注意命令与文字之间用空格间隔
  \par 一段情,反复的掂量,最后加深了岁月的绵长。一路追赶里,一路追忆里,最后得到的是什么,最后又失去的是什么。或许,只有我们在静思的时候才会明白,这路的追忆里,我们得到的快乐往往比痛苦要少。当相思成殇的时候,除了对月徒悲叹之外,什么也不曾抓到。
  
% 一般为了文章的分段清晰,采用空行来实现
\section{实验方法}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验条件}
\subsubsection{实验过程}
\section{结论}
\section{致谢}


\end{document}

  1. 输出效果
    图36

图37

7.3 对于ctexbook的文档结构

  1. 说明
    命令与ctex宏包差不多,略有一些区别:添加了 \chapter{}:章节大纲subsubsection{}:三级标题在此失效。\tableofcentonts: 生成目录(注意在begin{document}下的第一行)
  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
33
34
35
36
37
38
39
40
41
\documentclass{ctexbook}
% \usepackage{ctex}

\title{LaTeX教程}
\author{xxxxxxxxxx }
\date{2022}

\begin{document}
%产生文章的目录
\tableofcontents
\maketitle

\chapter{绪论}
\section{引言}
夜,结束了一天的喧嚣后安静下来,伴随着远处路灯那微弱的光。风,毫无预兆地席卷整片旷野,撩动人的思绪万千。星,遥遥地挂在天空之中,闪烁着它那微微星光,不如阳光般灿烂却如花儿般如痴如醉

% 空行用于分割段落,\\只是换行,
欲将沉醉换悲凉,清歌莫断肠。这混乱的尘世,究竟充斥了多少绝望和悲伤。你想去做一个勇敢的男子,为爱,为信仰,轰轰烈烈的奋斗一场。你周身充斥着无人可比的灵气和光芒。你有着与伟人比肩的才气和名声,你是那样高傲孤洁的男子。你的一寸狂心未说,已经几度黄昏雨。\\曾经以为,相爱的人一定要相守,只有相守,情感才能长久。可是,此岸和彼岸只不过是空间的差距,却无法拉长心灵的距离

时光荏苒,岁月无声。日子不紧不慢的如涓涓溪水静静的流去,而从身边流去的只有时光,沉淀下来的是与你一路相伴的幸福和快乐,温馨和安暖。于我,在这个凋零都感受到诗意横溢的秋,只想做一件事,拈一片绯红的枫叶,轻轻地刻上我的心语。对信仰,是我今生永不改变的主题!而后,幸福的寄往有你的那个城市。从此,在我心里,于我的生命里,轻握你许的安暖,静静地在岁月的彼岸,为你守候一世永恒!
% \par 也可以进行换行,注意命令与文字之间用空格间隔
  \par 一段情,反复的掂量,最后加深了岁月的绵长。一路追赶里,一路追忆里,最后得到的是什么,最后又失去的是什么。或许,只有我们在静思的时候才会明白,这路的追忆里,我们得到的快乐往往比痛苦要少。当相思成殇的时候,除了对月徒悲叹之外,什么也不曾抓到。
  
% 一般为了文章的分段清晰,采用空行来实现
\section{实验方法}

\chapter{内容}
\section{实验结果}
\subsection{数据}
\subsection{图表}
% subsubsection 此时不起作用
\subsubsection{实验条件}
\subsubsection{实验过程}

\chapter{结尾}
\section{结论}
\section{致谢}


\end{document}

  1. 输出结果
    留给读者

八、LaTex的图片插入

8.1 插图的基本语法

%导入图片的宏包
\usepackage{graphicx}
%语法:\includegraphics[可选项]{文件}
%格式:ESP,PDF,PNG,JPG,BMP

8.2 插入的基本设置

  1. 说明

    在可选项进行设置:

  • scale=0.3 设置缩放比例

  • height=3cm 设置图片的高度

  • width=100pt 设置图片的宽度

  • height=1\textheight 设置图片的相对高度

  • width=1\textwidth 设置图片的相对宽度

  • angle=-45 设置角度

同时设置多个参数时,用逗进行分割

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
33
34
35
36
37
38
%导言区
\documentclass[UTF8]{ctexart}

%导入图片的宏包
\usepackage{graphicx}
%语法:\includegraphics[可选项]{文件}
%格式:ESP,PDF,PNG,JPG,BMP

%添加路径,图片的搜索路径
\graphicspath{{figures/}}

%正文区
\begin{document}
\LaTeX{}中的插图
\includegraphics{a.jpg}
\includegraphics{b.png}
%设置缩放比例
\includegraphics[scale=0.3]{tex.jpg}

%设置图片的高度
\includegraphics[height=3cm]{tex.jpg}

%设置图片的宽度
\includegraphics[width=100pt]{tex.jpg}

%设置图片的相对高度
\includegraphics[height=1\textheight]{tex.jpg}

%设置图片的相对宽度
\includegraphics[width=1\textwidth]{tex.jpg}

%设置角度
\includegraphics[angle=-45]{b.png}

%同时设置多个参数时,用逗进行分割
\includegraphics[width=1\textwidth,angle=-45]{b.png}

\end{document}

8.3 查看文档

在命令行输入:Texdoc graphicx

九、LaTeX插入表格

9.1 插入表格的基础语法

  1. 说明
    环境:\begin{tabular} \end{tabular}
    对齐格式:l 左 c 居中 r 对齐
    线条:| 竖线 \hline横线 || 双竖线 \hline \hline 双横线
    设置宽度:p{宽度值},内容超过宽度时,自动换行
  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
33
34
35
36
37
%导言区
\documentclass[UTF8]{ctexart}


%正文区
\begin{document}
% l 左 c 居中 r 对齐
% | 竖线 \hline横线 || 双竖线 \hline \hline 双横线
\begin{tabular}{| l | c | c | c || r |}
\hline
名字 & 语文 & 数学 & 英语 & 备注\\
\hline
张三 & 87 & 100 & 93 & 优秀 \\
\hline
李四 & 75 & 64 & 52 & 补考另行通知\\
\hline
\hline
王五 & 80 & 82 & 78 & 良好\\
\hline
\end{tabular}


% p{设置宽度},内容超过宽度时,自动换行
\begin{tabular}{| l | c | c | c || p{1.5cm} |}
\hline
名字 & 语文 & 数学 & 英语 & 备注\\
\hline
张三 & 87 & 100 & 93 & 优秀 \\
\hline
李四 & 75 & 64 & 52 & 补考另行通知\\
\hline
\hline
王五 & 80 & 82 & 78 & 良好\\
\hline
\end{tabular}

\end{document}

图38

9.2 查看文档

在命令行输入:

texdoc booktab
texdoc longtab
texdoc tabular

十 Latex浮动体

前言

在前两节中,描述了如何在LaTeX中插入图片与表格,不过为了更好的管理图片和表格的位置与排版,今天就讲一下如何使用LaTeX的浮动体来管理图片与表格。

10.1 浮动体的基础知识

  1. 环境及语法
1
2
3
4
5
6
7
8
9
%1.对于图片--figure环境
\begin{figure}[允许位置]
%插入图片的命令
\end{figure}

%2.对于表格--table环境
\begin{table}[允许位置]
%插入表格的命令
\end{table}
  1. 允许位置的参数
1
2
3
4
h:此处(here)-代码所在的上下文
t:页顶(top)-代码所在页的顶部或者之后页的顶部
b:底页(botton)-代码所页的底部,或者下一页的底部
p:独立的一页(page)-浮动页面
  1. 其他命令
1
2
3
4
\centering:居中排版
\caption{}:标题
\label{fig:img1}:标签
\ref{fig:img1}:引用标签, 实现交叉引用

10.2 实例

  1. 源代码
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
%导言区
\documentclass[UTF8]{ctexart}

\usepackage{graphicx}


%正文区
\begin{document}
% 若要对图像和表格的灵活管理,则可以使用浮动体
\LaTeX{}中的图片
% 图片的浮动体环境
\begin{figure}[htbp] %允许各个位置
% 居中排版
\centering
\includegraphics[width=0.5\textwidth]{figures/b.png}
% 标题 \ref{}引用标签, 实现交叉引用
\caption{logo图标可见表}\ref{tab:table1}
% 标签
\label{fig:ima1}
\end{figure}
\LaTeX{中的表格}
\begin{table}[h]
% 居中排版
\centering
\caption{成绩单可参考图}\ref{fig:ima1}
\begin{tabular}{|c|c|c|c|}
\hline
姓名 & 语文 & 数学 & 英语 \\
\hline
张三 & 78 & 82 & 45 \\
\hline
李四 & 56 & 95 & 68 \\
\hline
王五 & 72 & 68 & 76 \\
\hline

\end{tabular}
\label{tab:table1}
\end{table}
\end{document}
  1. 输出结果
    图39

10.3 浮动体的高级操作

  1. 标题的控制
    可参阅caption,bicaption宏包的参考手册
    在命令行输入:(便可查阅)
    texdoc caption
    texdoc bicaption
  2. 并排与子图表
    可参阅subcaption,subfig,floatrow等宏包
    在命令行输入:(便可查阅)
    texdoc subcaption
    texdoc subfig
    texdoc floatrow
  3. 绕排
    可参阅picinpar,wrapfig等宏包
    在命令行输入:(便可查阅)
    texdoc picinpar
    texdoc wrapfig

十一 在Latex中加入数学公式

前言

很多cv、nlp的论文都需要写数学公式,因此这节主要讲的是Latex中数学公式的编写

11.1 常用的数学公式命令

  1. 上下标
上标 a^{2x+3} a2x+3a^{2 x+3}
下标 a_{2x+3} a2x+3a_{2 x+3}
  1. 矢量
单符号矢量 \vec a a\vec a
多符号矢量 \overrightarrow{xy} xy\overrightarrow{xy}
  1. 括号
小括号 () ()()
中括号 [] [][]
尖括号 \langle{}\rangle \langle{}\rangle
花括号 { } {}\{ \}
适应中括号 \left( ……\right) ()\left( ……\right)
适应花括号 \left{……\right} $${}$$
上括号 \overbrace 1,2,3.\overbrace{1,2,3 \ldots \ldots}^{.}
下括号 \underbrace 1,2,3.\underbrace{1,2,3 \ldots \ldots}^{.}
*适应括号是指括号会根据里面的内容适应大小
  1. 符号关系
    | 加减 | \pm | ±\pm |
    | -------- | -------------------- | ---------------------- |
    | 乘 | \times | ()() |
    | 除 | \div | ()() |
    | 不等于 | \neq | \neq |
    | 约等于 | \approx | \approx |
    | 恒等于 | \equiv | \equiv |
    | 大于等于 | \geq | \geq |
    | 小于等于 | \leq | \leq |
    | 相似 | \sim | \sim |
    | 正比于 | \propto | \propto |
    | 垂直 | \perp | \perp |
    | 弧度 | \overset{\frown}{AB} | AB\overset{\frown}{AB} |
    | 上划线 | \overline{} | 123\overline{123} |

  2. 三角形符号

三角形符号 \Delta Δ\Delta
夹角 \angle \angle
角度 ^\circ ^\circ
分度 '$ '
  1. 求和与累积
求累加 \sum \sum
求极限 \lim_{x \to 0} limx0\lim_{x \to 0}
求累积 \prod_{i=1}^n x_i i=1nxi\prod_{i=1}^n x_i
求导数 x\prime xx\prime
  1. 积分与微分

图40

  1. 根号与分式
    图41

  2. 集合
    图42

  3. 逻辑与箭头符号
    图43

  4. 空格
    图44

  5. 矩阵
    (1)基本用法

1
2
3
4
5
\begin{matrix}
0&1& 2 \\
4& 5& 6\\
7& 8 &9
\end{matrix}

图45
(2)普通用法
图46
图47
(3)省略号矩阵
横向省略 \cdots
竖向省略 \vdots
斜向省略 \ddots

1
2
3
4
5
6
$$\begin{bmatrix}
{a_{11}}&{a_{12}}&{\cdots}&{a_{1n}}\\
{a_{21}}&{a_{22}}&{\cdots}&{a_{2n}}\\
{\vdots}&{\vdots}&{\ddots}&{\vdots}\\
{a_{m1}}&{a_{m2}}&{\cdots}&{a_{mn}}\\
\end{bmatrix}$$

图48
(4)行内小矩阵

1
2
3
4
5
\left(
\begin{smallmatrix}
x & y \\ -y & x
\end{smallmatrix}
\right)

图49
(5)array环境

1
2
3
4
5
\begin{array}{c|c}
1 & 2\\
\hline
0 & 1
\end{array}

图50

  1. 方程组
1
2
3
4
5
6
$$\begin{cases}
a_1x+b_1y+c_1z=d_1\\
a_2x+b_2y+c_2z=d_2\\
a_3x+b_3y+c_3z=d_3\\
\end{cases}
$$

图51

  • 希腊字母
    总计个数:24个希腊字母表
    历史原因:西方的数学家们在推导数学定理时,仍然沿用并不好写也不好记的希腊字母。所以一直沿用至今
    大小写区分:大写字母的是其小写latex首字母大写后的形式
    图52

11.2 基础知识

1、常用公式
数学公式分为行内公式与行间公式

  • 行间公式:$$
  • 带编号的行间公式:equation环境
  • 不带编号的行间公式:[ ]
    2、行内公式
  • 一对美元符号 $$
  • 小括号:(… )
  • math环境:begin{math} … end{math}
    3、数学函数
    图53

4、行间公式

  • 一对双美元符号 $$$$
  • 中括号:[ … ]
  • displaymath环境:begin{displaymath}… end{displaymath
  • 有编号的行间公式:begin{equation}… end{equation}
  • 无编号的行间公式:begin{equation}… end{equation}

注意:无编号公式,需要导入amsmath宏包

11.3 实例

  1. 源代码
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
% 导言区
\documentclass{article}

\usepackage{ctex}
% equation* 与 矩阵所需的宏包
\usepackage{amsmath}

% 正文区
\begin{document}
\tableofcontents
% 常用符号
% 行间公式:$$
% 带编号的行间公式:equation环境
% 不带编号的行间公式:\[ \]


\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}
a+b=b+a
\end{math}

\begin{math}
1+2=2+1.
\end{math}

\section{上下标}
\subsection{上标}
$3x^2-x+2$

$3x^{x+1}-x+2$
\subsection{下标}
$x_1+x_2=4$

$x_{x+1}+x_2=4$

\section{希腊字母}
$\alpha \beta \gamma \delta \epsilon $

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

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

$\sqrt[2]{2x+3}$

$\sqrt[3]{2x-5}$

\section{分式}
\subsection{/}
$3/4 $

\subsection{\textbackslash frac\{\}\{\}}
$\frac{8}{5}$


\section{行间公式}
\subsection{双美元符号}
交换律是$$a+b=b+a $$
如$$1+2=2+1$$
\subsection{中括号}
交换律是
\[a+b=b+a\]
如\[1+2=2+1\]

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

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

\subsection{自动编号}
交换律见式\ref{eq:no1}
\begin{equation}
a+b=b+a \label{eq:no1}
\end{equation}
如见公式\ref{eq:no2}
\begin{equation}
1+2=2+1
\end{equation}

\subsection{不自动编号}
交换律见式
\begin{equation*}
a+b=b+a \label{eq:no3}
\end{equation*}
如见公式 \ref{eq:no3}
\begin{equation*}
1+2=2+1
\end{equation*}

\section{矩阵的排版}
\subsection{矩阵的括号}
%无括号
\[
\begin{matrix}
0 & 1 \\
1 & 0
\end{matrix}
\]

%小括号
\[
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\]

%中括号
\[
\begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix}
\]

%大括号
\[
\begin{Bmatrix}
0 & 1 \\
1 & 0
\end{Bmatrix}
\]

% 单竖线
\[
\begin{vmatrix}
0 & 1 \\
1 & 0
\end{vmatrix}
\]

%双竖线
\[
\begin{Vmatrix}
0 & 1 \\
1 & 0
\end{Vmatrix}
\]

\subsection{矩阵的省略号}
%\dots 横向省略号
%\vdots 竖向省略号
%\ddots 斜向省略号
\[
A = \begin{bmatrix}
a_{11} & \dots & a_{1n}\\
\vdots& \ddots & \vdots \\
0 & \dots & a_{nn}
\end{bmatrix}_{n \times n}
\]

\subsection{行内小矩阵}
复数可用矩阵
\begin{math}
\left(
\begin{smallmatrix}
x & y \\ -y & x
\end{smallmatrix}
\right)
\end{math}
来表示

\subsection{array环境}
\[
\begin{array}{c|c}
1 & 2\\
\hline
0 & 1
\end{array}
\]

\end{document}
  1. 输出效果
    图54
    图55
    图56
    图57
    图58

十二 数学公式的补充

12.1 知识点说明

  1. 基础细节
  • ** 号问题:在环境中有星号则无编号,无星号有编号。
  • \ \ :换行
  • \ref{fig:01}引用标签,\label{fig:01}添加标签,实现交叉引用
  • \text{文字}:在数学模式中输入文字
  1. gather环境

用途:可以写多行代码,对齐方式是整体中间对齐

(1)带编号的

1
2
3
4
5
%多行公式--带编号
\begin{gather}
a + b +c = b + a \\
1+2 = 2 + 1
\end{gather}

(2)不带编号

1
2
3
4
5
%多行公式--不带编号1
\begin{gather*}
a + b = b + a \\
1+2 = 2 + 1
\end{gather*}

(3)阻止编号

1
2
3
4
5
%多行公式--带编号2 \notag 阻止编号
\begin{gather}
a + b = b + a \notag \\
1+2 = 2 + 1 \notag
\end{gather}
  1. align环境

按&号对齐,自己指定对齐方式

1
2
3
4
5
% 按&号对齐,--带编号
\begin{align}
a+b &= b+a \\
1+2= & 2+1
\end{align}
  1. split环境
1
2
3
4
5
6
7
%一个公式的多行排版--带编号
\begin{equation}
\begin{split}
\cos 2x &= \cos^2 x - \sin^2x \\
&=2\cos^2x-1
\end{split}
\end{equation}
  1. cases环境

分段函数或者有左大括号的数学公式

1
2
3
4
5
6
7
%case环境, text{}在数学模式中处理中文-带编号
\begin{equation}
D(x)=\begin{cases}
1, & \text{如果} x \in \mathbb{Q};\\
0, & \text{如果} x \in \mathbb{R}\setminus\mathbb{Q}
\end{cases}
\end{equation}

12.2 实例

  1. 源代码
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
%导言区
\documentclass{ctexart}

%导入宏包
\usepackage{amsmath}
\usepackage{amssymb}

%正文区
\begin{document}
%多行公式--带编号
\begin{gather}
a + b +c = b + a \\
1+2 = 2 + 1
\end{gather}
%多行公式--不带编号1
\begin{gather*}
a + b = b + a \\
1+2 = 2 + 1
\end{gather*}

%多行公式--带编号2 \notag 阻止编号
\begin{gather}
a + b = b + a \notag \\
1+2 = 2 + 1 \notag
\end{gather}

% 按&号对齐,--带编号
\begin{align}
a+b &= b+a \\
1+2= & 2+1
\end{align}

% 按&号对齐,--不带编号
\begin{align*}
a+b &= b+a \\
1+2 &=2+1
\end{align*}

%一个公式的多行排版--带编号
\begin{equation}
\begin{split}
\cos 2x &= \cos^2 x - \sin^2x \\
&=2\cos^2x-1
\end{split}
\end{equation}

%一个公式的多行排版--不带编号
\begin{equation*}
\begin{split}
\cos 2x &= \cos^2 x - \sin^2x \\
&=2\cos^2x-1
\end{split}
\end{equation*}

%case环境, text{}在数学模式中处理中文-带编号
\begin{equation}
D(x)=\begin{cases}
1, & \text{如果} x \in \mathbb{Q};\\
0, & \text{如果} x \in \mathbb{R}\setminus\mathbb{Q}
\end{cases}
\end{equation}

%case环境, text{}在数学模式中处理中文-不带编号
\begin{equation*}
D(x)=\begin{cases}
1, & \text{如果} x \in \mathbb{Q};\\
0, & \text{如果} x \in \mathbb{R}\setminus\mathbb{Q}
\end{cases}
\end{equation*}

\end{document}

  1. 输出效果
    图59

十三 Latex的版面设计

前言

本节讲的是LaTeX的版面设计,内容包括:纸张大小的设置,边距的设置,页眉页脚的设置,横分割线的设置。

13.1 基础知识

  1. 纸张大小的设置
1
2
3
4
%导入版面设置的宏包
\usepackage{geometry}
使用命令:\geometry{papersize={宽, 高}}
如:\geometry{papersize={20cm, 15cm}}
  1. 边距的设置
1
2
3
4
5
6
%导入版面设置的宏包
\usepackage{geometry}

使用命令:\geometry{left=左边距,right=右边距,top=上边距,bottom=下边距}

如:\geometry{left=5cm,right=5cm,top=5cm,bottom=5cm}
  1. 页眉页脚的设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%导入页眉页脚需要的宏包
\usepackage{fancyhdr}
\pagestyle{fancy}

%设置页眉
\lhead{页眉左}
\chead{页眉中}
\rhead{页眉右}
%设置页眉
\lfoot{左页脚}
\cfoot{中页脚}
\rfoot{右页脚}
如下:
%设置页首
\lhead{张一根}
\chead{理工大学}
\rhead{\today}
%设置页眉
\lfoot{左页脚}
\cfoot{\thepage}
\rfoot{右页脚}
  1. 横分割线的设置
1
2
3
4
5
6
7
8
9
10
11
命令如下:

\renewcommand{\headrulewidth}{上分割线的宽度}
\renewcommand{\headwidth}{\textwidth}
\renewcommand{\footrulewidth}{下分割线的宽度}

例子如下:

\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\headwidth}{\textwidth}
\renewcommand{\footrulewidth}{0.4pt}
  1. 行间距与段间距
1
2
3
4
5
6
7
8
9
10
11
12
%行间距所用的包
\usepackage{setspace}

命令:设置行间距,1.5倍
\onehalfspacing

设置段落间距
\addtolength{\parskip}{宽度}

实例如:

\addtolength{\parskip}{0.4em}

13.2 实例

  1. 源代码
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
%导言区
\documentclass{ctexart}

%导入版面设置的宏包
\usepackage{geometry}

%导入页眉页脚需要的宏包
\usepackage{fancyhdr}
\pagestyle{fancy}

%行间距所用的包
\usepackage{setspace}

%设置纸张的大小
\geometry{papersize={20cm, 15cm}}

%设置边距
\geometry{left=2cm,right=5cm,top=5cm,bottom=5cm}

%设置页首
\lhead{张一根}
\chead{理工大学}
\rhead{\today}

%设置页眉
\lfoot{左页脚}
\cfoot{\thepage}
\rfoot{右页脚}

%设置横线分割的宽度
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\headwidth}{\textwidth}
\renewcommand{\footrulewidth}{0.4pt}

%设置行间距,1.5倍
\onehalfspacing

%设置段落间距
\addtolength{\parskip}{0.4em}

%正文区
\begin{document}
秋风用时光的旋律,用桂花的芬芳、苹果的馨香、菊花的灿烂、牵牛花的奔放、一串红的艳丽,把一望无际的田野乡村,演绎得在自然中沉醉,渲染得天地间空旷而又阳刚。

酷热的夏天刚刚过去,秋风吹来,秋牵着一个个节气的手,舞动着长袖,用婀娜多姿的舞姿,用变幻神奇的旋律,动听的音符,把蓝天吹得一会白云飘飘,一会云蒸霞蔚,一会仙女舞袖,一会又涌来千顷碧波。更让那成千上万得雀鸟,不顾辛苦劳顿,路途遥远,赶赴银汉,为牛郎织女架起一座相会的鹊桥,就为这对生离死别的鸳鸯说上一晚悄悄话。
\end{document}
  1. 输出效果
    图60

十四 Latex参考文献

前言

本节主要讲了如何用Latex写参考文献

14.1 简单的参考文献

  1. 说明
    引用标签:\cite{pa}
    (pa是每一个参考文献的标识)
    文献的内容:
    \begin{thebibliography}{99}
    \bibitem{pa}程一云,苏伟: \emph{强调的内容},
    \texttt{网站内容}
    \end{thebibliography}
  2. 源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
%导言区
\documentclass{ctexart}


%正文区
\begin{document}
时光的单车飞快驶去,岁月的倒影也将消失,白天与黑夜不停的交替,轮回的四季斑驳了谁的岁月,蹉跎了谁的年华。一个人静静地与岁月交错,于平淡之中细细体会生活的深意,去注视,去聆听,去感受那些带着希望的别离以及那些经受沧桑的相逢,不论时光如何飞转,那些落花一样的往事,依然鲜活地存在于我的脑海之中。当岁月和美丽的回忆已成为风中的叹息,我们伤感的眼里也许依然残存旧时的泪痕,模糊了视线,不敢轻易触碰。
% 引用文献
\cite{pa}


% \emph强调某些内容
\begin{thebibliography}{99}
\bibitem{pa}程一云,苏伟: \emph{计算方法},
\texttt{https://www.meiwen.com.cn/article/51366.html}
\end{thebibliography}

\end{document}

  1. 输出效果
    图61

14.2 以文件管理的方式

  1. 说明
    文件的管理方式,其思想就是把所以的参考文献放在一个后缀名为.bib的文件里,
    在导言区需要导入:\bibliographystyle{plain} 宏包
    再在需要导入文献的地方,使用\cite{标签名}
    在文字末尾使用:\bibliography{test.bib} 导入参考的文件
  2. 源代码

(1)test.bib文件

1
2
3
4
5
6
7
8
@article{Alice13,
title = {Demostration of bibliography items},
author = {A. Alice and B. Bob and C. Charlie and D. Danny},
year = {2013},
journal = {Journal of \TeX perts},
volume = {36},
number = {7},
pages = {114-120}}

(2)文章源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%导言区
\documentclass{ctexart}

%导入数据库的参考文献模板
\bibliographystyle{plain}

%正文区
\begin{document}
时光的单车飞快驶去,岁月的倒影也将消失,白天与黑夜不停的交替,轮回的四季斑驳了谁的岁月,蹉跎了谁的年华。一个人静静地与岁月交错,于平淡之中细细体会生活的深意,去注视,去聆听,去感受那些带着希望的别离以及那些经受沧桑的相逢,不论时光如何飞转,那些落花一样的往事,依然鲜活地存在于我的脑海之中。当岁月和美丽的回忆已成为风中的叹息,我们伤感的眼里也许依然残存旧时的泪痕,模糊了视线,不敢轻易触碰。
\cite{Alice13}

%导入模板,放在末尾
\bibliography{test.bib}

\end{document}

(3)输出结果
图62

14.3 直接从源网站获取

  1. 说明

直接从源网站获取,参考文献的内容。需要三个步骤

  • 在本地安装Zotero
  • 在浏览器安装Zotero插件
  • 像第二不一样,把我们获取的参考文献内容,复制到我们的.bib文件里,一样的导入即可。
  1. 操作
    (1)打开google,你也可以用别的浏览器,然后进入Zotero官网,下载客户端和浏览器的Zotero插件
    图63
    (2)安装好客户端和插件之后,打开插件和客户端
    图64
    (3)在知网检索,比如我检索了python教程
    图65
    点开一篇文章,点引用参考文献
    图66
    然后复制到剪贴板
    图67
    然后导出条目
    图68
    选择BibTex格式
    图69
    也可以将里面的内容复制到test.bib统一管理
-------------本文结束感谢您的阅读-------------