我正在处理一份 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
)在这里可能都是不可能的,或者至少非常丑陋。有什么建议吗?