summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex
blob: bff6f4bca405113c03940251c1aca02eee761b79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
% ======================================================================
% typearea.tex
% Copyright (c) Markus Kohm, 2001-2008
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, version 1.3b of the license.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3b or later is part of all distributions of LaTeX 
% version 2005/12/01 or later and of this work.
%
% This work has the LPPL maintenance status "author-maintained".
%
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% typearea.tex
% Copyright (c) Markus Kohm, 2001-2008
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3b, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%   http://www.latex-project.org/lppl.txt
% und Version 1.3b ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
%
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
% 
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
% Chapter about typearea of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Kapitel über typearea in der KOMA-Script-Anleitung
% Verwaltet von Markus Kohm
%
% ======================================================================

\ProvidesFile{typearea.tex}[2008/07/10 KOMA-Script guide (chapter: typearea)]
\translator{Markus Kohm\and Gernot Hassenpflug}

% Date of translated german file: 2006-11-29

\chapter{Construction of the Page Layout with \Package{typearea}}
\labelbase{typearea}

\textsc{Note:} Following commands are still missing in this chapter:
\Macro{KOMAoptions}, \Macro{KOMAoption}, \Macro{recalctypearea}.

\textsc{Note:} Following options are still missing in this chapter:
\OptionValue{BCOR}{current}, \OptionValue{twoside}{semi},
\KOption{headheight}\PName{height}, \OptionValue{pagesize}{automedia}.

\section{Fundamentals of Page Layout}

\begin{Explain}
  If you look at a single page of a book or other printed materials,
  you will see that it consists of top, foot, left and right margins,
  a (running) head area, the text block and a (running) foot area.
  Looking closer, there is space between the head area and the text
  block and between the text block and the foot area. The relations
  between these areas are called the \emph{page layout}.

  The literature offers and discusses different algorithms and
  heuristic approaches for constructing a good page layout.  Often,
  mentioned is an approach which involves diagonals and their
  intersections. The result is a page where the text block
  proportions are related to the proportions of the \emph{page}.  In a
  single-sided document, the left and the right margin should have
  equal widths.
  The relation of the upper margin to the lower margin should
  be 1\(:\)2. In a double-sided document (e.\,g. a book) however,
  the complete inner margin (the margin at the spine) should be the same as
  each of the two outer margins.

  In the previous paragraph, we mentioned and emphasized the
  \emph{page}. Erroneously, it is often thought that the format of
  the page means the format of the paper. However, if you look at
  a bound document, it is obvious that part of the paper vanishes in
  the binding and that is not part of the visible page. It is not the format of
  the paper which is important in the layout of a page, it is the
  impression of the visible page to the reader. Therefore, it is
  clear that the calculation of the page layout must account for the
  ``lost'' paper in the binding and add this amount to the width of
  the inner margin. This is called the \emph{binding correction}.

  The binding correction depends on the process of actually
  producing the document and thus cannot be calculated in general.
  Every production process needs its own parameter. In professional
  binding, this parameter is not too important since the printing is
  done on oversized paper which is then cropped to the right size.
  The cropping is done in a way so that the relations for the
  visible double-sided page are as explained above.

  Now we know about the relations of the individual parts of a page.
  However, we do not yet know about the width and the height of the
  text block. Once we know one of these values, we can calculate
  all the other values from the paper format and the page format or
  the binding correction.
  \begin{eqnarray*}
    \Var{textblock~height} : \Var{textblock~width} &=&
    \Var{page~height} : \Var{page~width}\\
%
    \Var{page~width} &=& \Var{paper~width} - \Var{binding~correction}\\
%
    \Var{top~margin} + \Var{foot~margin} &=&
    \Var{page~height} - \Var{textblock~height} \\
%
    \Var{top~margin} : \Var{foot~margin} &=& 1 : 2 \\
%
    \Var{left~margin} : \Var{right~margin} &=& 1 : 1 \\
%
    \Var{half~inner~margin} &=&
    \frac{1}{2}\Var{outer~margin} + \Var{binding~correction} \\
  \end{eqnarray*}
  The values \Var{left~margin} and \Var{right~margin} only
  exist in a single-sided document while \Var{inner~margin} and
  \Var{outer~margin} only exist in a double-sided document.  In
  these equations, we work with \Var{half~inner~margin} since the full
  inner margin belongs to a double-page. Thus, one page has half of
  the inner margin.

  The question of the width of the textblock is also discussed in
  the literature. The optimum width depends on several factors:
  \begin{itemize}
  \item size, width, type of the used font % !!!
  \item line spacing % !!!
  \item word length
  \item available room
  \end{itemize}
  The importance of the font becomes clear once you think about
  serifs. Serifs are fine lines % !!!
  finishing off the letters. Letters whose main strokes run
  orthogonal to the text line disturb the flow more than they
  lead the eye along the line. Those letters have serifs at
  the ends of the vertical strokes, however, so the horizontal serifs
  lead the eye horizontally too. In addition, it helps the eye to
  find the beginning of the next line. Thus, the line length for a
  serif font can be slightly longer than for a sans serif font.

  In {\LaTeX}, the line spacing is about 20\% of the font
  size. With commands like \Macro{linespread} or, better, packages like
  \Package{setspace}, the line spacing can be changed. A wider line
  spacing helps the eye to follow the line. A very wide line
  spacing, on the other hand, disturbs reading because the eye has
  to move a wide distance between lines. Also, the reader gets
  uncomfortable because of the visible stripe effect. The uniform
  gray value of the page gets spoiled. Still, with a wider line
  spacing, the lines can be longer.

  The literature gives different values for good line lengths, depending
  on the author. To some extent, this is due to the native language
  of the author. Since the eye jumps from word to word, short words
  make this task easier. Not considering language and font, a line
  length of 60 to 70 letters, including spaces and
  punctuation, is a usable compromise. This requires well-chosen line
  spacing, but {\LaTeX}'s default is usually good enough.

  Before looking at the actual construction of the page layout,
  there are some minor things to know. {\LaTeX} doesn't start the
  first line of the text block at the upper edge of the text block,
  but with a defined distance from it. Also, {\LaTeX} knows the commands
  \Macro{raggedbottom} and \Macro{flushbottom}. \Macro{raggedbottom}
  specifies that the last line of a page should be positioned
  wherever it was calculated. This means that the position of this
  line can be different on each page, up to the height of one line.
  In double-sided documents this is usually undesirable.
  \Macro{flushbottom} makes sure that the last line is always at the
  lower edge of the text block. To achieve this, {\LaTeX} sometimes
  needs to stretch vertical glue more than allowed. Paragraph skip
  is such a stretchable, vertical glue, even when set to zero.  In
  order to not stretch the paragraph skip on normal pages where it
  is the only stretchable glue, the height of the text block should
  be a multiple of the height of the text line, including the
  distance from the upper edge of the text block to the first line.

  This concludes the introduction to page layout as handled by
  {\KOMAScript}. Now, we can begin with the actual construction.\par
