
同じ .tex ファイルに対して pdflatex を 2 回実行すると、目には似たような結果が生成されますが、ファイルの内容はわずかに異なります (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
\pdfinfo
Pdftex のプリミティブを使用して、PDF の Info 辞書の内容を変更できます。
\def\fixedpdfdate{D:20100413000000+00'00'} \pdfinfo{ /作成日 (\fixedpdfdate) /ModDate (\fixedpdfdate) }
これをドキュメントの先頭に置きます。辞書が複数のチャンクに分割されて書き出されるリスクがあります。
追記
感謝質問の重複/ID
tex.stackexchange.com で質問したところ、 PDF の最後に に渡される値は、startxref
Pdftex の呼び出しごとに変わることがわかりました。 の内容を上書きしても、悪影響はないようです。次のよう に、識別子/ID
から までの PDF のテキストを編集します。/ID
startxref
/ID [<B74AEC0FBDE0F25D7D2F5099291FEC6F> <B74AEC0FBDE0F25D7D2F5099291FEC6F>] >> 開始xrefに:
/ID [<0> <0>] >> startxref
Pdftex 内から /ID が変更されないことを保証できるかどうかは疑問ですが、Luatex ではそれができるかもしれません。
答え2
-I
次のオプションを見てみましょうdiff
:
-I PATTERN --ignore-matching-lines=PATTERN
Ignore changes whose lines all match PATTERN.