10

I was going through the KOMA-script Documentation and I found on page 32 a nice table with the type area according to the number of DIV you set up your document.

enter image description here

Now, I MUST be doing something wrong, because when I set my MWE with different DIV values, I get different \textheight and \textwidth than the one in the KOMA documentation.

\documentclass[a4paper,BCOR=0mm,DIV=12]{scrbook}

\usepackage{layouts}

\begin{document}

\printinunitsof{mm}{\pagevalues}

\verb|\marginparwidth|: \printinunitsof{mm}\prntlen{\marginparwidth}

\pagediagram
\end{document}

enter image description here

Furthermore, I took the trouble to print the pages and then measure the distances. None of them seem to agree (some of them are off for a couple of mm, other are off by way more).

So, my questions are:

  1. How did the guys from the KOMA script documentation arrived to these values shown above?
  2. If they did it right (which I'm positive they did), why this doesn't hold true on the printed version?
  3. Why are the values I obtained from the layouts package is not consistent with the KOMA documentation ---or the printed version, for that matter?
13

Horizontal values

The idea of KOMA-Script is: If there are two pages side by side, then the white space at the left of the left page (even numbered) is the same as the white space at the right of the right page (odd numbered) and is the same as the white space between the text body of the left page and the text of the right page.

With DIV=12, the outer margins get 2 units, the inner margins get 1 unit (because they sum up to 2 units from the even and odd page), the text width gets 9 units:

unit width:   210mm / 12 =  17.5mm
outer margin: 2 * 17.5mm =  35mm
inner margin: 1 * 17.5mm =  17.5mm
text width:   9 * 17.5mm = 157.5mm

Thus the table values for the text width and inner margin are correct.

Text width

The value for \textwidth is correct, the table says 157,50mm and you get 157.49817mm. (The English version should have replaced the comma by a period for the decimal separator.

Left margins

The left margin of an odd numbered page is an inner margin and should be 17.5mm:

25.4mm     (TeX origin)
-7.89989mm (\oddsidemargin)
----------
17.50011mm

Correct (modulo rounding error)

The left margin of an even numbered page is an outer margin and should be 35mm:

25.4mm     (TeX origin)
 9.59988mm (\evensidemargin)
----------
34.99988mm

Correct (modulo rounding error)

Vertical values

DIV=12 means that the page height is divided into 12 units. The top margin is one unit, the bottom gets two units and the remaining 9 units go to the text height.

unit height:   297mm / 12  =  24.75mm
top margin:    1 * 24.75mm =  24.75mm
bottom margin: 2 * 24.75mm =  49.5mm
text height:   9 * 24.75mm = 222.75mm

Therefore the table values for the text height and the top margin are correct.

Top margin

Table value: 24,75mm

 25.4mm     (TeX origin)
-13.79442mm (\topmargin)
  5.97475mm (\headheight)
  7.1697mm  (\headsep)
------------
 24.75mm

Correct.

Text height

The table caption is not correctly translated, the German version also says, that \topskip is not taken into account.

\@typearea calculates the text height the following way:

RealTextHeight = topskip + n * baselineskip
with
    n is a natural number
and
    0 ≤ RealTextHeight - DivTextHeight < baselineskip

Thus the real text height depends on the value calculated via the div method, the setting of \topskip (depends on font size) and \baselineskip (also depends on font size).

Therefore the text height can be larger than the table value. The visual text height can even be larger, because the depth of the bottom box on the text area can descend up to \maxdepth (= .5\topskip with typearea) below the text area.

The values for class option 11pt (default):

\topskip:      11pt   ≈ 3.86606mm
\baselineskip: 13.6pt ≈ 4.77985mm
\maxdepth:      5.5pt ≈ 1.93303mm

Then

\textheight = \topskip   + 46 * \baselineskip
636.60028pt = 11pt       + 46 * 13.6pt         (modulo rounding error)
223.73679mm = 3.86606mm  + 46 * 4.77985mm      (modulo rounding error)

and

223.73679mm ≥ 222.75mm
223.73679mm < \topskip + 47 * \baselineskip

Therefore the text height is correct according to the algorithm used by \typearea.

  • I knew there was something lost in translation... I felt it! – Mario S. E. Jun 4 '14 at 20:36
  • Just one follow-up question: What about oddsidemargin? – Mario S. E. Jun 4 '14 at 20:38
  • @MarioS.E.: See updated answer. – Heiko Oberdiek Jun 4 '14 at 21:21
2

But the values your LaTeX document produces and the values from the table do agree. I don't see a problem. \textwidth, \textheight, and \topmargin are almost as predicted. And the inner margin, which is 1in + \oddsidemargin on odd pages, is 25.4 - 7.9 = 17.5mm and thus also as predicted.

For an even page, the inner margin is \paperwidth - 1in - \evensidemargin - \textwidth = 210 - 25.4 - 9.6 - 157.5 = 17.5mm. Again, as predicted by the table.

So I really don't see a problem.

Now if you print it, then Adobe Reader may add additional margins as it actually scales down the page unless you chose the right option in the print dialog. So I would expect that margins grow and widths and heights shrink. Make sure you chose the "Actual Size" option when printing. Your printer may not be very accurate too. So margins may increase/decrease my a few millimeters. But I would anticipate that widths and heights should be accurate for most printers, unless you chose the wrong print option in Adobe Reader.

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.