summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer-scrpage-experts.tex
blob: 331a92a911a5558f9e25b8492e86aaa5ae00172f (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
% ======================================================================
% scrlayer-scrpage-experts.tex
% Copyright (c) Markus Kohm, 2013-2017
%
% 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.3c of the license.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c 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.
% ----------------------------------------------------------------------
% scrlayer-scrpage-experts.tex
% Copyright (c) Markus Kohm, 2013-2017
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%   http://www.latex-project.org/lppl.txt
% und Version 1.3c 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.
% ======================================================================
%
% Expert chapter about scrlayer-scrpage of the KOMA-Script guide
%
% ----------------------------------------------------------------------
%
% Expertenkapitel über scrlayer-scrpage in der KOMA-Script-Anleitung
%
% ============================================================================

\KOMAProvidesFile{scrlayer-scrpage-experts.tex}%
                 [$Date: 2017-01-02 13:30:07 +0100 (Mon, 02 Jan 2017) $
                  KOMA-Script guide (chapter: scrlayer-scrpage for experts)]

\chapter[{Zusätzliche Möglichkeiten von \Package{scrlayer-scrpage}}]
{Zusätzliche Möglichkeiten des
  Pakets\ChangedAt{v3.12}{\Package{scrlayer-scrpage}}
  \Package{scrlayer-scrpage}}
\labelbase{scrlayer-scrpage-experts}
%
\BeginIndexGroup
\BeginIndex{Package}{scrlayer-scrpage}%
Über die Erklärungen in \autoref{cha:scrlayer-scrpage} von
\autoref{part:forAuthors} diese\iffree{r Anleitung}{s Buches} hinaus bietet
das Paket \Package{scrlayer-scrpage} viele weitere Möglichkeiten. Diese
stellen jedoch entweder Erweiterungen dar, die der durchschnittliche Anwender
nicht zwingend benötigt oder die nur aus Gründen der Kompatibilität zu
\Package{scrpage2} existieren, so dass die meisten Anwender sie nicht zu
wissen brauchen. All diese Dinge werden daher hier in
\autoref{part:forExperts} dokumentiert.

\LoadCommonFile{pagestylemanipulation}% \section{Beeinflussung von definierten Seitenstilen}

\section{Definition eigener Seitenstil-Paare}
\seclabel{pagestyle.pairs}

In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} wurden die beiden
Seitenstile \PageStyle{scrheadings} und \PageStyle{plain.scrheadings}
vorgestellt. Diese bilden quasi ein Paar, bei dem \PageStyle{scrheadings} als
Haupt-Seitenstil mit Kolumnentitel vorgesehen ist, während
\PageStyle{plain.scrheadings} ein dazu passender \PageStyle{plain}-Seitenstil
ohne Kolumnentitel aber üblicherweise mit Paginierung, also mit Seitenzahl
ist. Neben der Konfiguration dieses vordefinierten Paars bietet
\Package{scrlayer-scrpage} auch die Möglichkeit, zusätzliche Paare zu
definieren. Der Name des Haupt-Seitenstils \PageStyle{scrheadings} dient dabei
quasi auch als Name des Seitenstil-Paars.

Die allermeisten Anwender werden in der Regel mit dem einen vordefinierten
Seitenstil-Paar \PageStyle{scrheadings} auskommen. Die in diesem Abschnitt
dokumentierten Anweisungen sind daher eher Ergänzungen für besondere Fälle. Da
mir während des Abfassens dieser Anleitung keine handlichen
Anwendungsbeispiele eingefallen sind, gibt es auch keine ausführlichen
Beispiele. Sollte mir im Support einmal eine besonders schöne Anwendung
begegnen, werde ich solche aber in zukünftigen Fassungen gerne aufgreifen. Ich
bin jedoch gleichzeitig sicher, dass sich all diese Fälle auch mit dem einen
Paar \PageStyle{scrheadings} lösen lassen.

\begin{Declaration}
  \Macro{defpairofpagestyles}\OParameter{Eltern-Paar}
                             \Parameter{Name}\Parameter{Definition}
  \Macro{newpairofpagestyles}\OParameter{Eltern-Paar}
                             \Parameter{Name}\Parameter{Definition}
  \Macro{renewpairofpagestyles}\OParameter{Eltern-Paar}
                               \Parameter{Name}\Parameter{Definition}
  \Macro{providepairofpagestyles}\OParameter{Eltern-Paar}
                                 \Parameter{Name}\Parameter{Definition}
\end{Declaration}
Mit diesen Anweisungen können Paare von Seitenstilen vergleichbar zu
\PageStyle{scrheadings} und \PageStyle{plain.scrheadings} definiert
werden. Dabei ist \PName{Name} der Name des zu \PageStyle{scrheadings}
vergleichbaren Hauptseitenstils, der für die Verwendung mit Kolumnentiteln
ausgelegt ist. Für den Namen des zugehörigen \PageStyle{plain}-Seitenstil wird
\PName{Name} automatisch \PValue{plain.} vorangestellt. \PName{Name} ist also
gleichzeitig der Name des Paares und des Hauptseitenstils dieses Paares, während
\PValue{plain.}\PName{Name} der Name des \PageStyle{plain}-Seitenstils dieses
Paares ist.