\end{Explain}


\section{Page Layout Construction by Dividing}
\label{sec:typearea.divConstruction}

\begin{Explain}
  The easiest way to make sure that the text area has the same
  ratios as the page is as follows: First, you subtract the
  binding correction \Var{BCOR} from the inner edge of the paper.
  Then you divide the rest of the page vertically into
  \Var{DIV} rows of equal height. Next, you divide the page
  horizontally into the same number (\Var{DIV}) of columns.  Then you
  take the uppermost row as the upper margin and the two lowermost
  rows as the lower margin. If you print double-sided, you also take
  the innermost column as the inner margin and the two outermost
  columns as the outer margin. Then, you add the binding correction
  \Var{BCOR} to the inner margin. The remainder of
  the page is the text area. The width and the height of the text area result
  automatically from the number of rows and columns \Var{DIV}. Since
  the margins always need three rows/columns, \Var{DIV} must
  be necessarily greater than three. In order that the text area occupy at
  least twice as much space as the margins, \Var{DIV} should really be equal
  to or greater than 9. With this value, the construction is known as the
  \emph{classical division factor of 9}.

  In {\KOMAScript}, this kind of construction is implemented in the
  \Package{typearea} package. For A4 paper, \Var{DIV} is predefined
  according to the font size (see \autoref{tab:typearea.div}).  If there is
  no binding correction (\(\Var{BCOR} = 0\Unit{pt}\)), the results
  roughly match the values of \autoref{tab:typearea.typearea}.

  In addition to the predefined values, you can specify \Var{BCOR}
  and \Var{DIV} as options when loading the package (see
  \autoref{sec:typearea.options}). There is also a command to
  explicitly calculate the type area by providing these values as
  parameters (also see \autoref{sec:typearea.options}).

  The \Package{typearea} package can determine the optimal value
  of \Var{DIV} for the font used automatically.  Again, see
  \autoref{sec:typearea.options}.\par
\end{Explain}


\section{Page Layout Construction by Drawing a Circle}
\label{sec:typearea.circleConstruction}

\begin{Explain}
  In addition to the construction method previously described, a somewhat more
  classical method can be found in the literature. The aim of this method is
  not only identical ratios in the page proportions, but it is considered
  optimal when the height of the text block is the same the width of the
  page. The exact method is described in \cite{JTsch87}.

  A disadvantage of this late Dark Ages method is that the width of
  the text area is no longer dependent on the font. Thus, one
  doesn't choose the text area to match the font, but the author or
  typesetter has to choose the font according to the text area. This
  can be considered a ``must''.

  In the \Package{typearea} package this construction is changed
  slightly. By using a special (normally meaningless) \Var{DIV} value
  or a special package option, a \Var{DIV} value is chosen to match
  the perfect values as closely as possible. See also
  \autoref{sec:typearea.options}.\par
\end{Explain}


\section{Options and Macros to Influence the Page Layout}
\label{sec:typearea.options}

The package \Package{typearea} offers two different user interfaces to
influence type area construction. The first method is to load the
package with options. For information on how to load packages and to
give package options, please refer to the {\LaTeX} literature, e.\,g.
\cite{lshort} and \cite{latex:usrguide}, or the examples given here.
Since the \Package{typearea} package is loaded automatically when
using the {\KOMAScript} main classes, the package options can be given
as class options (see \autoref{sec:maincls.options}).


\begin{Declaration}
  \KOption{twoside}\PName{value}
\end{Declaration}%
\BeginIndex{Option}{twoside~=\PName{value}}%
These two options have the same effect as in the standard classes.
The option \Option{oneside} defines a one-sided document layout with a
one-sided page layout. This means in particular that normally a ragged
page bottom is used.

The option \Option{twoside} defines a two-sided document layout with a
two-sided page layout. This means that the {\LaTeX} command
\Macro{flushbottom}\IndexCmd{flushbottom} is used to ensure that page
breaks don't leave a variable empty space at the bottom of a page. A
ragged page bottom can be obtained with the {\LaTeX} command
\Macro{raggedbottom}\IndexCmd{raggedbottom}.
%
\EndIndex{Option}{twoside~=\PName{value}}%


\begin{Declaration}
  \KOption{twocolumn}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{twocolumn~=\PName{switch}}%
These values of the option (see \autoref{tab:truefalseswitch},
\autopageref{tab:truefalseswitch}) have the same effect like the standard
options \Option{twocolumn} and \Option{onecolumn}. They are used to switch
between a one-column and a two-column layout. The standard {\LaTeX}
capabilities for multi-column layout are only useful for very simple uses. The
standard package \Package{multicol} is much more versatile (see
\cite{package:multicol}).\Index{columns}\IndexPackage{multicol}%
\EndIndex{Option}{twocolumn~=\PName{switch}}

\begin{table}
  \begin{minipage}{\textwidth}
  \centering
  \caption{Standard values for simple switches within \KOMAScript}
  \begin{tabular}{ll}
    Value & Description \\\hline\\[-1.75ex]
    \PValue{true}\footnote{This value will be used also, if you use the option
      without assigning any value.} & activates the option \\
    \PValue{on}   & activates the option \\
    \PValue{false}& deactivates the option \\
    \PValue{off}  & deactivates the option \\
  \end{tabular}
  \label{tab:truefalseswitch}
  \end{minipage}
\end{table}

\begin{Declaration}
  \KOption{BCOR}\PName{Correction}
\end{Declaration}%
\BeginIndex{Option}{BCOR~=\PName{value}}%
With the \KOption{BCOR}\PName{Correction} option you specify the
absolute value of the binding correction, i.\,e., the width of the area
that is used for the binding, thus ``lost'' from the paper width.

