Wie erstelle ich mit pdflatex byteweise konsistente Dokumente?

Wie erstelle ich mit pdflatex byteweise konsistente Dokumente?

Wenn ich pdflatex zweimal auf derselben .tex-Datei ausführe, erscheinen mir die Ergebnisse ähnlich, aber der Inhalt der Datei ist leicht unterschiedlich (wie eine MD5-Prüfsumme zeigt). Gibt es ein Flag, das ich an pdflatex übergeben kann, damit die Ausgabe konsistent bleibt?

Welche umweltrelevanten Metadaten können in meiner PDF-Datei enthalten sein? Wie kann ich das kontrollieren?

Aktualisieren:Wenn ich ein Diff -a ausführe, erhalte ich Folgendes:

> /CreationDate (D:20100413035938Z)
< /ModDate (D:20100413035938Z)
---
> /CreationDate (D:20100413041320Z)
> /ModDate (D:20100413041320Z)
106c106
< /ID [<41D2805AE64117914EDF6E09554EABAE> <41D2805AE64117914EDF6E09554EABAE>] >>
---
> /ID [<071832DAA2E77E13D96460479D9C6664> <071832DAA2E77E13D96460479D9C6664>] >>

Antwort1

Sie können den Inhalt des PDF-Infowörterbuchs mit dem \pdfinfoGrundelement von Pdftex ändern:

\def\fixedpdfdate{D:20100413000000+00'00'}
\pdfinfo{
    /Erstellungsdatum (\fixedpdfdate)
     /ModDate (\fixedpdfdate) }

Platzieren Sie dies gleich am Anfang des Dokuments: Es besteht die Gefahr, dass das Wörterbuch in mehreren Abschnitten ausgeschrieben wird.

Nachtrag Dank anein Duplikat der FrageAls ich bei tex.stackexchange.com danach gefragt wurde, erfuhr ich, dass sich der /IDam Ende des PDF an übergebene Wert startxrefvon Aufruf zu Aufruf von Pdftex immer noch ändert. Sie können den Inhalt von überschreiben /ID, anscheinend ohne negative Folgen: Bearbeiten Sie den Text des PDF zwischen dem /IDBezeichner an startxrefetwa wie folgt:

/ID [<B74AEC0FBDE0F25D7D2F5099291FEC6F> <B74AEC0FBDE0F25D7D2F5099291FEC6F>] >>
startxref
Zu:/ID [<0> <0>] >> startxref

Ich bezweifle, dass es möglich ist, innerhalb von Pdftex sicherzustellen, dass /ID unverändert bleibt, aber vielleicht ist dies in Luatex möglich.

Antwort2

Schauen Sie sich die -IOption an diff:

   -I PATTERN  --ignore-matching-lines=PATTERN
          Ignore changes whose lines all match PATTERN.

verwandte Informationen