1

I have a two-column small-font LaTeX document (a long paper spread onto several source files). A PDF file was compiled from it using TeX Live (which was in stock Debian, stock Ubuntu, or locally installed) in January 2022:

$ pdfinfo main.pdf
Title:           …
Subject:         
Keywords:        
Author:          …
Creator:         LaTeX with hyperref
Producer:        pdfTeX-1.40.21
CreationDate:    Sat Jan  1 03:19:53 2022 CET
ModDate:         Sat Jan  1 03:19:53 2022 CET
Custom Metadata: yes
Metadata Stream: no
Tagged:          no
UserProperties:  no
Suspects:        no
Form:            none
JavaScript:      no
Pages:           31
Encrypted:       no
Page size:       595.276 x 841.89 pts (A4)
Page rot:        0
File size:       743054 bytes
Optimized:       no
PDF version:     1.5

Compiling the same sources today yields

$ pdfinfo main.pdf
Title:           …
Subject:         
Keywords:        
Author:          …
Creator:         LaTeX with hyperref
Producer:        pdfTeX-1.40.25
CreationDate:    Sat Dec  9 22:43:25 2023 CET
ModDate:         Sat Dec  9 22:43:25 2023 CET
Custom Metadata: yes
Metadata Stream: no
Tagged:          no
UserProperties:  no
Suspects:        no
Form:            none
JavaScript:      no
Pages:           31
Encrypted:       no
Page size:       595.276 x 841.89 pts (A4)
Page rot:        0
File size:       998103 bytes
Optimized:       no
PDF version:     1.5

Viewing the changes between the old main.pdf and the new main.pdf via diffpdf yields way too many red markings in any mode (word comparison, character comparison, visual comparison). So, at least with its default options, diffpdf is useless in this case: using it would boil down to manually examining all the text on the 2 × 31 pages side by side. Though, upon the examination of the first lines of the first page (title, authors, and abstract), you find that the font smoothing/antialiasing is working now whereas it did not work (properly) earlier, and that the occurrences of the ligature fi are now marked as different between the versions. You wish to understand whether there are more important changes beyond this (e.g., characters displayed improperly or differently, unexpected changes in how TikZ draws stuff now, any errors in references/citations, any hyphenation errors, …). Unfortunately, the old main.log is no longer available. The new main.log contains warnings about lots of stuff, including undefined and multiply-defined stuff, but, as you're using the package xr-hyper to produce your documents (main.pdf as the abriged version of the paper, and apart thereof you may produce from the same sources another PDF file for the supplemental material containing mathematical proofs, and you may also produce yet one more PDF file for everything together), at least some such warnings on undefined or multiply-defined labels are not completely unexpected.

Is there any way to “roughen” diffpdf, or is there any other tool that would compare the old main.pdf and the new main.pdf more coarsely than diffpdf?

I tried comparing the texts, but the amount of changes is huge:

$ diff -d <(pdftotext new_main.pdf -) <(pdftotext old_main.pdf -)|wc -l
12812

Comparing the fonts yields a bit more information:

