summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/refman/lay_d2.tex
blob: b042e0de3251253461e2a78efd3254d6eae475e2 (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
% LAYOUT2.TEX - Anhang von LAYOUT.TEX (PA 1988)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\clearpage

\section*{Anhang}
\addcontentsline{toc}{section}{Anhang}

\appendix

\section{Die Seitenaufteilung in \LaTeX}

In diesem Anhang wird angegeben, aus welchen Komponenten der 
Seitenaufbau besteht und wie die einzelnen Parameter in \LaTeX\ 
definiert sind (siehe auch \seealso{Abb.\,\ref{bild}} 
Abbildung~\ref{bild}, die von Nelson Beebe an der University of Utah 
erzeugt wurde).

\begin{description}

\item[Textbereich]
        Der normale Textbereich ("`Body"') umfa"st den laufenden 
        Text einschlie"s"-lich Fu"snoten, Tabellen und Abbildungen. 
        \emph{Nicht} zu diesem Bereich geh"oren Kopfzeilen, 
        Fu"szeilen und Randnoten.

        Der Textbereich hat die Breite \cs{text"-width} und die 
        H"ohe \cs{text"-height}.

	Bei zweispaltiger Ausgabe enth"alt der Textbereich zwei Spalten, die
	jeweils \cs{column"-width} breit sind, und zwischen ihnen einen
	Abstand der Breite \cs{column"-sep}. Die Spaltenbreite
	\cs{column"-width} ist also etwas geringer als die H"alfte von
	\cs{text"-width}.

        \cs{text"-width} bzw.\ \cs{column"-width} soll ein 
        Vielfaches der Buchstabenbreite des \texttt{tt}-Fonts sein.

        \cs{text"-height} soll ein Vielfaches der 
        Zeilenh"ohe \cs{baseline"-skip}, vermehrt um die Konstante 
        \cs{top"-skip}, sein.

	Innerhalb des Textbereichs werden Einr"uckungen mit \cs{left"-skip}
	und \cs{right"-skip} festgelegt. Diese beiden Gr"o"sen sollen nicht
	explizit ver"-"andert werden sondern nur implizit durch die
	Environments.

\item[linker Rand]
        Der Rand links vom Textbereich ist um 1~Inch mehr als \cs{
        odd-} bzw.\ \cs{even"-side"-margin}, je nachdem ob die 
        Seitennummer ungerade oder gerade ist. Normalerweise sind beide 
        Gr"o"sen gleich, nur bei der Option \texttt{twoside} werden rechte 
        (=""ungerade) und linke (=""gerade) Seiten verschieden gesetzt.

\item[oberer Rand]
        Der Rand oberhalb des Textbereichs ist um 1~Inch mehr als die 
        Summe von \cs{top"-margin}, \cs{head"-height} und 
        \cs{head"-sep}.

\item[rechter Rand]
        Der Rand rechts vom Textbereich ergibt sich aus der 
        Papierbreite minus der Breite von linkem Rand und Textbereich.

\item[unterer Rand]
        Der Rand unterhalb des Textbereichs ergibt sich aus der 
        Papier"-h"ohe minus der H"ohe von oberem Rand und Textbereich.

\item[Kopfzeilen]\index{Kopfzeilen}
        Kopfzeilen ("`Header"') stehen innerhalb des oberen Randes, und 
        zwar so, da"s zwischen dem unteren Rand der Kopfzeile und dem 
        oberen Rand des Textbereichs der Abstand \cs{head"-sep} 
        bleibt. Oberhalb der Kopfzeile bleibt ein freier Rand von 
        1~Inch mehr als \cs{top"-margin}.

\item[Fu"szeilen]\index{Fu{\ss}zeilen}
        Fu"szeilen ("`Footer"') stehen innerhalb des unteren Randes, 
        und zwar so, da"s der Abstand vom unteren Rand des 
        Textbereichs zum unteren Rand der Fu"s"-zeile \cs{
        foot"-skip} ist.

\item[Randnoten]\index{Randnoten}
        Randnoten ("`Margin Notes"') stehen innerhalb des rechten oder 
        linken Randes. Sie haben eine Breite von \cs{
        margin"-par"-width}, und zwischen den Randnoten und dem 
        Textbereich bleibt ein horizontaler Abstand von \cs{
        margin"-par"-sep}. Der vertikale Abstand zwischen 
        aufeinanderfolgenden Randnoten ist mindestens \cs{
        margin"-par"-push}.

\end{description}

Die Papierh"ohe setzt sich also von oben nach unten
aus folgenden Elementen zusammen:
\begin{verse}
\rm 1 Inch \\*[2pt]
\cs{topmargin} \\*[2pt]
\cs{headheight} \\*[2pt]
\cs{headsep} \\*[2pt]
\cs{textheight} \\*[2pt]
\cs{footskip} \\*[2pt]
\rm Rest der Seite
\end{verse}

Bei Seiten mit rechten Randnoten
-- was der Standardfall ist --
setzt sich die Papierbreite
von links nach rechts aus folgenden Elementen zusammen:
\begin{verse}
1 Inch \\*[2pt]
\cs{oddsidemargin}\ \ bzw.\ \ \cs{evensidemargin} \\*[2pt]
\cs{textwidth} \\*[2pt]
\cs{marginparsep} \\*[2pt]
\cs{marginparwidth} \\*[2pt]
\rm Rest der Seite
\end{verse}
Bei der Option \texttt{twoside} besteht die Seitenbreite
von linken Seiten mit linken Randnoten
aus folgenden Elementen:
\begin{verse}
\rm 1 Inch \\*[2pt]
\cs{evensidemargin} \\*[2pt]
\cs{textwidth} \\*[2pt]
\rm Rest der Seite
\end{verse}

\marginlabel{Anmerkungen:}
Die Gr"o"sen \cs{topmargin}, \cs{oddside"-margin} und \cs{evenside"-margin}
k"onnen auch negative Werte haben, dann ergibt sich an der betreffenden
Stelle ein Rand von weniger als 1~Inch.  Auch \cs{left"-skip} und
\cs{right"-skip} k"onnen negative Werte haben, dann ragt der Text
entsprechend aus dem Textbereich heraus. Ausf"uhrlichere Hinweise und
Skizzen zu diesem Thema findet man unter anderem in der Zeitschrift {\sc
TUGboat} Vol.9, No.1 (April 1988).

Die Gr"o"se \cs{footheight} ist in \LaTeX2e\ \emph{nicht} 
mehr definiert, da sie anscheinend von niemandem benutzt wurde.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{fullpage}
%%%%%%%%%%%%%%%%


% Bild von Nelson Beebe, mit geringen "Anderungen von PA:
\newcommand{\X}[1]{{#1}\index{{#1}}}
% NB: For computed dimension parameters, we cannot use
% \newcommand{}, because this expands to a TeX \def which does
% not evaluate the definition before assigning it to the control
% sequence name; we use \xdef directly to force evaluation
\newcount\T      % temporary counter for arithmetic calculations
\T=0

% **********************************************************************
% WARNING: Do not insert ANY aditional whitespace in these
% macros--otherwise it ends up in the TeX boxes and ruins the
% positioning, sigh....
% **********************************************************************

% NAMEBOX{x}{y}{dx}{dy}{width}{height}{pos}{label} -- framed label with
% box lower-left corner at (x+dx,y+dy)
\newcommand{\NAMEBOX}[8]{\put(#1,#2){\begin{picture}(0,0)(-#3,-#4)\ignorespaces
    \framebox(#5,#6)[#7]{#8}\end{picture}}}

% HARROW{x}{y}{dx}{dy}{length}{side}{pos}{label} -- horizontal
% labeled arrow with left point at (x+dx,y+dy), label on bottom
% (side=b) or top (side=t) of arrow, in makebox[pos]
\newcommand{\HARROW}[8]{\put(#1,#2){\begin{picture}(0,0)(-#3,-#4)\ignorespaces
    \put(0,0){\vector(1,0){#5}}\ignorespaces
    \put(#5,0){\vector(-1,0){#5}}\ignorespaces
    \ifthenelse{\equal{#6}{b}}{\ignorespaces
      \put(0,-\TAD){\makebox(#5,0)[#7]{#8}}
    }{\ignorespaces
    \ifthenelse{\equal{#6}{t}}{}{\ignorespaces
      \typeout{Side #6 must be ``b'' or ``t''--``t'' assumed}}\ignorespaces
      \put(0,\TAD){\makebox(#5,0)[#7]{#8}}
    }
    \end{picture}}}

% VARROW{x}{y}{dx}{dy}{length}{side}{pos}{label} -- vertical
% labeled arrow with left point at (x+dx,y+dy), label on left
% (side=l) or right (side=r) of arrow, in makebox[pos]
\newcommand{\VARROW}[8]{\put(#1,#2){\begin{picture}(0,0)(-#3,-#4)\ignorespaces
    \put(0,0){\vector(0,1){#5}}\ignorespaces
    \put(0,#5){\vector(0,-1){#5}}\ignorespaces
    \ifthenelse{\equal{#6}{l}}{\ignorespaces
      \put(-\TAD,0){\makebox(0,#5)[#7]{#8}}
    }{\ignorespaces
      \ifthenelse{\equal{#6}{r}}{}{\ignorespaces
        \typeout{Side #6 must be ``r'' or ``l''--``r'' assumed}}\ignorespaces
        \put(\TAD,0){\makebox(0,#5)[#7]{#8}}
    }
    \end{picture}}}

% VRULE{x}{y}{dx}{dy}{length}{side}{pos}{label} -- vertical
% rule with left point at (x+dx,y+dy), label on left
% (side=l) or right (side=r) of rule, in makebox[pos]
\newcommand{\VRULE}[8]{\put(#1,#2){\begin{picture}(0,0)(-#3,-#4)\ignorespaces
    \put(0,0){\line(0,1){#5}}\ignorespaces
    \ifthenelse{\equal{#6}{l}}{\ignorespaces
      \put(0,0){\makebox(0,#5)[#7]{$\rightarrow${}#8}}
    }{\ignorespaces
      \ifthenelse{\equal{#6}{r}}{}{\ignorespaces
        \typeout{Side #6 must be ``r'' or ``l''--``r'' assumed}}\ignorespaces
        \put(0,0){\makebox(0,#5)[#7]{$\leftarrow${}#8}}
    }
  \end{picture}}}
% **********************************************************************
% If you wish to change any of these values:
%       * definitions are mostly in alphabetical order
%       * remember units are in centipoints for accurate
%         positioning
%       * most parameters are taken directly from values in
%         BK11.STY, but in order to improve the appearance of the
%         figure, a few have been increased to avoid overlap of
%         labels and/or boxes, or to loosen up the figure
%       * ALL parameters which depend on others are defined by
%         computation and \xdef's below; they must NEVER be
%         changed
%
%- For 11pt BOOK style, \textwidth / \pagewidth(8.5in) = 0.5294
%- Anything larger than this will generate an overfull box.  We
%- choose 0.50 since that makes scaling trivial for the reader
%- \newcommand{\UNITLENGTH}{0.005pt}
%- \newcommand{\SCALEFACTOR}{50\%}
%
%-----> We use a larger picture with 0.70 on our DIN-A4 paper:
\newcommand{\UNITLENGTH}{0.007pt}
\newcommand{\SCALEFACTOR}{70\%}
% <------------------------------
%
% US papersize...
%
\newcommand{\PAGEHEIGHT}{79497}         % 11in in centipoints
\newcommand{\PAGEWIDTH}{61430}          % 8.5in in centipoints
%
% Typical dimensions from BK10.DOC
%
\newcommand{\BASELINESKIP}{2000}        % really 1000, but this is
                                        % too tight for the figure
\newcommand{\COLUMNSEP}{1000}
\newcommand{\COLUMNSEPRULE}{0}

% DVI drivers put top left corner at (1in,1in) from physical page
% left corner
\newcommand{\DVIXOFFSET}{7227}
\newcommand{\DVIYOFFSET}{7227}

\newcommand{\EVENSIDEMARGIN}{10841}

\newcommand{\FOOTHEIGHT}{2400} % really 1200, but too tight
\newcommand{\FOOTNOTESEP}{665}
\newcommand{\FOOTSKIP}{4207}    % really 2529, but too tight; for symmetry,
                                % make FOOTSKIP=HEADSEP+FOOTHEIGHT
\newcommand{\HEAdHEIGHT}{2400}  % really 1200, but too tight
\newcommand{\HEADSEP}{1807}

\newcommand{\MARGINPARPUSH}{2000}       % really 500, but too tight
\newcommand{\MARGINPARSEP}{2800}        % really 700, but too tight
\newcommand{\MARGINPARWIDTH}{7227}
\newcommand{\MARGINNOTEHEIGHT}{4444}    % arbitrary value (holds
                                        % ``Margin Note A'' on
                                        % 2 lines)

\newcommand{\ODDSIDEMARGIN}{3613}
%
% Upper left page corner (0,0) is at (1in,1in) on physical page
% for DVI drivers.  Position the LOWER left corner at
% (\PAGEXORIGIN,\PAGEYORIGIN), where \PAGEYORIGIN is computed
% below
\newcommand{\PAGEXORIGIN}{\DVIXOFFSET}

\newcommand{\TAD}{800}     % how far to move labels from their arrows
\newcommand{\TEXTHEIGHT}{50400}
\newcommand{\TEXTWIDTH}{32522}
\newcommand{\TOPMARGIN}{5420}

% **********************************************************************
% DO NOT CHANGE any of these computed parameters
%

%
\T=\TEXTWIDTH
\advance\T by -\COLUMNSEP
\divide\T by 2
\xdef\COLUMNWIDTH{\the\T}

\T=\TEXTWIDTH
\divide\T by 2
\advance\T by \ODDSIDEMARGIN
\xdef\COLUMNXMIDDLE{\the\T}     % 0.5*TEXTWIDTH+ODDSIDEMARGIN

\T=\COLUMNWIDTH
\advance\T by \ODDSIDEMARGIN
\advance\T by \COLUMNSEP
\xdef\COLUMNTWOX{\the\T}        % COLUMNWIDTH+COLUMNSEP+ODDSIDEMARGIN

\T=\FOOTSKIP
\advance\T by \TEXTHEIGHT
\advance\T by \HEADSEP
\xdef\HEADYORIGIN{\the\T}           % FOOTSKIP+TEXTHEIGHT+HEADSEP
%
% Inner TeX page dimensions are (\INNERWIDTH,\INNERHEIGHT).  All TeX
% coordinates are relative to (0,0) at upper-left corner of this
% page, although for the figures, we put (0,0) at lower-left
% corner.
%
\T=\TOPMARGIN
\advance\T by \HEAdHEIGHT
\advance\T by \HEADSEP
\advance\T by \TEXTHEIGHT
\advance\T by \FOOTSKIP
% INNERHEIGHT=TOPMARGIN+HEAdHEIGHT+HEADSEP+TEXTHEIGHT+FOOTSKIP
\xdef\INNERHEIGHT{\the\T}

\T=\ODDSIDEMARGIN
\advance\T by \TEXTWIDTH
\advance\T by \EVENSIDEMARGIN
\xdef\INNERWIDTH{\the\T}  % ODDSIDEMARGIN+TEXTWIDTH+EVENSIDEMARGIN

\T=\ODDSIDEMARGIN
\advance\T by \TEXTWIDTH
\advance\T by \MARGINPARSEP
\xdef\MARGINNOTEXORIGIN{\the\T} % ODDSIDEMARGIN+TEXTWIDTH+MARGINPARSEP

\T=\TEXTHEIGHT
\multiply\T by 75
\divide\T by 100
\advance\T by \FOOTSKIP
\xdef\MARGINNOTEYA{\the\T}      % .75*TEXTHEIGHT+FOOTSKIP

\T=\MARGINNOTEYA
\advance\T by -\MARGINNOTEHEIGHT
\advance\T by -\MARGINPARPUSH
\xdef\MARGINNOTEYB{\the\T}      % MARGINNOTEYA-MARGINNOTEHEIGHT-MARGINPARPUSH

\T=\MARGINNOTEYA
\advance\T by \MARGINNOTEHEIGHT
\xdef\MARGINNOTEYC{\the\T}      % MARGINNOTEYA+MARGINNOTEHEIGHT

\T=\PAGEHEIGHT
\advance\T by -\DVIYOFFSET
\xdef\PAGEYTOP{\the\T}          % PAGEHEIGHT-DVIYOFFSET

\T=\PAGEYTOP
\advance\T by -\INNERHEIGHT
\xdef\PAGEYORIGIN{\the\T}       % PAGEYTOP-INNERHEIGHT

\T=\ODDSIDEMARGIN
\advance\T by \TEXTWIDTH
\xdef\RIGHTEDGE{\the\T}         % ODDSIDEMARGIN+TEXTWIDTH

\T=\TEXTHEIGHT
\multiply\T by 4
\divide\T by 10
\xdef\TEXTY{\the\T}             % TEXTY = 0.4*TEXTHEIGHT (we put
                                % sample text here)

\T=\TEXTHEIGHT
\divide\T by 3
\xdef\TEXTWIDTHY{\the\T}        % TEXTWIDTHY = TEXTHEIGHT/3 (we
                                % put \textwidth label here)
  \begin{figure}
  %%%%%%%%%%%%%%

 \caption{Seiten-Layout}
 \label{bild}

    \begin{center}
      \begin{small}       % make text somewhat smaller
      \setlength{\unitlength}{\UNITLENGTH}
        \begin{picture}(\PAGEWIDTH,\PAGEHEIGHT)   % sizes in centipoints

%
          \NAMEBOX{0}{0}{0}{0}{\PAGEWIDTH}{\PAGEHEIGHT}{}{}
%
          \HARROW{0}{\PAGEYTOP}{0}{0}{\PAGEXORIGIN}{b}{}{1in}
%
          \VARROW{\PAGEXORIGIN}{\PAGEYTOP}{0}{0}{\DVIYOFFSET}{r}{l}{1in}
%
          \put(\PAGEXORIGIN,\PAGEYORIGIN){
          \begin{picture}(\INNERWIDTH,\INNERHEIGHT)
            % Draw 3-sided inner page frame--no bottom side
            % because it is not significant for dimensioning
            \put(0,0){\line(0,1){\INNERHEIGHT}}
            \put(0,\INNERHEIGHT){\line(1,0){\INNERWIDTH}}
            \put(\INNERWIDTH,0){\line(0,1){\INNERHEIGHT}}
%
            \NAMEBOX{\ODDSIDEMARGIN}{\TEXTY}{0}{0}{\TEXTWIDTH}{
                \BASELINESKIP}{l}{A line of text\ldots}
            \NAMEBOX{\ODDSIDEMARGIN}{\TEXTY}{0}{-\BASELINESKIP}{
                \TEXTWIDTH}{\BASELINESKIP}{l}{Next line\ldots}
%
            \VARROW{\COLUMNXMIDDLE}{\TEXTY}{0}{-\BASELINESKIP}{
              \BASELINESKIP}{r}{l}{\tt\string\baselinestretch
              $\times$\string\baselineskip}
%
            \HARROW{0}{\TEXTHEIGHT}{0}{0}{\ODDSIDEMARGIN}{t}{}{
              \tt\string\oddsidemargin}
            \HARROW{0}{\TEXTHEIGHT}{0}{0}{\ODDSIDEMARGIN}{b}{}{
              \tt\string\evensidemargin}
            %
            % Page text label
            \NAMEBOX{\ODDSIDEMARGIN}{\FOOTSKIP}{0}{0}{\TEXTWIDTH}{
              \TEXTHEIGHT}{}{Page Text}
            % Page footer box, arrow, and label
            \NAMEBOX{\ODDSIDEMARGIN}{0}{0}{0}{\TEXTWIDTH}{
              \FOOTHEIGHT}{}{Page Footer}
            %
            \VARROW{\ODDSIDEMARGIN}{0}{-\TAD}{0}{\FOOTHEIGHT}{l}{r}{
              \tt\string\footheight}
            %
            % Footskip arrow and label
            \VARROW{\RIGHTEDGE}{0}{\TAD}{0}{\FOOTSKIP}{r}{l}{
              \tt\string\footskip}
            %
            \HARROW{\ODDSIDEMARGIN}{\TEXTWIDTHY}{0}{0}{\TEXTWIDTH}{b}{}{
              \tt\string\textwidth}
            %
            \VARROW{\ODDSIDEMARGIN}{\FOOTSKIP}{-\TAD}{0}{
              \TEXTHEIGHT}{l}{r}{\tt\string\textheight$\rightarrow$}
            %
            \VARROW{\ODDSIDEMARGIN}{\HEADYORIGIN}{-\TAD}{0}{
              \HEAdHEIGHT}{l}{r}{\tt\string\headHeight}
            %
            \VARROW{\RIGHTEDGE}{\HEADYORIGIN}{\TAD}{-\HEADSEP}{
              \HEADSEP}{r}{l}{\tt\string\headsep}
            %
            \VARROW{\RIGHTEDGE}{\INNERHEIGHT}{\TAD}{-\TOPMARGIN}{
              \TOPMARGIN}{r}{l}{\tt\string\topmargin}
            %
            \NAMEBOX{\ODDSIDEMARGIN}{\HEADYORIGIN}{0}{0}{\TEXTWIDTH}{
              \HEAdHEIGHT}{}{Page Header}
            %
            \NAMEBOX{\MARGINNOTEXORIGIN}{\MARGINNOTEYA}{0}{0}{
              \MARGINPARWIDTH}{\MARGINNOTEHEIGHT}{}{\shortstack{
              Margin\\note A}}
            %
            \VARROW{\MARGINNOTEXORIGIN}{\MARGINNOTEYA}{-\TAD}{
              -\MARGINPARPUSH}{\MARGINPARPUSH}{l}{r}{
            \tt\string\marginparpush}
            %
            \NAMEBOX{\MARGINNOTEXORIGIN}{\MARGINNOTEYB}{0}{0}{
              \MARGINPARWIDTH}{\MARGINNOTEHEIGHT}{}{\shortstack{Margin\\note B}}
            %
            \HARROW{\MARGINNOTEXORIGIN}{\MARGINNOTEYB}{0}{-\TAD}{
              \MARGINPARWIDTH}{b}{}{\tt\string\marginparwidth}
            %
            \HARROW{\MARGINNOTEXORIGIN}{\MARGINNOTEYC}{
              -\MARGINPARSEP}{\TAD}{\MARGINPARSEP}{t}{}{
              \tt\string\marginparsep}
            %
          \end{picture}}
        \end{picture}
      \end{small}
    \end{center}
  \end{figure}
  %%%%%%%%%%%%

  \clearpage
  %%%%%%%%%%

\end{fullpage}
%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Beschreibung der Dokumentklasse Refman}
\label{refman}

Am EDV-Zentrum der TU Wien wurde -- aufbauend auf den in 
den vorangegangenen Kapiteln angef"uhrten Grunds"atzen -- eine 
Style-Option \texttt{refman} zu den \LaTeX-Styles \texttt{article} und
\texttt{report} entwickelt, die ein Layout f"ur Reference Manuals, technische 
Beschreibungen und dergleichen realisiert. Das Layout entspricht im 
wesentlichen den Angaben in Abschnitt~\ref{refmanex}: Die normalen 
Textseiten haben einen breiten linken Rand, der f"ur "Uberschriften 
und Randnoten ben"utzt wird, und nur einen eher knappen freien Rand 
oben, rechts und unten.

F"ur \LaTeX2e\ wurde diese Option in eine echte Class 
umgewandelt. Dadurch ist es leichter m"oglich, verschiedene 
Papierformate zu unterst"uzen. Au"serdem gibt es neben der 
\texttt{report}-"ahnliche 
\texttt{refrep}-Class\index{Refrep.cls} eine 
\texttt{article}-"ahnliche 
\texttt{refart}-Class\index{Refart.cls}, die sich durch andere 
Eintr"age in Kopf- und Fu"s-Zeile sowie das Fehlen der 
Gliederungsebene \texttt{chapter} von \texttt{refrep} 
unterscheidet.

Die derzeitige Version dieser Class wird im folgenden kurz in Hinblick 
auf ihre Anwendeung beschrieben. Dies soll gleichzeitig als Beispiel 
daf"ur dienen, welche "Anderungen und zus"atzliche Komponenten ein 
typischer neuer \LaTeX-Style enthalten kann.

Das vorliegende Handbuch wurde mit der Documentclass 
\texttt{refart} gesetzt. Es ist also gleichzeitig ein Beispiel 
f"ur das von dieser Class bewirkte Layout.


\subsection{Aufruf}
\index{Refart,Aufruf}
\index{Refrep,Aufruf}

Im \LaTeX\ Local Guide ist jeweils angegeben, ob und wo dieses oder 
ein "ahnliches Class-File in einer bestimmten 
\LaTeX-""Installation verf"ugbar ist. Der Aufruf erfolgt durch die 
Angabe der Class \texttt{refart} im Befehl \cs{documentclass}, 
also \zB~mit
\begin{verbatim}
\documentclass[11pt,a4paper]{refart}
\usepackage{german}
\end{verbatim}

\subsection{Optionen}
\index{Optionen}

Die Class \texttt{refart} ersetzt die Class \texttt{article} und 
die Class \texttt{refrep} die Class \texttt{report}. Sie kann 
\emph{nicht} mit der folgenden Option verwendet werden:
\texttt{twocolumn}.

Da es sich jetzt um eine selbstst"andige Class handelt, sind folgende 
Optionen m"oglich:
\texttt{landscape}\index{Landscape},
\texttt{square}\index{Square}
sowie die aus den Standard--Classes bekannten 
Papiergr"o"sen-Optionen
\texttt{a4paper}\index{a4paper},
\texttt{a5paper} oder auch die Optionen f"ur amerikanische 
Formate. Die \texttt{square}-Option erzeugt ein quadratisches 
Layout, bei dem die H"ohe auf die Papierbreite begrenzt wird.

Sie \emph{kann} auch mit zahlreichen anderen Optionen kombiniert 
werden, auch \zB\ mit \texttt{twoside} oder \texttt{fleqn}. Die 
Option \texttt{titelpage} erzeugt bei der \texttt{refart}-Class 
eine eigene Titelseite. Bei der Class \texttt{refrep} ist dies 
die Standardeinstellung.

Die Classes \texttt{refart} und \texttt{refrep} unter"-st"utzen nur 
die einspaltige Ausgabe, die Befehle \cs{twocolumn} und 
\cs{onecolumn} k"onnen in diesem Fall \emph{nicht} verwendet 
werden.

Der Index wird automatisch zweispaltig gesetzt. Das Layout entspricht 
hier dem der Standard--Classes, allerdings mit kleinen "Uberschriften 
wie im Rest des Dokumentes.

\subsection{Layout-"Anderungen}

\subsubsection{Seitenaufteilung}

\index{Seitenaufteilung, horizontal}\marginlabel{Horizontal:} Die
komplette gen"utzte Breite (\cs{fullwidth}) berechnet sich so, da"s am
Papier rechts und links noch jeweils 1~Inch freier Rand bleiben. Die
Zeilenl"ange des normalen Textes (\cs{textwidth}) und alle davon
abgeleiteten Gr"o"sen betragen 70\% der \cs{fullwidth}. Die Breite des
Randes (\cs{leftmarginwidth}), der links vom normalen Textbereich f"ur
"Uberschriften und Randnoten verwendet wird, ergibt sich aus der
Differenz von \cs{fullwidth} und \cs{textwidth}.

\index{Seitenaufteilung, vertikal}\marginlabel{Vertikal:} Die Texth"ohe
berechnet sich so, da"s ein oberer und unterer Rand von 1~Inch bleibt.
Manche Pagestyles verwenden einen anderen Wert f"ur den oberen Rand.
(siehe \ref{pagestyle}).

Mit der Option \texttt{smallborder} wird der Rand auf 0,25~Inch verringert.

Der Rand kann durch den Befehl
\verb|\setlength\papermarginwidth|\verb|{0.25in}| umdefiniert werden,
danach ist der Befehl \verb|\setpagefraction{0.7}| aufzurufen, um das
neue Layout zu berechnen. Dies funktioniert nur in der Pr"aambel. Die
Blattgr"o"se wird dem DVI-Treiber mitgeteilt, wenn die Option
\texttt{pagesize} angegeben wird. 

Es wird kein vertikaler Randausgleich gemacht (\cs{raggedbottom}).

\subsubsection{Kapitel-"Uberschriften}

Die "Uberschriften von \cs{section}, \cs{subsection} und
\cs{subsubsection} verwenden die gesamte Seitenbreite, \dH\ sie ragen in
den linken Rand hinaus. Daf"ur werden kleinere vertikale Abst"ande vor
und nach den "Uberschriften und eine weniger gro"se Schrift verwendet.
In den "Uberschriften werden keine Wort"-abteilungen und kein rechter
Randausgleich gemacht.

Beim Style \texttt{refart} werden die von \cs{maketitle} und \cs{part}
erzeugten "Uberschriften im folgenden Layout gesetzt: Sie stehen am
Beginn einer neuen Seite (\cs{clearpage}), verwenden die gesamte Breite
und sind von zwei waagrechten Linien eingeschlossen. Der Befehl
\cs{maketitle} setzt die "Uberschrift (\cs{title}) und den Autor
(\cs{author}). Der Befehl \cs{makeauthor}, wird nicht mehr unterst"utzt.
Beim Befehl \cs{part} wird nur die r"omische Nummer des Abschnitts vor
den Text gesetzt (ohne das Wort "`Part"' oder "`Teil"').

Beim Style \texttt{refrep} werden Kapitel-"Uberschriften (\cs{chapter})
im folgenden Layout gesetzt: Sie stehen am Beginn einer neuen Seite
(\cs{clearpage}), verwenden die gesamte Breite und sind von zwei
waagrechten Linien eingeschlossen. Die Befehle \cs{maketitle} und
\cs{part} bleiben in diesem Style unver"-"andert, es wird aber
empfohlen, sie in ein Fullpage-""Environment (siehe \ref{fullpage})
einzu"-schlie"sen.

\subsubsection{Abs"atze}

Abs"atze  werden durch einen vertikalen Abstand (\cs{parskip}) von einer
halben Zeile getrennt, ohne horizontale Einr"uckung (\cs{parindent} ist
Null). Der vertikale Abstand ent"-h"alt einen "`stretchable"' Anteil von
"`\texttt{plus 2pt}"'; dies ver"-gr"o"sert die Wahrscheinlichkeit, da"s
\LaTeX\ die am besten geeigneten Stellen f"ur alle Seitenwechsel findet.

Die vertikalen Ab"-st"an"-de in den List-""Environments sind so gesetzt,
da"s sich vor, nach und innerhalb der Environments jeweils derselbe
Abstand wie zwischen den normalen Ab"-s"atzen ergibt.

\subsection{Fu"snoten}

Das Layout der Fu"snoten wurde an das Absatzlayout angepast, \dH\ auch
die Fu"snoten werden ohne Einzug in der ersten Zeile gesetzt.

\subsubsection{Description-Environment}
\index{Description-Environment}

Das \texttt{description}-Environment ist so abge"-"an"-dert, da"s 
die Item-Labels den gesamten linken Rand verwenden.

\seealso{Kapitel \ref{layout}}
Beispiele daf"ur finden sich unter anderem in Kapitel~\ref{layout}.

\subsubsection{Positionierung der Randnoten}

Randnoten (\cs{marginpar}) werden stets in den linken Rand gesetzt
und verwenden dessen gesamte Breite.

Der minimale vertikale Abstand zwischen Randnoten (\cs{marginparpush})
ist auf Null gesetzt, damit m"oglichst keine Verschiebung von Randnoten
erfolgt.


\subsubsection{Kopf- und Fu"szeilen, Pagestyles} \label{pagestyle}
\index{Pagestyles}

Beim Pagestyle \texttt{plain} werden die Seitennummern in der
Fu"s"-zeile jeweils ganz rechts bzw.\ (auf linken Seiten bei der Option
\texttt{twoside}) ganz links au"sen gesetzt.

\index{Headings} \index{Myheadings} Bei den Pagestyles \texttt{headings}
und \texttt{myheadings} wird ebenfalls die gesamte Breite verwendet, und
unter die Kopfzeile wird eine waagrechte Linie gesetzt. Beim Pagestyle
\texttt{ headings} enth"alt die Kopfzeile beim \texttt{refart} die
\verb|\section|-"""Uberschrift auf der linke und die
\verb|\subsection|-"""Uberschrift auf der linken Seite, beim
\texttt{refrep} die \verb|\chapter|-"""Uberschrift auf der linken und
die \verb|\section|-"""Uberschrift auf der rechten Seite.  Die Schrift
wird in schr"ager (slanted) Schrift gesetzt.

Seit Version 2.0~e wird f"ur die erste Seite eines Kapitels der
Pagestyle \texttt{empty} anstelle von \texttt{plain} verwendet. Bei
Verwendung des Pagestyles \texttt{headings} kamm es zu seltsamen
Effekten, wenn die erste Seite mit den Pagestyle \texttt{plain} ges"atzt
wurde.

\index{Footings}
\index{Myfootings}
Zus"atzlich sind auch Pagestyles \texttt{footings} und \texttt{myfootings} 
definiert, die entsprechende Fu"s"-zeilen (mit einer waagrechten Linie 
dar"uber) setzen. Beispiel: Die folgenden Befehle setzen den Kurztitel des 
Schrift"-st"ucks in die Fu"s"-zeile:
\begin{verse}
\verb|\pagestyle{myfootings}| \\*
\verb|\markboth{Kurztitel}{Kurztitel}|
\end{verse}

Die Pagestyles \texttt{headings} und \texttt{myheadings} setzen den
oberen Rand auf einen etwas gr"o"seren Wert, um die leere Fu"s"-zeile
auszugleichen. Die Pagestyles \texttt{footings} und \texttt{myfootings}
setzen den oberen Rand auf einen etwas kleineren Wert, um die leere
Kopf"-zeile auszugleichen. Die Pagestyles \texttt{empty} und
\texttt{plain} lassen den Rand unver"-"andert. Daraus ergibt sich:
Innerhalb eines Schrift"-st"ucks kann manentweder zwischen den
Pagestyles \texttt{headings}, \texttt{myheadings} und \texttt{empty}
\newline oder zwischen den Pagestyles \texttt{footings},
\texttt{ myfootings} und \texttt{empty} 
wechseln, aber man sollte nicht zwischen \texttt{footings}- 
\texttt{headings}- und \texttt{plain} Seiten wechseln.


\subsection{Zus"atzliche Befehle}

\subsubsection{Marginlabel}
\index{Marginlabel}

Der Befehl \verb|\marginlabel{xxx}| setzt das Wort oder den Text
\texttt{ xxx} rechts"-b"undig in den linken Rand. Dies kann f"ur
Stichworte, kurze "Uberschriften von Abs"atzen oder "ahnliches verwendet
werden.

\marginlabel{Beispiel:}Das Wort "`Beispiel:"' links von diesem Absatz
ist ein Beispiel f"ur einen Marginlabel.

\subsubsection{Attention}
\index{Attention}\index{Attentionsymbol}\index{manfnt}

Der Befehl \verb|\attention| setzt ein Ausrufungszeichen in den linken 
Rand. Dies dient zum Markieren wichtiger Abs"atze oder S"atze.

\attention
Das ist ein Beispiel f"ur \verb|\attention|.

\renewcommand{\attentionsymbol}{\texttt{:-)}}
\attention
Seit Version 2.0c ist es m"oglich das Symbol f"ur den 
\cs{attention} Befehl mit Hilfe von 
\verb|\renewcommand{\attentionsymbol}{\texttt\{:-)\}}|
zu ver"andern. Mit 
\verb|\renewcommand{\attentionsymbol}|\\ \verb|{\large \bfseries ! $\rightarrow$}|
\renewcommand{\attentionsymbol}{\large \bfseries ! $\rightarrow$} 
wird wieder auf das Originalverhalten zur"uckgeschaltet.

Zus"atzlich unterst"utzt der \cs{attention} Befehl ein optionales
Argument um das Symbol im Rand einmalig durch ein anderes zu ers"atzen.
In diesem Fall ist es nicht notwendig, das \cs{attentionsymbol}
zur"uckzus"atzen. Diese Erweiterung dient vor allem zur Unterst"utzung
f"ur das \texttt{manfnt} Paket und sollte nicht zur Erzeugung eines
bunten Layouts mi"sbraucht werden.\attention[\texttt{:-(}]

Mit dem \texttt{manfnt} Paket existiert eine einfache M"oglichkeit, um
auf die Symbole des \texttt{manfnt} Zeichensatzes zuzugreifen. Dieser
Zeichensatz enth"alt u.a. das "`Dangerous Bend"' und "`Double Dangerous
Bend"' Zeichen.

\subsubsection{Seealso}
\index{Seealso}

Der Befehl \verb|\seealso{n}| markiert einen Verweis auf ein Kapitel 
oder eine Abbildung.

Beispiele daf"ur finden sich nicht nur hier (am linken Rand) 
sondern unter anderem auch in \seealso{Kapitel 1} Kapitel~1.


\subsubsection{Maxipage-Environment}
\index{Maxipage}

Das \texttt{maxipage}-Environment ist eine Art von "`Minipage"', die
sich "uber die gesamte Seitenbreite erstreckt. Es eignet sich \zB\
f"ur "uberlange mathematische Gleichungen oder breite Tabellen innerhalb
des Textes oder in "`Floats"' (\texttt{table} oder \texttt{figure}).
Innerhalb der "`Maxipage"' sind keine Seitenwechsel und keine Randnoten
m"oglich. Beginn und Ende des \texttt{maxipage}-Envrionment bewirken
jeweils einen neuen Absatz und eine waagrechte Linie.

Hier folgt nun ein Beispiel f"ur eine Maxipage.\nopagebreak
\begin{maxipage}
Diese "uberlangen Zeilen sind der Inhalt der Maxipage. Sie erstrecken 
sich "uber die gesamte Seitenbreite, ohne linken 
Rand.
\end{maxipage}\nopagebreak
Dies ist der normale Text nach dem Ende der Maxipage.

\subsubsection{Fullpage-Environment} \label{fullpage}
\index{Fullpage}

Das \texttt{fullpage}-Environment besteht aus einer oder mehreren
Seiten, bei denen sich der Text "uber die gesamte Seitenbreite erstreckt
und kein linker Rand bleibt. Randnoten sind darin nicht m"oglich. Beginn
und Ende des \texttt{fullpage}-Envrionment bewirken jeweils einen
Seitenwechsel (\verb|\clearpage|).

Dies eignet sich f"ur Spezialseiten wie mehrseitige gro"se 
Tabellen, Programmlistings, Titelseiten, Inhaltsverzeichnisse und 
"ahnliches.

\seealso{Seite \pageref{bild}}
Seite~\pageref{bild} ist ein Beispiel f"ur eine Fullpage.

\subsubsection{Noparskip}

Der Befehl \verb|\noparskip| entfernt den vertikalen Abstand vor einem 
Absatz -- analog zum Befehl \verb|\noindent|, der die horizontale 
Einr"uckung am Beginn eines Absatzes entfernt.

\subsubsection{Setleftmarginwidth}
\index{Setleftmarginwidth}

Der Befehl \verb|\setleftmarginwidth| wird nicht mehr unterst"utzt.
Stattdessen kann mit dem Befehl \verb|\settextfraction| der 
Anteil des Textes (normalerweise 70~\%) ge"andert werden. Das 
Argument mu"s zwischen 0 und 1 liegen.

\subsubsection{Descriptioncolon}
\index{Descriptioncolon}

Der Doppelpunkt in einer \texttt{description} kann durch den Befehl 
\verb|\descriptioncolonfalse| ab und durch \verb|\descriptioncolontrue| 
wieder eingeschaltet werden. Im Normalfall ist der Doppelpunkt 
eingeschaltet.

\subsubsection{Descriptionleft}
\index{Descriptionleft}

Mit \verb|\descriptionlefttrue| wird der Label f"ur eine
\texttt{description} linksb"undig in den Rand gesetzt. Der Normalfall ist
rechtsb"undig, dies wird durch \verb|\descriptionleftfalse| erreicht.

\subsubsection{Maxipagerule}
\index{Maxipagerule}

Mit \verb|\maxipagerulefalse| lassen sich die Striche vor und nach 
einer \texttt{maxipage} abschalten. Sie sind normalerweise aktiv.

\subsubsection{Condbreak}
\index{Condbreak}

Mit \verb|\condbreak{2cm}| wird sichergestellt, da"s die n"achsten 2~cm 
nicht getrennt werden. Sie erscheinen entweder auf der aktuellen Seite 
oder werden komplett auf die neue Seite umgebrochen.

\subsubsection{Example}
\index{Example}

Die \texttt{example}-Umgebung erzeugt eine \texttt{verse}-Umgebung, schaltet 
allerdings auf \texttt{tt} und versucht einen Seitenumbruch vor der 
Umgebung zu vermeiden.

\subsubsection{Pageperchapter}
\index{Pageperchapter}

Der Befehl \verb|\pageperchapter| erzeugt eine kapitelweise 
Seitennumerierung. Dies ist besonders f"ur umfangreiches 
Reference Manuals sinnvoll. Da nur \texttt{refrep} "uber die 
Gliederungsebene \texttt{chapter} verf"ugt, ist dieser Befehl 
auch nur hier m"oglich.

\subsubsection{Smallborder}
\index{Smallborder}

Der normale Seitenrand betr"agt 1~inch (25,4~mm). Das ist f"ur ein gedrucktes
Dokument in Ordnung, f"ur die Betrachtung auf dem Monitor aber verschwendete
Bildschirmfl"ache. Die Option \verb|smallborder| reduziert den Rand auf 0,25~inch
(6,35~mm). Damit klebt der Text noch nicht am Rand, es wird aber auch nicht
zu viel Bildschirmfl"ache verschenkt.

Der Rand kann durch den Befehl \verb|\setlength\papermarginwidth|\verb|{0.25in}|
umdefiniert werden, danach ist der Befehl \verb|\setpagefraction{0.7}|
aufzurufen, um das neue Layout zu berechnen.

\subsubsection{Dvips}
\index{Dvips}

Die Option \verb|dvips| teilt DVIPS die aktuelle Blattgr"o"se mit.

\subsubsection{Pdftex}
\index{Pdftex}

Die Option \verb|pdftex| teilt PDFTEX die aktuelle Blattgr"o"se mit.

\subsubsection{Pagesize}
\index{Pagesize}

Pagesize w"ahlt automatisch den passenden Befehl f"ur den jeweiligen
DVI-Treiber. Dies funktioniert bei DVIPS und DVIPDFMX f"ur DVI-Ausgabe und
PDF\TeX f"ur PDF-Ausgabe.

\subsubsection{Ifpdfoutput}
\index{Ifpdfoutput}

Mit dem Befehl \verb|\ifpdfoutput{pdftext}{dvitext}| k"onnen Texte abh"angig
vom Ausgabeformat ges"atzt werden. Die Option \verb|pagesize| nutzt diesen
Befehl.

Die letzten vier Befehle wurden aus KOMA-Script "ubernommen, vielen Dank
Markus!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput