summaryrefslogtreecommitdiff
path: root/info/german/ogfuda/nummern.tex
blob: 767288fc993a0524d143e8641b3553375d70a95f (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
%% nummern.tex -- Teil der OGFUDA
%%
\def\filename{nummern.tex}
\def\filedate{01-FEB-1993}
\def\fileversion{1.0}

\meldedich

\section{Numerierung}\label{sec:nummern}

\r \TeX{} geht in verschiedenster Weise mit Numerierungen um.
Lassen Sie uns darauf eingehen!

\p Nur zu, ich bin bereit.

\r Was ist zu tun, um die einzelnen Kapitel eines Textes nicht
durchzunumerieren, sondern
durchzubuchstabieren\index{Durchbuchstabieren}?

\p Was verstehen Sie darunter?

\r Nun, gew"ohnlich werden die Kapitel, Abschnitte und
Unterabschnitte {\em numerisch\/} gez"ahlt, d.\,h.\ also in der
folgenden Weise.

\bigskip
{\bf 1.2.3\ \ Ein numerierter Abschnitt}
\bigskip

\noindent Manchmal sollen aber auch andere Z"ahlungen verwendet
werden, wie etwa so.

\bigskip
{\bf I.2.c)\ \ Ein numerierter Abschnitt}
\bigskip

\noindent Wie ist diese Art der Numerierung zu erreichen?

\p \LaTeX{} kennt f"ur jeden verwendeten Abschnittstyp%
\index{Abschnittstypen} einen eigenen Z"ahler%
\index{Zaehler@Z\"ahler}.  Der Name dieses Z"ahlers hei"st
genauso wie der entsprechende Abschnitt; der Z"ahler f"ur
\cs{part} hei"st {\tt part}, der f"ur \cs{chapter} hei"st {\tt
chapter}, ebenso f"ur alle anderen Gliederungsbefehle.  Das
Aussehen der jeweiligen Abschnittsnumerierung l"a"st sich mit
dem Befehl \cs{the}{\tt <}{\em Z"ahler}{\tt >}%
\indextt{thepart}\indextt{thechapter}\index{theellipse@{\tt
the\ldots}} beeinflussen.  Dazu dienen ferner die Befehle
\cs{arabic}, \cs{roman} und \cs{Roman}, die die Z"ahler in
arabischen, kleinen r"omischen oder gro"sen r"omischen Ziffern
darstellen. Ferner gibt es noch \cs{alph} und \cs{Alph}, die
Zahlen, die kleiner als~27 sind, mit ihrem entsprechenden
kleinen oder gro"sen Buchstaben darstellen.

\r Demnach erg"abe \glq\verb|\arabic{5}|\grq\ also eine \sq{5},
\glq\verb|\roman{5}|\grq\ ein \sq{v} und
\glq\verb|\Roman{5}|\grq\ ein \sq{V}.  Ferner ergibt
\glq\verb|\alph{5}|\grq ein \sq{e} und \glq\verb|\Alph{5}|\grq\
ein \sq{E}.

\p Genau.  Schauen wir uns jetzt einmal die Originaldefinition
von \cs{thepart} an.
%
\begin{ogfudatim}
\newcommand{\thepart}{\Roman{part}} % original
\end{ogfudatim}
%
Bevorzugen Sie eine Numerierung mit Gro"sbuchstaben
(vorausgesetzt, sie verwenden weniger als 27~\cs{part}), so
definieren Sie einfach \cs{thepart} neu.
%
\begin{ogfudatim}
\renewcommand{\thepart}{\Alph{part}}
\end{ogfudatim}

\r Falls meine h"ochste Gliederungsstufe
\cs{chapter}\index{Gliederungsstufe} ist und ich diese mit
gro"sen r"omischen Buchstaben\index{roemische
Buchstaben@r\"omische Buchstaben} kennzeichnen will,
\cs{section} mit arabischen Ziffern und \cs{subsection} mit
kleinen Buchstaben, so habe ich also das folgende neu zu
definieren.
%
\begin{ogfudatim}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\Roman{chapter}.\arabic{section}}
\renewcommand{\thesubsection}{\Roman{chapter}.\arabic{section}.%
     \alph{subsection}}
\end{ogfudatim}

\p Wobei das allerdings noch etwas knapper geht.
%
\begin{ogfudatim}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\thechapter.\arabic{section}}
\renewcommand{\thesubsection}{\thesection.\alph{subsection}}
\end{ogfudatim}

