将R标记中的代码背景色设置为PDF

将R标记中的代码背景色设置为PDF,r,markdown,knitr,pandoc,R,Markdown,Knitr,Pandoc,当使用RStudio和knitr将Rnw文件转换为PDF时,代码块的背景颜色为宜人的灰色(就像现在这样)。当我将md文件转换为PDF时,背景颜色为白色,我似乎无法更改它。knitr背景仅用于乳胶,在md中无效 如何为从md文件获取的PDF中的代码块设置背景色?我在一些相关问题中看到,编辑markdown.css文件可能是相关的,但我不确定这是否适用于这里,因为md和PDF文件之间没有html文件 可使用knitr示例和再现此效果 要将Rnw转换为PDF我只需单击RStudio中的“编译PDF”按

当使用RStudio和
knitr将
Rnw
文件转换为
PDF
时,代码块的背景颜色为宜人的灰色(就像现在这样)。当我将
md
文件转换为
PDF
时,背景颜色为白色,我似乎无法更改它。knitr
背景
仅用于乳胶,在
md
中无效

如何为从
md
文件获取的
PDF
中的代码块设置背景色?我在一些相关问题中看到,编辑markdown.css文件可能是相关的,但我不确定这是否适用于这里,因为
md
PDF
文件之间没有html文件

可使用knitr示例和再现此效果

要将
Rnw
转换为
PDF
我只需单击RStudio中的“编译PDF”按钮。下面是我如何将
md
转换为
PDF

# Load packages
require(knitr)
require(markdown)

setwd("C:/Users/.../Desktop/")

# Process .md and .pdf files
filen <- "myfile"
knit(paste0(filen,".md"))
system(paste0("pandoc -s ", paste0(filen,"-out.md"), " -t latex -o ", paste0(filen,".pdf")))
#加载包
需要(knitr)
要求(降价)
setwd(“C:/Users/../Desktop/”)
#处理.md和.pdf文件

filen既然您已经使用Pandoc进行了设置,那么您应该能够使用Pandoc的
--highlight style
参数来实现这一点。从:

--highlight style=style指定要在高亮显示的源代码中使用的着色样式。选项包括pygments(默认)、kate、, 单色、浓缩咖啡、岑本、黑线鳕和探戈

如果未指定标记文件中每个代码块包含的语言,则可能还必须设置
--缩进代码类
参数:

--缩进代码类=类指定用于缩进代码块的类,例如perl、numberLines或haskell。多类 可以用空格或逗号分隔


从内存来看,我认为这可能需要一个像
fancyvrb
这样的latex包,所以你可能必须在它工作之前安装它。

马吕斯的答案正是我想要的。由于评论无法拍摄图像,我在这里粘贴了一些截图,以防其他人对此感到好奇

为了在从
md
生成的
PDF
中获得代码背景,我对代码进行了如下调整:

# Load packages
require(knitr)
require(markdown)

setwd("C:/Users/.../Desktop/")

# Create .md and .pdf files
filen <- "test"
knit(paste0(filen,".md"))
system(paste0("pandoc -s ", paste0(filen,"-out.md"), " -t latex -o ", paste0(filen,".pdf"), " --highlight-style=tango -S"))
#加载包
需要(knitr)
要求(降价)
setwd(“C:/Users/../Desktop/”)
#创建.md和.pdf文件

是的,完成了,谢谢。我发现--缩进的代码类不是必需的,fancyvrb也不是必需的(除非我以前安装了它并且忘记了它)。对于
system()
命令,这就是
pandoc()
函数的作用:感谢您的签入!我们可以为您的pandoc函数提供panodoc参数吗?与其在md文件中有一个配置文件或嵌入配置(或者这是否违背了函数的目的…),听起来是个好主意。我可能需要考虑一下。在这种情况下,我想
system()
pandoc()
需要大致相同的打字工作量,所以请随意使用
system()
:)好吧,这只是一个小细节,丝毫不会减损您的
knitr
软件包的辉煌。对我来说(我相信还有很多其他人),像
knitr
ggplot2
plyr
data.table
这样的软件包极大地提高了
R
的多功能性、可访问性和吸引力。