我正在从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的内置功能的答案感兴趣。