0

I am writing a thesis in Latex using scrbook and will have to submit a print and a digital version. Both copies should be completely identical (e.g. page 147, line 13, should be the same in both copies).

The print version is one-sided and has a small binding correction (say 10mm). The digital version should be centred. Therefore, I would like to add a binding correction which simply moves everything to the right (by 5mm) without changing linewidth or anything else.

Currently, I simply add the option BCOR=10mm, however this adds around 5 pages to my thesis (it increases the left margin by around 8mm, decreases right margin by 2mm and reduces linewidth by 2mm).

Here is a MWE (comment first line and uncomment second line to see the document getting longer):

\documentclass[a4paper,oneside,DIV=calc]{scrbook}
%\documentclass[a4paper,oneside,BCOR=10mm,DIV=calc]{scrbook}
\usepackage{blindtext}

\begin{document}
\Blinddocument
\end{document}

Ideally, I would like to find a solution not using additional packages like geometry.

Thanks in advance!

5
  • Well sure, if you make the margin 10mm larger, something else has to get 10mm shorter. If you want a larger margin for the print, and both versions should be identical then the obvious solution is to use BCOR=10mm for both versions. Apr 29 '20 at 12:26
  • I think the digital version could have BCOR=0pt and a paper width smaller than the print version width by 10mm.
    – frougon
    Apr 29 '20 at 12:29
  • Yes, of course something needs to be smaller and I would like this to be the other margin, as explained.Currently however the linewidth gets around 3mm shorter and the other margin 7mm. The digital version should be centred. I will edit the question, thought this was obvious.
    – jan1892
    Apr 29 '20 at 12:40
  • Then both documents won't have the same visual aspect. With my answer, they do, since the binding correction is invisible once the sheets have been bound. If you want precise control over the margins, I believe you'll have to drop the “no geometry” requirement (quote from the KOMA-Script manual: “If you have concrete specifications for the margins, typearea is not suitable. In this case, you should use the geometry package”).
    – frougon
    Apr 29 '20 at 12:53
  • A and B should be identical, except for C. No, if A and B have to be identical, there is no C.
    – Johannes_B
    Apr 29 '20 at 13:07
1

Since the binding correction takes some width from your paper width (1cm in your case), if you want all the typesetting to be identical in both versions (in particular, if you want both versions to have the same page body size and margins—excluding the binding correction, of course), you can reduce the paper width by 1cm for the “screen” version of your document.

Print version:

\documentclass[a4paper,oneside,BCOR=10mm,DIV=calc]{scrbook}
\usepackage{blindtext}

\begin{document}
\Blinddocument
\end{document}

Screen version:

\documentclass[paper=20cm:29.7cm,oneside,DIV=calc]{scrbook}
\usepackage{blindtext}

\begin{document}
\Blinddocument
\end{document}

You can easily verify that the page bodies are identical in both versions. In particular, the last page of this sample document is as follows for the print version:

enter image description here

and as follows for the screen version (1cm narrower, but same page body):

enter image description here

Tricky matters due to limited precision

