6

If I compile the same document locally, with pdflatex shipped with TeXLive2019 installed, I get a different pdf than if I compile the same sources on arXiv, which currently uses TeXLive2016.

I narrowed down the main issue to be a different behaviour of the microtype package. An MWE:

\documentclass{article}
\usepackage{microtype}
\usepackage{lipsum}

\begin{document}
\lipsum
\end{document}

I uploaded to arXiv the following files:

  • the MWE above
  • microtype.sty, microtype-pdftex.def and microtype.cfg from my distribution

I still get discrepancies (highlighted by overlaying the 2016-compiled document in red):

discrepancies

This is the log from arXiv, using microtype with the verbose option.

TeX log appears below
[verbose]: Creating arXiv submission AutoTeX object
[verbose]: *** Using TeX Live 2016 ***
[verbose]: Calling arXiv submission AutoTeX process
[verbose]: TeX/AutoTeX.pm: admin_timeout = minion
[verbose]: <llncs.cls> is of type 'TeX auxiliary'.
[verbose]: <microtype.sty> is of type 'TeX auxiliary'.
[verbose]: <main.tex> is of type 'LATEX2e'.
[verbose]: <microtype-pdftex.def> is of type 'TeX auxiliary'.
[verbose]: <splncs04.bst> is of type 'TeX auxiliary'.
[verbose]: <microtype.cfg> is of type 'TeX auxiliary'.
[verbose]: <mathtools.sty> is of type 'TeX auxiliary'.
[verbose]: <mhsetup.sty> is of type 'TeX auxiliary'.
[verbose]: ~~~~~~~~~~~ Processing file 'main.tex'
[verbose]: arXiv Warning: user included plain hyperref directive.
[verbose]: TEXMFCNF is unset.
[verbose]: ~~~~~~~~~~~ Running hlatex for the first time ~~~~~~~~
[verbose]: Running: "(export HOME=/tmp PATH=/texlive/2016/bin/arch:/bin; cd /submissions/2920347/ && latex 'main.tex' < /dev/null)" 2>&1
[verbose]: This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(./main.tex
LaTeX2e <2016/03/31> patch level 3
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
(/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty
(/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/texlive/2016/texmf-dist/tex/latex/graphics-def/dvips.def)) (./microtype.sty
(/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(./microtype-pdftex.def) (./microtype.cfg))
(/texlive/2016/texmf-dist/tex/latex/lipsum/lipsum.sty)
(/texlive/2016/texmf-dist/tex/latex/hyperref/hyperref.sty
(/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/texlive/2016/texmf-dist/tex/latex/oberdiek/auxhook.sty)
(/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty)
(/texlive/2016/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/texlive/2016/texmf-config/tex/latex/latexconfig/hyperref.cfg)
(/texlive/2016/texmf-dist/tex/latex/url/url.sty))

Package hyperref Message: Driver (default): hdvips.

(/texlive/2016/texmf-dist/tex/latex/hyperref/hdvips.def
(/texlive/2016/texmf-dist/tex/latex/hyperref/pdfmark.def
(/texlive/2016/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty)))
No file main.aux.
(/texlive/2016/texmf-dist/tex/latex/microtype/mt-cmr.cfg)
(/texlive/2016/texmf-dist/tex/latex/hyperref/nameref.sty
(/texlive/2016/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))

Package hyperref Warning: Rerun to get /PageLabels entry.

[1] [2] (./main.aux)

Package rerunfilecheck Warning: File `main.out' has changed.
(rerunfilecheck) Rerun to get outlines right
(rerunfilecheck) or use package `bookmark'.

)
Output written on main.dvi (2 pages, 8744 bytes).
Transcript written on main.log.

[verbose]: ~~~~~~~~~~~ Running hlatex for the second time ~~~~~~~~
[verbose]: Running: "(export HOME=/tmp PATH=/texlive/2016/bin/arch:/bin; cd /submissions/2920347/ && latex 'main.tex' < /dev/null)" 2>&1
[verbose]: This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(./main.tex
LaTeX2e <2016/03/31> patch level 3
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/texlive/2016/texmf-dist/tex/latex/base/size10.clo))
(/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty
(/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/texlive/2016/texmf-dist/tex/latex/graphics-def/dvips.def)) (./microtype.sty
(/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty)
(./microtype-pdftex.def) (./microtype.cfg))
(/texlive/2016/texmf-dist/tex/latex/lipsum/lipsum.sty)
(/texlive/2016/texmf-dist/tex/latex/hyperref/hyperref.sty
(/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/texlive/2016/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/texlive/2016/texmf-dist/tex/latex/oberdiek/auxhook.sty)
(/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty)
(/texlive/2016/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/texlive/2016/texmf-config/tex/latex/latexconfig/hyperref.cfg)
(/texlive/2016/texmf-dist/tex/latex/url/url.sty))

Package hyperref Message: Driver (default): hdvips.