$ diff -d <(pdffonts new_main.pdf) <(pdffonts old_main.pdf)
3,55c3,56
< KYESCI+SFRM1728                      Type 1            Custom           yes yes yes     22  0
< YHWNWE+SFCC1200                      Type 1            Custom           yes yes yes     23  0
< UFXXMG+SFCC0800                      Type 1            Custom           yes yes yes     24  0
< TQJZEA+SFTI0700                      Type 1            Custom           yes yes yes     25  0
< IXSXOZ+SFTI0900                      Type 1            Custom           yes yes yes     26  0
< PIFFSP+SFBX0900                      Type 1            Custom           yes yes yes     27  0
< ZPBWIJ+SFBX1000                      Type 1            Custom           yes yes yes     30  0
< EYUFFD+SFCC1000                      Type 1            Custom           yes yes yes     31  0
< UPNPHM+SFRM1000                      Type 1            Custom           yes yes yes     32  0
< JIZZNP+SFTI1000                      Type 1            Custom           yes yes yes     35  0
< XAOMZI+CMR10                         Type 1            Builtin          yes yes yes     36  0
< VSAEDQ+CMMI10                        Type 1            Builtin          yes yes yes     69  0
< DITMCZ+CMSY10                        Type 1            Builtin          yes yes yes     70  0
< DIERKS+CMR7                          Type 1            Builtin          yes yes yes     71  0
< CHUDXO+SFRM0700                      Type 1            Custom           yes yes yes     73  0
< UPNPHM+SFRM1000                      Type 1            Custom           yes yes yes     74  0
< ADNPKL+SFRM0600                      Type 1            Custom           yes yes yes     75  0
< EHAKQD+SFRM0800                      Type 1            Custom           yes yes yes     77  0
< KUUXAH+SFTT1000                      Type 1            Custom           yes yes yes    112  0
< RQSHZS+CMTT10                        Type 1            Builtin          yes yes yes    226  0
< DSIQTY+BBOLD10                       Type 1            Builtin          yes yes yes    229  0
< ULAAHX+CMTI10                        Type 1            Builtin          yes yes yes    231  0
< OVETDW+CMMI7                         Type 1            Builtin          yes yes yes    232  0
< TGNRDB+SFRM0900                      Type 1            Custom           yes yes yes    243  0
< CYIPZU+MSAM10                        Type 1            Builtin          yes yes yes    262  0
< PGWCIV+CMEX10                        Type 1            Builtin          yes yes yes    264  0
< AWNQRZ+CMSY7                         Type 1            Builtin          yes yes yes    265  0
< OYQULM+EUFM10                        Type 1            Builtin          yes yes yes    266  0
< UWDUBS+CMR5                          Type 1            Builtin          yes yes yes    267  0
< ZSIWIM+CMSS10                        Type 1            Builtin          yes yes yes    268  0
< LUAFXG+rsfs10                        Type 1            Builtin          yes yes yes    269  0
< HQDOIX+CMMI12                        Type 1            Builtin          yes yes yes    279  0
< XLUXEV+CMR8                          Type 1            Builtin          yes yes yes    280  0
< CHYDRB+MSBM10                        Type 1            Builtin          yes yes yes    301  0
< SFQIJW+CMSS9                         Type 1            Builtin          yes yes yes    303  0
< ECGVGR+CMR9                          Type 1            Builtin          yes yes yes    304  0
< BHDBNY+CMMI9                         Type 1            Builtin          yes yes yes    305  0
< JIXOQS+CMSY9                         Type 1            Builtin          yes yes yes    308  0
< ECVLCM+SFIT0900                      Type 1            Custom           yes yes yes    328  0
< OPCRBH+TeX-mathb10                   Type 1            Builtin          yes yes yes    373  0
< ITPTFC+CMSS8                         Type 1            Builtin          yes yes yes    406  0
< BNEURD+stmary10                      Type 1            Builtin          yes yes yes    412  0
< UQNTKJ+CMMI8                         Type 1            Builtin          yes yes yes    421  0
< RFERWT+CMMI5                         Type 1            Builtin          yes yes yes    444  0
< MBBTWW+TeX-mathb7                    Type 1            Builtin          yes yes yes    445  0
< GKIQMS+CMSY5                         Type 1            Builtin          yes yes yes    446  0
< TURIVV+CMSY8                         Type 1            Builtin          yes yes yes    451  0
< ORHOJI+CMR6                          Type 1            Builtin          yes yes yes    452  0
< QRAQFO+SFTI0800                      Type 1            Custom           yes yes yes    613  0
< IPQGLW+BBOLD7                        Type 1            Builtin          yes yes yes    654  0
< WWCTIW+CMEX7                         Type 1            Builtin          yes yes yes    674  0
< JPVWTM+SFIT1000                      Type 1            Custom           yes yes yes    741  0
< WEZJQK+SFTT0900                      Type 1            Custom           yes yes yes   1010  0
---
> [none]                               Type 3            Custom           yes no  no      22  0
> [none]                               Type 3            Custom           yes no  no      23  0
> [none]                               Type 3            Custom           yes no  no      24  0
> [none]                               Type 3            Custom           yes no  no      25  0
> [none]                               Type 3            Custom           yes no  no      26  0
> [none]                               Type 3            Custom           yes no  no      27  0
> [none]                               Type 3            Custom           yes no  no      30  0
> [none]                               Type 3            Custom           yes no  no      31  0
> [none]                               Type 3            Custom           yes no  no      32  0
> [none]                               Type 3            Custom           yes no  no      33  0
> [none]                               Type 3            Custom           yes no  no      36  0
> XAOMZI+CMR10                         Type 1            Builtin          yes yes no      37  0
> VSAEDQ+CMMI10                        Type 1            Builtin          yes yes no      70  0
> DITMCZ+CMSY10                        Type 1            Builtin          yes yes no      71  0
> DIERKS+CMR7                          Type 1            Builtin          yes yes no      72  0
> [none]                               Type 3            Custom           yes no  no      74  0
> [none]                               Type 3            Custom           yes no  no      75  0
> [none]                               Type 3            Custom           yes no  no      76  0
> [none]                               Type 3            Custom           yes no  no      78  0
> [none]                               Type 3            Custom           yes no  no     113  0
> RQSHZS+CMTT10                        Type 1            Builtin          yes yes no     227  0
> DSIQTY+BBOLD10                       Type 1            Builtin          yes yes no     230  0
> ULAAHX+CMTI10                        Type 1            Builtin          yes yes no     232  0
> OVETDW+CMMI7                         Type 1            Builtin          yes yes no     233  0
> [none]                               Type 3            Custom           yes no  no     244  0
> CYIPZU+MSAM10                        Type 1            Builtin          yes yes no     263  0
> PGWCIV+CMEX10                        Type 1            Builtin          yes yes no     265  0
> AWNQRZ+CMSY7                         Type 1            Builtin          yes yes no     266  0
> OYQULM+EUFM10                        Type 1            Builtin          yes yes no     267  0
> UWDUBS+CMR5                          Type 1            Builtin          yes yes no     268  0
> ZSIWIM+CMSS10                        Type 1            Builtin          yes yes no     269  0
> LUAFXG+rsfs10                        Type 1            Builtin          yes yes no     270  0
> HQDOIX+CMMI12                        Type 1            Builtin          yes yes no     280  0
> XLUXEV+CMR8                          Type 1            Builtin          yes yes no     281  0
> CHYDRB+MSBM10                        Type 1            Builtin          yes yes no     302  0
> SFQIJW+CMSS9                         Type 1            Builtin          yes yes no     304  0
> ECGVGR+CMR9                          Type 1            Builtin          yes yes no     305  0
> BHDBNY+CMMI9                         Type 1            Builtin          yes yes no     306  0
> JIXOQS+CMSY9                         Type 1            Builtin          yes yes no     309  0
> [none]                               Type 3            Custom           yes no  no     329  0
> OPCRBH+TeX-mathb10                   Type 1            Builtin          yes yes no     374  0
> ITPTFC+CMSS8                         Type 1            Builtin          yes yes no     407  0
> BNEURD+stmary10                      Type 1            Builtin          yes yes no     413  0
> UQNTKJ+CMMI8                         Type 1            Builtin          yes yes no     422  0
> RFERWT+CMMI5                         Type 1            Builtin          yes yes no     445  0
> MBBTWW+TeX-mathb7                    Type 1            Builtin          yes yes no     446  0
> GKIQMS+CMSY5                         Type 1            Builtin          yes yes no     447  0
> TURIVV+CMSY8                         Type 1            Builtin          yes yes no     452  0
> ORHOJI+CMR6                          Type 1            Builtin          yes yes no     453  0
> [none]                               Type 3            Custom           yes no  no     614  0
> IPQGLW+BBOLD7                        Type 1            Builtin          yes yes no     655  0
> WWCTIW+CMEX7                         Type 1            Builtin          yes yes no     675  0
> [none]                               Type 3            Custom           yes no  no     742  0
> [none]                               Type 3            Custom           yes no  no    1009  0

