% % bgteubner class bundle % % tex_textelemente.tex % Copyright 2003--2012 Harald Harders % % This program may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your opinion) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 1999/12/01 or later. % % This program consists of all files listed in manifest.txt. % =================================================================== \chapter{Weitere Textelemente}% \texindex{Textelement}% % ------------------------------------------------------------------- \section{Aufzählungen}% \texindex{Aufzählung}% Für Aufzählungen stehen folgende Umgebungen zur Verfügung: \begin{itemize*} \item Nummerierte Aufzählungen: \begin{itemize*} \item Eine Aufzählung mit zusätzlichem Zwischenraum vor, zwischen und nach den Einträgen wird mit der \verb|enumerate|"=Umgebung\envindex{enumerate} erzeugt. \item Sollen nur Zwischenräume vor und nach der Aufzählung, nicht jedoch in ihr eingefügt werden, so wird die \verb|enumerate*|"=Umgebung\envindex{enumerate*} verwendet. \item Vollständig ohne Zwischenräume wird eine Aufzählung mit der \verb|compactenum|"=Umgebung\envindex{compactenum} gesetzt. \end{itemize*} \item Unnummerierte Aufzählungen: \begin{itemize*} \item Eine Aufzählung mit Zwischenraum vor, zwischen und nach den Einträgen wird mit der \verb|itemize|"=Umgebung\envindex{itemize} erzeugt. \item Sollen nur Zwischenräume vor und nach der Aufzählung, nicht jedoch in ihr erzeugt werden, so wird die \verb|itemize*|"=Umgebung\envindex{itemize*} verwendet. \item Vollständig ohne Zwischenräume wird eine Aufzählung mit der \verb|compactitem|"=Umgebung\envindex{compactitem} gesetzt. \end{itemize*} \end{itemize*} Wie auch beispielsweise bei Formeln wird nach der Aufzählung ein Absatz eingefügt, sofern eine Leerzeile im Quelltext auf die Umgebung folgt. Ist dies nicht der Fall, wird kein Absatzeinzug gesetzt. % ------------------------------------------------------------------- \section{Anmerkungen, Beispiele, Definitionen usw.}% \label{sec:tex:saetze}% \subsection{Anmerkungen}% \texindex{Anmerkung}% Für weiterführende Anmerkungen und Erläuterungen steht die Umgebung \verb|advanced| zur Verfügung: \begin{verbatim}[\small] \begin{advanced} Durch diese Auszeichnung wird dem Leser suggeriert, dass dieser Text unter Umständen nicht ganz so wichtig ist. Deshalb sollte diese Variante auch nur dann verwendet werden, wenn der in der Anmerkung enthaltene Text nicht unbedingt für das Verständnis des Buches notwendig ist. Wenn man diese Formatierungsart verwendet, ist es zwingend notwendig, dass der Leser im Vorwort oder in der Einleitung darauf hingewiesen wird, dass die so gesetzten Bereiche Ergänzungen bzw.\ Anmerkungen sind, die für das Verständnis des Buches nicht unbedingt notwendig sind. \end{advanced} \end{verbatim} \subsection{Beispiele, Definitionen und Beweise} Die in diesem Abschnitt beschriebenen Umgebungen sind intern als "`theoremartige Umgebungen"' implementiert, die im folgenden Abschnitt erläutert werden. Einige Einstellungen, die sich auf Beispiele, Definitionen und Beweise beziehen, werden entsprechend dort erläutert. Für Beispiele können Sie die \env{example}"=Umgebung verwenden. Sie besitzt ein optionales Argument, in dem Sie einen Titel vergeben können. Beispiel~\ref{bsp:beispiel1} wurde folgendermaßen erzeugt: \begin{verbatim}[\small] \begin{example}[Ein Beispielbeispiel] \label{bsp:beispiel1}% Ein Beispiel wird links und rechts eingerückt mit der Schriftgröße 9~Punkt gesetzt. Wegen der kleinen Schrift wird der (relative) Zeilenabstand etwas erhöht, um die Lesbarkeit zu gewährleisten. \end{example} \end{verbatim} Wie im Beispiel gezeigt, kann ein Label gesetzt werden, um auf das Beispiel zu verweisen. Ein unnummeriertes Beispiel wird mit der \env{example*}"=Umgebung gesetzt, z.\,B. \begin{verbatim}[\small] \begin{example*}[Noch ein Beispielbeispiel] Auf ein nicht nummeriertes Beispiel kann natürlich, außer über die Seitenzahl, nicht im Text verwiesen werden. \end{example*} \end{verbatim} Hier ist ein Label nur sinnvoll, um auf die Seite zu verweisen, da ja keine Beispielnummer vorhanden ist. Soll ein Verzeichnis der Beispiele gedruckt werden, kann durch Verwendung des Befehls \cs{listofexamples} erreicht werden. \bigskip Definitionen werden in der gleichen Weise gesetzt wie Beispiele. Für sie werden die Umgebungen \env{definition} und \env{definition*} angeboten. Das entsprechende Verzeichnis wird mit dem Befehl \cs{listofdefinitions} erzeugt. Ebenso verhält es sich mit Beweisen, für die die Umgebungen \env{proof} und \env{proof*} sowie der Befehl \cs{listofproofs} definiert sind. Zusätzlich ist der Befehl \cs{qed} definiert, der ein schwarzes Quadrat rechtsbündig setzt: \begin{verbatim}[\small] \begin{proof*}[Ein Beispielbeweis] Da mir im Moment kein sinnvoller Beweis einfällt, schreibe ich einfach nur etwas sinnlosen Text und anschließend folgenden Satz: Diese Aussage ist wahr.\qed \end{proof*} \end{verbatim} Dies führt zu folgendem Ergebnis: \begin{proof*}[Ein Beispielbeweis] Da mir im Moment kein sinnvoller Beweis einfällt, schreibe ich einfach nur etwas sinnlosen Text und anschließend folgenden Satz: Diese Aussage ist wahr.\qed \end{proof*} Sollte in der letzten Zeile nicht genügend Platz vorhanden sein, so wird das Quadrat rechtsbündig in die nächste Zeile gesetzt. Wenn Ihnen das Quadrat nicht gefällt, können Sie es auch ersetzen, indem Sie den Befehl \cs{qedname} umdefinieren, z.\,B. \begin{verbatim}[\small] \renewcommand*\qedname{\textit{q.\,e.\,d.}} \end{verbatim} \subsection{Theoremartige Umgebungen}% \label{sec:tex:theorem}% Weitere Umgebungen, die wie Beispiele und Definitionen gesetzt werden, können vom Autoren selbst definiert werden, indem der Befehl \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \newtheorem|marg[Umgebung|feinschliff[][sname][][]]|marg[Überschrift] \end{verbatim} verwendet wird. Dabei wird die Umgebung \meta{Umgebung\feinschliff{}{sname}{}{}} eingerichtet. Bei ihrer Verwendung wird ein eingerückter Abschnitt mit der Überschrift \meta{Überschrift} erzeugt. Für sie kann auch ein Befehl verwendet werden, der sprachabhängig geändert wird. Es werden zwei Umgebungen eingerichtet, eine mit dem Namen \meta{Umgebung\feinschliff{}{sname}{}{}} und eine mit dem Namen \env{\meta{Umgebung\feinschliff{}{sname}{}{}}*}. Beide besitzen ein optionales Argument, dem ein Titel übergeben werden kann (entsprechend den Umgebungen \env{example} und \env{example*}). Das Verzeichnnis für diese Umgebung wird mit dem Befehl \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \listoftheorems|marg[Umgebung|feinschliff[][sname][][]]|marg[Überschrift] \end{verbatim} erzeugt, wobei hier die \meta{Überschrift} als Überschrift des Verzeichnisses gesetzt wird. Beispielsweise kann eine Umgebung für Anmerkungen folgendermaßen eingerichtet werden: \begin{verbatim}[\small] \newtheorem{anmerkung}{Anmerkung} \end{verbatim} Es werden die Umgebungen \env{anmerkung} und \env{anmerkung*} eingerichtet. Das zugehörige Verzeichnis wird mit \begin{verbatim}[\small] \listoftheorems{anmerkung}{Verzeichnis der Anmerkungen} \end{verbatim} erzeugt. Diese Art der Definition sorgt dafür, dass Anmerkungen nur in deutschen Teilen des Buchs verwendet werden können. Normalerweise sollte dies ausreichen. Falls Sie jedoch ein mehrsprachiges Buch schreiben, sollten Sie die Umgebung "`internationalisieren"', wie im Folgenden gezeigt. Die Überschriften für Anmerkungen und deren Verzeichnis werden nun nicht fest kodiert, sondern durch Befehle ersetzt. Außerdem wird für das Verzeichnis der Anmerkungen der Befehl \cs{listofanmerkungen} definiert, der die Überschrift sprachabhängig wählt. \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \newtheorem{anmerkung}{\anmerkungname} \newcommand*\listofanmerkungen{% \listoftheorems{anmerkung}{\listanmerkungname}} \end{verbatim} Die Überschriftenbefehle \cs{anmerkungname} und \cs{listanmerkungname} werden mit Hilfe des \cs{addto}"=Befehls aus dem \verb|babel|"=Paket sprachabhängig geändert. Die leeren Definitionen sind notwendig, um eine Fehlermeldung bei der ersten Sprachumschaltung zu vermeiden. \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \newcommand*\anmerkungname{} \newcommand*\listanmerkungname{} \addto\captionsngerman{% \renewcommand*\anmerkungname{Anmerkung}% \renewcommand*\listanmerkungname{Verzeichnis der Anmerkungen}% } \addto\captionsenglish{% \renewcommand*\anmerkungname{Annotation}% \renewcommand*\listanmerkungname{List of Annotations}% } \end{verbatim} Sollen weitere Sprachen unterstützt werden, geschieht dies analog zu den gezeigten. \bigskip Normalerweise wird nach der Nummer einer theoremartigen Umgebung ein Doppelpunkt gesetzt. Lokal kann dies durch Verwendung der Umgebung \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \begin{theoremdelimiter}|marg[Umgebung|feinschliff[][sname][][]]|marg[Zeichenfolge] \end{verbatim} verändert werden. Das erste Argument ist der Name der Umgebung, für die die Änderung gelten soll. Das beinhaltet auch die vordefinierten Umgebungen \env{example}, \env{definition} und \env{proof}. Das zweite Argument wird für den lokal geltenden Anhang verwendet. So führt beispielsweise \begin{verbatim}[\small] \begin{theoremdelimiter}{example}{*:} \begin{example} Ein Beispiel mit einer veränderten Überschrift. \end{example} \end{theoremdelimiter} \end{verbatim} auf folgendes Ergebnis: \begin{theoremdelimiter}{example}{*:} \begin{example} Ein Beispiel mit einer veränderten Überschrift. \end{example} \end{theoremdelimiter} Wenn Sie den Doppelpunkt dauerhaft durch ein anderes Zeichen ersetzen möchten, können Sie auch die \env{theoremdelimiter}"=Umgebung "`vergewaltigen"', indem Sie den Umgebungsanfang als Befehl verwenden, z.\,B.: \begin{verbatim}[\small] \theoremdelimiter{example}{*:} \end{verbatim} Das funktioniert, ist allerdings kein besonders guter Programmierstil. Die Einrückung theoremartiger Umgebungen kann verändert werden, indem der Befehl \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \settheoremmargin|marg[Umgebung]|oarg[links]|marg[rechts] \end{verbatim} verwendet wird. Sie stellt die linke Einrückung der \meta{Umgebung} auf die im optionalen Argument \meta{links} angegebene Länge und die rechte auf die mit \meta{rechts} angegebene Länge. Wird das optionale Argument weggelassen, so werden beide Einrückungen gleich vorgenommen. Beispiel: \begin{verbatim}[\small] \settheoremmargin{example}{0pt}% \end{verbatim} setzt Beispiele ohne Einrückung links oder rechts. \subsection{Graue Kästen}% \label{sec:tex:important}% Die grauen Kisten aus Beispiel~\ref{bsp:important} werden mit den Umgebungen \env{important}, \env{important*}, \env{longimportant} bzw.\ \env{longimportant*} erzeugt, sofern die Klassenoption \verb|greybox| gesetzt wurde. Wurde dies nicht getan, wird der Inhalt der Umgebungen ohne jede Auszeichnung in einen eigenen Absatz geschrieben. Das Beispiel wurde mit folgendem Code erzeugt: \begin{verbatim}[\small] Wenn man sich ständig Textbeispiele ausdenken muss, gehen einem irgendwann die Ideen aus. % \begin{important} Das ist nicht besonders angenehm. \begin{align*} \sin^2\alpha + \cos^2\alpha &= 1\,. \quad\text{(eine beliebige Formel)} \end{align*}% \end{important} % Da dieser Satz inhaltlich dazu gehört, ist er ohne Absatzeinzug gesetzt. % \begin{important*} \begin{align*} \sin^2\alpha + \cos^2\alpha &= 1\,. \quad\text{(eine beliebige Formel)} \end{align*} Es muss inhaltlich entschieden werden, ob ein Absatz folgt oder nicht.% \end{important*} Da dieser Satz nichts mit dem Rest zu tun hat, beginnt mit ihm ein neuer Absatz. Das ist am Absatzeinzug zu erkennen. \end{verbatim} % Wie im Beispiel zu sehen, muss die \env{important}"=Umgebung verwendet werden, wenn der Inhalt mit "`normalem"' Text beginnt. Beginnt er mit einer abgesetzten Formel, theoremartigen Umgebungen (wie z.\,B.\ \env{example}), einer Aufgabe oder einer Lösung, muss die \env{important*}"=Umgebung verwendet werden. Innerhalb der Umgebungen können keine \env{figure}- oder \env{table}"=Umgebungen definiert werden. Dies ist auch kein Problem, da sie beispielsweise direkt nach der Umgebung geschrieben werden können. Ebenso sind Randnotizen mit \cs{marginpar} nicht möglich. \feinschliff{}{\enlargethispage{-1\baselineskip}}{}{}% Innerhalb der \env{important}"= und der \env{important*}"=Umgebung ist kein Seitenumbruch möglich. Da normalerweise auch nur kurze, prägnante Sätze bzw.\ Gleichungen grau hinterlegt werden, kann diese Einschränkung auch als Vorteil gesehen werden, da dadurch die zusammen gehörenden Informationen nicht auseinander gerissen werden können. Dadurch, dass dennoch relativ lange Textbereiche nicht umbrochen werden können, kann es zu unschön auseinander gezogenen Seiten kommen. Wie sie dies wieder "`reparieren"' können, kann in Abschnitt~\ref{sec:tex_feinschliff} nachgelesen werden. Sollte einmal grau hinterlegter Text so lang sein, dass ein Seitenumbruch unvermeidlich ist, können die Umgebungen \env{longimportant} und \env{longimportant*} verwendet werden. Außerdem verbieten sie zusätzlich zu der \env{figure}- und der \env{table}"=Umgebung sowie dem \cs{marginpar}"=Befehl die Verwendung des \cs{footnote}"=Befehls.\footnote{Dies ist keine Schikane, sondern darin begründet, dass das zugrunde liegende Paket \texttt{framed} dies (noch) nicht unterstützt.} % ------------------------------------------------------------------- \section{Aufgaben und Lösungen}% \label{sec:tex:aufgaben}% \texindex{Aufgabe}% \texindex{Lösung}% % ------------------------------------------------------------------- \subsection{Globale Aufgabensammlung}% \label{sec:tex_aufgabensammlung_global}% \texindex{Aufgabensammlung!global}% Eine Aufgabe, die entsprechend für eine globale Aufgabensammlung formatiert wird, wird mit Hilfe der \env{exercise}"=Umgebung\envindex{exercise} gesetzt: \begin{verbatim}[\small] \begin{exercise}{Buch erstellen} \label{auf:beispiel1}% Erstellen Sie ein Buch zur Veröffentlichung im Teubner Verlag! Dabei sind die Autorenrichtlinien, die sie gerade lesen, zu beachten. \end{exercise} \end{verbatim} Für sie ist ein Titel obligatorisch\footnote{Er kann, sollte jedoch nicht, leer definiert werden.}. Innerhalb der Umgebung kann mit \verb|\label| ein Label definiert werden, der die Nummer der Aufgabe enthält. Für unnummerierte Aufgaben steht die \env{exercise*}"=Umgebung\envindex{exercise*} zur Verfügung: \begin{verbatim}[\small] \begin{exercise*}{Stichwortverzeichnis} Erstellen Sie für Ihr Buch ein Stichwortverzeichnis! Achten Sie darauf, dass es sinnvoll und nicht zu kurz wird! \end{exercise*} \end{verbatim} Hier ist es natürlich nicht sinnvoll, ein Label zu setzen. \feinschliff{}{\enlargethispage{-1\baselineskip}}{}{}% Nummerierte Lösungen werden mit der \verb|answer|"=Umgebung\envindex{answer} erzeugt. Diese hat als obligatorisches Argument den Namen eines in der zugehörigen Aufgabe definierten Labels. Vor dem obligatorischen Argument kann (muss jedoch nicht) ein Titel für die Lösung in eckigen Klammern angegeben werden: \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \begin{answer}|oarg[Optionaler Titel]{auf:beispiel1} Die Lösung zu dieser Aufgabe ist, wie Sie sicherlich schon gemerkt haben, mit großem Aufwand verbunden. Bei der Erstellung dieser Autorenrichtlinien merke auch ich dies aufs Neue. \end{answer} \end{verbatim} Eine unnummerierte Lösung wird mit der \verb|answer*|"=Umgebung\envindex{answer*} erzeugt. Ihr kann optional ein Titel angefügt werden: \begin{verbatim}[\small] \begin{answer*}[Stichwortverzeichnis] Die Lösung der Aufgabe kann ich Ihnen leider nicht abnehmen. \end{answer*} \end{verbatim} Soll statt des Doppelpunktes etwas anderes nach der Aufgaben- bzw.\ Lösungsnummer stehen, kann dies durch die Umgebung \begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]] \begin{exercisedelimiter}|marg[Zeichenfolge] \end{verbatim} verändert werden. So führt beispielsweise \begin{verbatim}[\small] \begin{exercisedelimiter}{*:} \begin{exercise}{Mal was anderes} Eine Aufgabe mit einer veränderten Überschrift. \end{exercise} \end{exercisedelimiter} \end{verbatim} auf folgendes Ergebnis: \begin{exercisedelimiter}{*:} \begin{exercise}{Mal was anderes} Eine Aufgabe mit einer veränderten Überschrift. \end{exercise} \end{exercisedelimiter} \bigskip Wenn Sie den Doppelpunkt dauerhaft durch ein anderes Zeichen ersetzen möchten, können Sie auch die \env{exercisedelimiter}"=Umgebung "`vergewaltigen"', indem Sie den Umgebungsanfang als Befehl verwenden, z.\,B.: \begin{verbatim}[\small] \exercisedelimiter{example}{*:} \end{verbatim} Das funktioniert, ist allerdings kein besonders guter Programmierstil. \bigskip Es ist möglich, die Aufgaben der globalen Aufgabensammlung in das Inhaltsverzeichnis des Buches aufzunehmen. Dazu wird \verb|exercisetotoc|\optindex{exercisetotoc} in die Liste der optionalen Argumente des \verb|\documentclass|"=Befehls aufgenommen: \begin{verbatim}[\small] \documentclass[english,ngerman,entwurf,exercisetotoc]{bgteubner} \end{verbatim} Wenn dies getan wird, ist das resultierende Inhaltsverzeichnis genau zu kontrollieren, damit das Ergebnis übersichtlich bleibt. Die Aufgaben sollten dann in einem eigenen Kapitel, das beispielsweise die Überschrift \emph{Aufgaben} trägt, zusammengefasst werden. % ------------------------------------------------------------------- \subsection{Aufgaben am Ende jeden Kapitels}% \texindex{Aufgabensammlung!kapitelweise}% Für Aufgabensammlungen am Ende jeden Kapitels gilt das gleiche wie für globale Aufgaben. Hier muss den Namen der Umgebungen ein \verb|sub| vorangestellt werden, wie es die folgenden Beispiele zeigen: \begin{verbatim}[\small] \begin{subexercise}{Buch erstellen} \label{auf:beispiel2}% Erstellen Sie ein eigenes Buch für den Teubner Verlag! \end{subexercise} \end{verbatim} \envindex{subexercise}% % \begin{verbatim}[\small] \begin{subexercise*}{Stichwortverzeichnis} Erstellen Sie für Ihr Buch ein Stichwortverzeichnis! Achten Sie darauf, dass es sinnvoll wird! \end{subexercise*} \end{verbatim} \envindex{subexercise*}% % \begin{verbatim}[\small] \begin{subanswer*}[Stichwortverzeichnis] Die Lösung der Aufgabe kann ich Ihnen leider nicht abnehmen. \end{subanswer*} \end{verbatim} \envindex{subanswer*}% % \begin{verbatim}[\small] \begin{subanswer}{auf:beispiel2} Auch diese Lösung kann ich nicht geben. \end{subanswer} \end{verbatim} \envindex{subanswer}% % ------------------------------------------------------------------- \subsection{Teilaufgaben}% \texindex{Teilaufgabe}% Teilaufgaben werden mit der \envindex{subtask}\env{subtask}"=Umgebung definiert, die etwa einer \env{enumerate*}"=Umgebung entspricht. Im Unterschied zu dieser wird innerhalb einer \env{aufgabe}"~, \env{loesung}"~, \env{subexercise}"~ \dots\ "~Umgebung auch über mehrere \env{subtask}"=Umgebungen fortlaufend weitergezählt. Beispielaufgabe~\ref{auf:teilaufgaben} auf Seite~\pageref{auf:teilaufgaben} wurde folgendermaßen erstellt: \begin{verbatim}[\small] \begin{subexercise*}{Mal wieder Buch erstellen} Zur Erstellung eines Buches für den Teubner Verlag sollen folgende Dinge erledigt werden: \begin{subtask} \item Recherchieren Sie gründlich! \item Schreiben Sie den Text, ohne auf Formatierungen zu achten! \end{subtask} Wenn der inhaltliche Teil fertig ist, geht es an die optischen Dinge: \begin{subtask} \item Formatieren Sie den Text! \item Erstellen Sie die Verzeichnisse (Formelverzeichnis, Abkürzungsverzeichnis, Literaturverzeichnis, Stichwortverzeichnis)! \end{subtask} \end{subexercise*} \end{verbatim} Ein Schachteln von Teilaufgaben ist nicht möglich. % =================================================================== %%% Local Variables: %%% mode: latex %%% TeX-master: "bsSzM" %%% End: