我有一个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中提供bxp
或par
的魔术选项会转化为1.0的不透明度,或者更好的是,根本不指定填充? (填充是完全没必要的,因为它是一个白色背景放在页面的空白部分。)
(顺便说一句,我在bg=NA
电话中尝试了bxp
,之前尝试了par(bg=NA)
,但没有任何效果。就此而言,使用"red"
也没有效果,所以这似乎不是正确的选择。)
答案 0 :(得分:3)
显然,图形参数中的bg
(par=
)仅适用于图中的对象(如框图中的框)。整个情节的背景设置在knitr的dev.args
块选项中,例如全局:
opts_chunk$set(dev='tikz', dev.args=list(bg="white"))
或在特定块的开头。它似乎无法完全放弃填充选项(tikzDevice source code中有"" TODO"项目),但已将其更改为"white"
PDF / A验证错误,对文档没有明显影响。一旦我的论文进入,也许我可以为此提交补丁。 : - )