Perhaps, any intermediate TeX Live version to grab and do the comparison twice: between the old main.pdf and the main.pdf generated by the intermediate TeX Live and then between the main.pdf generated by the intermediate TeX Live and the current main.pdf?

30
  • if you have both texlives available (or you can use overleaf which has a version of every texlive between 2014 -2023) it's much easier to compare the log file to the pdf (this is the basis of the l3build regression test system) add \showoutput and run on each system Dec 9, 2023 at 23:32
  • "At least some such warnings on undefined or multiply-defined labels are not completely unexpected." not really, not on any finished document. Dec 9, 2023 at 23:33
  • @DavidCarlisle I don't have an old texlive readily available. The only thing I easily see is pdfTeX-1.40.21 for the old version. I could hypothetically decompress the PDF files and look inside if it provides more data on the TeX Live used back then. Concerning xr-hyper, perhaps now there warnings for new documents can be avoided, but back in 2019, when the document sources were originally typed in (before the re-compilation in 2022 I mentioned in the question), I recall that the warnings were normal (or at least difficult to avoid without breaking something else).
    – AlMa1r
    Dec 9, 2023 at 23:34
  • as I say you can run the document at overleaf on any texlive back to 2014 pdftex 1.40.21 is texlive 2020 I guess. A bit old... Dec 9, 2023 at 23:38
  • 1
    xr(-hyper) has an impeccable pedigree and wouldn't force warnings, any such must be user error. Dec 9, 2023 at 23:40

0

You must log in to answer this question.

Browse other questions tagged .