(/texlive/2016/texmf-dist/tex/latex/hyperref/hdvips.def
(/texlive/2016/texmf-dist/tex/latex/hyperref/pdfmark.def
(/texlive/2016/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))) (./main.aux)
(/texlive/2016/texmf-dist/tex/latex/microtype/mt-cmr.cfg)
(/texlive/2016/texmf-dist/tex/latex/hyperref/nameref.sty
(/texlive/2016/texmf-dist/tex/generic/oberdiek/gettitlestring.sty)) (./main.out
) (./main.out) [1] [2] (./main.aux) )
Output written on main.dvi (2 pages, 8744 bytes).
Transcript written on main.log.

[verbose]: Removing (La)TeX AUX file called 'main.aux' (1573234349 >= 1573234349)
[verbose]: Removing (La)TeX AUX file called 'main.out' (1573234349 >= 1573234349)
[verbose]: ~~~~~~~~~~~ Processing file 'main.dvi'
[verbose]: Running: "(export HOME=/tmp PATH=/texlive/2016/bin/arch:/bin; cd /submissions/2920347/ && dvips -R2 -z 'main.dvi' -o )" 2>&1
[verbose]: dvi(h)ps said ...
This is dvips(k) 5.996 Copyright 2016 Radical Eye Software (www.radicaleye.com)
' TeX output 2019.11.08:1732' -> main.ps
</texlive/2016/texmf-dist/dvips/base/texc.pro>
</texlive/2016/texmf-dist/dvips/base/texps.pro>
</texlive/2016/texmf-dist/dvips/base/special.pro>
</texlive/2016/texmf-dist/dvips/base/color.pro>
</texlive/2016/texmf-dist/dvips/base/hps.pro>.
</texlive/2016/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>[1] [2]
<./head.tmp><./body.tmp>
.
[verbose]: Backing up 'main.ps'. Going to change %%Title line.
[verbose]: %%Title: line found and changed.
[verbose]: Title change completed.
[verbose]: Backing up 'main.ps'. Going to add a name/date stamp to it.
[verbose]: OK, inserting the stamp
[verbose]: Stamping completed.
[verbose]: All done.

[verbose]: AutoTeX process succeeded
[verbose]: Processing DVI
[verbose]: Gzipping and moving main.dvi
[verbose]: Gzipping ...2920347/main.dvi
[verbose]: Processing postscript
[verbose]: Creating AutoTeX file for llncs.cls
[verbose]: Creating AutoTeX file for main.dvi
[verbose]: Creating AutoTeX file for main.dvi.gz
[verbose]: Creating AutoTeX file for main.ps
[verbose]: Creating AutoTeX file for main.tex
[verbose]: Creating AutoTeX file for mathtools.sty
[verbose]: Creating AutoTeX file for mhsetup.sty
[verbose]: Creating AutoTeX file for microtype-pdftex.def
[verbose]: Creating AutoTeX file for microtype.cfg
[verbose]: Creating AutoTeX file for microtype.sty
[verbose]: Creating AutoTeX file for splncs04.bst
[verbose]: Creating AutoTeX file for style
[verbose]: Gzipping ...2920347/main.ps
[verbose]: Moving .../2920347/main.ps.gz => .../2920347/tex_cache/2920347.ps.gz

[verbose]: Moving .../2920347/main.dvi.gz => .../2920347/tex_cache/2920347.dvi.gz

[verbose]: All generated files successfully moved.
[verbose]: ** AutoTeX job completed. **
  • There's been no change in font for pdfTeX, and there will likely never be. Can you post a short example? – Joseph Wright Nov 8 at 11:16
  • As always on the site, plaase provide code (full example) that others can coipy and test. Several of us have access to several years of TL installations. – daleif Nov 8 at 11:16
  • Ok, I verified that the fontdimen are the same on both systems by printing them out and comparing. I'll try to come up with a MWE – Bordaigorl Nov 8 at 11:23
  • Ok, so I narrowed it down to two packages. First is mathtools, uploading the recent version with the sources solves the script placement issue I was having. The second is microtype. – Bordaigorl Nov 8 at 12:15
  • 1
    @cfr Interestingly, dviluatex (ie.luatex in dvi mode) manages to do font expansion in a way that doesn't make dvips choke. – Robert Nov 9 at 1:36
5

As can be gleaned from the log file, your document is processed with latex (and then dvips) rather than pdflatex. Unlike the latter, latex does not allow automatic font expansion, which is therefore disabled by microtype, hence the discrepancies compared to your document compiled with pdflatex.

ArXiv's submission help page states that adding the line

\pdfoutput=1

to the beginning of your document will ensure compilation with pdflatex, thus allowing font expansion.

  • What tells latex was being used? I saw pdfTeX mentioned and erroneously ruled that out... – Bordaigorl Nov 8 at 22:38
  • The line starting with Running contains the command latex and the output is a dvi file. That means pdflatex was used in DVI mode. – Robert Nov 8 at 22:41
  • Thank you, I managed to miss that one facepalm. Every time I have to work with arXiv I have to rediscover the \pdfoutput=1 thing (it came up for all other submissions for different reasons!) I wonder why it is not just the default, or recommended more prominently – Bordaigorl Nov 9 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.