This value will be used in the layout calculation automatically and
will be added to the inner or left margin respectively. You can use
any valid {\TeX} unit for \PName{Correction}.

\begin{Example}
  Assume you want to produce a financial report, which is to be printed on A4
  paper and bound in a folder. The rim of the folder covers
  \(7.5\Unit{mm}\). Since the report is thin, only an additional
  \(0.75\Unit{mm}\) are lost by folding when leafing through the pages. You
  would use the following commands:
\begin{lstlisting}
  \documentclass[a4paper]{report}
  \usepackage[BCOR=8.25mm]{typearea}
\end{lstlisting}
  or, using a {\KOMAScript} class:
\begin{lstlisting}
  \documentclass[a4paper,BCOR=8.25mm]{scrreprt}
\end{lstlisting}
\end{Example}

Please note: if you use one of the {\KOMAScript} classes, this option
must be given as a class option. If you use another class, this only
works if the class has explicit support for typearea. So when using
the standard classes, you need to give the option when you load
\Package{typearea}. You can also use \Macro{PassOptionsToPackage}
(see \cite{latex:clsguide}) before you are loading
\Package{typearea}, this always works.
%
\EndIndex{Option}{BCOR~=\PName{value}}

\begin{Declaration}
  \KOption{DIV}\PName{Factor}
\end{Declaration}%
\BeginIndex{Option}{DIV}%
\KOption{DIV}\PName{Factor} defines the number of stripes the page
is split into when the page layout is constructed. The exact
method can be found in \autoref{sec:typearea.divConstruction},
but the most important thing is this: the higher \PName{Factor}, the
bigger the resulting text area, and the smaller the margins. For
\PName{Factor}, you can use any integer value larger than 4.
Please note that depending on your other options a very high value
for \PName{Factor} can result in problems: for instance, in
extreme cases, the running title might be outside the actual page
area. So if you use \KOption{DIV}\PName{Factor}, it is your own
responsibility to choose a typographically acceptable line length
and to pay attention to the other parameters.

In \autoref{tab:typearea.typearea} you'll find some page layout
values for the page format A4 without binding correction, with
varying \Var{DIV} factors. Font size is not taken into account.

\begin{table}
  \centering
  \caption{Page layout values depending on  \Var{DIV} for A4}
  \begin{tabular}{ccccc}
    \toprule
        & \multicolumn{2}{c|}{Text area} & \multicolumn{2}{c}{Margins}\\
    \emph{DIV}& Width [mm] & Height [mm] & upper [mm] & inner [mm] \\
    \midrule
    6  & 105.00 & 148.50 & 49.50 & 35.00 \\
    7  & 120.00 & 169.71 & 42.43 & 30.00 \\
    8  & 131.25 & 185.63 & 37.13 & 26.25 \\
    9  & 140.00 & 198.00 & 33.00 & 23.33 \\
    10 & 147.00 & 207.90 & 29.70 & 21.00 \\
    11 & 152.73 & 216.00 & 27.00 & 19.09 \\
    12 & 157.50 & 222.75 & 24.75 & 17.50 \\
    13 & 161.54 & 228.46 & 22.85 & 16.15 \\
    14 & 165.00 & 233.36 & 21.21 & 15.00 \\
    15 & 168.00 & 237.60 & 19.80 & 14.00 \\
    \bottomrule
  \end{tabular}
  \label{tab:typearea.typearea}
\end{table}

\begin{Example}
  Imagine you are writing meeting minutes with the
  \Class{protocol}\footnote{The class \Class{protocol} is
    hypothetical. This manual considers the ideal case where you have
    a special class for every use.} class.  The whole thing is supposed to
  be double-sided.  In your company, the Bookman font in 12\Unit{pt}
  is used.  This standard PostScript font is activated in {\LaTeX}
  with the command \Macro{usepackage}\Parameter{bookman}.  Bookman runs very
  wide, that means, the characters are wide in relation to its
  height.  Because of that, the default for the \Var{DIV} value in
  \Package{typearea} is too small for you. Instead of 12, you want 15.
  The minutes will not be bound but punched and filed into a folder,
  so you don't need any binding correction. Thus, you write:
\begin{lstlisting}
  \documentclass[a4paper,twoside]{protocol}
  \usepackage{bookman}
  \usepackage[DIV=15]{typearea}
\end{lstlisting}
After you are done you are told that the minutes will be collected and bound
as a book at the end of the year. The binding will be a simple glue binding
carried out in a copy shop, since it is done just for ISO\,9000 anyway and
nobody will ever bother to look at the minutes again. For binding you need
\(12\Unit{mm}\) in average.  So you change the options for \Package{typearea}
accordingly and use the ISO\,9000 document class:
\begin{lstlisting}
  \documentclass[a4paper,twoside]{iso9000p}
  \usepackage{bookman}
  \usepackage[DIV=15,BCOR=12mm]{typearea}
\end{lstlisting}
  Of course, you can also use a {\KOMAScript} class here:
\begin{lstlisting}
  \documentclass[twoside,DIV=15,BCOR=12mm]{scrartcl}
  \usepackage{bookman}
\end{lstlisting}
  The option \Option{a4paper} was omitted using class \Class{scrartcl},
  because it is the default for all {\KOMAScript} classes.
\end{Example}
%
Please note: if you use one of the {\KOMAScript} classes, \Option{BCOR} must
be given as a class option. If you use another class, this only works if the
class has explicit support for typearea. So when using the standard classes,
you need to give \Option{BCOR} when you load \Package{typearea}. You can use
\Macro{PassOptionsToPackage} (see \cite{latex:clsguide}) too before you are
loading \Package{typearea}, this always works.
%
\EndIndex{Option}{DIV}

\begin{Declaration}
  \Option{DIV=calc}\\
  \Option{DIV=classic}
\end{Declaration}%
\BeginIndex{Option}{DIV~=calc}%
\BeginIndex{Option}{DIV~=classic}%
As mentioned in \autoref{sec:typearea.divConstruction}, only
paper format A4 has fixed defaults for the \Var{DIV} value. These
are listed in \autoref{tab:typearea.div}. If you choose a
different paper format, \Package{typearea} calculates a good
\Var{DIV} value itself. Of course, you can also have it calculate
that for A4: use \Option{DIV=calc} instead of
\KOption{DIV}\PName{Factor}. This works for all other paper formats
as well. If you want to use the automatic calculation, this is
even very useful, since you can then override the defaults that
are given in a configuration file (see
\autoref{sec:typearea.cfg}) with this option.