Due to rounding errors, when using 12pt as the base font size, the DIV parameter is not computed the same anymore in both versions (typearea chooses DIV=9 for the print version and DIV=10 for the screen version). In order to be sure to obtain exactly the same line breaks and page breaks in both versions, the important thing is to ensure that \textwidth and \textheight are exactly the same in both versions (these parameters define the “page body”). So, choose whether you prefer DIV=9 or DIV=10, then hardcode this parameter in both versions (of course, you'll revisit this if you change the layout). Let's assume that you chose DIV=10. Compile both versions.

Print:

\documentclass[12pt,a4paper,oneside,BCOR=10mm,DIV=10]{scrbook}

Screen:

\documentclass[12pt,paper=20cm:29.7cm,oneside,DIV=10]{scrbook}

Now inspect both log files. Print:

Package typearea Info: These are the values describing the layout:
(typearea)             DIV  = 10
(typearea)             BCOR = 28.45274pt
(typearea)             \paperwidth      = 597.50793pt
(typearea)              \textwidth      = 398.33864pt
(typearea)              DIV departure   = 0%
(typearea)              \evensidemargin = 41.54103pt
(typearea)              \oddsidemargin  = 41.54103pt
(typearea)             \paperheight     = 845.04694pt
(typearea)              \textheight     = 592.0pt
...

Screen:

Package typearea Info: These are the values describing the layout:
(typearea)             DIV  = 10
(typearea)             BCOR = 0.0pt
(typearea)             \paperwidth      = 569.05511pt
(typearea)              \textwidth      = 398.33861pt
(typearea)              DIV departure   = 0%
(typearea)              \evensidemargin = 13.08826pt
(typearea)              \oddsidemargin  = 13.08826pt
(typearea)             \paperheight     = 845.04675pt
(typearea)              \textheight     = 592.0pt
...

As you can see, our DIV=10 directive has been respected, \textheight is the same in both cases but the \textwidth differs slightly. In many cases, this won't change anything, but this is dangerous: line breaks can be different, and therefore also page breaks. So, you see that the screen-computed \textwidth is smaller than the print one by 0.00003pt (actually, this is 2sp inside TeX). Well, we can certainly make the screen paper width larger by 0.00003pt! In the above log, you can see that for TeX, the screen \paperwidth is 569.05511pt. Just make it larger by 0.00003pt and we're done.

Print:

\documentclass[12pt,a4paper,oneside,BCOR=10mm,DIV=10]{scrbook}
\usepackage{blindtext}

\begin{document}
\Blinddocument
\end{document}

Screen:

\documentclass[12pt,paper=569.05514pt:29.7cm,oneside,DIV=10]{scrbook}
\usepackage{blindtext}

\begin{document}
\Blinddocument
\end{document}

Log output for the print version:

Package typearea Info: These are the values describing the layout:
(typearea)             DIV  = 10
(typearea)             BCOR = 28.45274pt
(typearea)             \paperwidth      = 597.50793pt
(typearea)              \textwidth      = 398.33864pt
(typearea)              DIV departure   = 0%
(typearea)              \evensidemargin = 41.54103pt
(typearea)              \oddsidemargin  = 41.54103pt
(typearea)             \paperheight     = 845.04694pt
(typearea)              \textheight     = 592.0pt
...

Log output for the screen version:

Package typearea Info: These are the values describing the layout:
(typearea)             DIV  = 10
(typearea)             BCOR = 0.0pt
(typearea)             \paperwidth      = 569.05515pt
(typearea)              \textwidth      = 398.33864pt
(typearea)              DIV departure   = 0%
(typearea)              \evensidemargin = 13.08826pt
(typearea)              \oddsidemargin  = 13.08826pt
(typearea)             \paperheight     = 845.04675pt
(typearea)              \textheight     = 592.0pt
...

Now, \textwidth and \textheight are exactly the same in both versions.

6
  • This does exactly what I asked for, thanks! Unfortunately, it doesn't seem to work when I add the option 12pt. The screen version actually gets shorter when I increase the width (linewidth becomes longer). Any idea why?
    – jan1892
    Apr 29 '20 at 13:31
  • 1
    I don't know why, but if you look at the log file, you'll see that in this case, typearea chooses DIV=9 for the print version and DIV=10 for the screen version. The latter then has DIV departure = 0% while the former has DIV departure = 2%. I assume this implies that ratios are deemed “better” for the screen version. Thus, I'd use DIV=10 instead of DIV=calc for the print version. Then you'll see in the log that \textwidth and \textheight are identical in both versions (except for a small rounding error!!), which again gives a good result.
    – frougon
    Apr 29 '20 at 14:00
  • 1
    I think the explanation is rounding errors happening when KOMA computes the parameters. If you're satisfied with the result with DIV=10, I'd suggest to use \documentclass[12pt,a4paper,oneside,BCOR=10mm,DIV=10]{scrbook} for the print version and \documentclass[12pt,paper=569.05514pt:29.7cm,oneside,DIV=10]{scrbook} for the screen version. Then you'll have exactly the same \textwidth and \textheight in both versions, and therefore precisely the same line breaks and page breaks.
    – frougon
    Apr 29 '20 at 14:22
  • 1
    I adjusted the screen paper width according to the parameters in the log files in order to ensure we obtain exactly the same \textwidth as in the screen version, despite the limited precision of the length computations. You can verify this fact in the log files.
    – frougon
    Apr 29 '20 at 14:24
  • Fantastic, thanks a lot!
    – jan1892
    Apr 29 '20 at 14:44

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.