我有一个文档,其中的\"u
并没有呈现为 ü,而是更像带有删除线的 au:
但是,在输入文件中直接使用 UTF-8 编码的 ü 字符可以按预期工作。我已加载以下类/包(均按以下顺序使用其默认选项):
letter
ifthen
graphicx
lastpage
fontenc
ragged2e
ngerman
hyperref
有人知道这个问题可能是什么原因造成的吗?
答案1
棘手的问题。问题如下:
在您的类文件中,您定义了许多“固定字体”。
\DeclareFixedFont{\x}{T1}{phv}{m}{n}{10}
\DeclareFixedFont{\xb}{T1}{phv}{b}{n}{10}
\newfont{\xiiiv}{phvr8t at 8.5pt}
\newfont{\xiiivb}{phvb8t at 8.5pt}
但这在很多方面都是错误的。
\newfont
自 1994 年起就不再是 LaTeX 接口(LaTeX2e),它实际上只是为了与 2.09 文档兼容,它应该贯穿\DeclareFixedFont
始终- 但是,
\DeclareFixedFont
它并不是为了加载字体来进行一般排版。它为你提供了字体,对吧,但它并没有设置机制来让所有特殊符号自动选择正确的位置。在这种情况下,所有这些都需要你自己来完成。
\DeclareFixedFont
意味着你加载了特定尺寸的特定编码的字体,但 LaTeX 之后对这种字体一无所知。因此,自动\"u
选择正确字形或在某些字形上生成重音等所有艰苦的工作都无法进行。
因此,LaTeX 认为它是在 OT1 编码中排版(这意味着\"u
在 之上产生重音符号u
),而实际上\closing
命令调用的是\x
(T1 字体)。因此,它从 OT1 位置拾取变音符号(但在 T1 中,此位置中有此条),并愉快地将其放置在 之上u
。
所以,最重要的是,\DeclareFixedFont
如果你想排版一般的文本,而你不知道会出现什么变音符号,那么就别想着使用速度稍慢的
\fontsize{10}{12}\usefont{T1}{phv}{m}{n}
但您已正确设置了所有变音符号。