\r Nat"urlich; ich h"atte selbst darauf kommen k"onnen.  Und
wie kann ich erreichen, da"s auch \cs{paragraph} und
\cs{subparagraph} mitnumeriert werden oder die Numerierung nur
bis \cs{subsection} durchgef"uhrt wird?

\p Das l"a"st sich getrennt f"ur das
Inhaltsverzeichnis\index{Inhaltsverzeichnis} und f"ur die
Abschnitts"uberschriften%
\index{Abschnittsueberschriften@Abschnitts\"uberschrift}
mit den Z"ahlern\index{Zaehler@Z\"ahler} \ttind{tocdepth} bzw.\
\ttind{secnumdepth} einstellen.  Dabei sind die Zuordnungen der
Abschnitte zum Z"ahler der Tabelle~(\ref{tab:count}) auf
Seite~\pageref{tab:count} in Abschnitt~\ref{sec:nummern} zu
entnehmen.
%
\begin{table}
\begin{center}
\begin{tabular}{|c|c|}\hline
Abschnitt & Nummer\\ \hline
\cs{part}& $-1$\\       \cs{chapter}& $0$\\
\cs{section}& $1$\\       \cs{subsection}& $2$\\
\cs{subsubsection}& $3$\\ \cs{paragraph}& $4$\\
\cs{subparagraph}& $5$\\ \hline
\end{tabular}
\end{center}
\caption{Zuordnung der Abschnittsnamen zu Zahlen}
\label{tab:count}
\end{table}
%
Erkl"art man beispielsweise
%
\begin{ogfudatim}
\setcounter{tocdepth}{5}
\setcounter{secnumdepth}{2}
\end{ogfudatim}
%

so werden ins Inhaltsverzeichnis\index{Inhaltsverzeichnis} alle
Abchnitte bis einschlie"slich \cs{sub\-paragraph} "ubernommen,
w"ahrend in den jeweiligen Abschnitts"-"uberschriften%
\index{Abschnittsueberschrift@Abschnitts\"uberschrift}
die Numerierung nur bis zu \cs{subsection} erfolgt.  (Setzt man
\ttind{tocdepth} und \ttind{secnumdepth} auf den Wert~$-2$, so
wird die Aufnahme ins Inhaltsverzeichnis%
\index{Inhaltsverzeichnis!Unterdrueckung von
Eintraegen@Unterdr\"uckung von Eintr\"agen} und die
"Uberschriftennumerierung v"ollig unter"-dr"uckt.)

\r Darf ich annehmen, da"s auf "ahnliche Weise die Darstellung
in z"ahlenden Umgebung beeinflu"st werden kann?

\p Auf {\em etwa\/} "ahnliche Weise.  Die Z"ahler in der
\env{enumerate}\index{Zaehler@Z\"ahler!in der {\sf
enumerate}-Umgebung} tragen die Namen \ttind{enumi},
\ttind{enumii}, \ttind{enumii} und \ttind{enumiv}.  Diese
k"onnen analog zur Umdefinition%
\index{Zaehler@Z\"ahler!Neudefinition} der oben genannten
Z"ahler neu erkl"art werden, also etwa so.
%
\begin{ogfudatim}
\renewcommand{\theenumi}{\Alph{enumi}}
\renewcommand{\labelenumi}{(\theenumi)}
\end{ogfudatim}

\r Die erste Umdefinition betrifft die Repr"asentation des
Z"ahlers\index{Zaehler@Z\"ahler!Repr\"asentation} der Umgebung,
die auch bei der Referenzierung verwendet wird (hier wird: "`A,
B, C,~\ldots"' gez"ahlt) und die zweite die Erscheinung im
Schriftbild (hier erscheinen die Z"ahler so: "`(A), (B),
(C),~\ldots"' im Text).


\subsection{Referenzen}\label{sub:ref}

\p Richtig.  Allerdings gibt es hier noch eine weitere
M"og"-lichkeit, die Darstellung des Z"ahlers zu beeinflussen
und zwar, wenn der Z"ahler durch \cs{ref}{\tt\{}{\em
label\/}{\tt\}} referenziert wird.{\tolerance=2000\par}

\r Ein hochinteressantes Thema!  Erkl"aren Sie mir doch
zun"achst, wie die Referenzierung in \LaTeX{} abl"auft; h"aufig
ist es f"ur mich reine
Gl"uckssache\index{Glueckssache@Gl\"uckssache}, da"s
beispielsweise eine mit \verb|\label{tab:count}|\indexcs{label}
gekennzeichnete Tabelle mit dem entspechenden
\verb|\ref{tab:count}|-Kommando\indexcs{ref} richtig
referenziert wird.

\p Dann lassen Sie uns aus dem Gl"uck
Berechnung\index{Berechnung} machen!

\r Nur zu gerne.

\p Nicht jeder Z"ahler ist referenzierbar; die {\em
referenzierbaren Z"ahler\/}%
\index{Zaehler@Z\"ahler!referenzierbare} sind: die {\tt
chapter}- und {\tt section}-Z"ahler, der Gleichungsz"ahler
(beispielsweise innerhalb der \ttind{theorem}- und der
\env{equation}) sowie die oben angesprochenen Z"ahler {\tt
enumi} bis {\tt enumiv} der \env{enumerate}.  Bei den von Ihnen
angesprochenen Z"ahlern der \ttind{figure}- und der \env{table}
mu"s man etwas auspassen, worauf wir sp"ater noch zu sprechen
kommen werden.

\r Welche Z"ahler sind denn nicht referenzierbar?

\p Der Fu"snotenz"ahler%
\index{Zaehler@Z\"ahler!nichtreferenzierbare}.

\r Und wieso funktioniert das Referenzieren manchmal falsch?

\p Es kommt auf die Stellung des \cs{label}-Kommandos in Bezug
auf die Umgebung bzw.\ das zu referenzierende Item an.  Dadurch
wird einmal die Seitennummer derjenigen Seite festgehalten, in
der \cs{label} auftaucht.

\r Und diese kann mit \cs{pageref} abgerufen werden.

\p Zweitens wird der Wert {\em des zuletzt erh"ohten
referenzierbaren Z"ahlers\/}\indexcs{label!und Z\"ahler}
gespeichert.

\r Dieser wird dann mit \cs{ref} referenziert.  Dann probieren
wir einmal folgenden Text.
%
\begin{quote}
\begin{enumerate}
\item \label{aufz:eins}
  Das {\sc Gauss}sche Basisfeld\index{Gauss@{\sc Gauss}}
    $\bigl(\frac{\partial}{\partial u_1},\dots,
    \frac{\partial}{\partial u_n}\bigr)$
  einer $C^{\infty}$-Karte~$u$ f"ur eine $n$-dimensionale reelle
  $C^{\infty}$-Mannigfaltigkeit~$M$
  ist charakterisiert durch
%
\begin{equation}\label{eq:eins}
  \frac{\partial}{\partial u_i}\cdot\varphi=
    \frac{\partial( \varphi\circ u^{-1})}{\partial x_i},
\end{equation}
%
  wobei $\varphi$ irgendeine $C^{\infty}$-Funktion von~$M$ ist.
\item \label{aufz:zwei}
  Daher gilt f"ur jedes Element der zum {\sc Gauss}schen
  Basisfeld dualen Basis $(du_1,\dots du_n)$ die Gleichung
%
\begin{equation}\label{eq:zwei}
  d_pu_i\bigl(\dot c(0)\bigr)=\frac{d}{dt}(u\circ c)(0),
\end{equation}
%
  wobei $c$ ein $C^{\infty}$-Weg in~$M$ ist, f"ur den $c(0)$ im
  Definitionsbereich von~$u$ liegt.
\end{enumerate}
\end{quote}
%
Dieser Text wurde wie folgt eingegeben.
%
{\small
\begin{ogfudatim}
\begin{enumerate}
\item \label{aufz:eins}            % <<<===
  Das {\sc Gauss}sche Basisfeld [...] ist charakterisiert durch
  \begin{equation}\label{eq:eins}  % <<<===
  [...]
  \end{equation}
  wobei [...] ist.

\item \label{aufz:zwei}            % <<<===
  Daher gilt[...] die Gleichung
  \begin{equation}\label{eq:zwei}  % <<<===
  [...]
  \end{equation}
  wobei [...] $u$ liegt.
\end{enumerate}
\end{ogfudatim}
}
%
\begin{sloppypar}
Sehen wir uns nun die Werte im einzelnen an:
\verb|\ref{aufz:eins}|:~\ref{aufz:eins},
\verb|\ref{aufz:zwei}|:~\ref{aufz:zwei},
\verb|\ref{eq:eins}|:~\ref{eq:eins},
\verb|\ref{eq:zwei}|:~\ref{eq:zwei}.
\end{sloppypar}

\p Sie sehen also, da"s jedes neue \cs{item}-Kommando und jede
\env{equation} ihren zugewiesenen Z"ahler um~$1$ erh"oht.  Der
Wert des Z"ahlers kann dann durch ein \cs{label}-Kommando einer
Markierung zugewiesen werden.  Innerhalb der \env{enumerate}
k"onnen Sie sogar noch das Aussehen des referenzierten Z"ahlers
bestimmen; dies geschieht durch eine Neudeklaration der
Kommandos \verb|\p@enumi| bis \verb|\p@enumiv|\index{penum@{\tt
p"@enum...}}, die durch das Zeichen~\verb|@| im Kommandonamen
nur in einem Styleoptionfile durchgef"uhrt werden kann.
Innerhalb einer geschachtelten \env{enumerate} ist es sinnvoll,
diese Referenz durch
%
\begin{ogfudatim}
\renewcommand{\p@enumii}{\theenumi\theenumii}
\end{ogfudatim}
%
so umzudefinieren, da"s die Schachtelung auch in der Referenz
sichtbar wird.  Gilt ferner
%
\begin{ogfudatim}
\renewcommand{\theenumii}{\alph{enumii}}
\renewcommand{\labelenumii}{(\theenumii)}
\end{ogfudatim}
%
so wird innerhalb einer geschachtelten \env{enumerate}
mit~"`1a"' bzw.\ dem entsprechenden Wert referenziert.

\r Hier sind also spezielle Einstellungen durchf"uhrbar.  Und
wie kann ich dem Gl"ucksspiel in gleitenden
Tabellen\index{Gleitobjekte!und Referenzieren} ein Ende setzen?

\p Dazu m"ussen Sie wissen, da"s nicht die \env{table}- oder
die \env{figure} den referenzierten Wert setzt, sondern dies
das \cs{caption}-Kommando "ubernimmt.  Dadurch kann man auch
mehrere kleinere, zusammengeh"orende Bilder mit Unterschriften
in eine \env{figure} setzen.  Damit die Referenz mit dem
richtigen Wert erscheint, mu"s \cs{label} {\it
unmittelbar nach} dem
jeweiligen \cs{caption}-Kommando gesetzt werden:
{\tolerance=2000\par}
%
{\small
\begin{ogfudatim}
\begin{table}
  % ... Tabelle ...
  \caption{Eine Tabellenbezeichnung}
  \label{tab:bsp}                   % <<<===
\end{table}
\end{ogfudatim}
}

\r Aha!  Jetzt bleiben bez"uglich des Referenzierens keine
Fragen mehr unbeantwortet, lediglich ein fast triviales
Problem.  Die erste Seite eines Dokumentes hat eine
Seitennummer, obwohl man \glq\verb|\pagestyle{empty}|\grq\
bzw.\ \glq\verb|\thispagestyle{empty}|\grq\ angegeben hat.
\indexcs{pagestyle}\indexcs{thispagestyle}

\p Diese Erscheinung tritt in Verbindung mit \cs{maketitle}
oder mit \cs{chapter} auf und ist so vom Style-Designer
gewollt, auch wenn man "uber diese Entscheidung streiten kann.
Abhilfe schafft hier, \verb|\thispagestyle{empty}| direkt {\em
hinter\/} \cs{maketitle} bzw.\ \cs{chapter} zu setzen.  Oder
man "andert in einem eigenen Style bzw.\ einer Styleoption dies
entsprechend ab.

\endinput