输出中的Sweave语法高亮显示

Ken*_*ams 5 r syntax-highlighting sweave

有没有人设法在Sweave文档的输出中使用颜色语法突出显示?我已经能够通过在Sweave.sty文件中添加框等来自定义输出样式,如下所示:

\DefineVerbatimEnvironment{Sinput}{Verbatim}{fontseries=bc,frame=single}
\DefineVerbatimEnvironment{Soutput}{Verbatim}{frame=leftline}
\DefineVerbatimEnvironment{Scode}{Verbatim}{fontseries=bc}
Run Code Online (Sandbox Code Playgroud)

我可以让minted包在我的文档中对逐字代码块进行语法高亮,如下所示:

\begin{minted}{perl}
use Foo::Bar;
...
\end{minted}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将两者结合起来用于R输入部分.我尝试了以下方法:

\DefineVerbatimEnvironment{Sinput}{minted}{r}
\DefineVerbatimEnvironment{Scode}{minted}{r}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Dir*_*tel 5

是的,看一下Rcpp的一些小插曲,例如(仅选一个)Rcpp-FAQ pdf.

我们使用Romain 的亮点,它本身可以通过Andre Simon 的hightlight二进制文件进行播放.它使所有内容更加复杂 - 为小插图制作文件等 - 但我们从R和C/C++代码获得了丰富多彩的输出.这值得.


小智 5

我有一个适合我的解决方案,我没有在任何其他系统上尝试过,所以事情可能无法为您开箱即用.我在https://gist.github.com/797478上发布了一些代码,这是一组修改后的Rweave驱动程序函数,它们使用了铸造块而不是逐字块.

要使用此驱动程序,只需在使用driver = RweaveLatexMinted()选项调用Sweave函数时指定它.


dar*_*zig 3

您可能会对 tex.StackExchange 上的这个主题感兴趣,因为它建议在 R 中加载SweaveListingUtils 包以轻松解决问题。