20

The output of pdflatex has changed between TeX Live versions 2013 and 2014. A minimal example:

\documentclass[11pt,a4paper]{article}
\usepackage[papersize={104mm,16mm},vmargin=2mm,hmargin=2mm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[charter]{mathdesign}
\usepackage{microtype}
\thispagestyle{empty}

\begin{document}
x xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
\end{document}

Compiled with pdflatex from MacTeX 2013 (TeX Live 2013):

2013

Compiled with pdflatex from MacTeX 2014 (TeX Live 2014):

2014

In the first case, pdflatex is happy. In the second case, there is an overfull hbox. The relevant versions are:

This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
LaTeX2e <2011/06/27>
geometry 2010/09/12 v5.6
microtype 2013/05/23 v2.5a
mathdesign 2006/01/29 v1.55

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014)
LaTeX2e <2014/05/01>
geometry 2010/09/12 v5.6
microtype 2013/05/23 v2.5a
mathdesign 2013/08/29 v2.31

What has changed and why? Can I somehow use TeX Live 2014 in a backwards-compatible mode so that it does not change the layout of my documents?

Jukka Suomela
  • 20,795
  • 13
  • 74
  • 91
  • Can you please give the versions of the microtype package, also? I suspect it changed a little. – Tobias Aug 01 '14 at 18:50
  • @Tobias: see edit. – Jukka Suomela Aug 01 '14 at 18:54
  • I get exactly the same output with both TL 2013 and 2014 (also on a Mac) (Overfull box). Your mathdesign in TL 2013 is ancient; my TL 2013 has v. 2.31. So I suspect this is the issue. – Alan Munn Aug 01 '14 at 19:31
  • @AlanMunn: It is the version that came with TL 2013. See, e.g., https://www.tug.org/svn/texlive/tags/texlive-2013.1/Master/texmf-dist/tex/latex/mathdesign/mathdesign.sty?revision=30860&view=markup – Jukka Suomela Aug 01 '14 at 19:35
  • 1
    The change happened some times during the availability of TeX Live 2012. I suppose the release version of TL 2013 had the same fonts as TL 2012; but the result with TL 2013 at the last update is the same as in TL 2014. I don't think you can do much about this, other than using the older version. – egreg Aug 01 '14 at 19:46
  • @egreg: But precisely what could be the change here? As far as I can see, I am just printing some number of letters "x" using the Bitstream Charter font, and fonts do not change that often in a backwards-incompatible manner. – Jukka Suomela Aug 01 '14 at 19:55

1 Answers1

19

With TeX Live 2012, I get the following values for the font dimension parameters of the Charter main text font (at 11pt):

1: 0.0pt
2: 2.93286pt
3: 1.75551pt
4: 0.7043pt
5: 5.0563pt
6: 10.51207pt
7: 0.7043pt

With TeX Live 2014 (and with an updated TeX Live 2013), the parameters have the following values:

1: 0.0pt
2: 2.93286pt
3: 1.47168pt
4: 0.9671pt
5: 5.0563pt
6: 10.51207pt
7: 0.9671pt

The meaning of the parameters is

  1. slant per point
  2. interword space
  3. interword stretch
  4. interword shrink
  5. x-height
  6. quad width
  7. extra space

The differences are in the stretch component of the interword space, that has been reduced, and in the shrink component that has been increased.

This overall means that the interword space is generally narrower, because it can be reduced to slightly less than 2pt (1.96576pt, precisely) instead of the 2.3pt (2.22856pt, precisely).

It's not really possible to go back to the old parameters; you might copy the Charter font metric directories from TL 2012 (or your not updated TL 2013) in the local tree, but that doesn't guarantee full compatibility.

egreg
  • 1,121,712
  • 2
    What's the reason behind the design change? – 1010011010 Aug 01 '14 at 21:11
  • 1
    @1010011010 I don't know; only the maintainer can answer to this. – egreg Aug 01 '14 at 21:13
  • 3
    @1010011010 The README for mathdesign says: Each new version of the fonts introduces small changes in font metrics. This can lead to important change in existing document, including unexpected line and page breaks. There are no specifics in the change log about metrics, but I note there is a major version change so there can be 'breaking' changes. – Joseph Wright Aug 01 '14 at 21:28
  • 2
    One can change the parameters in the document with \fontdimen3\font=1.75551pt \fontdimen4\font=0.7043pt (could be a bit tiresome if a lot of fonts and font sizes are involved). Also microtype has commands to adjust the interword strech and shrink. – Ulrike Fischer Aug 02 '14 at 10:48
  • @UlrikeFischer Yes, it should be done for all needed sizes. – egreg Aug 02 '14 at 10:50
  • This answer recommends the use of bundledoc package. I tried to use it to solve my problem: create a bundle with TeX Live 2013 and then use it with TeX Live 2014. However, it still seems to change the layout, even though (according to the log file) it is using the old version of the mathdesign package. Am I doing something wrong here, or are these font dimensions something that is not stored in the bundledoc archive? – Jukka Suomela Aug 02 '14 at 16:29