使用 environ 包和 knitr

使用 environ 包和 knitr

我正在处理一份 knitr 文档,并尝试将 knitr 输出放置在使用该environ包定义的新环境中。

下面的例子说明了这个问题。使用传统的 LaTeX 环境定义,生成的 LaTeX 输出符合预期,文档编译没有问题。(我想environ出于其他原因使用它。)但是使用该environ包,生成的 LaTeX 是相同的(除了下面指示的相关行),但文档无法编译,抛出多个错误。

\documentclass{article}

% This works
\newenvironment{newenv}{}{}

% This doesn't
\usepackage{environ}
\NewEnviron{newenv}{\BODY}{}

\begin{document}

\begin{newenv}
<<test>>=
l <- list(a=1)
print(l$a)
@ 
\end{newenv}
\end{document}

情况与本文描述的情况类似先前的问题但在这种情况下,内部环境实际上是四个嵌套的 knitr 环境。在我看来,这意味着针对该问题提供的两个解决方案(已接受的解决方案和包newenviron)在这里可能都是不可能的,或者至少非常丑陋。有什么建议吗?

相关内容