LaTeX 将文章的排版以代码的形式呈现,这种方式很符合程序员以及科学工作者的审美和工作习惯,但如果强调太多 LaTeX 不常用的特性,会导致很多初学者望而却步,早早弃坑回归难用的 word。同时,网上关于 LaTeX 的文档极多,还有大量多年未更新的博客,内容早已过时无法兼容现在的版本,很容易造成误导增加学习成本。
因此,本文将场景设定为需要按照规定期刊或报告规定的格式撰写文章,省去不必要的说明,带你快速上手 LaTeX(文中也会将 LaTeX 其他一些进阶用法作为拓展资料整理,供日后查阅)。
一、环境的配置——TeXlive+TeXstuido
1. 关于 TeX Live
TeX Live 是 TUG (TeX User Group) 维护和发布的 TeX 系统,可说是「官方」的 TeX 系统。其相比其他的系统优势在于能够保证更新,兼容性强,也能保持在跨操作系统平台、跨用户的一致性。参见 TeX Live 的官方站点。
1.1 Mac 用户
TeX Live 在 macOS/OS X 上的名字是 MacTeX,它的官方站点。可以在这里下载 MacTeX 的安装器,而后安装 MacTeX。
如果你身处中国大陆,发现下载速度很慢,可以尝试清华大学和中国科技大学的镜像站。
1.2 Windows 用户
TeX Live 的当前版本是 2021,你可以从官方站点下载它们的安装包。点击链接,将会「自动选择」距离你最近的镜像下载。同样也可以尝试清华大学和中国科技大学的镜像站。
安装需要使用虚拟光驱软件(win10系统自带),推荐一个绿色工具即 UltraISO,打开界面如下,加载到虚拟光驱:
打开虚拟光驱:
右键单击 install-tl-advanced.bat
,以管理员权限执行;
里面基本上可以选默认的,但最后两个例外(TeXworks 比较陈旧,后者是更新可能比较慢):
然后点击 “安装 TeX Live”,可以看到这样的界面:
安装完成的画面:
同时注意完成后要把 cmd 关掉!
安装好 TeXlive 之后若想 happy latexing,还需要有一个编辑器,可供选择的有很多,如 LyX、TeXworks、TexStudio、WinEdt、Emacs、Sublime Text、Atom、Visual Studio Code 等,有兴趣可以参考知乎——有哪些好的编辑器。本文选用的是 TeXstudio,也推荐新手使用这个编辑器。
2、安装 TeXstudio
选择安装路径 > install
安装好后需要更改一些设置:
Options > Configure TeXstudio
General > Language 改成 zh_CN(中文化)
Build
Default Bibliography Tool 设置成 BibTeX(此处是管理参考文献的相关设置,下文有说明)Default Compiler 设置成 XeLaTeX(为了实现对中文的支持)
至此我们的写作环境就配置好了!
二、写个简单的文档试试
启动 TeXstudio,界面如下
在编辑框中,输入如下内容:
\documentclass{article}
% 这里是导言区
\begin{document}
Hello, world!
\end{document}
将文档保存在你希望的位置后,按下绿色的编译按钮。一会儿,如果没有意外,屏幕的右边就会出现编译之后结果。如下图:
同时会自动生成 PDF 文件在.tex
文件所保存的目录下。
此处的第一行\documentclass{article}
中包含了一个控制序列(或称命令 / 标记)。所谓控制序列,是以反斜杠\
开头,以第一个_空格或非字母_ 的字符结束的一串文字,他们并不被输出,但是他们会影响输出文档的效果。这里的控制序列是documentclass
,它后面紧跟着的{article}
代表这个控制序列有一个必要的参数,该参数的值为article
. 这个控制序列的作用,是调用名为 “article” 的文档类。
其后出现了控制序列begin
,这个控制序列总是与end
成对出现。这两个控制序列以及他们中间的内容被称为 “环境”;他们之后的第一个必要参数总是一致的,被称为环境名。
只有在 “document” 环境中的内容,才会被正常输出到文档中去或是作为控制序列对文档产生影响。因此,在\end{document}
之后插入任何内容都是无效的。
\begin{document}
与\documentclass{article}
之间的部分被称为导言区。导言区中的控制序列,通常会影响到整个输出文档。
1. 中英混排
TeX 系统是高教授开发的,当初并没有考虑到亚洲文字的问题。因此早期的 TeX 系统并不能直接支持中文,必须要用其他工具先处理一下(或者是一些宏包之类的)。旧方法不在本教程中赘述,如遇到旧文档的兼容性问题,可参考《一份其实很短的 LaTeX 入门文档》。
但是现在,XeTeX 原生支持 Unicode,并且可以方便地调用系统字体。可以说解决了困扰中国 TeX 使用者多年的大问题。
此外,除去中文支持,中文的版式处理和标点禁则也是不小的挑战。好在由吴凌云和江疆牵头,现在主要由刘海洋和李清维护的 ctex宏包 / 文档类
一次性解决了这些问题。ctex宏包和文档类
的优势在于,它适用于多种编译方式;在内部处理好了中文和中文版式的支持,隐藏了这些细节;并且,提供了不少中文用户需要的功能接口。
在 TeXworks 编辑框中输入以下内容,保存,使用 XeLaTeX 编译:
\documentclass[UTF8]{ctexart}
\begin{document}
你好,world!
\end{document}
如果没有意外,你将会看到类似下图的输出结果:
相较于之前的例子,这份代码只有细微的差异:
- 文档类从
article
变为ctexart
- 增加了文档类选项
UTF8
2. 组织文章
保存并用 XeLaTeX 编译如下文档,查看效果:
\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{Liam}
\date{\today}
\begin{document}
\maketitle
\section{你好中国}
中国在 East Asia.
\subsection{Hello Beijing}
北京是 capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Tian'anmen Square}
is in the center of Beijing
\subparagraph{Chairman Mao}
is in the center of 天安门广场。
\subsection{Hello 北京}
\paragraph{北京} is an international city。
\end{document}
在文档类
article
/ctexart
中,定义了五个控制序列来调整行文组织结构。他们分别是
\section{·}
\subsection{·}
\subsubsection{·}
\paragraph{·}
\subparagraph{·}
3. 如何查看当前操作系统的字体
以管理员模式打开系统命令行,输入如下命令:
fc-list :lang=zh-cn > C:\font_zh-cn.txt
打开 C 盘根目录下的 C:\font_zh-cn.txt
纯文本文档,里面的内容就是你当前系统可用的全部中文字体, 为了方便观看,我用的 Visual Studio code 打开,效果如下:
其中的每一行,都代表着一个可用的字体 。我们可以看到图中的倒数第五行
C:/WINDOWS/fonts/simsun.ttc: SimSun,宋体:style=Regular,常规
出现了之前文档里调用的字体
SimSun
,此处表明该字体有两个表示名:宋体
和SimSun
恭喜你,至此已经掌握了 TeXlive+TeXstudio 的基本用法,可以编辑自己的文档了,同时,也可以继续向下看,有了上面的知识能帮助你更好的理解模板的结构。
三、使用模板写作
使用模板写作,适用于需要按照规定期刊或报告规定的格式撰写文章的工作者,同时也很适合新接触 LaTeX 写作的新手感受这种写作方式的乐趣,毕竟手动编辑一套复杂的论文需要花费大量时间,这脱离了 LaTeX 之类排版语言想让写作者关注内容本身的初衷。下面将介绍初学者在使用模板写作时需要用到的技巧。
1. 模板的获取
建议在使用中自己整理几个自己常用的模板,从网上下载的模板只能提供一个大体的方向,有时也存在版本不同造成的兼容性问题,细节需要自己完善。
- LaTeXtemplates.com 网站是非常不错的模板分享网站,收集了包括书信,报告,论文,演示文稿,简历等等模板,整体收集模板质量很不错,非常推荐,该网站逐步退出了排版和模板开发的服务,有兴趣可以多多了解。
- 在 https://github.com/MartinThoma/LaTeX-examples 有作者收集的非常好的模板收集,也收集了大量的 tikz 等等例子,可下载,选择自己喜欢的模板使用。
- 在 http://uk.tug.org/training/thesis 有不少收集好的国外高校论文模板。
- https://www.overleaf.com 也可以找到很多期刊的模板代码,还支持在线编辑,所见即所得,效果如下:
2. 模板的使用
这里以北京航空航天大学学报提供的模板为例,把模板下载到电脑中后,选择.tex
类型的文件:
构建并查看:
可以在左侧结构
栏跳转到相应区域修改内容,也可以在右侧 PDF 阅览区右键 > 跳转到源
直接跟踪到相应代码区,进行修改即可。
下面将分别介绍一些常用的编排技巧。
2.1 文献引用
\documentclass{ctexart}
\bibliographystyle{plain} %引用的样式%
\begin{document}
这是一个参考文献引用:\cite{name1} %大括号内为相应文献的引用标签
\bibliography{text} %导入参考文献库文件%
\end{document}
输入上述代码后进行构建,完成后点击左侧结构
栏的参考文献 > text
会提示是否创建.bib
文件,选择是,这便是你的文献库。
2.2 公式怎么办
为了使用 AMS-LaTeX 提供的数学功能,我们需要在导言区加载amsmath
宏包:
\usepackage{amsmath}
数学模式
LaTeX 的数学模式有两种:行内模式 (inline) 和行间模式 (display)。前者在正文的行文中,插入数学公式;后者独立排列单独成行。
在行文中,使用
$ ... $
可以插入行内公式,使用\[ ... \]
可以插入行间公式,如果需要对行间公式进行编号,可以使用equation
环境: \begin{equaion} … \end{equation}行内公式也可以使用
\(...\)
来插入,略显麻烦。无编号的行间公式也可以使用$$ ... $$
来插入,但是这样做会改变行文的默认行间距,不推荐。
LaTeX 的公式编辑可以说是其最为犀利的部分之一了,但其公式语法非常繁琐,不过令人高兴的是,这里有一个在线 LaTeX 公式编辑器,非常方便直观:
2.3 表格怎么办
巧了,表格也有类似的工具:Creat LaTeX tables online
2.4 图片呢
在 LaTeX 中插入图片,有很多种方式。最好用的应当属利用graphicx
宏包提供的\includegraphics
命令。比如你在你的 TeX 源文件同目录下,有名为 a.jpg 的图片,你可以用这样的方式将它插入到输出文档中:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{a.jpg}
\end{document}
图片可能很大,超过了输出文件的纸张大小,或者干脆就是你自己觉得输出的效果不爽。这时候你可以用
\includegraphics
控制序列的可选参数来控制。比如
\includegraphics[width = .8\textwidth]{a.jpg}
这样图片的宽度会被缩放至页面宽度的百分之八十,图片的总高度会按比例缩放。
\includegraphics
控制序列还有若干其他的可选参数可供使用,一般并用不到。感兴趣的话,可以去查看该宏包的文档。
2.5 制作幻灯片
没错,LaTeX 的确还可以制作精美的幻灯片 pdf,不过具体使用方法与论文写作大同小异,网上也有很多漂亮的模板,有兴趣可以去继续了解。
总结
之前一直用 Markdown 写文章,对比两者,感觉 Markdown 就像傻瓜版 LaTeX,适合写博客之类对不追求复杂格式的场景,日常写作用轻量级的 Markdown,想要获得更为复杂和严谨的论文排版作品,上 LaTeX,这样基本就能涵盖所有的写作场景,告别臃肿难用的 word 软件,让我们更专注于内容,享受其中。
Happy LaTeXing!
参考资料
关于在 Mac 电脑上使用 MacTeX,你可能会希望阅读以下文章