作为一名以英语为母语的人,我大部分时间都能够假装 ASCII 就足够了,并且能够将字体编码视为不是我的问题。我看到了很多我应该\usepackage[T1]{fontenc}
在序言中包含的建议。(例如,参见第 337 页LaTeX 伴侣) 但实际上并没有充分解释为什么我应该这样做。
那么,如果我用英语写作,并且只需要偶尔使用诸如此类的东西G\"odel
,遵循这些建议对我有什么好处呢?
答案1
请注意,这是字体编码(确定使用哪种字体),而不是输入编码。
TeX 的默认字体编码 (OT1) 是 7 位,使用具有 128 个字形的字体,因此不将重音字符作为单独的字形。因此,字母 ö 是通过在现有的“o”字形上添加重音符号来生成的。
T1 字体编码是 8 位编码,使用具有 256 个字形的字体。因此,'ö' 实际上是字体中的一个字形。许多较旧的字体也有为其设计的 T1 变体,许多较新的字体仅在 T1 中可用。我认为“Computer Modern”最初是 OT1,而“Latin Modern”是 T1。(查看OT1 字体编码和T1 字体编码。
如果你不使用\usepackage[T1]{fontenc}
,
- 包含重音字符的单词无法自动连字符,
- 您无法从输出(DVI/PS/PDF)中正确复制粘贴此类单词,
- 管道符号、小于号和大于号等字符在文本中产生意想不到的结果。
答案2
除了 @ShreevatsaR 列出的为什么即使在主要用英语书写时也建议使用 T1 字体编码的原因之外,还有两个原因没有列在他的列表中:
TeX 仅当这些字符是来自同一字体的真实字形时,才能在字符之间应用连字和字距调整。在 OT1(具有 128 个字形)中,您只有或多或少的 ASCII 字符,并且所有变音符号等都缺失。
每当使用变音符号时,在输出中搜索就不起作用,因为输出最终会变成复杂的框结构而不是字符。
因此,继续使用您偶尔举的例子G\"odel
:如果字体设计师决定由于 的形状,G
需要对以下 进行一些字距调整o
,那么ö
他可以在 T1 中指定这一点,但不能在 OT1 中指定(因为ö
在该字体编码中,这不是单个字形)。字符之间有很多字距调整。
第二点意味着如果有人在你的论文(例如,以 PDF 格式发布到网上)中搜索该名字Gödel
,那么将找不到该名字。
因此,简而言之,只要使用单个变音符号,T1 字体就会提供稍微好一点的输出,因为字距调整更好,连字符仍然有效,从输出中剪切粘贴仍然有效,并且在输出中搜索也可以正常工作。