使用knitr设计R输出

时间:2014-02-09 15:01:14

标签: r latex knitr pandoc

我正在从R markdown文件(.Rmd)生成pdf文件。我想用LaTeX列表包来设置输出的样式。有没有办法在.Rmd文件中指明将R输出包装成哪种样式?

例如,以下Rmd:

```{R}
1:10
````

通过knitr和pandoc生成:

\begin{lstlisting}[language=R]
1:10
\end{lstlisting}

\begin{lstlisting}
[1]  1  2  3  4   5  6  7  8  9  10
\end{lstlisting}

我还没有找到区分pdf输出中两个列表的方法。我想我需要一个或两个lstlist上的样式,或者为输出提供一个语言选项,然后我可以添加到标题中。例如,这将起作用:

\begin{lstlisting}[language=R,style=Rsource]
1:10
\end{lstlisting}

\begin{lstlisting}
[1]  1  2  3  4   5  6  7  8  9  10
\end{lstlisting}

因为我可以在标题中添加一些内容来设置Rsource的样式,与默认列表不同:

\lstset{language=R,frame=single}

\lstdefinestyle{Rsource}{
  backgroundcolor=\color[gray]{0.95},
}

此框既是代码又是输出,但仅遮蔽代码。有没有办法从Rmd源中指定它? 我不想手动更改tex输出。

我知道我可以使用pandoc --highlighting-style选项,这是我的替代方法。但是,我想将代码和输出都包装起来,并且只对代码进行着色。我知道如何使用列表样式(一旦列表标有正确的选项),但我不确定它是否可以使用pandoc样式。

的后续

我通过sed过滤pandoc输出来添加我需要的样式选项,从而得到了解决方案。有关详细信息,请参阅tex.stackexchange上我的相关帖子。我仍然对使用knitr和/或pandoc的内置功能的答案感兴趣。

0 个答案:

没有答案