\begin{table}
  \centering
  \caption{\label{tab:typearea.div}\PName{DIV} defaults for A4}
  \begin{tabular}{lccc}
    \toprule
    Base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\
    \Var{DIV}:           &   8  &  10  &  12  \\
    \bottomrule
  \end{tabular}
\end{table}

The classic construction method as described in
\autoref{sec:typearea.circleConstruction} can also be selected
(with the difference that a good \Var{DIV} value is chosen).  In
this case, instead of \KOption{DIV}\PName{Factor} or
\Option{DIV=calc}, use the option \Option{DIV=classic}.

\begin{Example}
  In the example for \KOption{DIV}\PName{Factor} which used the
  Bookman font, there was the problem that we needed a \Var{DIV}
  value which suited the font better. As a modification of the first
  example, this calculation can be left to \Package{typearea}:
\begin{lstlisting}
  \documentclass[a4paper,twoside]{protocol}
  \usepackage{bookman}
  \usepackage[DIV=calc]{typearea}
\end{lstlisting}
\end{Example}


\begin{Declaration}
  \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}
\end{Declaration}%
\BeginIndex{Cmd}{typearea}%
If you followed the examples till here, you'll ask yourself how
one can make the calculation of \Var{DIV} depend on the selected
font when one uses one of the {\KOMAScript} classes. In that case the
options to \Package{typearea} would have to be made before loading
the e.\,g. \Package{bookman} package. So
\Package{typearea} could only calculate the page layout for the
standard font, but not for the Bookman font which is really
to be used.  Therefore, after evaluating the options, \Package{typearea}
calculates the page layout by using the
\Macro{typearea}\OParameter{BCOR}\Parameter{DIV} command.  Here,
the chosen \Var{BCOR} value is given as an optional parameter and
\Var{DIV} as a parameter. With the option \Option{DIV=calc}, the
(normally invalid) value~\(1\) is given; with the option
\Option{DIV=classic} the (normally invalid) value~\(3\). You can
also call \Macro{typearea} explicitly in the preamble.

\begin{Example}
  Let us assume again that we want to calculate a good page layout for the
  Bookman font. We also want to use a {\KOMAScript} class.  This is possible
  using the \Macro{typearea} command with \Option{DIV=calc} = 1 as
  \PName{DIV} parameter:
\begin{lstlisting}
  \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl}
  \usepackage{bookman}
  \typearea[12mm]{1}% same as class options above
\end{lstlisting}
  Again option \Option{a4paper} was not used explicitly, because it's the
  default of the {\KOMAScript} class \Class{scrartcl}.
\end{Example}

It would be ridiculous if one had to use the
\Macro{typearea} command with some pseudo-values, while the
\Option{DIV} option allows the use of \Option{DIV=calc} and
\Option{DIV=classic}. Thus the \Macro{typearea} also accepts
symbolic values for the parameter \PName{DIV} which are listed in
\autoref{tab:symbolicDIV}.

\begin{table}
  \caption[{Available symbolic \PName{DIV} values for
    \Macro{typearea}}]{Available symbolic \PName{DIV} values for
    \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}}
  \label{tab:symbolicDIV}
  \begin{desctabular}
    \pventry{calc}{re-calculate page layout and determine \Var{DIV}.}%
    \pventry{classic}{re-calculate page layout using the classical method
      (circle).}%
    \pventry{current}{re-calculate page layout with current value of
      \Var{DIV}.}%
    \pventry{default}{re-calculate page layout with default values for the
      current page and font size. If no default values exist, apply
      \PValue{calc}.}%
    \pventry{last}{re-calculate page layout using the same
      \PName{DIV} argument, which was set last time.}%
  \end{desctabular}
\end{table}

The \Macro{typearea} also understands the symbolic values for the parameter
\PName{BCOR} shown in \autoref{tab:symbolicBCOR}. Thus it is not neccesary to
re-enter the current value.

\begin{table}
  \caption[{Available symbolic \PName{BCOR} values for
    \Macro{typearea}}]{Available symbolic \PName{BCOR} values for
    \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}}
  \label{tab:symbolicBCOR}
  \begin{desctabular}
    \pventry{current}{Re-calculate page layout using the current value for
      \Var{BCOR}.}%
  \end{desctabular}
\end{table}

\begin{Example}
  Thus calculating a good page layout for the Bookman font and a
  {\KOMAScript} class is easy when we use symbolic parameter values for
  \PName{BCOR} and \PName{DIV}:
\begin{lstlisting}
  \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl}
  \usepackage{bookman}
  \typearea[current]{calc}
\end{lstlisting}
  If we want to use a fixed value for \Var{DIV} we can use either:
\begin{lstlisting}
  \documentclass[BCOR=12mm,DIV=11,twoside]{scrartcl}
  \usepackage{bookman}
  \typearea[current]{last}
\end{lstlisting}
  or the old method:
\begin{lstlisting}
  \documentclass[a4paper,twoside]{scrartcl}
  \usepackage{bookman}
  \typearea[12mm]{11}
\end{lstlisting}
  In the end it is a matter of personal taste which of these solutions you want
  to use.
\end{Example}

Frequently the re-calculation of the page layout is necessary
because the line spacing was changed. Since it is essential that
an integer number of lines fit into the text area, any change in
line spacing requires a re-calculation of page layout.

\begin{Example}
  Assume you want to write a thesis and university regulations require a font
  size of 10\Unit{pt} with one and a half line spacing. {\LaTeX} uses by
  default a line spacing of 2\Unit{pt} at font size 10\Unit{pt} (a line
  spacing of 1.2). Thus a stretch-factor of 1.25 is required. Let us also
  assume that binding correction needs 12\Unit{mm}. Then you might use:
\begin{lstlisting}
  \documentclass[10pt,twoside,%
                 BCOR=12mm,DIV=calc]{scrreprt}
  \linespread{1.25}
  \typearea[current]{last}
\end{lstlisting}\IndexCmd{linespread}
  \Macro{typearea} automaticly calls \Macro{normalsize}. So it is not
  neccessary to use \Macro{selectfont} after \Macro{linespread} to activate
  the changed line spacing before re-calculation of the page layout.

  The same example again, using the \Package{setspace} package (see
  \cite{package:setspace}):
