5

我想在 LaTeX 文档中演示带有 knitr <<..>>= 序言的 R 代码示例。这是我想要的输出示例:

代码片段

它必须很简单 - 但我错过了一些东西。我检查了文档并扫描了堆栈溢出 - 但没有运气。这是一个MWE:

    \documentclass{article}
    \begin{document}
    <<mychunk, cache=TRUE, eval=FALSE, dpi=100>>=
    "hello world" 
    @
    \end{document}

建议?我尝试在 LaTex 中缩进代码并包装在一个verbatim块中,但只得到了错误。

4

3 回答 3

6

我刚刚检查了knitr的手册。这就是包作者解决问题的方式:

<<use-ext-chunk, echo=FALSE, comment=NA>>=
cat('<<Q1, echo=TRUE, tidy=TRUE>>=','@',sep='\n')
@

它产生如 knitr手册第 9 页所示的输出

这是一个最小的例子:

\documentclass[a4paper]{article}
\begin{document}


<<use-ext-chunk, echo=FALSE, comment=NA>>=
  cat('<<Q1, echo=TRUE, tidy=TRUE>>=','@',sep='\n')
@

\end{document}

产生附加的输出。

在此处输入图像描述

于 2012-11-12T14:50:30.647 回答
4

一年前我在 tex.stackexchange.com 上遇到了同样的问题,并得到了一些不错的回复:https ://tex.stackexchange.com/q/35485/3419 。这是为了,Sweave但我认为它在knitr.

我想我最终只是在逐字环境中使用\Sexpr{"<<>>="}和。\Sexpr{"@"}例如:

\documentclass{article}
\begin{document}
\begin{verbatim}
\Sexpr{"<<mychunk, cache=TRUE, eval=FALSE, dpi=100>>="}
"hello world" 
\Sexpr{"@"}
\end{verbatim}
\end{document}
于 2012-11-12T14:22:45.790 回答
3

只是快速跟进:此功能已在knitr开发版本> = 0.8.15)中实现;请参阅RnwRmd的示例。另一种解决方案在knitrFAQ中。

于 2012-11-13T23:10:29.430 回答