pdflatex를 사용하여 바이트 단위로 일관된 문서를 생성하려면 어떻게 해야 합니까?

pdflatex를 사용하여 바이트 단위로 일관된 문서를 생성하려면 어떻게 해야 합니까?

동일한 .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의 Info 사전 내용을 변경할 수 있습니다 \pdfinfo.

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

이것을 문서 시작 부분에 바로 넣으십시오. 사전이 여러 덩어리로 작성될 위험이 있습니다.

추신 덕분에질문의 중복/IDtex.stackexchange.com에서 질문을 받았을 때 PDF 끝 부분에 전달된 값이 startxrefPdftex 호출마다 여전히 변경된다는 것을 알게 되었습니다 . 분명히 부작용 없이 의 내용을 망칠 수 있습니다 . 식별자 /ID사이의 PDF 텍스트를 다음과 같이 편집합니다. /IDstartxref

/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.

관련 정보