每个 LaTeX 用户都应该使用的 9 个宏包[投稿]

发布于 2021-08-22 10:26:23

本文为翻译改编,欲了解原文,请参看 9 essential LaTeX packages everyone should use

essential

介绍

最开始,我建立这个博客是为了帮助 LaTeX 的新手,但后来随着 howtoTeX.com 的建立,博客的受众变得更广了,在我看来,这也不是件坏事。你所面临的挑战只会让你一直努力向前!然而,今天,这篇文章对于新手来说是非常有用的(译者注:对于我们国内大部分人来说都是值得一看的),在这篇文章中,我总结了每个 LaTeX 用户都应该使用的 9 个宏包!让我们开始吧! 宏包的顺序与其重要性无关,顺序是完全随机的。每节的首行是我调用宏包的常用方式,仅作参考!

amsmath

\usepackage{amsmath}

amsmath 宏包是 AMS(美国数学协会)系列宏包中最重要的宏包,这个宏包引入了一些改进的数学环境。比如:加载 amsmath之后,我们可以使用 align 环境。我所有的行间公式都使用了 align 环境 (或者无编号版的 align* 环境),即便有时候公式不需要对齐。Lars Madsen 在 PracTeX 杂志上有篇文章也鼓励使用 amsmath 宏包的环境,详细参看 Avoid eqnarray!

geometry

\usepackage[a4paper]{geometry}

使用 geometry 宏包来调整页面的页边距非常方便。整个文档默认的页边距可以通过这个宏包的选项来改变(置于\usepackage 之后的方括号内,比如 a4paper),大部分情况下,我使用这个宏包(使用 a4paper 选项)来创建 A4 纸张以及相应的页边距。使用这个宏包,我们也可以改变某个特定页面的页边距,howtoTeX.com 上另外一篇文章介绍了怎么使用 geometry 宏包重新设定文档奇偶页的边距,详情参看 Two-sided LaTeX page margins

graphicx

\usepackage{graphicx}

关于 graphicx 没啥特别的,但是它可能是所有宏包中最重要的宏包,这个宏包引入了插图命令 \includegraphics,我们的文档如果需要插图都将用到它。

nag

\RequirePackage[l2tabu, orthodox]{nag}

事实上,如果你的代码没问题,这个宏包将不会做任何事情。

注意:把这个宏包放在你的导言区的第一行(甚至在 \documentclass 之前)。它将会检测你文档中是否使用已经被淘汰了的宏包以及过时的命令,nag 的文档说明可以访问 CTAN-nag

microtype

\usepackage{microtype}

microtype 宏包可以改善了单词、字母的间距。它可能做了很多,但是大部分人察觉不到使用它之后文档的变化。但至少,加载了 microtype 之后,文档看起来更好,也更容易阅读。注意:如果有使用到字体宏包,需要将 microtype 宏包放在它们的后面,因为这个宏包对单词、字母的调整和字体是有关的。

siunitx

\usepackage{siunitx}

siunitx 宏包大大简化了写作科技文的 TeX 命令,科技文写作中很大一部分是单位、数字。这个宏包添加了一些命令,比如 \num命令可以输出我们想要的各种方式的数字形式(比如科学记数法),而 \si 命令用来输出单位。我经常用到的命令是 \SI\SIrange。比如 \SI{10}{\hertz} 输出为 “10Hz”(这能有效避免输入错误,我可能会写成 HZ 或者 hz 而不是 Hz)。\SIrange 命令多一个参数:\SIrange{10}{100}{\hertz} 输出为 “10Hz to 100Hz”。

cleveref

\usepackage{cleveref}

另外一个非常有吸引力的宏包是 cleveref。这个宏包引入了 \cref 命令,当使用这个命令用于交叉引用的时候(而不是 \ref 或者 \eqref),根据引用的不同,它会自动添加一个单词前缀,引用 figure 环境,它会自动添加 “fig.”,而对于 equation 环境,它会自动添加 “eq.”。因此,这是一个用来简化写作的 LaTeX 宏包。之前有篇文章介绍了 cleveref 宏包,在那篇文章中,展示了如何修改引用对象前面的单词(比如 fig,eq),详情参看Automatic, clever references with cleveref

hyperref

\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}

hyperref 非常强大,你可以有非常多的可能性,其中最突出的特色是超链接。当引用一幅图的时候,引用与图形形成了链接,当你点击引用的地方,它会跳转到链接的图片处。并且 hyperref 可以让你插入 PDF 元数据到你的最终文档中。

注意:作为一个经验法则,你应该在导言区的最后加入这个宏包,在所有宏包之后。也存在少数例外的情况:比如,本文提到的 cleveref 宏包,cleveref宏包应该在 hyperref 之后。更多的例外情况可以参看:pkg load after hyperref

booktabs

 \usepackage{booktabs}

booktabs 宏包可以让我们创建没有竖线分隔的表格,这些分隔线在很多情况下是不必要的,并且很难看。使用 booktabs 宏包创建表格比创建普通 LaTeX 表格更费劲。因此,我专门写了一篇文章,关于怎样使用 booktabs 宏包创建好看的表格,详情参看 create nice tables with booktabs

示例下载

我这里写了一个示例,主要是导言区,在这个示例文件中,上述所有的宏包都加载进去了,Happy TeXing

% Source: howtoTeX.com
% Feel free to distribute, but leave a reference to howtoTeX.com
% Date: April 2012

\RequirePackage[l2tabu, orthodox]{nag}
\documentclass{article}

% 9 LaTeX packages everyone should use
\usepackage{amsmath}
\usepackage[a4paper]{geometry}
\usepackage{graphicx}
\usepackage{microtype}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}
\usepackage{cleveref}

\begin{document}
Visit howto\TeX.com for more!
\end{document}

译者按

这篇文章是 2 年前的,可能你会发现某些宏包已经被淘汰了,或者某些宏包的选项已经改变,或者有更好的宏包选择,欢迎发表您的见解,本文仅为抛砖引玉之用!
选自:http://ddswhu.com/2014/08/24/9-essential-latex-packages/

0 条评论

发布
问题