Ist das optionale Argument \PName{Eltern-Paar} angegeben, so ist dies der Name
eines Seitenstil-Paars, mit dessen Einstellungen das neue Paar initialisiert
werden soll. Das neue Paar erbt also quasi die Konfiguration des
\PName{Eltern-Paar}s.

Während in \autoref{sec:scrlayer-scrpage.predefined.pagestyles} der Eindruck
entstanden sein mag, dass sich die dort erläuterten Anweisungen nur auf
\PageStyle{scrheadings} und \PageStyle{plain.scrheadings} beziehen, gilt das
tatsächlich nur, solange diese beiden Seitenstile das einzige Seitenstil-Paar
darstellen. Sobald es mehrere Seitenstil-Paare gibt, beziehen sich die
Anweisungen auf das zuletzt aktive Paar. Dies gilt für
\DescRef{scrlayer-scrpage.cmd.lehead}, \DescRef{scrlayer-scrpage.cmd.cehead},
\DescRef{scrlayer-scrpage.cmd.rehead}, \DescRef{scrlayer-scrpage.cmd.lohead},
\DescRef{scrlayer-scrpage.cmd.cohead}, \DescRef{scrlayer-scrpage.cmd.rohead},
\DescRef{scrlayer-scrpage.cmd.lefoot}, \DescRef{scrlayer-scrpage.cmd.cefoot},
\DescRef{scrlayer-scrpage.cmd.refoot}, \DescRef{scrlayer-scrpage.cmd.lofoot},
\DescRef{scrlayer-scrpage.cmd.cofoot}, \DescRef{scrlayer-scrpage.cmd.rofoot},
\DescRef{scrlayer-scrpage.cmd.ihead}, \DescRef{scrlayer-scrpage.cmd.chead},
\DescRef{scrlayer-scrpage.cmd.ohead}, \DescRef{scrlayer-scrpage.cmd.ifoot},
\DescRef{scrlayer-scrpage.cmd.cfoot}, \DescRef{scrlayer-scrpage.cmd.ofoot} aus
\autoref{sec:scrlayer-scrpage.predefined.pagestyles}.

{\setlength{\emergencystretch}{1em}%
  Neben den achtzehn vorgenannten sind auch die drei nachfolgend
  dokumentierten Anweisungen
  \DescRef{scrlayer-scrpage-experts.cmd.clearmainofpairofpagestyles},
  \DescRef{scrlayer-scrpage-experts.cmd.clearplainofpairofpagestyles} und
  \DescRef{scrlayer-scrpage-experts.cmd.clearpairofpagestyles} für die
  Verwendung im letzten Parameter, \PName{Definition}, gedacht. In diesem Fall
  stellen sie eine Art Grundkonfiguration des Seitenstil-Paars dar, die immer
  dann ausgeführt wird, wenn das Seitenstil-Paar aktiviert wird. Ein
  Seitenstil-Paar wird aktiviert, indem einer der beiden Seitenstile des
  Paares aktiviert wird. Dies geschieht in der Regel mit Hilfe von
  \DescRef{maincls.cmd.pagestyle}\IndexCmd{pagestyle}.\par}

Es sei darauf hingewiesen, dass die Anweisungen aus
\autoref{sec:scrlayer-scrpage.pagestyle.content} ab
\autopageref{sec:scrlayer-scrpage.pagestyle.content} ohnehin allgemeiner Natur
sind und für alle mit \PageStyle{scrlayer-scrpage} definierten Seitenstile
gelten.

Während \Macro{defpairofpagestyles} das Seitenstil-Paar unabhängig davon, ob
entsprechende Seitenstile bereits existieren, definiert, tun
\Macro{newpairofpagestyles} und \Macro{providepairofpagestyles} dies
nur, wenn die Seitenstile noch nicht definiert sind. Ist mindestens einer der
beiden Seitenstile des Paares bereits definiert, so wird die neuerliche
Definition bei \Macro{providepairofpagestyles} ignoriert, wohingegen sie bei
\Macro{newpairofpagestyles} zu einem Fehler führt. Für die Umdefinierung
bereits existierender Paare kann \Macro{renewpairofpagestyles} verwendet
werden. Hier wird ein Fehler gemeldet, wenn einer der beiden Seitenstile oder
beide Seitenstile des Paares noch nicht existieren.%
\EndIndexGroup


\begin{Declaration}
  \Macro{clearmainofpairofpagestyles}
  \Macro{clearplainofpairofpagestyles}
  \Macro{clearpairofpagestyles}
\end{Declaration}
Mit \Macro{clearmainofpairofpagestyles} wird der Hauptseitenstil
des zuletzt aktivierten Seitenstil-Paares leer konfiguriert. Dagegen wird mit
der Anweisung \Macro{clearplainofpairofpagestyles} der
\PageStyle{plain}-Seitenstil des entsprechenden Seitenstil-Paares leer
konfiguriert. Anweisung \Macro{clearpairofpagestyles} konfiguriert schließlich
beide Seitenstile des entsprechenden Paares als leer.

