当 R 使用 pdf() 创建 PDF 时,它在 PDF 中包含 CreationDate 和 ModDate。我在 svn 存储库中有许多此类生成的 PDF,结果是当 R 重新制作图形时,即使使用相同的数据,它们也会显示为修改(正确地)为 svn。让两个人一起玩得很好的最好方法是什么?
我可以简单地从 R 之外的 PDF 中删除这些行,但是这个额外的步骤是不可取的。
作为运行脚本的一部分,我可以将系统时间设置为某个固定值,但这更不理想。
我什至可以说服 svn 使用专门的 diff 忽略这些行上的更改,但这听起来比它值得的麻烦。
一个非常令人愉快的解决方案是,如果有一种方法可以防止 R 首先将这些行放在 PDF 文件中。我有一个文件系统可以告诉我文件是何时创建和修改的,非常感谢,我也不需要将这些信息存储在文件中。
我同意 Tal 的观点,生成的文件不应该受到版本控制。
关于你原来的问题,我认为答案是否定的,你无法阻止 R 这样做。我在 R pdf 帮助文件中没有发现此类选项,http://www.r-cookbook.com/rhelp/pdf.html
如果您查看 R 内部的 pdf 函数(只需执行“pdf”,不带任何括号即可打印代码),它实际上会通过调用创建 pdf 文件:
.External(PDF, file, old$paper, old$family, old$encoding, old$bg, old$fg,
old$width, old$height, old$pointsize, onefile, old$pagecentre, old$title,
old$fonts, version[1L], version[2L], old$colormodel, old$useDingbats,
old$useKerning)
Run Code Online (Sandbox Code Playgroud)
没有提及您正在寻找的选项,所以您可能不走运。除非您想追踪 R 用于生成 PDF 的代码并对其进行更改。