What is truecm?

TeX has an internal integer register called \mag whose value is initialized to 1000 and can be changed before a page is shipped out.

If one sets

\mag=1200

all dimensions will be increased by 20%. More precisely they are multiplied by \mag and divided by 1000, unless they are specified with the keyword true before the unit.

Thus setting

\dimen0=5 true cm

will give exactly 5 centimeters when used, independent of the value of \mag.

In the olden days when Plain TeX and AMS-TeX were the only formats available for serious mathematical typesetting (LaTeX wasn't, because it only provided the faulty eqnarray environment for multiline alignments), a cheap way to obtain 11 or 12 point size was to say at the beginning of the TeX document

\magnification=\magstephalf

or

\magnification=\magstep1

(that set \mag=1095 or \mag=1200 respectively). The \hsize and \vsize were given in true units, so they didn't change with magnification. So the main text font became the usual 10pt size font, but magnified.

LaTeX uses a different model, where different font sizes for the document (the 11pt and 12pt class options) correspond to different fonts at the proper size. It doesn't support changing \mag (but it can be used, if you know what you're doing).

So using width=5truecm is just a complicated way to say width=5cm, which makes TeX work harder. Indeed, what I said before is not the truth: the value of \mag is recorded in the DVI file and it's the printer driver that does the scaling (a similar approach is used for PDF output), so dimensions specified without true are not touched, but those specified with the keyword are multiplied by 1000 and divided by \mag.

\mag doesn't act only on dimensions. If a font is specified with

\font\new=myfont scaled 1200

then the scaling factor will be multiplied by \mag at print time (it is converted to a dimension internally, based on the font size parameter in the TFM file).


TeX has a magnification feature (which is used in plain Tex mostly as the format only loads 10pt fonts by default) it is not really supported or used in LaTeX. If you apply magnification then most lengths are scaled by the appropriate amount, however for referring to physical lengths such as the page size you need to refer to unmagnified lengths, so you can double the font size and re-set the document on the same (say A4) page size. Any length using units may be prefixed with true to avoid being scaled.