Es ist jedoch zu beachten\textnote{Achtung!}, dass keine dieser Anweisungen
die Definitionen aus dem Parameter \PName{Definition}, der bei der Definition
des Seitenstil-Paares angegeben wurde (siehe oben), entfernt. Bei der erneuten
Auswahl eines Seitenstils des Paares werden jene Einstellungen also erneut
ausgeführt!

Die Anweisungen können ebenfalls innerhalb von \PName{Definition} bei der
zuvor erklärten Definition eines Seitenstil-Paares verwendet werden. Sie
können aber auch jederzeit außerhalb der Definition eines Seitenstil-Paares
verwendet werden. In diesem Fall beziehen sie sich auf das zuletzt aktivierte
Paar.

\BeginIndex{Cmd}{clearscrheadings}%
\BeginIndex{Cmd}{clearscrplain}%
\BeginIndex{Cmd}{clearscrheadfoot}%
Die drei Anweisungen \Macro{clearscrheadings}, \Macro{clearscrplain} und
\Macro{clearscrheadfoot} sind Aliase für diese Anweisungen, die nur aus
Gründen der Kompatibilität mit \Package{scrpage2} existieren. Sie sollten
nicht mehr verwendet werden.%
\EndIndexGroup


\section{Definition einfacher Seitenstile mit dreigeteiltem Kopf und Fuß}
\seclabel{pagestyle.triple}

Neben den vordefinierten Seitenstilen und der Definition eigener
Seitenstil-Paare bietet \Package{scrlayer-scrpage} auch noch die Möglichkeit
der Definition von Seitenstilen, bei denen sowohl der Kopf als auch der Fuß fest
in drei Elemente aufgeteilt ist. Diese Schnittstelle existiert jedoch nur aus
Gründen der Kompatibilität mit \Package{scrpage2}. Zum
Zwecke eines konsistenteren Befehlssatzes wurde sie sogar noch
erweitert. Dennoch wird empfohlen, für neue Dokumente nicht mehr auf diese
Möglichkeit zurück zu greifen, sondern die deutlich überlegenen Möglichkeiten
der vorherigen Abschnitte oder des nachfolgenden Abschnitts zu nutzen.

\begin{Declaration}
  \Macro{deftriplepagestyle}\Parameter{Name des Seitenstils}
                            \OParameter{Dicke der äußeren Linie}
                            \OParameter{Dicke der inneren Linie}
                            \Parameter{inneres Kopfelement}
                            \Parameter{mittleres Kopfelement}
                            \Parameter{äußeres Kopfelement}
                            \Parameter{inneres Fußelement}
                            \Parameter{mittleres Fußelement}
                            \Parameter{äußeres Fußelement}
  \Macro{newtriplepagestyle}\Parameter{Name des Seitenstils}
                            \OParameter{Dicke der äußeren Linien}
                            \OParameter{Dicke der inneren Linien}
                            \Parameter{inneres Kopfelement}
                            \Parameter{mittleres Kopfelement}
                            \Parameter{äußeres Kopfelement}
                            \Parameter{inneres Fußelement}
                            \Parameter{mittleres Fußelement}
                            \Parameter{äußeres Fußelement}
  \Macro{renewtriplepagestyle}\Parameter{Name des Seitenstils}
                              \OParameter{Dicke der äußeren Linie}
                              \OParameter{Dicke der inneren Linie}
                              \Parameter{inneres Kopfelement}
                              \Parameter{mittleres Kopfelement}
                              \Parameter{äußeres Kopfelement}
                              \Parameter{inneres Fußelement}
                              \Parameter{mittleres Fußelement}
                              \Parameter{äußeres Fußelement}
  \Macro{providetriplepagestyle}\Parameter{Name des Seitenstils}
                                \OParameter{Dicke der äußeren Linie}
                                \OParameter{Dicke der inneren Linie}
                                \Parameter{inneres Kopfelement}
                                \Parameter{mittleres Kopfelement}
                                \Parameter{äußeres Kopfelement}
                                \Parameter{inneres Fußelement}
                                \Parameter{mittleres Fußelement}
                                \Parameter{äußeres Fußelement}
\end{Declaration}
Mit diesen Anweisungen kann ein einzelner Seitenstil definiert werden, bei dem
Kopf und Fuß in drei Elemente aufgeteilt sind: ein inneres Element, ein
mittleres Element und ein äußeres Element. Diese werden über jeweils drei
obligatorische Argumente angegeben.

Das jeweilige innere Element wird auf linken Seiten rechtsbündig im Kopf
respektive im Fuß platziert. Auf rechten Seiten wird es hingegen linksbündig
platziert. Entsprechend wird das mittlere Element sowohl auf linken als auch
auf rechten Seiten im Kopf respektive Fuß zentriert. Das äußere Element wird
schließlich auf linken Seiten linksbündig und auf rechten Seiten rechtsbündig
im Kopf respektive Fuß platziert.

