作为一个以英语为母语的人,我大多被允许假装ASCII就足够了,并且能够把字体编码当作不是我的问题。我看到很多人建议我应该在序言中加入usepackage[T1]{fontenc}
。(例如,见[The LaTeX Companion]第337页(http://books.google.com/books?id=ngwZAQAAIAAJ&q=The+LaTeX+Companion&dq=The+LaTeX+Companion&hl=en&ei=kAtTTOCBPdD_nQfsjL2RBA&sa=X&oi=book_result&ct=result&;resnum=1&;ved=0CCUQ6AEwAA) 。)真正没有充分解释的是为什么我应该这样做。
那么,如果我用英语写作,并且只需偶尔使用`G"odel'这样的东西,遵循这些建议到底能给我带来什么?
注意,这是字体编码(决定使用哪种字体),而不是输入编码。
TeX的默认字体编码(OT1)是7位的,使用的字体有128个字形,所以不包括作为单独字形的重音字符。因此,一个字母ö是通过在现有的'o'字形上添加重音而形成的。
T1字体编码是一种8位编码,使用的字体有256个字形。因此,一个'ö'是字体中实际的单个字形。许多较早的字体也有T1的变体,许多较新的字体也只有T1的版本。我认为"Computer Modern"最初是OT1,而"Latin Modern" 是T1。 (请看OT1字体编码和T1字体编码。)
如果你不使用usepackage[T1]{fontenc}
。
含有重音字符的单词不能自动进行连字符处理。
你不能正确地从输出(DVI/PS/PDF)中复制和粘贴这样的词。
像管号、小于和大于这样的字符在文本中产生意想不到的结果。
[1]: [2]:
除了@ShreevatsaR所列举的即使在(主要)用英语写作时也宜采用T1字体编码的原因外,还有两个原因在他的清单中被忽略了。
只有当这些字符是同一字体的真实字形时,TeX才能够在这些字符之间应用连词和字符间距。在OT1(有128个字形)中,你只有或多或少的ASCII字符,所有的变音符等都没有。
每当使用变音符时,在输出中进行搜索是行不通的,因为在输出中,变音符最终是一个复杂的方框结构,而不是一个字符。
因此,继续以你偶尔出现的G"odel'为例:如果字体设计者决定,由于
G'的形状,它需要对后面的o'或
ö进行一些衬托,那么他可以在T1中指定,但不能在OT1中指定(对于
ö`,因为这不是该字体编码中的一个字形)。而且,在字符之间有很多的字符间距调整。
第二点意味着,如果有人在你的论文中(例如以pdf的形式放在网上)搜索Gödel
这个名字,那么这个名字就不会被发现。
因此,简而言之,只要使用单一的变音符,T1字体的输出就会稍好一些,因为字距更好,连字符仍然有效,从输出中剪切和粘贴仍然有效,在输出中搜索也正常。