\begin{lstlisting}
  \documentclass[10pt,twoside,%
                 BCOR=12mm,DIV=calc]{scrreprt}
  \usepackage{setspace}
  \onehalfspacing
  \typearea[current]{last}
\end{lstlisting}
  Using the \Package{setspace} package simplifies things, because you no
  longer need to calculate the correct stretch-factor, and you no longer need
  the \Macro{selectfont} macro.

  In this context it is appropriate to point out that the line spacing should
  be reset for the title page. A complete example therefore would look like
  this:
\begin{lstlisting}
  \documentclass[10pt,twoside,%
                 BCOR=12mm,DIV=calc]{scrreprt}
  \usepackage{setspace}
  \onehalfspacing
  \typearea[current]{last}
  \begin{document}
  \title{Title}
  \author{Markus Kohm}
  \begin{spacing}{1}
    \maketitle
    \tableofcontents
  \end{spacing}
  \chapter{Ok}
  \end{document}
\end{lstlisting}
  See also the notes in \autoref{sec:typearea.tips}.
\end{Example}

\begin{Explain}
  The command \Macro{typearea} is currently defined in such a way that it is
  possible to change the page layout in the middle of a text. This however
  makes assumptions about the inner workings of the {\LaTeX} kernel and changes
  some internal values and definitions of that kernel. There is some
  probability, but no guarantee that this will also work in future versions of
  {\LaTeX}.  It must be assumed that this method will not give correct results
  in {\LaTeX}3. However, as author of {\KOMAScript} I expect considerable
  incompatibilities when we change to {\LaTeX}3.%
\end{Explain}%
\EndIndex{Cmd}{typearea}%
\EndIndex{Option}{DIV~=classic}%
\EndIndex{Option}{DIV~=calc}%

\begin{Explain}
\begin{Declaration}
  \KOption{headinclude}\PName{switch}\\
  \KOption{footinclude}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{headinclude~=\PName{switch}}%
\BeginIndex{Option}{footinclude~=\PName{switch}}%
So far we have discussed how the page layout is calculated and what the ratios
are between the borders and between borders and text area. However, one
important question has not been answered: What constitutes the borders? This
question appears trivial: Borders are those parts on the right, left, top and
bottom which remain empty. But this is only half of it. Borders are not always
empty. There could be marginals, for example (for the
\Macro{marginpar} command refer to \cite{lshort} or
\autoref{sec:maincls.marginNotes}).

One could also ask, whether headers and footers belong to the upper
and lower borders or to the text. This can not be answered
unambiguously. Of course an empty footer or header belong to the
borders, since they can not be distinguished from the rest of the
border. A header or footer, that contains only a page number, will
optically appear more like border. For the optical appearance it is
not important whether headers or footers are easily recognised as such
during reading.  Important is only, how a well filled page appears
when viewed out of focus. You could use the glasses of your
far-sighted grand parents, or, lacking those, adjust your vision to
infinity and look at the page with one eye only. Those wearing
spectacles will find this much easier, of course.  If the footer
contains not only the page number, but other material like a copyright
notice, it will optically appear more like a part of the text body.
This needs to be taken into account when calculating text layout.

For the header this is even more complicated. The header frequently
contains running headings \Index[indexother]{running heading}.  In case of
running headings with long chapter and section titles the header lines
will be very long and appear to be part of the text body.  This effect
becomes even more significant when the header contains not only the
chapter or section title but also the page number. With material on
the right and left side, the header will no longer appear as empty
border. If the length of the titles varies, the header may appear as
border on one page and as text on another.  However, this pages should
not be treated differently under any circumstances, as this would lead
to jumping headers. In this case it is probably best to count the
header with the text.

The decision is easy when text and header or footer are separated
from the text body by a line. This will give a ``closed''
appearance and header or footer become part of the text body.
Remember: It is irrelevant that the line improves the optical
separation of text and header or footer, important is only the
appearance when viewed out of focus.
\end{Explain}

The \Package{typearea} package can not make the decision whether or not to
count headers and footers to the text body or the border. Options
\Option{headinclude} and \Option{footinclude} cause the header or footer to be
counted as text, options \OptionValue{headinclude}{false} and
\OptionValue{footinclude}{false} cause them to be counted as border (see
\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}). If you are
unsure about the correct setting, re-read above explanations. Default is
usually \OptionValue{headinclude}{false} and
\OptionValue{footinclude}{false}, but this can change depending on
{\KOMAScript} class and {\KOMAScript} packages used (see
\autoref{sec:maincls.options} and \autoref{cha:scrpage}).
%
\EndIndex{Option}{headinclude~=\PName{switch}}%
\EndIndex{Option}{footinclude~=\PName{switch}}%

\begin{Declaration}
  \KOption{mpinclude}\PName{switch}
\end{Declaration}
\BeginIndex{Option}{mpinclude~=\PName{switch}}%
Besides\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and
  \Class{scrartcl}} documents where the head and foot is part of the text
area, there are also documents where the margin-note area must be counted to
the text body as well.  The option \Option{mpinclude} (see
\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}) does exactly
this.  The effect is that one width-unit of the text body is taken for the
margin-note area.  Using option \OptionValue{mpinclude}{false}, the default
setting, then the normal margin is used for the margin-note area.  The width
of that area is one or one and a half width-unit, depending on whether
one-sided or double-sided page layout has been chosen.  The option
\Option{mpinclude} is mainly for experts and so not recommended.
  
\begin{Explain}
  In the cases where the option \Option{mpinclude} is used often a wider
  margin-note area is required.  In many cases not the whole margin-note width
  should be part of the text area, for example if the margin is used for
  quotations.  Such quotations are typeset as ragged text with the flushed
  side where the text body is.  Since ragged text gives no homogeneous optical
  impression the long lines can reach right into the normal margin.  This can
  be done using option \Option{mpinclude} and by an enlargement of length
  \Length{marginparwidth} after the type area has been setup.  The length can
  be easily enlarged with the command \Macro{addtolength}.  How much the the
  length has to be enlarged depends on the special situation and it requires
  some flair.  Therefore the option is primarily for experts.  Of course one
  can setup the margin-width to reach a third right into the normal margin,
  for example using 
  \begin{lstlisting}
  \setlength{\marginparwidth}{1.5\marginparwidth}
  \end{lstlisting}
  gives the desired result.

  Currently there is no option to enlarge the margin by a given amount.  The
  only solution is that the option \Option{mpinclude} is not used, but after
  the type area has been calculated one reduces the width of the text body
  \Length{textwidth} and enlarges the margin width \Length{marginparwidth} by
  the same amount.  Unfortunately, this can not be attended when automatic
  calculation of the \PName{DIV} value is used.  In contrast
  \Option{DIV=calc}\IndexOption{DIV~=calc} heeds \Option{mpinclude}.
