如何在Latex中格式化链接的R代码,以便可以直接从pdf中复制和运行?

如何在Latex中格式化链接的R代码,以便可以直接从pdf中复制和运行?,r,pdf,latex,code-formatting,R,Pdf,Latex,Code Formatting,我必须提交一份pdf格式的编程作业(使用LaTeX制作),导师希望能够将pdf中的代码直接复制粘贴到R中运行。我知道我可以通过将代码逐字复制到LaTeX文档中来实现这一点,但我通常使用“listings”包将我的R源文件直接链接到LaTeX文档,当我这样做时,pdf输出包含大量额外的空格,当代码复制回R时,这些空格会被拾取。有时代码仍会使用空格运行,但使用小数点、下划线等插入的空格会导致问题。我从“逐字记录”环境(顶部)和“列表”(底部)复制了同一行,以说明区别: par(mfrow = c(2

我必须提交一份pdf格式的编程作业(使用LaTeX制作),导师希望能够将pdf中的代码直接复制粘贴到R中运行。我知道我可以通过将代码逐字复制到LaTeX文档中来实现这一点,但我通常使用“listings”包将我的R源文件直接链接到LaTeX文档,当我这样做时,pdf输出包含大量额外的空格,当代码复制回R时,这些空格会被拾取。有时代码仍会使用空格运行,但使用小数点、下划线等插入的空格会导致问题。我从“逐字记录”环境(顶部)和“列表”(底部)复制了同一行,以说明区别:

par(mfrow = c(2,1), ps = 10, mar = c(3,3,2,2)) 

par ( mfrow = c(2 ,1) , ps = 10, mar = c(3 ,3 ,2 ,2))

我已经阅读了源代码文档,并尝试删除空白和更改基本样式(我的默认设置是ttfamily),但这不起作用,谷歌搜索只是给我带来了官方文档的变体。从本质上说,我希望能够将逐字字体样式应用到我的清单环境中,这样我仍然可以按照我想要的方式格式化代码——但我怀疑这不会那么容易。如果您对如何在不复制粘贴每一行的情况下将我的R代码复制到文档中,以便将输出复制回R中有任何建议,我们将不胜感激!提前感谢…

+1感谢@Roland,他对knitr有正确的想法


不过,我还假设,在LaTeX中配置足够多的
清单
,您就能够消除不需要的空白。我已经有一段时间没有处理
列表了,但我记得它们有很多可定制性,以及对R的语法支持,这应该可以解决大多数转换问题,但我可能弄错了。

这里提到了一个简单的解决方案:


您可以从pdf文档中复制/粘贴R代码。

使用R package knitr:想要从pdf文档中复制的导师(或任何其他人)有问题。你有没有办法说服他接受文本文件?我完全同意。不幸的是,我必须包括绘图,以便排除文本文件-它必须在一个单独的文件(pdf、doc、docx或txt)在线提交。然后他将下载,并尝试在R中运行代码。因为它将我指向非常方便的knitr,我选择将其视为一个学习机会!
\lstset{columns=fullflexible}