重新定义 LaTeX 中的 knitr 代码块分隔符,将 .Rnw 文件编译为 .tex 文件

重新定义 LaTeX 中的 knitr 代码块分隔符,将 .Rnw 文件编译为 .tex 文件

我正在尝试定义一些 LaTeX 命令/环境来处理 Rnw 文件(使用 R 包编译的 R + LaTeX 文档knitr)中的原始文本。目标是允许某人将 .Rnw 文件重命名为 .tex 文件,并能够编译文档,以便 LaTeX 为代码块放置占位符。这是针对在如何将 .tex 文件中的更改导出回源 .Rnw 文件

有两件事需要发生:\Sexpr{}需要重新定义和代码块序列

<< chunk-name, option1 = TRUE, option2 = FALSE, ...>>=
... R code ...
@

需要重新定义。重新定义\Sexpr{}很容易:

\newcommand{\Sexpr}[1]{\textbf{\#\#}}

然而,我正在努力如何定义一个控制序列(扩展?)来处理<<块名称,选项>>R 代码@

从技术上讲,我可以跳过所有错误,最终得到一个包含纯文本代码块的 LaTeX 文档。我可以接受这一点,但最好输出一个占位符,例如一个包含块名称但绝对不包含 R 代码的框。

编辑这看起来是正确的方向,但我无法理解发生了什么:https://tex.stackexchange.com/a/80370/82573

编辑 编辑因此,实际上主要问题似乎是_R 代码中的下划线(例如函数名称中的下划线)实际上导致了错误,因此verbatim需要某种方法来忽略代码或将其包装在环境中。

相关内容