An\textnote{Achtung!} dieser Stelle sei noch einmal daran erinnert, dass im
einseitigen Satz nur rechte Seiten existieren!

Mit den beiden optionalen Argumenten können Linien in Kopf und Fuß aktiviert
werden. Dazu gibt man die gewünschte Dicke der Linien als Argument an. Das
erste optionale Argument betrifft die \PName{Dicke der äußeren Linien}. Diese
Linien werden über dem Kopf und unter dem Fuß gezeichnet. Das zweite optionale
Argument betrifft die \PName{Dicke der inneren Linien}. Diese beiden Linien
werden unterhalb des Kopfes und oberhalb des Fußes gezeichnet. Ist nur ein
optionales Argument angegeben, so ist dies die \PName{Dicke der inneren
  Linien}. Die \PName{Dicke der äußeren Linien} ist dann Null, womit nur noch
die beiden inneren Linien gezeichnet werden. Ist keines der optionalen
Argumente angegeben, so entfallen alle Linien.

Es ist zu beachten\textnote{Achtung!}, dass leere optionale Argumente nicht
gleichbedeutend mit dem Weglassen der optionalen Argumente sind! Leere
optionale Argumente sind in diesem Fall nicht erlaubt. Dagegen sind einfache
Längenausdrücke, wie sie bereits bei Option
\DescRef{scrlayer-scrpage.option.headwidth} (siehe
\autoref{sec:scrlayer-scrpage.pagestyle.content},
\DescPageRef{scrlayer-scrpage.option.headwidth}) erklärt wurden, erlaubt.

Die Bedeutung der einzelnen Argumente ist in
\autoref{fig:scrlayer-scrpage-experts.triplepagestyle} noch einmal an einer
schematischen Doppelseite veranschaulicht. Dabei dienen »\textsl{außen}«,
»\textsl{innen}«, »\textsl{mittig}« als beispielhafte Inhalte. Die zugehörigen
Pfeile verdeutlichen die Ausbreitung dieser Inhalte. Die \iffree{farbigen
}{}Texte im Inneren der Seite sind die Namen der Argumente der Befehle. Die
zugehörigen Pfeile \iffree{in gleicher Farbe }{}weisen auf die entsprechenden
Elemente der Seite.

