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
|
<HTML>
<HEAD>
<TITLE>fancyhdr.sty
</TITLE>
<META NAME="contents" CONTENT="fancyhdr.html">
<META NAME="language" CONTENT="german">
<META NAME="keywords" CONTENT="tex,latex,fancyhdr,fancyheader">
<META NAME="description"
CONTENT="A short german description of fancyhdr">
<META NAME="author"
CONTENT="Hans Friedrich Steffani">
<LINK REV="made"
HREF="mailto:hans.steffani@e-technik.tu-chemnitz.de (Hans Friedrich Steffani)">
</HEAD>
<BODY>
<H1>Kurzbeschreibung von <code>fancyhdr.sty</code></H1>
<H2>von Hans Friedrich Steffani</H2>
Mit dem fancyhdr-Paket können Kopf- und Fußzeilen von
Dokumenten frei gestaltet werden. Es findet sich üblicherweise im
Verzeichnis <tt>latex/contrib/supported/fancyhdr/</tt> auf diversen
FTP-Servern und natürlich auch auf CTAN.
<uL>
<li>Hier die
Originaldokumentation als
<A
HREF="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/fancyhdr/fancyhdr.dvi">dvi-</A>
bzw. als
<A
HREF="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/fancyhdr/fancyhdr.dvi">pdf-</A>Datei.
für das fancyhdr-Paket
Die gibt es an entsprechender stelle natürlich auch auf dem
nächstgelegenen CTAN-Spiegel.
</LI>
<LI>Folien für einen Vortrag <A
HREF="fancyfolien+bsp.pdf">mit</A> und
<A HREF="fancyfolien.pdf">ohne</A>
eigebettete Beispiele (die Seite habe ich natürlich auch mit
<tt>fancyhdr</tt> gestaltet)</LI>
<LI><code>\chaptermark{<befehle zur generierung der Kopfzeile>}</code>
in den Standardklassen ist ein <code>\MakeUppercase</code> hart
codiert, so daß ich statt dessen<BR>
<code>\renewcommand{\chaptermark}[1]{%<BR>
\markboth{\chaptername\ \thechapter{}: #1}{}}</code><BR>
verwende. Es wird von <code>\chapter</code> aufgerufen.
</LI>
<LI>Ähnliches gilt für <code>\sectionmark</code>. Auch dort ist
<code>\MakeUppercase</code> hart codiert, so daß ich statt
dessen <BR>
<code>\renewcommand{\sectionmark}[1]{%<BR>
\markright{\thesection{}: #1}{}}</code><BR>
verwende.
</LI>
</Ul>
Nun, <code>\markboth</code> und <code>\markright</code> sorgen dann dafür,
daß <code>\rightmark</code> und <code>\leftmark</code> geeignet
definiert sind, um daraus die Kopfzeilen zu bauen. Damit kommt
<tt>fancyhdr.sty</tt> zum Zug. Deren Makros werden nun kurz
beschrieben. Die Seite ist so aufgeteilt:
<table cellpadding=10 Border>
<TR><td> Linker Kopf </td> <td> Mittlerer Kopf </td> <td> Rechter Kopf </td></TR>
<TR><td> Text </td> <td> Text </td> <td> Text </td></TR>
<TR><td> Linker Fuß </td> <td> Mittlerer Fuß </td> <td> Rechter Fuß </td></TR>
<caption>Eine Seite</caption>
</table>
<UL>
<LI>Die einfachsten Makros
<code>\lhead{}</code> und <code>\chead{}</code> und
<code>\rhead{}</code> sowie
<code>\lfoot{}</code> und <code>\cfoot{}</code> und
<code>\rfoot{}</code> legen das entsprechende Feld fest.</LI>
</UL>
Damit lassen sich allerdings die Köpfe für doppelseitige
Dokumente nicht gestalten denn hier wird zwischen linken (gerade) und
rechten (ungeraden)
Seiten unterschieden. Hier will man in der Regel unterschiedliche
Köpfe über den rechten und linken Seiten. Dazu gibt es
<UL><LI><code>\fancyhead[<wo1, wo2, ... >]{<was>}</code>
Das <code><wo<>></code> wird aus der Kombination von
<code>E</code>ven für gerade bzw. <code>O</code>dd für
ungerade Seiten, sowie
<code>L</code>, <code>C</code> und <code>R</code> für das
linke, mittlere und rechte Feld.
Bei mir steht da<BR>
<CODE>
\fancyhead[EL]{\itshape\leftmark}% E=grade=linke Seiten und dort
links, also außen das \leftmark<BR>
\fancyhead[OR]{\itshape\rightmark}% O=ungrade=rechte Seiten und
dort rechts, also außen das \rightmark<BR>
\fancyfoot[CO,CE]{\thepage} % Seitenzahl immer unten Mitte
</CODE><BR>
Damit wird
<UL><LI>Auf ungeraden Seiten rechts, d.h. außen
<code>\rightmark</code>,</LI>
<li>auf geraden Seiten links, ebenfalls außen
<code>\leftmark</code></LI>
<li>Die Seitenzahl kommt in die Fußzeile wo sie immer ist</LI>
</UL>
</LI>
<LI>Entsprechendes gilt für <code>\fancyfoot[]{}</code></LI>
<LI>Wird da optionale Argument weggelassen, so gilt das Argument
für alle Felder.(?)
Zum Beispiel löscht <code>\fancyhead{}</code> alle Kopffelder.
<LI>Ich hab den Kleinen Duden, Band 4, Deutsche Grammatik. Dort
haben sie einen Kopf wie oben, aber setzen die Seitenzahl immer nach
innen (m.E. ziemlicher Schwachsinn). Das geht dann mit<BR>
<CODE>\fancyhead[OL,ER]{\thepage} % Seitenzahl nach innen<BR>
\fancyfoot{}% unten nichts</CODE></LI>
<LI>Beliebt ist schliesslich noch, daß die Seitenzahl oben
außen steht. Dies ist bei fast allen meinen Büchern so, die
eine Kopfzeile haben. (Bei den anderen ist die Seitenzahl unten
außen.) Das geht dann mit<BR>
<code>
\fancyfoot{}% Unten nichts<BR>
\fancyhead[RE]{\itshape\leftmark}% Rechts auf geraden Seiten=innen<BR>
\fancyhead[RO]{\itshape\rightmark}% Links auf ungeraden Seiten=außen<BR>
\fancyhead[RO,LE]{\thepage}%Rechts auf ungeraden und links auf
geraden Seiten<br></CODE>
</UL>
Um das alles richtig zu machen, muß man immer im Hinterkopf
haben das immer die geraden Seiten links und die ungeraden Seiten
rechts beim aufgeklappten Buch liegen.
<P>
Noch allgemeiner ist
<UL>
<LI><code>\fancyhf</code>, daß auch noch <code>H</code> und
<code>F</code> für Kopf- bzw. Fußzeile kennt
</UL>
Die Argumente dürfen dabei auch <code>\\</code> enthalten. Es
können auch Bilder mit <code>\includegraphics</code> eingebunden
werden. Dabei ist zu beachten, daß für die Kopf- und
Fußzeile nur der durch <code>\headheight</code> bzw.
<code>\footskip</code> angegebene Platz vorgesehen wird. Ist die Zeile
größer, so erhält man entsprechende Warnungen.
Hat man auf diese Weise den Aufbau definiert, so kann man ihn mit
<code>\pagestyle{fancy}</code> aktivieren.
<UL>
<li>Mit
<code>\renewcommand{\headrulewidth}{<größe>}</code>
bzw.
<code>\renewcommand{\footrulewidth}{<größe>}</code>
kann man die Dicke einer Linie zwischen Kopf- bzw. Fußzeile
und Text festlegen bzw. durch Angabe von <code>0pt</code> ausschalten.
</UL>
An einigen Stellen, z.B. bei <code>\part</code>, <code>\chapter</code>
und auch bei den diversen Funktionen, die diese Aufrufen
(<code>\tableofcontents</code>, <code>\listof[figures|tables]</code>,
<code>thebibliography</code>-Umgebung etc.) schaltet LaTeX mit
<code>\thispagestyle{plain}</code> auf Plain um. Daher möchte man
<code>plain</code> umdefinieren.
<UL><LI>Dazu gibt es <code>\fancypagestyle{}</code> Z.B.:
<br><code>
\fancypagestyle{plain}{%<BR>
< code mit \fancyfoot{} etc ><br>
}</code><br>
</LI></UL>
<H1><A HREF="#bsp1">Beispiele</A></H1>
Die Beispiele zeigen jeweils eine gerade und ungerade Seite.
<P>
<A NAME="bsp1"></A>
<IMG SRC="bsp1_2.png" ALT="Beispiel plain">
<IMG SRC="bsp1_3.png" ALT="Beispiel plain">
<A HREF="#bsp2">Bsp. 2</A>
<BR><A HREF="bsp1.pdf">pdf</A>, <A HREF="bsp1.ps">ps</A>
<P>
<A NAME="bsp2"></A>
<IMG SRC="bsp2_2.png"
ALT="Beispiel: Seitenzahlen aussen, Überschriften innen ">
<IMG SRC="bsp2_3.png"
ALT="Beispiel: Seitenzahlen aussen, Überschriften innen ">
<A HREF="#bsp3">Bsp. 3</A>
<A HREF="#bsp1">Bsp. 1</A>
<BR><A HREF="bsp2.pdf">pdf</A>, <A HREF="bsp2.ps">ps</A>
<P>
<A NAME="bsp3"></A>
<IMG SRC="bsp3_2.png"
ALT="Beispiel: Namen der Felder">
<IMG SRC="bsp3_3.png"
ALT="Beispiel: Namen der Felder">
<A HREF="#bsp4">Bsp. 4</A>
<A HREF="#bsp2">Bsp. 2</A>
<BR><A HREF="bsp3.pdf">pdf</A>, <A HREF="bsp3.ps">ps</A>
<P>
<A NAME="bsp4"></A>
<IMG SRC="bsp4_2.png"
ALT="Beispiel: Eigenes \sectionmark">
<IMG SRC="bsp4_3.png"
ALT="Beispiel: Eigenes \sectionmark">
<A HREF="#bsp5">Bsp. 5</A>
<A HREF="#bsp3">Bsp. 3</A>
<BR><A HREF="bsp4.pdf">pdf</A>, <A HREF="bsp4.ps">ps</A>
<P>
<A NAME="bsp5"></A>
<IMG SRC="bsp5_2.png"
ALT="Keine Linien">
<IMG SRC="bsp5_3.png"
ALT="Keine Linien">
<A HREF="#bsp6">Bsp. 6</A>
<A HREF="#bsp4">Bsp. 4</A>
<BR><A HREF="bsp5.pdf">pdf</A>, <A HREF="bsp5.ps">ps</A>
<P>
<A NAME="bsp6"></A>
<IMG SRC="bsp6_2.png"
ALT="Etwas andere \sectionmark-Definition">
<IMG SRC="bsp6_3.png"
ALT="Etwas andere \sectionmark-Definition">
<A HREF="#bsp7">Bsp. 7</A>
<A HREF="#bsp5">Bsp. 5</A>
<BR><A HREF="bsp6.pdf">pdf</A>, <A HREF="bsp6.ps">ps</A>
<P>
<A NAME="bsp7"></A>
<IMG SRC="bsp7_2.png"
ALT="Höhere Kopfzeile überdeckt Text">
<IMG SRC="bsp7_3.png"
ALT="Höhere Kopfzeile überdeckt Text">
<A HREF="#bsp8">Bsp. 8</A>
<A HREF="#bsp6">Bsp. 6</A>
<BR><A HREF="bsp7.pdf">pdf</A>, <A HREF="bsp7.ps">ps</A>
<P>
<A NAME="bsp8"></A>
<IMG SRC="bsp8_2.png"
ALT="Höhere Kopfzeile; \headheight korrigiert">
<IMG SRC="bsp8_3.png"
ALT="Höhere Kopfzeile; \headheight korrigiert">
<A HREF="#bsp9">Bsp. 9</A>
<A HREF="#bsp7">Bsp. 7</A>
<BR><A HREF="bsp8.pdf">pdf</A>, <A HREF="bsp8.ps">ps</A>
<P>
<A NAME="bsp9"></A>
<IMG SRC="bsp9_2.png"
ALT="Seitenzahlen aussen am Rand">
<IMG SRC="bsp9_3.png"
ALT="Seitenzahlen aussen am Rand">
<A HREF="#bsp10">Bsp. 10</A>
<A HREF="#bsp8">Bsp. 8</A>
<BR><A HREF="bsp9.pdf">pdf</A>, <A HREF="bsp9.ps">ps</A>
<P>
<A NAME="bsp10"></A>
<IMG SRC="bsp10_2.png"
ALT="Fuer Sonderanwendung: Kopfzeile erzeugt Fusszeile">
<IMG SRC="bsp10_3.png"
ALT="Fuer Sonderanwendung: Kopfzeile erzeugt Fusszeile">
<A HREF="#bsp1">Bsp. 1</A>
<BR><A HREF="bsp10.pdf">pdf</A>, <A HREF="bsp10.ps">ps</A>
<hr>
</BODY>
Hans Friedrich Steffani<BR>
Fre Dez 22 11:38:58 MET 2000
</HTML>
|