AI
菌
这篇文章是看《一份不太简短的 LATEX 2ε 介绍》做的笔记,其实 LaTex 一点都不难学,链接:http://www.mohu.org/info/lshort-cn.pdf
另外,如果你也喜欢用 Markdown ,那么就更简单了,你也会喜欢上 LaTex 的。
LaTex 的命令有点多,有的命令有点长,一下子肯定记不住这么多,随用随查即可。
hello world
大家应该都有这种感觉,每当我们学习一个新东西,我们都迫不及待看到一个由自己完成的结果,因为对我们来说这意味着至少我会用了。只有看到希望了,后面的步子才会越迈越快。
在工程领域,这就叫做Hello World。学习单片机时,点亮第一个发光二极管是Hello World;学习C语言时,程序成功编译并输出一个字符串,叫做Hello World;焊接PCB时,LED成功发光了,叫做Hello World。
那么,LaTeX里的Hello World就是:新建文件->敲代码->编译->输出PDF。
咱,一步一步来。
编译器和编辑器的下载可以参考上一篇杂谈。操作环境不一样没关系,Windows用户推荐TeXlive 2016 + TeXstudio。
打开TeXstudio,界面如下。新建文件,并保存为Hello World.tex。注意LaTeX文件的格式为.TeX。
![](https://img-blog.csdnimg.cn/img_convert/295d1b42e33b5d5510df729f3c311435.png;wxfrom=5&wx_lazy=1)
为了对中英文有更好的支持,编码方式采用UTF8,如下图红色方框所示处。TeXstudio默认已经设置好,我们不需要管。只是如果采用其他编辑器,保存时可能需要设置编码方式,不然中文可能无法显示。
![](https://i-blog.csdnimg.cn/blog_migrate/c42eec6e2072d37e3f4b71090cb3d21f.jpeg)
然后我们就可以在TeXstudio的代码编辑区敲入以下代码(后面再解释具体含义)
![](https://i-blog.csdnimg.cn/blog_migrate/771f0f2eab430af5100c92296259913b.png)
编译之前,我们需要设置LaTeX的编译方式。随着LaTeX的发展,出于不同的需要,出现了很多种编译方式,如PdfLaTeX、LaTeX、XeLaTeX等,这里我们一般采用XeLaTeX,因为这种方式对中文的支持较好。 具体设置方法是进入菜单栏TeXstudio->Preferences,在弹出的窗口的左侧面板点击Build,在Default Compiler项选择XeLaTeX,并点击OK完成设置
![](https://i-blog.csdnimg.cn/blog_migrate/08ff86a6d8a838ba4188a7648bb5e69d.png)
然后,点击下图所示编译并预览按钮,可以看到编译成功,没有出现错误,右侧输出效果的预览视图。
![](https://i-blog.csdnimg.cn/blog_migrate/547cff50f84a9a0c6d853fa1089e6d37.png)
上面的预览视图还不算真正的输出PDF,其实在我们编译的时候,PDF文档已经在Hello World.tex的根目录生成了,找到就可以了。
到这里,就算完成了Hello World。
那么接下里来,就让我们详细地看一看LaTeX的语法吧
源文件的结构
下面祭行代码已经代表了一个LaTeX文件必不可少的三个部分
![](https://i-blog.csdnimg.cn/blog_migrate/771f0f2eab430af5100c92296259913b.png)
\documentclass{article} 命令指明了你所写的源文档的类型是期刊(aiticle),还是report(报告)、book(书籍)、beamer(幻灯片)等多种类型。
\begin{document} 和 \end{document} 表示文档内容的开始和结束,也就是说,所有正文内容都写在其中,正如我们的“hello world”
此外,LaTeX中,我们用%表示注释,如:
![](https://i-blog.csdnimg.cn/blog_migrate/ae0ce929be701c26e84429505ef9fcc9.png)
这样就对于PDF文件的内容没有任何影响
如果你想载入一些为LATEX 增加新特性的宏包(package)。可以用如下命令载入一个宏包
![](https://i-blog.csdnimg.cn/blog_migrate/ddff90cd9527113ff9f45c9d687a9a42.png)
有些命令需一个参数,该参数用花括号{}括住并写在命令的后面。一些命令支持可选参数,用方括号[]括住并写在命令后面。
关于命令参数要知道的其是大小写敏感的
并有下面两种格式:
• 以一反斜线 \ 开始,加上只包含字母字符命令名组成。命令名后的空
格符、数字或其它非字母字符标志该命令的结束。
• 由一反斜线和一特殊字符组成。
文档布局
\documentclass 命令
在 \documentclass 命令中,除了用class制定排版类型,还有许多其他功能
![](https://i-blog.csdnimg.cn/blog_migrate/98aff0618f6b93ec1e9d936bd3804993.png)
举一个实例,我们还可以设定字体和页面大小等等
![](https://i-blog.csdnimg.cn/blog_migrate/99347b127b4f4d2282c7a002335df195.png)
详细的命令参数如下
![](https://i-blog.csdnimg.cn/blog_migrate/f14a97bbe986c1adaef461d1c8280b16.jpeg)
字体大小
LaTeX中设置字体大小的方式比较多。在文档类型为英文论文的情况下,通常使用下面代码的方式来改变字体大小:
![](https://i-blog.csdnimg.cn/blog_migrate/498ec7434332f0d2628eba2e62a6fdeb.png)
其中 \noindent 通常用于短接与节前取消缩进
所以我们可以看到以下效果:
![](https://i-blog.csdnimg.cn/blog_migrate/66c740b223a64b1519305984042d3ab1.png)
页面形式
然后是页面形式,LATEX 支持三种预定义的页眉/页脚(header/footer) 样式,称为页面样式(page style)。如下命令
![](https://i-blog.csdnimg.cn/blog_migrate/4ad847af2846fe10bb400edaf0ac6f39.png)
命令中的参数定义了所使用页面式样:
![](https://i-blog.csdnimg.cn/blog_migrate/16a06807bb603ca53788dd16bb451cd8.png)
页边距
此外,LaTeX可以用geometry宏包来设置页边距,代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/d8982687af3d2096983ec334006ab5a1.png)
中文支持
在LaTeX中,想要支持中文非常简单,通常有两种方式:
调用ctex宏包,\usepackage[UTF8]{ctex},[ ]代表可选项,在LaTeX中这是非常常见的。[UTF8]表示该文档采用UTF8编码方式。
或者使用\documentclass[UTF8]{ctexart},代表该文档是中文论文(ctex+article。推荐使用这种方式,因为对部分的宏包的支持较好。
文本排版
书名及作者及摘要
通过使用 \title{ } 与\author{ } 指定,同时在 \begin{document} 与 \end{document} 间通过 \maketitle 锁定 ,而摘要主要是用\abstract 快速建立。代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/4776de4a43ee6b6544d399287468f587.png)
效果如下;
![](https://i-blog.csdnimg.cn/blog_migrate/53f9d0333515f309bab308b38d44a150.png)
目录与章节设置
如果文档类型为article,我们采用\section{章节名}、\subsection{章节名}、\subsection{章节名}开启一个章节或者次级章节
而命令\tableofcontents在当前位置插入目录
代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/4d9f3b34285b021b645ab8ff94280176.png)
效果图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/1f407b66b04e00393683403005b6844b.png)
换行和分页
空格和制表符等空白字符在LaTeX中被看做相同的空白距离(space)。多个连续的空白字符等同于一个空白字符。
在句首的空白距离一般会被忽略,单个空行也被认为是一个“空白距离”。
两行文本间的空白行标志着上段的结束和下段的开始。多个空白行的作用等同于一个空白行。
以下是一段示例
![](https://i-blog.csdnimg.cn/blog_migrate/4934fb2d27fb3568b707719122f553d2.png)
如果需要,还可以使用 \\ 与 \newline 来断行,或者使用 \\* 另起一行而不另起一段
效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/4b3c656aff5ba09587be4e9404fc099a.png)
交叉引用
在书籍、报告和论文中,对图、表和文本的特殊段落进行交叉引用。
1 \label{marker} 给节、子节、图、表、公式或定理起个别名marker
2 \ref {marker} 将把这行命令替换为marker相应的序号
3 \pageref{marker} 将把这行命令替换为marker相应的页码
![](https://i-blog.csdnimg.cn/blog_migrate/6a0bab63f49a2c602c0b8047a9964c41.png)
效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/080dee09001ce39598851f008c010356.png)
注释
当LaTeX处理一个源文件时,如果遇到一个百分号%,LaTeX将忽略% 后的文本内容和换行符
![](https://i-blog.csdnimg.cn/blog_migrate/4a5b96277a038c16edbb704b3c8355db.png)
斜体与下划线
命令\emph{text} 和 \underline{text} 可以强调(emphasize)文本。
![](https://i-blog.csdnimg.cn/blog_migrate/839879abdd9528bba173fd362c6c3c4d.png)
效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/0332d8a6ed232fb37e928091e08a8b7c.png)
脚注
命令\footnote{text} 把脚注内容排印与当前页的页脚位置,代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/c1f233b177a5a473348b0af82ab141a0.png)
实际效果也很明显:
![](https://i-blog.csdnimg.cn/blog_migrate/ba88b12d734e3770ccf7f116da3082ba.png)
AI
菌
这就是我们LaTeX用法总结第一篇,有兴趣的童鞋尽情期待下一篇把。
![](https://i-blog.csdnimg.cn/blog_migrate/6d790f3a2d29a5a61dd2716bf412ce15.jpeg)
不失初心,不忘初衷
![](https://i-blog.csdnimg.cn/blog_migrate/b1b610ce21efd88ea460cc56a118cdf5.jpeg)
AI玩转智能