2009-04-30 85 views
4

當R使用pdf()創建PDF時,它包含PDF中的CreationDate和ModDate。我在svn倉庫中有許多這樣生成的PDF,其效果是,當數據被R重新映射時,即使使用相同的數據,它們也會像svn一樣被修改(正確)。讓兩者在一起打好的最好方法是什麼?抑制或設置R中的CreationDate/ModDate pdf輸出

我可以簡單地從R以外的PDF中刪除這些行,但這種額外的步驟是不可取的。
作爲運行腳本的一部分,我可以將系統時間設置爲某個固定值,但這更不理想。
我甚至可以說服svn使用忽略這些行上的變化的專門差異,但這聽起來像是比它的價值更麻煩。

一個非常令人愉快的解決方案是,如果有一種方法可以防止R將這些行放在PDF文件中。我有一個文件系統告訴我什麼時候創建和修改了文件,非常感謝,我也不需要存儲在文件中的信息。

回答

3

我同意Tal,生成的文件不應該在版本控制。

關於你原來的問題,我認爲答案是否定的,你不能阻止R這樣做。我發現沒有提到在R PDF格式的幫助文件等選項,http://www.r-cookbook.com/rhelp/pdf.html

如果你看一看的PDF功能的R內(只執行「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) 

沒有提及你正在尋找的選項,所以你可能運氣不好。除非您想追蹤R用於生成PDF並更改它的代碼。

3

雖然這實際上並沒有回答你的問題,但通常最好從源代碼管理中排除自動生成的文件,正是出於這個原因。

+1

我不完全同意。例如,在優化某些算法時,您需要確保優化不會更改輸出(可能會用於其他工作)。將輸出置於版本控制之下是一種測試方法,即使可能不是最佳方式。 – 2017-04-27 18:29:14