Gépelj a kereséshez. Nyilakkal lépkedhetsz, Enter megnyit, Esc bezár.

Összes kutatás
DokumentumgenerálásÁllapot: 2026-10

Reprodukálható PDF-kimenet

Hogyan változnak a commitolt minta-PDF-ek csak tartalmi változáskor, hogy egy újrabuild ne hagyjon maga után nyolc módosított bináris fájlt.

Kutatási kérdés: Hogyan változhat egy commitolt PDF csak akkor, ha a tartalma valóban változott?

Projektigény

A minta-PDF-ek commitolva vannak, hogy a README előnézete és a letöltés build nélkül is működjön. Ha minden build új időbélyeget ír a PDF-be, minden futás nyolc módosított bináris fájlt mutat, és elvész a valódi változás.

Módszer és ellenőrzés

  • Fordítás rögzített SOURCE_DATE_EPOCH értékkel és FORCE_SOURCE_DATE=1 beállítással.
  • latexmk -g, amely akkor is lefuttatja a fordítást, ha a latexmk nem lát változást.
  • Két egymás utáni teljes build összevetése fájlhash alapján.
  • Minden build után pdfinfo az oldalszámhoz, a levélnél szószámlálás.

Eredmények

  • A két build hash-egyezően azonos PDF-eket adott, így a commitolt kimenet csak a tartalommal együtt változik.
  • FORCE_SOURCE_DATE=1 nélkül a pdfTeX a SOURCE_DATE_EPOCH-ot csak a metaadatokban használja, a szövegben megjelenő dátumokban, például a \today-ben nem.
  • A latexmk nem észleli a környezeti változók, például az időbélyeg vagy a TEXINPUTS változását, ezért kell a -g kapcsoló.
  • A mérhető korlátok, az egyoldalas CV és a levél nyelvenkénti szószám-tartománya, a build részeként futnak, nem utólagos kézi ellenőrzésként.

Döntés

Rögzített időbélyeg a buildben, latexmk -g, és build utáni oldal- és szószám-ellenőrzés, amely figyelmeztet, de nem állítja le a buildet, mert a hosszabb CV is használható kimenet.

Korlátok és nyitott kérdések

  • Egy gépen, egy TeX-telepítéssel ellenőrizve; más TeX Live verzió eltérő bájtokat adhat (nem ellenőrzött).
  • Automatikus PDF-build CI-ban még nincs.

Források