
當我在同一個 .tex 檔案上執行 pdflatex 兩次時,它會產生與我相似的結果,但檔案的內容略有不同(如 md5 校驗和所示)。是否有任何標誌可以傳遞給 pdflatex 來保持輸出一致?
我的 pdf 中可能包含哪些環境敏感元資料?我怎樣才能控制它?
更新:進行 diff -a 後,我發現以下:
> /CreationDate (D:20100413035938Z)
< /ModDate (D:20100413035938Z)
---
> /CreationDate (D:20100413041320Z)
> /ModDate (D:20100413041320Z)
106c106
< /ID [<41D2805AE64117914EDF6E09554EABAE> <41D2805AE64117914EDF6E09554EABAE>] >>
---
> /ID [<071832DAA2E77E13D96460479D9C6664> <071832DAA2E77E13D96460479D9C6664>] >>
答案1
您可以使用 Pdftex 的原語來變更 PDF 資訊字典的內容\pdfinfo
:
\def\fixedpdfdate{D:20100413000000+00'00'} \pdf資訊{ /CreationDate (\fixedpdfdate) /ModDate (\fixedpdfdate) }
將其放在文件的開頭:存在字典被分成幾個區塊寫出的風險。
後記
謝謝問題的重複項在 tex.stackexchange.com 上詢問時,我了解到/ID
在 PDF 末尾傳遞的值startxref
在調用 Pdftex 時仍然會發生變化。您可以破壞 的內容,顯然不會產生不良影響:將標識符/ID
之間的 PDF 文字編輯為:
/ID
startxref
/ID [<B74AEC0FBDE0F25D7D2F5099291FEC6F> <B74AEC0FBDE0F25D7D2F5099291FEC6F>] >> 啟動外部參照到:
/ID [<0> <0>] >> startxref
我懷疑是否有可能確保 /ID 在 Pdftex 中不變,但也許可以在 Luatex 中完成。
答案2
看看以下-I
選項diff
:
-I PATTERN --ignore-matching-lines=PATTERN
Ignore changes whose lines all match PATTERN.