# What is truecm?

In examples found around the web, some people specify lengths such as `width=5truecm` with `\includegraphics` or the geometry package. How is this different from regular `5cm`?

## 2 Answers

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.