我们如何在 TeX 中排版无衬线文本?

我们如何在 TeX 中排版无衬线文本?

有相当多的现代无衬线人文主义字体、粗衬线字体和其他有趣的 Google 网络字体。我们如何使用它们在 LaTeX/PDFTeX/LuaTeX/XeTeX 中排版?在 TeX 中是否有办法直接从其 CDN URI 调用像 Google 字体这样的字体?是否有像 Michael Sharpe 的软件包那样涵盖这些现代字体的软件包?

答案1

这个答案最初解决的是原始问题,而不是当前的问题。

请注意,我替换这个答案并不是删除别人的答案。(我替换这个答案是为了删除我自己的答案。)

当前问题的答案是,sans 字体或 humanist 字体并没有什么特别之处。你可以像使用其他字体一样使用它们进行排版。

就目前情况而言,这个问题非常广泛。简短的回答是:

LaTeX、pdfLaTeX:您需要创建或获取合适的支持文件。这些包括.tfm文件、.map片段、.fd文件、可能的.vf文件和最好.sty文件。一般来说,创建这些文件并不是一件小事。以充分利用所支持的字体的方式创建它们就更不容易了。这些引擎可以使用 metafont ( .mf) 和 type1 ( .pfb) 字体而无需转换。pdfLaTeX 也可以使用 truetype 字体而无需转换。同样,如果支持文件存在的话。字体本身是没用的。

XeLaTeX、LuaLaTeX:您可以使用上述传统 TeX 字体或系统可用的任何合适格式的字体。特别是,opentype 字体可以直接使用,并fontspec允许您访问这些字体提供的功能集。

我不知道有什么方法可以给 TeX 提供一个 URL 并让它使用字体。我想,您可以让它通过 shell-escape 将字体下载到当前目录,然后直接使用它fontspec。但除非您的操作系统能够使用远程字体,否则您无法远程使用它。(如果它们可以从作为本地目录安装并集成到您的操作系统中的远程机器上使用,那么您就可以。但这不是您要问的。在这种情况下,您将安装字体 - 它们恰好是非本地托管的文件。)

有各种支持现代字体的软件包。考虑到所涉及的工作量,我认为相当多。如果您想要与 (pdf)LaTeX 一起使用的传统 LaTeX 软件包,TeX 字体目录是开始的地方。否则,您要么需要自己创建支持,要么使用 XeLaTeX/LuaLaTeX fontspec

但这些都与使用 sans 或 humanist 字体无关。这只是使用字体的标准内容。可能很复杂,但本网站和其他地方都有广泛记录。

如果您的文档包含数学,我认为您确实需要合适的 opentype 字体。合适意味着启用了数学功能 - 仅提供字符是不够的。您需要正确设置数学表。然后您可以使用unicode-math。否则,对 sans maths 的支持有限,但可以说,它是有限的。

再说一遍:用无衬线字体排版大段文本不是一个好主意。你应该使用衬线字体。

相关内容