在 pdflatex 生成的文档中启用搜索

在 pdflatex 生成的文档中启用搜索

我正在排版一本法语书,我发现变音符号破坏了 Adob​​e Reader 的搜索功能。例如,如果我在 latex 文档中写“Numérotation”,那么 Adob​​e Reader 将找不到“Numerotation”或“Numérotation”的任何匹配项,因为重音符号与“e”分开写入 pdf 文档。

类似地,如果我写“Affect”,那么 Adob​​e 阅读器将找不到“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

因为还没有人提到这一点:正确使用XeLaTeXLuaLaTeX也可以解决这个问题,因为您将使用 Unicode。我真诚地推荐这个。

相关内容