Sublime Latexing 和 Knitr 在 .RNW 文件上:将行发送到 R 控制台进行评估

Sublime Latexing 和 Knitr 在 .RNW 文件上:将行发送到 R 控制台进行评估

我正在使用 Sublime Text 3 和 Latexing 包来应用 Knitr 来编译包含 Latex 和 R 代码的 .Rnw 文件。总的来说,它运行良好,因为我可以很好地将 .Rnw 文件编译成 PDF。但是,与 .R 文件相比,我无法使一个重要的功能正常工作。

具体来说,如果不编译整个 .Rnw 文件,我就无法将小段代码发送到 R。我可以很好地编译整个 .Rnw 文件,这当然会评估我已编织到文档中的所有代码块并创建 PDF。我希望能够发送小段代码以在 R 控制台中进行评估,而无需编译整个 .Rnw 文件。(这基本上就是您可以在 R Studio 中执行的操作,并且对于确定我包含在 .Rnw 文件中的代码是否按我的意愿执行操作很有用,而无需每次都编译整个 .Rnw 文件或无需将其复制/粘贴到其他正在运行的 R 控制台中)。当我只是编辑 .R 文档时,我可以通过 Command + Enter 执行此操作(使用 Sublime 的增强型 R 包),但这在编辑 .Rnw 文档时也不起作用。理想情况下,我希望能够通过 REPL 将其发送到 Sublime 中的 R 控制台。

是否有我不知道的在 Sublime 中实现这一点的方法,或者它们只是尚未开发的功能?

答案1

我也有同样的情况问题,我设法修复了它至少对于 latextools 的建议,对于 latexing 可能也是相同的。 /R/Main.sublime-menu文件必须进行编辑:

(在 Ubuntu 中位于 ~/.config/sublime-text-3/Packages/SublimeREPL/config/R/Main.sublime-menu:)

并且附加范围必须按如下方式修改:

 "additional_scopes": ["tex.latex.knitr.ing"]

答案2

这确实是 LaTeXing 包提供的功能,感谢 @RandyLai 的 Sublime Text 包增强型-R(或其重构R-Box) 按照这一点LaTeXing 的文档。对我而言,默认的键绑定是command/ ctrl+ b,具体取决于您是否有 Apple 键盘。

我假设你已经安装了必需的 ST 包:LaTeXing、Enhanced-R/R-Box,SublimeKnitr(在 Package Control 中称为“knitr”)。以下是它可能不适合您使用的一些原因:

  • 当你编写 .Rnw 时,可能你没有使用“LaTeXing (Knitr)”语法
  • 也许你和我一样,不使用标准 Sweave 语法,即用 和 来分隔 R<<>>=代码@

相关内容