%% 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