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