\begin{figure}
  \centering
  \begin{picture}(\textwidth,80mm)
    \put(0,50mm){%
      %\
      \begin{picture}(\textwidth,30mm)(0,-10mm)
        \thinlines
        \small
        % linke Seite
        \put(0,20mm){\line(1,0){.49\textwidth}}%
        \put(0,0){\line(0,1){20mm}}%
        \multiput(0,0)(0,-1mm){10}{\line(0,-1){.5mm}}%
        \put(.49\textwidth,5mm){\line(0,1){15mm}}%
        \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
        \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape außen\strut$\longrightarrow$}}%
        \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$innen\strut}}%
        \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}%
        \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
        % rechte Seite
        \put(0.51\textwidth,20mm){\line(1,0){.49\textwidth}}%
        \put(0.51\textwidth,5mm){\line(0,1){15mm}}%
        \multiput(\textwidth,0)(0,-1mm){10}{\line(0,-1){.5mm}}%
        \put(\textwidth,0mm){\line(0,1){20mm}}%
        \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
        \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape innen\strut$\longrightarrow$}}%
        \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$außen\strut}}%
        \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}%
        \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
        % Befehle für beide Seiten
        \iffree{\color{red}}{}%
        \put(.5\textwidth,0){\makebox(0,\baselineskip)[c]{\PName{inneres Kopfelement}}}%
        \put(.5\textwidth,-5mm){\makebox(0,\baselineskip)[c]{\PName{mittleres Kopfelement}}}%
        \put(.5\textwidth,-10mm){\makebox(0,\baselineskip)[c]{\PName{äußeres Kopfelement}}}%
        \put(\dimexpr.5\textwidth-2em,.5\baselineskip){%
          \put(-1.5em,.5\baselineskip){\vector(0,1){7mm}}%
          \put(-4em,-1\baselineskip){\line(-1,0){\dimexpr .25\textwidth-7em\relax}}%
          \put(-\dimexpr
          .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr
              7mm+1.5\baselineskip\relax}}
          \put(-3.25em,-2.25\baselineskip){\line(-1,0){\dimexpr .45\textwidth-8em\relax}}%
          \put(-\dimexpr
          .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr
              7mm+2.75\baselineskip\relax}}
        }%
        \put(\dimexpr.5\textwidth+2em,.5\baselineskip){%
          \put(1.5em,.5\baselineskip){\vector(0,1){7mm}}%
          \put(4em,-1\baselineskip){\line(1,0){\dimexpr .25\textwidth-7em\relax}}
          \put(\dimexpr
          .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr
              7mm+1.5\baselineskip\relax}}
          \put(3.25em,-2.25\baselineskip){\line(1,0){\dimexpr .45\textwidth-8em\relax}}
          \put(\dimexpr
          .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr
              7mm+2.75\baselineskip\relax}}
        }%
      \end{picture}
      %
    }%
    \put(0,0){%
      \begin{picture}(\textwidth,30mm)
        \thinlines
        \small
        % linke Seite
        \put(0,0){\line(1,0){.49\textwidth}}%
        \put(0,0){\line(0,1){20mm}}%
        \multiput(0,20mm)(0,1mm){10}{\line(0,1){.5mm}}%
        \put(.49\textwidth,0){\line(0,1){15mm}}%
        \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
        \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape außen\strut$\longrightarrow$}}%
        \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$innen\strut}}%
        \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}%
        \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
        % rechte Seite
        \put(.51\textwidth,0){\line(1,0){.49\textwidth}}%
        \put(.51\textwidth,0){\line(0,1){15mm}}%
        \put(\textwidth,0){\line(0,1){20mm}}%
        \multiput(\textwidth,20mm)(0,1mm){10}{\line(0,1){.5mm}}%
        \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
        \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape innen\strut$\longrightarrow$}}%
        \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$außen\strut}}%
        \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$mittig\strut$\longrightarrow$}}%
        \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
        % Befehle für beide Seiten
        \iffree{\color{red}}{}%
        \put(.5\textwidth,20mm){\makebox(0,\baselineskip)[c]{\PName{inneres Fußelement}}}%
        \put(.5\textwidth,25mm){\makebox(0,\baselineskip)[c]{\PName{mittleres Fußelement}}}%
        \put(.5\textwidth,30mm){\makebox(0,\baselineskip)[c]{\PName{äußeres Fußelement}}}%
        \put(\dimexpr.5\textwidth-2em,.5\baselineskip){%
          \put(-1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}%
          \put(-3.5em,25mm){\line(-1,0){\dimexpr .25\textwidth-6.5em\relax}}%
          \put(-\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr
              .5\baselineskip + 11mm\relax}}%
          \put(-3em,30mm){\line(-1,0){\dimexpr .45\textwidth-7.5em\relax}}%
          \put(-\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr
              .5\baselineskip + 16mm\relax}}%
        }%
        \put(\dimexpr.5\textwidth+2em,.5\baselineskip){%
          \put(1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}%
          \put(3.5em,25mm){\line(1,0){\dimexpr .25\textwidth-6.5em\relax}}%
          \put(\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr
              .5\baselineskip + 11mm\relax}}%
          \put(3em,30mm){\line(1,0){\dimexpr .45\textwidth-7.5em\relax}}%
          \put(\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr
              .5\baselineskip + 16mm\relax}}%
        }%
      \end{picture}
    }%
    \thinlines\small\iffree{\color{blue}}{}%
    \put(0.055\textwidth,45mm){\vector(0,1){25mm}}%
    \put(0.945\textwidth,45mm){\vector(0,1){25mm}}%
    \put(0.055\textwidth,45mm){\vector(0,-1){30mm}}%
    \put(0.945\textwidth,45mm){\vector(0,-1){30mm}}%
    \put(0.055\textwidth,45mm){\line(1,0){\dimexpr
        .445\textwidth-6.5em\relax}}%
    \put(0.945\textwidth,45mm){\line(-1,0){\dimexpr
        .445\textwidth-6.5em\relax}}%
    \put(0.5\textwidth,45mm){\makebox(0,0)[c]{\PName{Dicke der inneren
          Linien}}}%
    \iffree{\color{green}}{}%
    \put(0.025\textwidth,40mm){\line(0,1){35mm}}%
    \put(0.025\textwidth,75mm){\vector(1,0){3.75mm}}%
    \put(0.975\textwidth,40mm){\line(0,1){35mm}}%
    \put(0.975\textwidth,40mm){\line(0,1){35mm}}%
    \put(0.975\textwidth,75mm){\vector(-1,0){3.75mm}}%
    \put(0.025\textwidth,40mm){\line(0,-1){30mm}}%
    \put(0.025\textwidth,10mm){\vector(1,0){3.75mm}}%
    \put(0.975\textwidth,40mm){\line(0,-1){30mm}}%
    \put(0.975\textwidth,40mm){\line(0,-1){30mm}}%
    \put(0.975\textwidth,10mm){\vector(-1,0){3.75mm}}%
    \put(0.025\textwidth,40mm){\line(1,0){\dimexpr
        .475\textwidth-6.5em\relax}}%
    \put(0.975\textwidth,40mm){\line(-1,0){\dimexpr
        .475\textwidth-6.5em\relax}}%
    \put(0.5\textwidth,40mm){\makebox(0,0)[c]{\PName{Dicke der äußeren Linien}}}%
  \end{picture}
  \caption[{Elemente dreigeteilter Seitenstile}]{Elemente einer Doppelseite
    der dreigeteilten Seitenstile mit den Anweisungen
    \Macro{deftriplepagestyle}, \Macro{newtriplepagestyle},
    \Macro{providetriplepagestyle} und \Macro{renewtriplepagestyle}}
  \label{fig:scrlayer-scrpage-experts.triplepagestyle}
