我使用RSweave编译一个包含重音符号(例如“é”)的乳胶文档。然后我将pdflatex生成的pdf中的文本复制到记事本中。由于某些编码原因,结果会显示奇怪的字符。
有没有办法解决这个问题?
最小工作示例
\documentclass{article}
\usepackage[utf8]{inputenc}
\begin{document}
\SweaveOpts{concordance=FALSE}
Orçamentária \\
Tendência \\
saída \\
gestão \\
órgão \\
coração
\end{document}
当我将这个词从pdf复制到记事本(pdf在Adobe Reader中打开)时,我得到:
Orcamentaria 往往^ encia 萨达 武功〜AO 组织〜AO corac〜AO
答案 0 :(得分:0)
经过大量搜索,我发现了问题的根源。在C:\ Users ... \ Documents \ R \ R-3.1.2 \ share \ texmf \ tex \ latex \ Sweave.sty中有:
\ifthenelse{\boolean{Sweave@ae}}{%
\RequirePackage[T1]{fontenc}
\RequirePackage{ae}
}{}%
根据https://en.wikibooks.org/wiki/LaTeX/Fonts:
包ae(几乎是欧洲的)已经过时了。它为使用特殊字符的单词连字提供了一些解决方法。对于像lmodern这样的字体,这些不再是必需的。除了排版问题之外,使用ae包会导致通过pdflatex生成的PDF文件中的文本编码问题(例如文本提取和搜索)。
所以,如果我在Sweave.sty中评论这一行,我就解决了这个问题。或者只是在.tex文件中注释\ userpackage {sweave}。