r - 如何禁用 knitr 图中的透明度?

标签 r pdf-generation knitr

我有一个 LaTeX/knitr 文档,我需要将其转换为 PDF/A,但我收到有关使用透明度的错误(这在 PDF/A 中是不允许的)。我将其追溯到我通过 knitr 在 R 中生成的箱线图的背景填充。无论我使用“pdf”、“cairo_pdf”还是“tikzDevice”作为输出设备,都会产生相同的错误。

Tikz 输出包括以下内容:

\definecolor{fillColor}{RGB}{255,255,255}
\path[use as bounding box,fill=fillColor,fill opacity=0.00] (0,0) rectangle (505.89,325.21);

手动删除 fill opacity=0.00 部分并仅重新运行 pdflatex 会删除特定图形的消息,所以我很确定这就是原因。但是,我更愿意在源文件(R 代码)中进行更改,这样我就不必在每次源更改和重新生成中间文件时都手动进行此修复。

有谁知道在 R 中输入 bxppar 的神奇选项,这会转化为 1.0 的不透明度,或者更好的是,根本不指定填充? (填充是完全没有必要的,因为它是放置在页面空白部分的白色背景。)

(顺便说一句,我在 bxp 调用中尝试了 bg=NA,之前也尝试过 par(bg=NA),但都没有效果。就此而言,使用 "red" 也没有效果,因此这似乎不是正确的选择。)

最佳答案

显然,图形参数 (par=) 中的 bg 仅适用于图中的对象(如箱线图中的框)。整个情节的背景在 knitr 的 dev.args block 选项中设置,例如,全局:

opts_chunk$set(dev='tikz', dev.args=list(bg="white"))

或在特定 block 的开头。似乎没有办法完全删除填充选项(tikzDevice source code 中有一个“TODO”项),但将其更改为 “white” 已经消除了 PDF/A 验证错误,没有对文档的可见效果。一旦我的论文发表,也许我可以为此提交一个补丁。 :-)

关于r - 如何禁用 knitr 图中的透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36799611/

相关文章:

r - 包构建上的小插图创建失败,错误为 "Failed to locate the ‘weave’ 输出文件”

r - R中igraph网络中顶点的调色板

r - 在 R 中使用 geom_label_repel 将标签放在前面,将引线放在后面

java - 如何使用 iText5 在 PDF 中跨多个页面显示大尺寸图像?

html - 如何从 HTML 创建 "accessible"PDF?

c# - 如何向 PDF 添加可打印或不可打印的位图图章?

java - 可以推荐哪种语言用于文本挖掘/解析?

R:使用带有记事本的 foreach,投资组合已存在错误

r - 如何让xtable在knitr文档中默认绘制垂直线

r - 在 knitr/markdown 中更改代码块颜色