【问题标题】:Change background colour of rmarkdown pdf output更改 rmarkdown pdf 输出的背景颜色
【发布时间】:2015-05-16 00:29:21
【问题描述】:

我目前正在使用 RStudio 0.98.1091,我正在尝试使用 rmarkdown 包中的渲染功能创建一个 pdf 文档。

R 脚本:

library("rmarkdown")
render("input.Rmd", "pdf_document")

输入.Rmd

---
title: "Report"
output: pdf_document 
---


<style>
  body {background-color:lightgray}
</style>
<body>
  <h1>This is a heading</h1>
  <p>This is a paragraph.</p>
</body>

我想设置整个报告的背景颜色,出于绝望我尝试了一些类似使用html的东西;没有结果。

该文档包含用 R 代码块、表格和文本绘制的图表。

再次,我想将文档背景颜色设置为其他颜色(当前为白色)。

谢谢,

零栈

我正在使用安装了 pandoc 和 MacTex 的 OS X 10.10.3。

【问题讨论】:

  • 解决方案需要程序化。

标签: r pdf render rstudio r-markdown


【解决方案1】:

嗯,一种解决方案是使用乳胶,即首先创建一个 .Rnw 文件,该文件加载乳胶 pagecolor 包:

\documentclass{article}
\usepackage{pagecolor}

\begin{document}

\pagecolor{yellow}
\section{A very yellow page}
<<plot1, echo=FALSE>>=
hist(rnorm(1000))
@
\clearpage
\subsection{Another yellow page}

<<summary1>>=
summary(mtcars)
@

\end{document}

在 RStudio 中,这将如下所示:

您现在想要将此.Rnw 文件转换为.tex 文件,然后再转换为.pdf 文件。最简单的方法就是按下 RStudio 中的Compile pdf 按钮(快捷键 Shift+Cmd+K)。 如果您想以编程方式执行此操作,您首先需要使用knitr::knit("foo.Rnw").Rnw 转换为.tex 文件,然后在命令行中执行:pdflatex foo.tex,这将生成.pdf 文件。

结果:

【讨论】:

  • 我认为这会很好,但问题是 pagecolor 包不适用于 R 版本 3.1.2
  • Pagecolor 是一个乳胶包。
  • 我不完全理解,我尝试运行您的代码并得到以下信息: LaTeX 错误:只能在序言中使用。 pandoc:从 TeX 源生成 PDF 错误错误:pandoc 文档转换失败,错误 43
  • 这是一个简单的问题,您如何将 Rnw 文件渲染为 pdf?
  • @ZeroStack 我刚刚在我的回答中描述了工作流程 - 请参阅编辑。
猜你喜欢
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
  • 2022-01-12
  • 2013-08-08
相关资源
最近更新 更多