我想使用 knitr 来制作pdf文档,从中可以干净地剪切和粘贴示例代码,但似乎无法做到。
我遇到的问题的一个例子:
knitr manual pdf包含此代码块(第3页):
## option tidy=TRUE
for (k in 1:10) {
j <- cos(sin(k) * kˆ2) + 3
print(j - 5)
}
从pdf复制然后粘贴到R(或SO等)时,它会产生:
## option tidy=TRUE
for (k in 1:10) f j <- cos(sin(k) * kˆ2) + 3
print(j - 5)
g
查看前两个代码行如何组合成一个,更糟糕的是,{
和}
转换为f
和g
?
我的问题:
首先,我想,这是其他人经历的事情吗?它是否仅在Windows或其他地方发生?
如果不仅仅是我,是否有一些简单的解决方法?在编译*.tex
文件时使用不同的字体会生成一个更容易复制粘贴的*.pdf
文档吗?
(FWIW,如果我改为使用minted突出显示我的R代码,我没有任何相同的问题,所以我知道可能来做到这一点。)
答案 0 :(得分:8)
根据this question and its accepted answer中的线索,我发现使用LaTeX fontenc 包将字体编码设置为T1可以解决上面报告的问题。 (See also here解释为什么使用T1或多或少是官方推荐的各种LaTeX文档的最佳实践。改进的复制和可匹配性是该链接中提到的几个很好的理由之一。)
以下是固定文档中序言的开头:
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}