\end{Explain}
%
\EndIndex{Option}{mpinclude~=\PName{switch}}%


\begin{Declaration}
  \KOption{headlines}\PName{value}
\end{Declaration}%
\BeginIndex{Option}{headlines}%
We have seen how to calculate the text layout and how to specify
whether header and footer are part of the text body or the
borders. However, we still have to specify the height in
particular of the header. This is achieved with the option
\Option{headlines}, which is followed by the number of lines in
the header. \Package{typearea} uses a default of 1.25. This is a
compromise, large enough for underlined headers (see
\autoref{sec:maincls.options}) and small enough that the
relative weight of the top border is not affected too much when
the header is not underlined. Thus in most cases you may leave
\Option{headlines} at its default value and adapt it only in
special cases.

\begin{Example}
  Assume that you want to use a header with two lines. Normally this would
  result in a ``\texttt{overfull} \Macro{vbox}'' warning for each page. To
  prevent this from happening, the \Package{typearea} package is told to
  calculate an appropriate page layout:
\begin{lstlisting}
  \documentclass[a4paper]{article}
  \usepackage[headlines=2.1]{typearea}
\end{lstlisting}
  If you use a {\KOMAScript} class this must be given as a class option:
\begin{lstlisting}
  \documentclass[a4paper,headlines=2.1]{scrartcl}
\end{lstlisting}
  A tool that can be used to define the contents of a header with two
  lines is described in \autoref{cha:scrpage}.
\end{Example}

If you use a {\KOMAScript} class, this option must be given as
class option. With other classes this works only, if these classes explicitly
supports \Package{typearea}. If you use the standard classes, the option must
be given when loading \Package{typearea}. \Macro{PassOptionsToPackage} will
work in both cases (see also \cite{latex:clsguide}).
%
\EndIndex{Option}{headlines}

\begin{Declaration}
  \Macro{areaset}\OParameter{BCOR}\Parameter{Width}\Parameter{Height}
\end{Declaration}%
\BeginIndex{Cmd}{areaset}%
So far we have seen how a good or even very good page layout is
calculated and how the \Package{typearea} package can support these
calculations, giving you at the same time the freedom to adapt the
layout to your needs.  However, there are cases where the text body
has to fit exactly into specified dimensions. At the same time the
borders should be well spaced and a binding correction should be
possible. The \Package{typearea} package offers the command
\Macro{areaset} for this purpose. As parameters this command accepts
the binding correction and the width and height of the text body.
Width and position of the borders will then be calculated
automatically, taking account of the options \Option{headinclude},
\OptionValue{headinclude}{false}, \Option{footinclude} and \OptionValue{footinclude}{false}
where needed.

\begin{Example}
  Assume a text, printed on A4 paper, should have a width of exactly 60
  characters of typewriter font and a height of exactly 30 lines. This could
  be achieved as follows:
\begin{lstlisting}
  \documentclass[a4paper,11pt]{article}
  \usepackage{typearea}
  \newlength{\CharsLX}% Width of 60 characters
  \newlength{\LinesXXX}% Height of 30 lines
  \settowidth{\CharsLX}{\texttt{1234567890}}
  \setlength{\CharsLX}{6\CharsLX}
  \setlength{\LinesXXX}{\topskip}
  \addtolength{\LinesXXX}{29\baselineskip}
  \areaset{\CharsLX}{\LinesXXX}
\end{lstlisting}
  You need only 29 instead of 30, because the base line of the topmost text
  line is \Macro{topskip} below the top margin of the type area.

\item A poetry book with a square text body with a page length of
  15\Unit{cm} and a binding correction of 1\Unit{cm} could be
  achieved like this:
\begin{lstlisting}
  \documentclass{gedichte}
  \usepackage{typearea}
  \areaset[1cm]{15cm}{15cm}
\end{lstlisting}
\end{Example}
\EndIndex{Cmd}{areaset}

The \Package{typearea} package was not made to set up predefined margin
values. If you have to do so you may use package \Package{geometry} (see
\cite{package:geometry}).


\section{Options and Macros for Paper Format Selection}
\label{sec:typearea.paperTypes}

\Index{paper format}%
The {\LaTeX} standard classes support the options \Option{a4paper},
\Option{a5paper}, \Option{b5paper}, \Option{letterpaper},
\Option{legalpaper} and \Option{executivepaper}. These are support be
\Package{typearea} in the same way.

\begin{Declaration}
  \OptionValue{paper}{letter} \\
  \OptionValue{paper}{legal} \\
  \OptionValue{paper}{executive} \\
  \OptionValue{paper}{a\Var{X}} \\
  \OptionValue{paper}{b\Var{X}} \\
  \OptionValue{paper}{c\Var{X}} \\
  \OptionValue{paper}{d\Var{X}} \\
  \Option{landscape} \\
  \Macro{isopaper}\OParameter{series}\Parameter{number}
\end{Declaration}%
\BeginIndex{Option}{paper~=\PName{size}}
\BeginIndex{Option}{landscape}
\BeginIndex{Cmd}{isopaper}%
In addition to the paper formats of the standard classes, all ISO A-, ISO B-,
ISO C- and ISO D-formats are supported and derived from their basic sizes A0,
B0, C0 and D0.  They may be selected directly with options
\OptionValue{paper}{a0}, \OptionValue{paper}{a1} and so on. Landscape
orientation is selected with the \Option{landscape} option just as in the
standard classes.

Alternatively the paper size can be adjusted with the macro
\Macro{isopaper}. This however required re-calculation of the
text layout with \Macro{typearea} or \Macro{areaset}. I do not
recommend the use of \Macro{isopaper}.

\begin{Example}
 Assume you want to print on ISO A8 file cards in landscape
 orientation. Borders should be very small, no header or footer
 will be used.