\end{figure}


Mit den hier dokumentierten Anweisungen ist es nicht möglich, einzelne Linien
zu aktivieren, beispielsweise nur eine Linie unter dem Seitenkopf, aber keine
Linie über dem Seitenfuß zu haben. Verwenden Sie dafür stattdessen die
Anweisungen aus einem der vorherigen oder aus dem nachfolgenden Abschnitt.

Die\textnote{Achtung!} Länge der einzelnen Elemente ist nicht durch das
Vorhandensein eines Nachbarelements beschränkt. Dadurch kann es bei
ungünstiger Verwendung passieren, dass ein Element eines oder beide
Nachbarelemente überschreibt. Der Anwender ist selbst für die Vermeidung
dieses ungünstigen Falles verantwortlich. Bei lebenden Kolumnentiteln ist dies
beispielsweise durch Verwendung des optionalen Arguments der
Gliederungsbefehle möglich. Siehe dazu die Anleitung zu den
Gliederungsbefehlen der jeweiligen Klasse.

Während \Macro{deftriplepagestyle} einen Seitenstil unabhängig davon, ob er
bereits früher definiert wurde, immer definiert, werden mit
\Macro{newtriplepagestyle} und \Macro{providetriplepagestyle} nur Seitenstile
definiert, die derzeit noch nicht definiert sind. Ist ein Seitenstil
bereits definiert, so erhält man mit \Macro{newtriplepagestyle} eine
Fehlermeldung, während \Macro{providetriplepagestyle} die neue Definition
einfach verwirft. Ein vorhandener Seitenstil kann auch mit
\Macro{renewtriplepagestyle} umdefiniert werden. Diese Anweisung meldet einen
Fehler, falls ein Seitenstil dieses Namens noch nicht definiert war.%

\BeginIndex{Cmd}{deftripstyle}%
Die vom Paket \Package{scrpage2} bekannte Anweisung \Macro{deftripstyle}
entspricht damit der neuen Anweisung \Macro{deftriplepagestyle}. Sie wurde aus
Gründen der Vereinheitlichung der Namen der Anweisungen jedoch umbenannt und
sollte nicht mehr verwendet werden. Wird sie dennoch verwendet, resultiert
daraus eine Warnung.%
\EndIndexGroup


\section{Definition komplexer Seitenstile}
\seclabel{pagestyle.experts}

Neben den vordefinierten Seitenstilen und der Definition eigener
Seitenstil-Paare, sowie der nicht mehr empfohlenen Möglichkeit der Definition
von Seitenstilen, bei denen sowohl der Kopf als auch der Fuß fest in drei
Elemente aufgeteilt ist, bietet \Package{scrlayer-scrpage} auch noch eine eher
grundlegende Möglichkeit der Definition von Seitenstilen. Die in den
vorherigen Abschnitten erläuterten Konzepte greifen bei der Implementierung
alle auf diese Möglichkeit zurück. Aufgrund ihrer Komplexität wird diese
Schnittstelle jedoch nur erfahrenen Anwendern empfohlen. Weniger erfahrene
Anwender können mit den vorgenannten Möglichkeiten bereits nahezu alles
erreichen, was auch mit dieser grundlegenden Schnittstelle möglich
ist. Weniger erfahrene Anwender dürfen den Rest dieses Kapitels daher gerne
überspringen.

\begin{Declaration}
  \Macro{defpagestyle}\Parameter{Name}
                      \Parameter{Kopfdefinition}
                      \Parameter{Fußdefinition}
  \Macro{newpagestyle}\Parameter{Name}
                      \Parameter{Kopfdefinition}
                      \Parameter{Fußdefinition}
  \Macro{providepagestyle}\Parameter{Name}
                          \Parameter{Kopfdefinition}
                          \Parameter{Fußdefinition}
  \Macro{renewpagestyle}\Parameter{Name}
                        \Parameter{Kopfdefinition}
                        \Parameter{Fußdefinition}
\end{Declaration}
Diese Anweisungen dienen der Definition eines einzelnen Seitenstils mit
maximaler Flexibilität. Dabei ist \PName{Name} der Name des Seitenstils, der
definiert werden soll.

Die beiden Parameter \PName{Kopfdefinition} und \PName{Fußdefinition} haben
den identischen Aufbau:
\begin{flushleft}
\begin{addmargin}{1em}\raggedright\small
  \texttt{(\PName{Länge der oberen Linie},\PName{Dicke der oberen Linie})\%\\
    \Parameter{Definition für linke Seiten im doppelseitigen Layout}\%\\
    \Parameter{Definition für rechte Seiten im doppelseitigen Layout}\%\\
    \Parameter{Definition für Seiten im einseitigen Layout}\%\\
    (\PName{Länge der unteren Linie},\PName{Dicke der unteren Linie})%
  }
