【问题标题】:How to format linked R code in Latex so that it can be copied and run directly from the pdf?如何在 Latex 中格式化链接的 R 代码,以便可以直接从 pdf 复制和运行?
【发布时间】:2015-01-23 12:34:32
【问题描述】:

我必须提交一份 pdf 格式的编程作业(使用 LaTeX 生成),并且导师希望能够将代码直接从 pdf 复制并粘贴到 R 中以运行它。我知道我可以通过将代码硬拷贝到 \verbatim 块中的 LaTeX 文档中来做到这一点,但我通常使用“列表”包将我的 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),但这不起作用,谷歌搜索只是给我带来了官方文档的变体。从本质上讲,我希望能够将 Verbatim 字体样式应用于我的列表环境,以便我仍然可以按照我的意愿格式化我的代码 - 但我怀疑这不会那么容易。任何关于如何在不复制粘贴每一行的情况下将我的 R 代码放入文档的建议,以便可以将输出复制回 R,将不胜感激!提前谢谢...

【问题讨论】:

  • 想要从 PDF 文档复制的导师(或其他任何人)有问题。有没有什么办法可以说服他接受文本文件?
  • 我完全同意。不幸的是,我必须包含绘图以排除文本文件 - 并且必须以单个文件(pdf、doc、docx 或 txt)在线提交。然后他会下载它,并尝试在 R 中运行代码。因为它让我看到了非常方便的 knitr,所以我选择将此视为一个学习机会!

标签: r pdf latex code-formatting


【解决方案1】:

这里提到了一个简单的解决方案: https://tex.stackexchange.com/questions/119218/how-to-copy-paste-from-lstlistings

添加

\lstset{columns=fullflexible} 

您将能够从 pdf 文档中复制/粘贴 R 代码。

【讨论】:

    【解决方案2】:

    +1 给@Roland,他对 knitr 有正确的想法。

    不过,我还假设在 LaTeX 中使用足够的 listings 配置,您将能够摆脱不需要的空白。自从我摆弄listings 以来已经有一段时间了,但我记得它们有很多可定制性,以及对 R 的语法支持,这应该可以解决大部分转换问题,但我可能弄错了。

    【讨论】:

      猜你喜欢
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 2020-12-20
      相关资源
      最近更新 更多