我正在排版一本法语书,我发现变音符号破坏了 Adobe Reader 的搜索功能。例如,如果我在 latex 文档中写“Numérotation”,那么 Adobe Reader 将找不到“Numerotation”或“Numérotation”的任何匹配项,因为重音符号与“e”分开写入 pdf 文档。
类似地,如果我写“Affect”,那么 Adobe 阅读器将找不到“Affect”的任何匹配项:两个“f”都收缩为一个字符。
我如何确保 pdflatex 生成的 pdf 是完全可搜索的?
编辑:一些澄清:
谢谢您的回答。我目前已加载两个软件包:
\usepackage[T1]{fontenc}
\usepackage{ae,aecompl,aeguill}
添加\usepackage{cmap}
没有帮助。删除ae
有帮助,但是字体是位图字体,看起来很糟糕。
最后说明:删除ae
并不能解决双 f (ff) 问题。
答案1
OT1 编码的字体通过组合两个字形来构成重音字符,因此它们不会被识别为重音字符。如果您有 CM-Super 字体,那么
\usepackage[T1]{fontenc}
就足够了。如果你没有 CM-Super 字体,只能使用 Metafont 生成的位图,那么
\usepackage{cmap}
在其他声明之前即可。此外,拉丁现代字体在字体文件中具有正确的 CMAP 条目,因此 PDF 阅读器将识别字形(并且它们是 Type1 字体)。大多数字体系列应该不会出现问题,只要它们具有 Type1 字体文件和使用T1编码。
其他编码(例如 T2x(x 可以是 A、B 或 C))可能会遇到同样的问题,解决方法也相同:声明编码并确保字体文件为 Type1。当 OpenType 字体与 XeLaTeX 或 LuaLaTeX 一起使用时,不会出现问题(至少在大多数情况下不会出现)。
答案2
因为还没有人提到这一点:正确使用XeLaTeX
或LuaLaTeX
也可以解决这个问题,因为您将使用 Unicode。我真诚地推荐这个。