\end{addmargin}
\end{flushleft}
Dabei sind die Argumente in den runden Klammern optional, das heißt, sie
können zusammen mit den Klammern weggelassen
werden. In\important[i]{\DescRef{scrlayer-scrpage.option.headtopline}\\
  \DescRef{scrlayer-scrpage.option.headsepline}\\
  \DescRef{scrlayer-scrpage.option.footsepline}\\
  \DescRef{scrlayer-scrpage.option.footbotline}} diesem Fall richten sich die
Längen und Dicken je nach Linie nach den Angaben der Optionen
\DescRef{scrlayer-scrpage.option.headtopline}\IndexOption{headtopline},
\DescRef{scrlayer-scrpage.option.headsepline}\IndexOption{headsepline},
\DescRef{scrlayer-scrpage.option.footsepline}\IndexOption{footsepline} und
\DescRef{scrlayer-scrpage.option.footbotline}\IndexOption{footbotline} (siehe
\autoref{sec:scrlayer-scrpage.pagestyle.content},
\DescPageRef{scrlayer-scrpage.option.headtopline}).

Die drei Argumente mit den Definitionen sind obligatorisch und werden je nach
Seite und Layouteinstellung verwendet. Der Inhalt der Definitionen ist frei
wählbar. Für Seitenstile mit Kolumnentitel wird jedoch die Verwendung von
\DescRef{scrlayer-scrpage.cmd.headmark},
\DescRef{scrlayer-scrpage.cmd.leftmark} oder
\DescRef{scrlayer-scrpage.cmd.rightmark} innerhalb der Definitionen
empfohlen. Keinesfalls sollte man hier direkt eine Gliederungsnummer oder
einen Überschriftentext als Kolumnentitel angeben. Aufgrund des asynchronen
Seitenaufbaus von \LaTeX{} kann sonst die falsche Nummer oder der falsche Text
im Seitenkopf erscheinen.

Bei \Macro{defpagestyle} wird der Seitenstil unabhängig davon, ob er bereits
existiert oder nicht, neu definiert. Demgegenüber meldet \Macro{newpagestyle}
einen Fehler, wenn bereits ein Seitenstil gleichen Namens existiert. Im
Unterschied dazu wird die Definition bei \Macro{providepagestyle} ignoriert,
falls der \PName{Name} bereits für einen Seitenstil verwendet wurde. Umgekehrt
kann mit \Macro{renewpagestyle} nur ein bereits vorhandener Seitenstil
umdefiniert werden. Für einen neuen Namen meldet diese Anweisung dagegen einen
Fehler.

Alle vier Anweisungen basieren auf
\DescRef{scrlayer.cmd.DeclarePageStyleByLayers}%
\IndexCmd{DeclarePageStyleByLayers} des Pakets \Package{scrlayer}. Die dabei
für einen Seitenstil \PName{Name} definierten Ebenen sind in
\autoref{tab:scrlayer-scrpage-experts.layersperstyle} aufgeführt.  Näheres zu
Ebenen und Ebenen-Seitenstilen ist \autoref{cha:scrlayer} ab
\autopageref{cha:scrlayer} in \autoref{part:forExperts} zu entnehmen.%

\begin{table}
%  \KOMAoptions{captions=topbeside}
%  \setcapindent{0pt}
%  \begin{captionbeside}
  \caption
    [{Von \Package{scrlayer-scrpage} zu einem Seitenstil definierte
      Ebenen}]
    {Die von \Package{scrlayer-scrpage} zu einem Seitenstil \PName{Name}
      definierten Ebenen\label{tab:scrlayer-scrpage-experts.layersperstyle}}
%    [l]
    \begin{tabular}{ll}
      \toprule
      Name der Ebene & Bedeutung der Ebene \\
      \midrule
      \PName{Name}\PValue{.head.above.line} & die Linie über dem Kopf\\
      \PName{Name}\PValue{.head.odd} & der Kopf von rechten Seiten im
      doppelseitigen Layout\\
      \PName{Name}\PValue{.head.even} & der Kopf von linken Seiten im
      doppelseitigen Layout\\
      \PName{Name}\PValue{.head.oneside} & der Kopf von Seiten im
      einseitigen Layout\\
      \PName{Name}\PValue{.head.below.line} & die Linie unter dem Kopf\\
      \PName{Name}\PValue{.foot.above.line} & die Linie über dem Fuß\\
      \PName{Name}\PValue{.foot.odd} & der Fuß von rechten Seiten im
      doppelseitigen Layout\\
      \PName{Name}\PValue{.foot.even} & der Fuß von linken Seiten im
      doppelseitigen Layout\\
      \PName{Name}\PValue{.foot.oneside} & der Fuß von Seiten im
      einseitigen Layout\\
      \PName{Name}\PValue{.foot.below.line} & die Linie unter dem Fuß\\
      \bottomrule
    \end{tabular}
%  \end{captionbeside}
\end{table}