\begin{lstlisting}
  \documentclass{article}
  \usepackage[headinclude=false,footinclude=false,
              paper=a8,landscape]{typearea}
  \areaset{7cm}{5cm}
  \pagestyle{empty}
  \begin{document}
  \section*{Paper Size Options}
  letterpaper, legalpaper, executivepaper, a4paper,
  a5paper, paper=a0, paper=a1 \dots\ paper=b0, 
  paper=b1 \dots\ paper=c0, paper=c1 \dots\ 
  paper=d0, paper=d1 \dots
  \end{document}
\end{lstlisting}
\end{Example}

The options \Option{a4paper},
\Option{a5paper}, \Option{b5paper}, \Option{letterpaper},
\Option{legalpaper} and \Option{executivepaper} need
to be given as class options when {\KOMAScript} classes are used. The
\Option{paper}-Option may be set using \Macro{KOMAoptions} oder
\Macro{KOMAoption} instead.
%
\EndIndex{Option}{paper~=\PName{size}}
\EndIndex{Option}{landscape}
\EndIndex{Cmd}{isopaper}

\begin{Declaration}
  \Macro{paperwidth}\\
  \Macro{paperheight}
\end{Declaration}%
\BeginIndex{Cmd}{paperwidth}%
\BeginIndex{Cmd}{paperheight}%
Particularly exotic paper sizes can be defined using the lengths
\Macro{paperwidth} and \Macro{paperheight}.
This requires the re-calculation of the text layout using the
commands \Macro{typearea} or \Macro{areaset}.
%
\begin{Example}
Assume you want to print on endless paper with the dimensions
\(8\frac{1}{4}\Unit{inch} \times 12\Unit{inch}\). This format is
not directly supported by \Package{typearea}. Thus you have to
define it befor calculating the text layout:
\begin{lstlisting}
  \documentclass{article}
  \usepackage{typearea}
  \setlength{\paperwidth}{8.25in}
  \setlength{\paperheight}{12in}
  \typearea{1}
\end{lstlisting}
\end{Example}
\EndIndex{Cmd}{paperheight}
\EndIndex{Cmd}{paperwidth}

\begin{Explain}%
\begin{Declaration}
  \Option{dvips}\\
  \Option{pdftex}\\
  \Option{pagesize}
\end{Declaration}%
\BeginIndex{Option}{dvips}%
\BeginIndex{Option}{pdftex}%
\BeginIndex{Option}{pagesize}%
  These mechanisms will set internal {\LaTeX} dimensions to values that
  header, text body and footer can be printed on paper of the given
  size. However, the specifications of the DVI format\index{DVI} do
  not allow the paper format to be specified. If DVI is translated
  directly into a low level printer language like PCL (Hewlett-Packard
  printers) or Esc-P (Epson), this is usually not important, because
  in all these cases the origin is the upper left corner.  If however
  the DVI source is translated into languages like
  PostScript\Index{PostScript} or PDF\Index{PDF}, that have an origin
  in a different position and also contain the paper size explicitly,
  the required information is not available in the DVI file. To solve
  this problem the DVI driver will use the default paper size, which
  the user may set per option or in the {\TeX} source. In case of the
  DVI driver \File{dvips} this can be done with a
  \Macro{special} command. For pdf{\TeX} two dimensions are set
  instead.
\end{Explain}
The option \Option{dvips} writes the paper size as a \Macro{special}
into the DVI file. This macro is then evaluated by \File{dvips}.
\Option{pdftex} on the other hand writes the paper size into the
pdf{\TeX} page register at the beginning of the document, so that the
correct paper size is used when the resulting PDF file is viewed or
printed.  The option \Option{pagesize} is more flexible and uses the
correct mechanism if either a PDF or DVI file is produced.
%
\begin{Example}
  Assume you want to create a DVI file from a document and an
  online version in PDF. Then the preamble could look like this:
\begin{lstlisting}
  \documentclass{article}
  \usepackage[a4paper,pagesize]{typearea}
\end{lstlisting}
  If the file is run through {pdf\TeX} then the lengths
  \Macro{pdfpagewidth} and \Macro{pdfpageheight} will be set to
  appropriate values. If on the other hand you create a DVI file\,---\,
  either with {\LaTeX} or pdf{\LaTeX}\,---\,a \Macro{special} will be
  written to the beginning of the file.
\end{Example}\IndexCmd{pdfpagewidth}\IndexCmd{pdfpageheight}
\EndIndex{Option}{dvips}%
\EndIndex{Option}{pdftex}%
\EndIndex{Option}{pagesize}%

\section{Odd Bits without Direct Relevance to Text Layout}
\label{sec:typearea.else}

\begin{Declaration}
  \Macro{ifpdfoutput}\Parameter{then}\Parameter{else}
\end{Declaration}%
\BeginIndex{Cmd}{ifpdfoutput}%
Sometimes it would be nice if certain things would be done
differently in a file, depending on output format. {\TeX} normally
uses DVI as output format. With pdf{\TeX} however we now have the
option to create PDF files directly. The command
\Macro{ifpdfoutput} is a branching command. If PDF output is
active, the \PName{then} branch will be executed, if PDF output
is inactive or {pdf\TeX} is not used at all, the
\PName{else} branch.
\begin{Example}
  As you may know pdf{\LaTeX} will produce a DVI file instead of a
  PDF file, if the counter \Macro{pdfoutput} is assigned the value 0.
  Only is the counter is assigned a value different from 0 output is
  switched to PDF. Since \Macro{pdfoutput} is unknown when {\LaTeX} is
  used instead of pdf{\LaTeX}, \Macro{pdfoutput} can not be set to 0
  generally, if you want DVI output. A simple solution to this problem
  is to execute following command:
\begin{lstlisting}
  \ifpdfoutput{\pdfoutput=0}{}
\end{lstlisting}
  This only works after loading \Package{typearea} package. If you
  want the line above to be executed after a package, which sets
  \Macro{pdfoutput} to 1 whenever the counter exists, you may combine
  it with the \Macro{AfterPackage}\IndexCmd{AfterPackage} command
  from \Package{scrlfile} package (see \autoref{cha:scrlfile}).
\end{Example}\IndexCmd{pdfoutput}
\EndIndex{Cmd}{ifpdfoutput}

\section{Local Defaults in the File \File{typearea.cfg}}
\label{sec:typearea.cfg} 
Even before the packet options are used, \Package{typearea} will check
for the presence of the file
\File{typearea.cfg}\IndexFile{typearea.cfg} and, if found, load it.
Thus it is possible to define in this file the parameters for
additional paper sizes.

