【写在最前面】本篇文章是一个简单的LaTeX入门指导,根据亲身的学习经历和各类资料的总结,才有了这个分享。总的来说,能够对模板进行简单的修改算是入门了,对模板修改的前提是了解简单的命令和环境,会改字体字号间距页面大小、插入插数学公式插表格等,这还只是非常非常基础的,慢慢来多动手肯定学得快!欢迎各位伙伴进行补充和指导,一起进步!
本节的目录
神秘的LaTeX
LaTeX的使用指南
1 简单的框架代码的讲解
2 正文那些事
3 命令和环境的定义和使用规则
参考书籍:刘海洋老师的《LaTeX入门》;一份(不太)简短的 LaTeX2e 介绍;《CTeX宏集手册》
神秘的LaTeX
LaTeX是一种基于TeX的文档排版系统,目的是为了让不懂排版理论的小白也能比较容易地完成排版,继而专注于内容的创作。你可以简单地理解为:一堆格式排版都是由LaTeX的代码实现的,当格式用命令设置好了以后,你可以轻松地添加内容,不用再写一篇论文调一次格式,还有期刊论文的改投(一个期刊被拒稿转投另一个期刊的时候,只需要一个命令,就生成了新样式的论文,根本不需要苦哈哈地改两三天格式来满足新期刊的要求。)当然LaTeX最为闻名的是数学公式的编辑和排版。
不过你要是以为可以几天、几周就掌握这门排版系统的话,你得重新调整心态:
LaTeX的读音
LaTeX读作
“Lah-tech” 或者 “Lay-tech”([´lɑ:tek] [´leɪtek]以及[leɪ´teks])
,与汉字“拉泰赫”或“雷泰赫”的发音相近。LaTeX在 ASCII 字符环境写作 LaTeX。当前的 LATEX 版本为 LATEX
2ε,意思是超出了第二版,但还远未没达到第三版,在 ASCII 字符环境写作 LaTeX2e。
LaTeX的使用指南
本地环境安装和配置
目前最流行的两个套装是CTeX和TeX
Live(CTeX套装打包的是MiKTeX系统, 另外加了编辑器之类的辅助软件, 但是已经快十年没有更新了, 不建议继续使用.。TeX
Live套装打包的就是TeX Live系统, 更新比较及时, 跨平台性能更好, 推荐使用 ),还有
在线编辑器
如果你是轻度使用者不想要繁琐的安装步骤也不想要几个G占内存,可以直接用网页体验在线的LaTeX编辑器。
国外Overleaf (http://www.overleaf.com):拥有丰富种类的模板,支持在线协同,但是服务器在国外速度会比较慢。
国内Slager (http://slager.cn):专为中国用户打造的LaTeX排版平台,着重支持中文编辑,同时集成其他论文工具:公式编辑器、学术加速器等帮助用户实现高效创作。
走进LaTeX
这里我以一个常用的模板做例子,来实际看看日常使用的代码有哪些含义,为解决排版中遇到的问题做个铺垫。
【建议大家在编译器上自己试一试会更好理解也更直观。】
假设我们要写一篇短文,大纲就是标题、摘要、目录、正文、还有参考文献。正文会涉及到文字字体和字号、公式、图片、表格等。
看一下完整排版的例子:
由于知乎的代码块没有行数的提示,我就直接用截图啦。源文件在Slager模板库-数学建模自取。
1 简单的框架
第1行是调用一个基本的文档类(article适合短文、report适合中篇幅的报告、book适合长篇的论文或书籍)。区别:article没有、chapter和mainmatter,book才有。此命令带有可选参数,用方括号[]括起来的,而大括号{}括起来的是必选参数。例如这里的纸张大小设置为A4。
第2行调用了CTeX宏,使全文支持中英混排。
第4行到第6行定义了整个短文的标题、作者和日期(可以用\today输出当天日期),但是这些信息要想编译成功还得需要第11行的\maketitle进行输出。
第7行规定了参考文献的格式。
以上在\begin{document}之前的部分叫做导言区(preamble),这个区域放入一些宏包、格式的定义或者自定义命令的代码。
第9行到第20行\begin{document}和\end{document}规定了document环境,这里放入论文的正文,从这里开始才是输出的内容。
第11行\maketitle输出论文标题。
第12行\tableofcontents输出目录。
第14和17的\section开始了新的小节。
第19行是指从bib文件数据库reference提取文献信息,输出文献列表。
为了格式清晰,代码中我使用了空行作为分隔,当然你也可以使用%--------正文-------来做分割线,像这样:
不用担心,在正文以外的部分,空行没有任何意义。
【看到编译从结果了吗?直到这一步,我们都没有写任何编号和数字,目录和页码都是自动生成的。】
2 正文那些事
有以下几个基本概念需要了解同时请你自己动手感受一下:
使用空行分段。单个换行并不会另起一段,而只是使源代码更易读(自己试试)。但是多个空行并不会增大段间距。
段前不用打空格,LaTeX会自动完成缩进。即使打了空格也没用,因为它会忽略每行开始的所有空格。
通常汉字后面的空格会被忽略,其他符号后面却会被保留(指的是一个空格)。比如15行中的“欢 迎 使 用”只能编译出“欢迎使用”,而“Slager”则会输出“S l a g e r”。
单个换行就相当于一个空格(汉字后面无输出),因此源代码如果有大段的文字你可以放心的换成短行。空格只有分隔的作用,多个空格并不会增加字间距。
一般情况下,会自动处理汉字和其他字符的间隔,无论你有没有手动打空格。
3 命令和环境
短文中的脚注
\footnote{脚注的内容} 花括号的内容就是命令的参数。
这里我用:
\footnote{世界卫生组织命名为“2019 冠状病毒病”
表示强调
\emph{内容}(emphasis)
\emph{全国各族人民顽强拼搏}
引用
使用quote环境。一个环境是以\begin{}开始,\end{}结束。效果是:引用的内容单独分行,增加缩进和上下间距,以突出引用的部分。
不过这里我们光使用quote不能达到想要的效果,还要使用改变字体和字号的命名。
在导言区调用的CTeX宏里有非常直观方便的命令:
\zihao{-5}-5就是小五
\kaishu 是没有参数的命名
这里要注意像刚刚两个命令我们又叫做声明,他们会影响整段文字直到分组结束。一个环境就是一个分组,所以这里的quote环境整个都被影响了。
\begin{quote}
\zihao{-5} \kaishu 在艰辛的抗疫历程中,我们坚定地前行
\end{quote}
这样还不够!要注意一个基本原则:避免在正文直接使用字体字号、缩进对齐的格式控制命令。这是因为如果你的几十页论文,有几十处引用,突然你要改字体或者字号,那你就杯具了。所以我们在导言区重新定义环境,将整个引用环境的设置重新定义就能一键修改格式啦:
\newenvironment{myquote}{\begin{quote}\zihao{-5}\kaishu}{\end{quote}}
使用newenvironment环境,第一个必选参数是你环境的名字,第二和第三十环境开始和结束的代码。
这样我们就可以使用新环境了:
\begin{myquote}
在艰辛的抗疫历程中,我们坚定地前行
\end{myquote}