\begin{Example}
  Angenommen, Sie wollen den gesamten Kopf des Seitenstil
  \PageStyle{scrheadings} mit einer Farbe hinterlegen. Aufgrund der Einleitung
  zu diesem Kapitel und \autoref{tab:scrlayer-scrpage-experts.layersperstyle},
  wissen Sie, dass \PageStyle{scrheadings} ein Ebenen-Seitenstil
  ist, der unter anderem aus den Ebenen \PValue{scrheadings.head.oneside},
  \PValue{scrheadings.head.odd} und \PValue{scrheadings.head.even}
  besteht. Sie definieren nun drei weitere Ebenen für deren Hintergrund und
  fügen diese am Anfang des Seitenstils ein:
\begin{lstcode}
 \documentclass{scrartcl}
  \usepackage[automark]{scrlayer-scrpage}
  \usepackage{xcolor}
  \usepackage{blindtext}
  \DeclareLayer[clone=scrheadings.head.oneside,
    contents={%
      \color{yellow}%
      \rule[-\dp\strutbox]%
           {\layerwidth}{\layerheight}%
    }%
  ]{scrheadings.head.oneside.background}
  \DeclareLayer[clone=scrheadings.head.odd,
    contents={%
      \color{yellow}%
      \rule[-\dp\strutbox]%
           {\layerwidth}{\layerheight}%
    }%
  ]{scrheadings.head.odd.background}
  \DeclareLayer[clone=scrheadings.head.even,
    contents={%
      \color{yellow}%
      \rule[-\dp\strutbox]%
           {\layerwidth}{\layerheight}%
    }%
  ]{scrheadings.head.even.background}
  \AddLayersAtBeginOfPageStyle{scrheadings}{%
    scrheadings.head.oneside.background,%
    scrheadings.head.odd.background,%
    scrheadings.head.even.background%
  }
  \pagestyle{scrheadings}
  \begin{document}
  \blinddocument
  \end{document}
\end{lstcode}
  Wie Sie sehen, wurden in dem Beispiel drei Ebenen verwendet, damit Position
  und Größe der Hintergrund-Ebenen per Option
  \Option{clone}\important{\Option{clone}} einfach jeweils von der Ebene für
  den Kopf kopiert werden konnten. Das ist einfacher, als nur eine
  Hintergrundebene zu verwenden und für diese die Position umständlich
  dynamisch zu bestimmen.

  Der farbige Hintergrund selbst wurde in diesem Beispiel mit einer
  \Macro{rule}-Anweisung gesetzt. Für die Größe wurde dabei mit
  \DescRef{scrlayer.cmd.layerwidth}\IndexCmd{layerwidth}%
  \important[i]{\DescRef{scrlayer.cmd.layerwidth}\\
    \DescRef{scrlayer.cmd.layerheight}} und
  \DescRef{scrlayer.cmd.layerheight}\IndexCmd{layerheight} die aktuelle Breite
  und Höhe der Ebene verwendet. Diese wurde per optionalem Argument um die
  Höhe der Unterlängen \Macro{dp}\Macro{strutbox} nach unten verschoben.
\end{Example}
%
Statt wie im Beispiel für die Hintergrundfarbe neue Ebenen hinzuzufügen, hätte
man das Problem übrigens auch mit \Macro{colorbox} und
\DescRef{scrlayer-scrpage.cmd.chead} lösen können. Es wird empfohlen, eine
entsprechende Lösung als Übung zu erarbeiten. Ebenso
\iffree{}{\pagebreak}% Umbruchkorrektur
hätte man die Hintergrundebenen auch einzeln und jeweils unmittelbar vor der
entsprechenden Inhaltsebene einfügen können. Auch dies sei als Übung
empfohlen.%
\EndIndexGroup


\begin{Declaration}
  \OptionVName{hmode}{Ein-Aus-Wert}
\end{Declaration}
Bei \Package{scrpage2} wurden die Köpfe und Füße der Seitenstile noch
grundsätzlich im horizontalen Modus ausgegeben. Bei \Package{scrlayer-scrpage}
wird hingegen in der Voreinstellung erst durch entsprechende Ausgaben selbst
in den horizontalen Modus geschaltet. Aktiviert man jedoch Option
\Option{hmode} verhält sich \Package{scrlayer-scrpage} auch in dieser Hinsicht
kompatibel mit \Package{scrpage2} und schaltet bereits vor der Ausgabe in den
horizontalen Modus. Dies kann Auswirkungen sowohl auf die Verarbeitung von
Leerzeichen am Anfang der Ausgabe als auch auf die vertikale Ausrichtung
haben.

Die Option versteht die Standardwerte für einfache Schalter, die in
\autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch} angegeben
sind. In der Voreinstellung ist der Schalter deaktiviert.%
\EndIndexGroup
%
\EndIndexGroup

%%% Local Variables:
%%% mode: latex
%%% mode: flyspell
%%% coding: iso-latin-1
%%% ispell-local-dictionary: "de_DE"
%%% TeX-master: "../guide"
%%% End: 


%  LocalWords:  Hintergrundebene Seitenkopf Seitenstils Kopfelement
%  LocalWords:  Seitenstile