\begin{Declaration}
  \Macro{SetDIVList}\Parameter{List}
\end{Declaration}%
\BeginIndex{Cmd}{SetDIVList}%
\begin{Explain}%
  The \Macro{SetDIVList} parameter was also intended for use in this
  file. Before the option \Option{DIV=calc} was introduced this was the
  only possibility to define \Var{DIV} values for different paper and
  font sizes. This list consists of a number of values in curly
  parentheses. The leftmost value is the font size, \(10\Unit{pt}\),
  the next for \(11\Unit{pt}\), the third for \(12\Unit{pt}\) and so
  on. If you don't use \Macro{SetDIVList} the predefined
  \Macro{SetDIVList}%
  \PParameter{\PParameter{8}\PParameter{10}\PParameter{12}} will be
  used. If no default value is given for a particular font size,
  \(10\) will be used.
\end{Explain}

This command should no longer be used, automatic calculation of text
layout is recommended instead (see
\autoref{sec:typearea.options}).
%
\EndIndex{Cmd}{SetDIVList}

\section{Hints}
\label{sec:typearea.tips}
\begin{Explain}
  In particular for theses many rules exist that violate even the most
  elementary rules of typography. The reasons for such rules include
  typographical incompetence of those making them, but also the fact that they
  were originally meant for mechanical typewriters. With a typewriter or a
  primitive text processor dating back to the early ´80s it is not possible to
  produce typographically correct output without extreme effort.  Thus rules
  were created that appeared to be achievable and still allowed easy
  correction. To avoid short lines made worse by ragged margins the borders
  were kept narrow, and the line spacing increased to 1.5 for corrections. In
  a single spaced document even correction signs would have been difficult to
  add.  When computers became widely available for text processing, some
  students tried to use a particularly ``nice'' font to make their work look
  better than it really was. They forgot however that such fonts are often
  more difficult to read and therefore unsuitable for this purpose. Thus two
  bread-and-butter fonts became widely used which neither fit together nor are
  particularly suitable for the job. In particular Times is a relatively
  narrow font which was developed at the beginning of the 20$^{th}$ century
  for the narrow columns of British newspapers. Modern versions usually are
  somewhat improved. But still the Times font required in many rules does not
  really fit to the border sizes prescribed.

  {\LaTeX} already uses sufficient line spacing, and the borders are wide
  enough for corrections. Thus a page will look generous, even when quite full
  of text. With \Package{typearea} this is even more true, especially if the
  calculation of line length is left to \Package{typearea} too. For fonts that
  are sensitive to long lines the line length can easily be reduced.

  To some extend the questionable rules are difficult to implement in
  {\LaTeX}. A fixed number of characters per line can be kept only when a
  non-proportional font is used. There are very few good non-proportional
  fonts around. Hardly a text typeset in this way looks really good. In many
  cases font designers try to increase the serifs on the `i' or `l' to
  compensate for the different character width. This can not work and results
  in a fragmented and agitated-looking text. If you use {\LaTeX} for your
  paper, some of these rules have to be either ignored or at least interpreted
  generously. For example you may interpret ``60 characters per line'' not as
  a fixed, but average or maximal value.%
\end{Explain}

As executed, record regulations are usually intended to obtain a useable
result even if the author does not know what needs to be considered. Useable
means frequently: readable and correctable.  In my opinion the type area of a
text set with {\LaTeX} and the \Package{typearea} package meets these criteria
well right from the beginning.  Thus if you are confronted with regulations
which deviate obviously substantially from it, then I recommend to submit a
text single dump to the responsible person and inquire whether it is permitted
to supply the work despite the deviations in this form.  If necessary the
type area can be moderately adapted by modification of option \Option{DIV}.  I
advise against use of \Macro{areaset} for this purpose however.  At worst you
may use geometry package (see \cite{package:geometry}), which is not part of
{\KOMAScript}, or change the type area parameters of {\LaTeX}.  You may find the
values determined by \Package{typearea} in the log file of your document.
Thus moderate adjustments should be possible.  However, make absolutely sure
that the proportions of the text area correspond approximately to those of the
page including consideration of the binding correction.

If it should be absolutely necessary to set the text one-and-a-half-lined then
you should not redefine \Macro{baselinestretch} under any circumstances.
Although this procedure was recommended very frequently, it is obsolete since
the introduction of {\LaTeXe} in 1994.  Use at least the instruction
\Macro{linespread}.  I recommend package \Package{setspace} (see
\cite{package:setspace}), which is not part of {\KOMAScript}.  Also you should
use \Package{typearea} to calculate a new type area after the conversion of
the line spacing.  However, you should switch back to the normal line spacing
for the title, preferably also for the table contents and various
listings\,---\,as well as the bibliography and the index.  The
\Package{setspace} package offers for this a special environment and its own
instructions.

The \Package{typearea} package even with option \Option{DIV=calc}
calculates a very generous text area.  Many conservative typographers
will state that the resulting line length is still excessive. The
calculated \Var{DIV} value may be found in the \File{log} file to the
respective document.  Thus you can select a smaller value easily after
the first {\LaTeX} run.

The question is put to me not infrequently, why I actually talk
section after section about type area calculations, when it would be
very much simpler to merely give you a package with which one can
adjust the edges like during a text processing.  Often also it is
stated that such a package would be anyway the better solution, since
everyone can judge how good edges are to be selected, and that the
edges calculated by {\KOMAScript} are anyway not that great.  I take
the liberty of translating a suitable quotation from
\cite{TYPO:ErsteHilfe}. You may find the original German words in the
German scrguide.

\begin{quote}
  \phantomsection\label{sec:typearea.tips.cite}%
  \textit{The making by oneself is quite widespread, the results are often
    doubtful, because layman typographers do not see what is incorrect
    and cannot not know what it important.  Thus one gets
    accustomed to wrong and poor typography.} [\dots] \textit{Now the
    objection could be made that typography is nevertheless a taste thing. If
    it concerned decoration, perhaps one could let that argument apply,
    however, since it concerns primarily information with typography,
    errors cannot only disturb, but may even cause damage.}
\end{quote}

%%% Local Variables:
%%% mode: latex
%%% coding: iso-latin-1
%%% TeX-master: "../guide"
%%% End: