LaTeX是基于TeX的排版系统,已成为大多数技术领域(STEM)专业排版的标准。事实上,很多数学、物理、计算机科学相关期刊和出版社只接受LaTeX排版文章。
What You See Is What You Get:与WYSIWYG的word排版系统不同,LaTeX必须编写代码并编译生成的PDF文件。学习有一定困难,但一旦掌握了LaTeX,句子排版就会更加高效和灵活。
TeX开发人员戈德纳(右上方)、LaTeX开发人员莱斯利兰伯特(左上方)
虽然网络上已经有很多关于LaTeX的介绍,但我发现即使是已经精通LaTeX的作家,也会忽略一些LaTeX的强大功能。(大卫亚设)。
本文重点介绍了可以使LaTeX排版更高效、更简洁的设计模式。这可以有效地防止错误的发生。这些型号只是建议,不一定要严格遵守。有时,在一个论文模板中合适的模式在另一个模板中可能不合适。例如,博士论文模板中定义的某些符号的宏可能在其他论文模板(例如论文摘要)中不起作用。我的这些建议都来自我在机器学习和计算机科学论文准备过程中积累的经验。要具体应用场景,请遵循该学科的排版规范。
1.从软件工程的角度看LaTeX
LaTeX越来越完善,有很多方便作者的定制功能,可以比较排版LaTeX文稿和软件工程。这个比喻并不完美。软件往往需要几十年的维护,但我们的论文很快就能发表。大卫亚设,Northern Exposure(美国电视),但不管怎样,两者在设计模式上都很相似。
不要重新创建轮子。为重复的模块(如数学符号)定义宏。你可以在第一次写论文时表示概率。但是如果有一天想让概率的符号更清晰,就换成查找和替换吧。这可能会在实际工作中产生大量错误,从而导致符号表示不一致。事实上,在头文件中定义\newcommand{\probability}{P}可以在正文中轻松替换。我们要时刻保持符号的一致性,按照自己的意思随时改变符号。
可以重复代码,也可以有这样的场景。我们有时在课文中陈述定理的内容,但其证明在附录中。优雅的方法是应用上面的方法调用本文的定理。同样,如果您在图中有重复的模板(例如相同的图例),建议您定义宏并将其合并。
编译过程中要注意错误和警告。LaTeX编译器警告各种常见问题,包括未定义的参考文档参考。我建议趁热打铁,立即修理这些警告。确认这些问题,如果是,请尽快删除参考。
编译中出现的错误必须立即修复。文档前面的错误可能会导致其馀部分无法正确编译,从而导致错误或不可预测的编译结果。因此,如果出现错误,必须立即纠正,避免后续重复调试,这样就可以专心写论文了。
但是,优秀的编译器(如基于云的协作LaTeX编辑器)可以执行模糊编译,即使有错误也能完成编译。
自动检查:运行自动检查可以找到一些常见错误。您可以使用一些外部开发工具执行自动检查,而不仅限于代码。例如拼写检查,Matt Might写了一个shell脚本,检查有关语态(被动语态)和使用模糊词汇的问题。
确定一个或多个IDE:熟悉适合您的LaTeX集成开发环境。Overleaf非常适合协同编辑,因为它可以实时同步和注释。但是,由于某些功能不足,并且比本地编译器慢,因此通常在IntelliJ上安装IDEA插件。当然,还有很多其他优秀的IDE。我们要做的是选择和掌握一个或多个适合自己的东西。
Overleaf是基于云的协作LaTeX编辑器
代码管理:毫无疑问,使用Git等版本控制系统来管理代码,并及时推送更新。文件损坏或删除后,您会意识到代码管理的重要性。因为可以轻松地恢复到以前的版本,所以可以大量编辑论文。如果同时需要一篇论文的多个版本(例如,需要研讨会和学术会议两个版本),可以单独编辑多个部分,然后根据需要进行整合。还有人提到Overleaf。您会对内置的版本控制系统感到满意。
2.聚焦数学功绩
式LaTeX 有非常卓越的数学公式排版功能,因此在数学及其相关学科中应用非常广泛。
留意数学公式与标点: 数学公式和文本要融为一体,因此需要适时断句。如果一个句子以公式结尾,公式后面必须要有句号。通常情况下,行内公式($…$)可以随时断句。不过公式环境($$…$$ 或者 \begin{equation}…\end{equation})也要注意加标点。关于这点,未来还会有单独文章做介绍。
▲ mathpix
这里要介绍两个好用的工具:数学公式识别 mathpix Snip 和 识别手写出符号 Detexify。
前者可以对截图中的数学公式自动转化为 LaTeX 命令,甚至可以进行函数图形的绘制。
▲ Detexify
而后者是,如一个符号你还不知道它对应的 LaTeX 命令,可以在 Detexify 中画个草图,它就会进行搜索给出一系列可能对应代码选项。
3. LaTeX 排版
LaTeX 鼓励作者制定文章的结构,而把排版细节留给 LaTeX。这样操作一般都没有问题,但有时候会使得排版结果出错。
语义问题: 如果想要强调一段文字,请用 \emph{},而不要用 \textit{}。虽然他们都可以输出斜体,但是 \emph{} 会自动在斜体和罗马体之间切换,如 \emph{emphasis \emph{nested} works} 生成 “emphasis nested works ”,但是 textit{italics \textit{is} idempotent} 则生成 “italics is idempotent”。\emph{} 这一功能定理这类环境中会很有用,可以让斜体单元的一部分是罗马体。
**在缩写的句点后面加空格:**LaTeX 会在句子后面自动加空格,以增加可读性。但如果碰到缩写中的句点,比如在 e.g. this 中, 会自动在 e.g. 后面加个空格。为了避免这一问题,可以在后面加一个\,即 e.g.\ this。
有时候 LaTeX 会错误地以为一些大写字母后面的句点不是一个句子的结尾,此时需要插入一个\@来结束整个句子,比如 LaTeX was invented in the US\@.
4. 认真对待插图
LaTeX 拥有非常优秀的图片处理功能,包括图像的浮动环境,插入外部图片的包,或者直接在文稿中生成矢量图。
采用矢量图: 应该尽可能使用矢量图图形,比如 SVG 或 PDF 文件,而避免使用位图,如 PNG 或 JPG 格式。
矢量图能够可以在不丢失保真度的情况下以高分辨率展示图片,从而保证读者们可以任意缩放图片,并高质量地打印图片。同时在保存文件时矢量图更省空间,因此我们一般把平面图形和示意图存成矢量图。位图文件适合拍照或者屏幕截图。
匹配文章格式: 虽然可以在 matplotlib 中生成外部图片,但是图片应该和文章格式相符,比如应该和文章其他部分的内容采用相同的字体和字号,应该保存成文章中所需要的尺寸。LaTeX 可以对图片进行放缩从而可以保证图片的尺寸与文字保持一致。很多和 matplotlib 类似的包可以调整图片的尺寸,使得当图片尺寸大的时候,可以增加一些坐标系标签将图片尺寸优化。
图片自成一体: 读者们很可能会跳过文章的细节直接跳到图的部分,也可能会忘掉前面的相关介绍内容,甚至有些读者只看图的标题,并依此来寻找文章的核心内容。因此最好做到每个图自成一体,包含清晰的坐标轴、图例,并在图的标题中包含理解图的内容所需要的额外的信息。
5. 参考文献及其引用
LaTeX 最初是为学术论文写作而生,参考文献及其引用非常方便,只是还有一些细节应该特别关注。
尽量采用 : 作为 的升级, 是 LaTeX 中最新的文献目录管理工具。 中加入了很多新的功能,比如新的条目 @online,以及一些语种的本地化。但如果你向某个杂志或者会议投稿,则必须使用规定的 LaTeX 模板,以及规定的文献管理工具。
使用正确的引用命令: 要区分带方括号的引用和文内引用。如果是带方括号的引用,用命令 \parencite (BibLaTeX) 或者 \citep (BibTeX); 如果是文内引用,用 \textcite (BibLaTeX) 或者 \citet (BibTeX)。要尽量避免嵌套括号,比如 \citep[see][]{gleave2020} 会生成 “(see Gleave et al, 2020)”,而 (see~\citep{gleave2020}) 则生成 “(see (Gleave et al, 2020))”。我们尽量不要用后者。
不可断行空格的使用: 引用的内容应该和引用它的句子或者词语处于同一行,因此要用到不可断行空格~,以避免孤立被引用的内容,比如 Knuth developed LaTeX~\citep{latex}。
文献目录管理: 无论论文结果对错,如果所列参考文献比较草率,读者或者论文评阅人可能会认为整个论文都是如此。为保证所有文献条目的一致性,应注意参考文献题目的大小写。如果参考文献题目中包含首字母缩写时,比如 {DQN} 就必须用{ }括起来。选择正确的条目类型也很重要,比如 @inproceedings 代表会议论文,@article 表示期刊论文,@misc 表示预印本。最后,也是最基本的问题,要保证文献目录的一致性。作者名字和期刊名称要保持一致,即要么全部简写,要么都写全名,尤其要注意人名中的中间名。一般在文献目录中要么全加上文献的 DOI,要么全部不加。
其他建议
通过下面一些链接可以获得更多关于学术写作的一般建议。
- 《How to Write a Scientific Abstract in Six Easy Steps》,Steve Easterbrook.
- 《Basic Submission Checklist and one Approach to Writing》,Amy Tabb.
- 《Responding to Peer Review》,Matt Might.
本文作者:[遇见数学翻译小组核心成员] jiahl,这里小编还推荐人邮图灵今年的一本新书《简单高效LaTeX》,既可以作为一本简明教程,亦可作为日常桌面上的参阅手册,感兴趣的朋友可以留意下。