summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bgteubner
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/bgteubner
Initial commit
Diffstat (limited to 'macros/latex/contrib/bgteubner')
-rw-r--r--macros/latex/contrib/bgteubner/LIESMICH220
-rw-r--r--macros/latex/contrib/bgteubner/README181
-rw-r--r--macros/latex/contrib/bgteubner/ToDo8
-rw-r--r--macros/latex/contrib/bgteubner/doc/bgteubner-cm.pdfbin0 -> 1209919 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/bgteubner.pdfbin0 -> 469747 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/bgteucls.pdfbin0 -> 701551 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/mathtime/math-cm.pdfbin0 -> 43748 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/mathtime/math-cm.tex18
-rw-r--r--macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.pdfbin0 -> 36204 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.tex18
-rw-r--r--macros/latex/contrib/bgteubner/doc/mathtime/math.pdfbin0 -> 36896 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/mathtime/math.tex37
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/Makefile185
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/anhang.tex18
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/befehlsreferenz.tex134
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/beispiel1.tex58
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-cm.tex21
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-mathtime.tex21
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-times.tex21
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-cm.tex21
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-mathtime.tex21
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-times.tex21
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner-with-hyperref.tex395
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bgteubner.tex338
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder.tex279
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/01b.pngbin0 -> 13197 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/02b.pngbin0 -> 13498 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild4c.pngbin0 -> 8865 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.eps108
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.fig19
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.pdf56
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.eps153
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.fig47
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.pdfbin0 -> 1101 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.eps145
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.fig45
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.pdfbin0 -> 1025 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.eps129
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.fig33
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.pdfbin0 -> 996 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.eps183
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.fig67
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.pdfbin0 -> 1190 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.eps161
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.fig51
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.pdf55
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.eps204
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.fig77
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.pdfbin0 -> 1329 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.eps187
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.fig77
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.pdf56
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.pdfbin0 -> 31844 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.tex124
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.pdfbin0 -> 31547 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.tex4
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.pdfbin0 -> 20599 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.tex128
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.pdfbin0 -> 20711 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.tex4
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.pdfbin0 -> 31870 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.tex131
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.pdfbin0 -> 31861 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.tex4
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/times-ja2.pngbin0 -> 5229 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/bilder/times-nein2.pngbin0 -> 4976 bytes
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/checkliste.tex99
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/einleitung.tex137
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/formelzeichen.tex82
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/globales.tex596
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/hhfixme.sty491
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/hyphenation.tex16
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/index.tex48
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/installation.tex494
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/kapitel2.tex8
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/literatur.bib177
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/literatur.tex24
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/optionen-advanced.tex128
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/testtimes.tex22
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/tex_aufruf.tex96
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/tex_bilder.tex428
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/tex_globales.tex974
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/tex_textelemente.tex544
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/tex_typographie.tex473
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/tex_verzeichnisse.tex804
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/textelemente.tex393
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/verzeichnisse.tex351
-rw-r--r--macros/latex/contrib/bgteubner/doc/src/vorwort.tex101
-rw-r--r--macros/latex/contrib/bgteubner/hhsubfigure/Makefile86
-rw-r--r--macros/latex/contrib/bgteubner/hhsubfigure/README28
-rw-r--r--macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.dtx3913
-rw-r--r--macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.ins77
-rw-r--r--macros/latex/contrib/bgteubner/manifest.txt93
-rw-r--r--macros/latex/contrib/bgteubner/source/ChangeLog172
-rw-r--r--macros/latex/contrib/bgteubner/source/Makefile139
-rw-r--r--macros/latex/contrib/bgteubner/source/bgteucls.dtx7004
-rw-r--r--macros/latex/contrib/bgteubner/source/bgteucls.ins138
-rw-r--r--macros/latex/contrib/bgteubner/source/getversion.tex7
-rw-r--r--macros/latex/contrib/bgteubner/source/ptmxcomp.sty300
-rw-r--r--macros/latex/contrib/bgteubner/source/testquick.tex240
-rw-r--r--macros/latex/contrib/bgteubner/usefiles.txt53
101 files changed, 22999 insertions, 0 deletions
diff --git a/macros/latex/contrib/bgteubner/LIESMICH b/macros/latex/contrib/bgteubner/LIESMICH
new file mode 100644
index 0000000000..2076f504da
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/LIESMICH
@@ -0,0 +1,220 @@
+
+Dokumentklasse zum Erstellen von Büchern für den Springer Vieweg Verlag
+=======================================================================
+
+
+
+1. Einleitung
+-------------
+
+Die Dokumentklasse »bgteubner.cls« habe ich im Auftrag des
+Teubner-Verlags (der sich mittlerweile über Vieweg+Teubner in Springer
+Vieweg umbenannt hat), Wiesbaden, programmiert, um den Büchern dieses
+Verlags ein einheitliches Aussehen zu geben. Nach Absprache mit
+dem Verlag darf ich die Dokumentklasse mit den zugehörigen
+Dateien und Dokumentationen frei verfügbar machen.
+
+Da es sich um eine Vorlage für Bücher handelt, die möglichst gut
+zusammen passen sollen, sind sehr viele Dinge (Layout usw.) fest
+vorgegeben und können normalerweise durch den Anwender nicht
+geändert werden. Sollten Sie diese Dokumentklasse für einen
+anderen Zweck als einen Verlagsveröffentlichung beim Teubner-Verlag
+verwenden, können dadurch ungewollte Einschränkungen entstehen
+(beispielsweise bietet die Dokumentklasse nur die Papierformate
+DIN A-5 und 17cm x 24cm an; es stehen nur die Schriftfamilien Times
+oder European Computer Modern zur Verfügung).
+Falls Sie Dateien Ihren Bedürfnissen anpassen wollen, müssen sie diese
+entsprechend der LPPL-Lizenz vorher umbenennen. Beachten Sie dabei
+bitte zusätzlich die Bestimmungen der Dateien bgteucls.dtx und
+bgteubner.cls, die dort angegeben sind.
+
+Wenn Sie Dokumente mit Hilfe dieser Dokumentklasse erstellen, wird
+in die PDF-Datei im Feld »Creator« ein Hinweis auf den Klassennamen
+und den Teubner-Verlag abgelegt. Sollten Sie eine abgeleitete Klasse
+entwickeln, müssen beide Einträge erhalten bleiben. Ich kann Ihnen
+nach LPPL nicht verbieten, in Ihren Dokumenten den Eintrag zu
+überschreiben, bitte Sie, auch im Namen des Verlags, aber darum,
+dies zu unterlassen.
+
+Die Dokumentklasse verlangt bei einigen hinzugeladenen Paketen relativ
+neue Versionen und lädt einige Pakete, die auf den meisten LaTeX-
+Installationen wohl normalerweise nicht installiert sind. Eine Liste
+aller benötigten Dateien ist in der Datei usefiles.txt enthalten.
+Nicht alle Pakete werden, abhängig von den Klassenoptionen, immer
+benötigt, auf eine genauere Aufschlüsselung verzichte ich jedoch.
+
+Falls Sie zu viele Pakete mit alten Versionen besitzen, könnte es
+sich lohnen, eine moderne TeX-Distribution zu installieren.
+
+Die Dokumentationsdateien bgteubner-17x24-times.pdf und
+bgteubner-17x24-cm.pdf (die sich nur in der verwendeten Brotschrift
+unterscheiden) enthalten neben einer ausführlichen Anleitung
+zur Verwendung der Dokumentklasse Installationsanweisungen für
+TeXLive 8, wobei sich einige Dinge zur Herkunft bestimmter Dateien
+auf die CD beziehen, die der Teubner-Verlag besitzt. Wenn diese
+Dateien nicht in der Distribution der bgteubner-Klasse befinden,
+sollten Sie sie auf einem CTAN-Server (z. B. ftp.dante.de) finden.
+
+
+
+2. Aufbau der Distribution und Installation
+-------------------------------------------
+
+Der Aufbau der Distribution unterscheidet sich, je nachdem, ob Sie
+eine CD vom Teubner-Verlag erhalten haben oder die Dokumentklasse von
+CTAN (ftp-Server oder Abbild-CD) verwenden.
+
+
+2.1 CTAN-Version
+----------------
+
+Das Bundle besitzt folgenden Aufbau:
+
+doc/ Dokumentation:
+ bgteubner-17x24-times.pdf Autorenrichtlinien (Times),
+ bgteucls.pdf Dokumentation der Dokumentklasse
+ (nur für Experten).
+doc/src/ Quelltext der Dokumentation.
+hhsubfigure/ Quelltext des hhsubfigure-Pakets.
+source/ Quelltext der Dokumentklasse.
+
+
+Zur Installation der Dokumentklasse und der Zusatzdateien müssen Sie in
+das Verzeichnis source/ wechseln. Dort muss die Datei »bgteucls.ins« mit
+LaTeX übersetzt werden. Dabei werden einige Dateien erzeugt, die in
+unterschiedliche Verzeichnisse kopiert werden müssen. Wenn die TeX-
+Distribution TDS-konform ist und der Lokale TeXMF-Baum $TEXMFLOCAL
+heißt, sind dies:
+
+ $TEXMFLOCAL/tex/latex/bgteubner/bgteubner.cls
+ $TEXMFLOCAL/tex/latex/ptmxcomp/ptmxcomp.sty
+ $TEXMFLOCAL/makeindex/bgteubner/bgteubner.ist
+ $TEXMFLOCAL/makeindex/bgteubner/bgteuglo.ist
+ $TEXMFLOCAL/makeindex/bgteubner/bgteuglochar.ist
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteupln.bst
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteupln2.bst
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteuabbr.bst
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteuabbr2.bst
+
+Wenn Sie unter Unix arbeiten, können Sie alle Schritte durch ein
+einziges
+ make install
+erledigen.
+
+Zusätzlich muss das hhsubfigure-Paket installiert werden. Dazu verwenden
+Sie LaTeX im Verzeichnis hhsubfigure/ auf die Datei hhsubfigure.ins und
+kopieren Sie anschließend die Datei hhsubfigure.sty in das Verzeichnis
+
+ $TEXMFLOCAL/tex/latex/hhsubfigure/
+
+Da sich das hhsubfigure-Paket nur intern von subfigure.sty unterscheidet,
+verwenden Sie bitte die zu diesem Paket gehörige Dokumentation.
+
+Sicherlich werden Ihnen weitere Pakete fehlen, die von der Dokumentklasse
+verwendet werden. Besorgen Sie sich diese bitte von eine CTAN-Server oder
+der CTAN-CD. Einen Überblick über verwendete Pakete ist in usefiles.txt
+enthalten.
+
+
+2.2 Teubner-CD-Version
+----------------------
+
+Sollten Sie eine CD vom Teubner-Verlag erhalten haben, so hat sie
+folgenden Aufbau:
+
+doc/ Dokumentation:
+ bgteubner-17x24-cm.pdf Autorenrichtlinien (European
+ Computer Modern),
+ bgteubner-17x24-times.pdf Autorenrichtlinien (Times),
+ bgteubner-17x24-mathtime.pdf Autorenrichtlinien (Times mit
+ MathTime und MathTimePlus),
+ bgteucls.pdf Dokumentation der Dokumentklasse
+ (nur für Experten).
+doc/src/ Quelltext der Dokumentation.
+pakete/ Klassen und Pakete, die in TeXLive 8 nicht oder nur veraltet
+ enthalten sind.
+hhsubfigure/ Quelltext des hhsubfigure-Pakets.
+source/ Quelltext der Dokumentklasse (nur für Experten).
+alt/ Alte Versionen der Dokumentklasse. Dieses Verzeichnis kann
+ dann wichtig sein, wenn Sie ein Buch mit einer alten Version
+ übersetzt haben und sich beispielsweise die Umbrüche durch die
+ Verwendung einer neueren Version ändern, dies im speziellen
+ Fall aber unerwünscht ist.
+
+Konsultieren Sie bitte zur Installation die Dokumentation im PDF-Format.
+
+
+
+3. Update
+---------
+
+Falls Sie von einer älteren Version updaten, können Sie in der Datei
+ChangeLog im Verzeichnis source/ oder am Ende der Datei bgteucls.pdf
+im Verzeichnis doc/ nachlesen, was sich seit Ihrer alten Version
+verändert hat.
+
+Von Version 1.07 auf 1.10 wurden einige Abstände verändert, so dass sich
+viele Zeilen- und Seitenumbrüche verändern. Sollten Sie im Endstadium
+einer Dokumenterstellung sein, kann es sinnvoll sein, das Klassenupdate
+zu verschieben.
+
+Von Version 1.14 auf 1.21 wurden einige Randeinstellungen in den
+important(*)- und lonimportant(*)-Umgebungen verändert, so dass es
+zu Veränderungen des Umbruchs kommen kann.
+
+
+Die folgenden Hinweise sind nur für Nutzer relevant, die schon eine
+Version <1.06 verwendet haben:
+
+Wenn Sie bisher das Paket hfo.sty verwendet haben, so _ersetzen_ sie
+dies bitte duch das hfoldsty-Paket. Dazu müssen Sie unterhalb des lokalen
+TeXMF-Verzeichnisses (normalerweise »C:\Programme\TeXLive\texmf-local«
+oder »/usr/TeX/texmf-local«) alle Verzeichnisse des Namens »hfo« löschen.
+Dies sind im einzelnen »doc/latex/hfo«, »tex/latex/hfo«,
+»fonts/vf/public/hfo« und »fonts/tfm/public/hfo«. Entpacken Sie
+anschließend im lokalen TeXMF-Verzeichnis die Datei »hfoldsty-1_00.zip«
+oder die entsprechende neuere Version. Abschließend muss noch die
+Dateidatenbank aktualisiert werden, entweder über das Startmenü oder
+durch den Programmaufruf »texhash«.
+ Aufgrund eines Namenskonflikts wurde der Befehl \tensor in der
+Version 1.06 in \tens umbenannt. Bitte benennen Sie alle Aufrufe dieses
+Befehls um.
+
+
+
+4. Lizenzbestimmungen (im englischen Originaltext)
+--------------------------------------------------
+
+bgteubner class bundle
+
+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.
+
+harald.harders@gmx.de
+
+
+Für die Dateien bgteucls.dtx und bgteubner.cls gilt folgende
+Zusatzbestimmung:
+
+If you modify a renamed copy of the files `bgteubner.cls' or
+`bgteucls.dtx', you have to preserve some information in the
+PDF /Creator entry. The following data have to remain:
+- The name `bgteubner.cls',
+- a hint that this class has been developed for the `Teubner
+ Verlag, Wiesbaden, Germany'.
+
+
+--------------------------------------------------
+
+Harald Harders
+harald.harders@gmx.de
+2012-04-07
diff --git a/macros/latex/contrib/bgteubner/README b/macros/latex/contrib/bgteubner/README
new file mode 100644
index 0000000000..48e7826560
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/README
@@ -0,0 +1,181 @@
+
+Document class for producing books for the Teubner Verlag, Germany
+==================================================================
+
+
+1. Introduction
+---------------
+
+I have programmed the "bgteubner.cls" document class by order of the
+Teubner Verlag (which was renamed via Vieweg+Teubner to Springer Vieweg),
+Wiesbaden, Germany. This has been done to ensure that
+books of this publisher have a unique layout. The publisher has
+allowed me to distribute the document class with auxilliary files
+and documentation freely. Unfortunately, most of the documentation
+is only available in German.
+
+Since the document class is intended to generate a unique layout, many
+things (layout etc.) are fixed and cannot be altered by the used.
+If you want to use the document class for another purpose than publishing
+with the Teubner Verlag, this may arrise unwanted restrictions
+(For instance, the document class provides only two paper sizes:
+DIN A-5 and 17cm x 24cm; only two font families are supported:
+Times and European Computer Modern). If you want to adapt some files
+you have to rename them before, according to the LPPL license. Please
+do it also according to the additional remarks in the files bgteucls.dtx
+and bgteubner.cls.
+
+When you produce documents using this document class, the PDF file gets
+a "Creator" entry that includes the class name and the name of the
+Teubner Verlag. If you modify a copy of this class, these texts have
+to be preserved. I cannot forbid you (according to LPPL) to overwrite
+this entry in the document itself. But please don't do it since the
+publisher has asked me to preserve that entry.
+
+The document class needs some additional packages, partly relatively
+new ones, partly packages that are not installed on most TeX
+installations. A list of needed packages is contained in usefiles.txt.
+Depending on the class options, not all packages are needes; but I
+will not specify it in more detail.
+
+If you recognize that many packages of your installation are too old
+it may be worth to install a new distribution.
+
+The German documentation files bgteubner-17x24-times.pdf and
+bgteubner-17x24-cm.pdf describe how to use the document class. In
+addition, they include installation instructions for the TeXLive 8
+distribution.
+
+
+
+2. Files in the distribution and installation
+---------------------------------------------
+
+The distribution of the bgteubner bundle depends on how you got it
+(did you get it from CTAN or as CD by the Teubner-Verlag?).
+
+
+2.1 CTAN version
+----------------
+
+The bundle has following directories:
+
+doc/ Documentation (in German):
+ bgteubner-17x24-times.pdf Author guidelines (Times font),
+ bgteucls.pdf Documentation of the document class
+ itself (only experts).
+doc/src/ Source code of the documentation.
+hhsubfigure/ Source code of the hhsubfigure package.
+source/ Source code of the document class.
+
+
+To install the document class and the auxilliary files, you have to
+change to the source/ directory. Run LaTeX on "bgteucls.ins". This
+produces a couple of files that have to be copied to special directories.
+If your TeX installation complies to the TDS the targets for theses files
+are:
+
+ $TEXMFLOCAL/tex/latex/bgteubner/bgteubner.cls
+ $TEXMFLOCAL/tex/latex/ptmxcomp/ptmxcomp.sty
+ $TEXMFLOCAL/makeindex/bgteubner/bgteubner.ist
+ $TEXMFLOCAL/makeindex/bgteubner/bgteuglo.ist
+ $TEXMFLOCAL/makeindex/bgteubner/bgteuglochar.ist
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteupln.bst
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteupln2.bst
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteuabbr.bst
+ $TEXMFLOCAL/bibtex/bst/bgteubner/bgteuabbr2.bst
+
+If you use Unix you simply may use
+ make install
+for everything.
+
+In addition, the hhsubfigure package has to be installed. Therefore, run
+latex on hhsubfigure.ins in the hhsubfigure/ directory. Then, copy
+hhsubfigure.sty to the
+
+ $TEXMFLOCAL/tex/latex/hhsubfigure/
+
+directory. Since usage of the hhsubfigure and the subfigure.sty packages
+is identical, refer to the subfigure documentation.
+
+Surely, more needed packages are not installed on your system. Please have
+a look to usefiles.txt to find out which you still need. You can download
+them from the CTAN servers.
+
+
+2.2 Teubner CD version
+----------------------
+
+If you have a CD of the Teubner Verlag, you have following directories:
+
+doc/ Documentation (in German):
+ bgteubner-17x24-cm.pdf Author guidelines (European
+ Computer Modern font),
+ bgteubner-17x24-times.pdf Author guidelines (Times font),
+ bgteubner-17x24-mathtime.pdf Author guidelines (Times font
+ with MathTime mathematics),
+ bgteucls.pdf Documentation of the document class
+ itself (only experts).
+doc/src/ Source code of the documentation.
+hhsubfigure/ Source code of the hhsubfigure package.
+source/ Source code of the document class.
+pakete/ Classes and packages that are not contained in TeXLive 8 or
+ that are too old there.
+alt/ Old versions of the document class.
+
+Since it is unlikely that you get a CD by the Teubner Verlag an don't
+speak German, there is no separat installation guide here.
+
+
+
+3. Update
+---------
+
+If you are updating from an older version, you can find out the
+changes in the file source/ChangeLog or at the end of the file
+doc/bgteucls.pdf.
+
+Many spacings have been changed from version 1.07 to 1.10. If you are
+nearly ready with producing a document you better postpone the update.
+
+From version 1.14 to 1.21, some margins had to be changed in the
+important(*) and longimportant(*) environments. Thus, changes of the
+line and page breaks are possible there.
+
+
+4. License
+----------
+
+bgteubner class bundle
+
+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.
+
+harald.harders@gmx.de
+
+
+For the files bgteucls.dtx and bgteubner.cls, there is an additional
+license agreement:
+
+If you modify a renamed copy of the files `bgteubner.cls' or
+`bgteucls.dtx', you have to preserve some information in the
+PDF /Creator entry. The following data have to remain:
+- The name `bgteubner.cls',
+- a hint that this class has been developed for the `Teubner
+ Verlag, Wiesbaden, Germany'.
+
+
+--------------------------------------------------
+
+Harald Harders
+harald.harders@gmx.de
+2012-04-07
diff --git a/macros/latex/contrib/bgteubner/ToDo b/macros/latex/contrib/bgteubner/ToDo
new file mode 100644
index 0000000000..c6709a57ed
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/ToDo
@@ -0,0 +1,8 @@
+- Use fix-cm.sty for European Computer Modern.
+- Correct manifest.txt and usefiles.txt.
+- Add \preface* command that does not perform a pagebreak.
+- Add package `leadmark' to move !, ?, :, and ; away form the word.
+- Proof natbib section from hhdiss.cls and maybe include it to bgteubner.cls.
+ What does it do exactly?
+- Adapt bgteubner.cls to recent version of scrbook.cls
+- Fix figure and table numbering in case sub-numbering etc. are used.
diff --git a/macros/latex/contrib/bgteubner/doc/bgteubner-cm.pdf b/macros/latex/contrib/bgteubner/doc/bgteubner-cm.pdf
new file mode 100644
index 0000000000..ce213157c9
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/bgteubner-cm.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/bgteubner.pdf b/macros/latex/contrib/bgteubner/doc/bgteubner.pdf
new file mode 100644
index 0000000000..46f17028b7
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/bgteubner.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/bgteucls.pdf b/macros/latex/contrib/bgteubner/doc/bgteucls.pdf
new file mode 100644
index 0000000000..23fe348a75
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/bgteucls.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/mathtime/math-cm.pdf b/macros/latex/contrib/bgteubner/doc/mathtime/math-cm.pdf
new file mode 100644
index 0000000000..1287b5ccb1
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/mathtime/math-cm.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/mathtime/math-cm.tex b/macros/latex/contrib/bgteubner/doc/mathtime/math-cm.tex
new file mode 100644
index 0000000000..707717024d
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/mathtime/math-cm.tex
@@ -0,0 +1,18 @@
+%
+% bgteubner class bundle
+%
+% math-cm.tex
+% Copyright 2003--2005 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.
+\PassOptionsToClass{cm}{bgteubner}
+\newcommand\hhsubtitle{European Computer Modern}
+\input{math}
diff --git a/macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.pdf b/macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.pdf
new file mode 100644
index 0000000000..a9155d5bad
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.tex b/macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.tex
new file mode 100644
index 0000000000..eca8f28ef2
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/mathtime/math-mathtime.tex
@@ -0,0 +1,18 @@
+%
+% bgteubner class bundle
+%
+% math-mathtime.tex
+% Copyright 2003--2005 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.
+\PassOptionsToClass{mathtime}{bgteubner}
+\newcommand\hhsubtitle{MathTime und MathTimePlus}
+\input{math}
diff --git a/macros/latex/contrib/bgteubner/doc/mathtime/math.pdf b/macros/latex/contrib/bgteubner/doc/mathtime/math.pdf
new file mode 100644
index 0000000000..17f4b43e7e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/mathtime/math.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/mathtime/math.tex b/macros/latex/contrib/bgteubner/doc/mathtime/math.tex
new file mode 100644
index 0000000000..0990daea96
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/mathtime/math.tex
@@ -0,0 +1,37 @@
+%
+% bgteubner class bundle
+%
+% math.tex
+% Copyright 2003--2005 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.
+\listfiles
+%\PassOptionsToClass{bgteubner}{titlepage}
+\documentclass[17x24,ngerman,ulinevec]{bgteubner}
+\usepackage[latin1]{inputenc}
+%\title{asdf}
+%\subtitle{\hhsubtitle}
+%\author{Harry}
+%\edition{2}
+\date{heute}
+\begin{document}
+%\maketitle
+\begin{align}
+ \sin^2\alpha + \cos^2\alpha &= 1
+\end{align}
+moin
+
+$\mathcal{ABCDEFGHabcdefgh}$
+
+$\alpha\beta\gamma\delta\epsilon\varepsilon$
+
+{\boldmath$\alpha\beta\gamma\delta\epsilon\varepsilon$}
+\end{document}
diff --git a/macros/latex/contrib/bgteubner/doc/src/Makefile b/macros/latex/contrib/bgteubner/doc/src/Makefile
new file mode 100644
index 0000000000..7d5498eac0
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/Makefile
@@ -0,0 +1,185 @@
+## bgteubner class bundle
+##
+## Makefile
+## Copyright 2003--2005 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.
+
+LATEX= pdflatex '\pdfoutput=0\let\pdfoutput=\relax\input'
+PDFLATEX= pdflatex
+
+TEX= \
+ befehlsreferenz.tex \
+ bgteubner.tex \
+ bilder.tex \
+ checkliste.tex \
+ einleitung.tex \
+ globales.tex \
+ hyphenation.tex \
+ installation.tex \
+ literatur.bib \
+ literatur.tex \
+ optionen-advanced.tex \
+ tex_aufruf.tex \
+ tex_bilder.tex \
+ tex_globales.tex \
+ tex_textelemente.tex \
+ tex_typographie.tex \
+ tex_verzeichnisse.tex \
+ textelemente.tex \
+ verzeichnisse.tex \
+ vorwort.tex \
+
+
+all: bgteubner-17x24-times.pdf
+
+cm: bgteubner-17x24-cm.pdf
+times: bgteubner-17x24-times.pdf
+mathtime: bgteubner-17x24-mathtime.pdf
+
+bgteubner-17x24-times.pdf: $(TEX)
+ -makeindex -c -g -s bgteuglochar.ist -o bgteubner-17x24-times.glscmd -t bgteubner-17x24-times.logcmd bgteubner-17x24-times.glocmd
+ -makeindex -c -g -s bgteubner.ist bgteubner-17x24-times
+ -bibtex bgteubner-17x24-times
+ $(PDFLATEX) bgteubner-17x24-times
+
+bgteubner-17x24-mathtime.pdf: $(TEX)
+ -makeindex -c -g -s bgteuglochar.ist -o bgteubner-17x24-mathtime.glscmd -t bgteubner-17x24-mathtime.logcmd bgteubner-17x24-mathtime.glocmd
+ -makeindex -c -g -s bgteubner.ist bgteubner-17x24-mathtime
+ -bibtex bgteubner-17x24-mathtime
+ $(PDFLATEX) bgteubner-17x24-mathtime
+
+bgteubner-17x24-cm.pdf: $(TEX)
+ -makeindex -c -g -s bgteuglochar.ist -o bgteubner-17x24-cm.glscmd -t bgteubner-17x24-cm.logcmd bgteubner-17x24-cm.glocmd
+ -makeindex -c -g -s bgteubner.ist bgteubner-17x24-cm
+ -bibtex bgteubner-17x24-cm
+ $(PDFLATEX) bgteubner-17x24-cm
+
+bgteubner-a5-times.pdf: $(TEX)
+ -makeindex -c -g -s bgteuglochar.ist -o bgteubner-a5-times.glscmd -t bgteubner-a5-times.logcmd bgteubner-a5-times.glocmd
+ -makeindex -c -g -s bgteubner.ist bgteubner-a5-times
+ -bibtex bgteubner-a5-times
+ $(PDFLATEX) bgteubner-a5-times
+
+bgteubner-a5-cm.pdf: $(TEX)
+ -makeindex -c -g -s bgteuglochar.ist -o bgteubner-a5-cm.glscmd -t bgteubner-a5-cm.logcmd bgteubner-a5-cm.glocmd
+ -makeindex -c -g -s bgteubner.ist bgteubner-a5-cm
+ -bibtex bgteubner-a5-cm
+ $(PDFLATEX) bgteubner-a5-cm
+
+bgteubner-a5-mathtime.pdf: $(TEX)
+ -makeindex -c -g -s bgteuglochar.ist -o bgteubner-a5-mathtime.glscmd -t bgteubner-a5-mathtime.logcmd bgteubner-a5-mathtime.glocmd
+ -makeindex -c -g -s bgteubner.ist bgteubner-a5-mathtime
+ -bibtex bgteubner-a5-mathtime
+ $(PDFLATEX) bgteubner-a5-mathtime
+
+class:
+ cd ../../source && make install
+
+clean:
+ -rm -f bgteubner-17x24-times.{bbl,blg,dvi,idx,ilg,ind,log,toc,glocmd,logcmd,glscmd,lox}
+ -rm -f bgteubner-17x24-mathtime.{bbl,blg,dvi,idx,ilg,ind,log,toc,glocmd,logcmd,glscmd,lox}
+ -rm -f bgteubner-17x24-cm.{bbl,blg,dvi,idx,ilg,ind,log,toc,glocmd,logcmd,glscmd,lox}
+ -rm -f bgteubner-a5-times.{bbl,blg,dvi,idx,ilg,ind,log,toc,glocmd,logcmd,glscmd,lox}
+ -rm -f bgteubner-a5-cm.{bbl,blg,dvi,idx,ilg,ind,log,toc,glocmd,logcmd,glscmd,lox}
+ -rm -f bgteubner-a5-mathtime.{bbl,blg,dvi,idx,ilg,ind,log,toc,glocmd,logcmd,glscmd,lox}
+ -rm -f *.aux
+
+distclean: clean
+ -rm -f bgteubner-17x24-times.pdf
+ -rm -f bgteubner-17x24-mathtime.pdf
+ -rm -f bgteubner-17x24-cm.pdf
+ -rm -f bgteubner-a5-times.pdf
+ -rm -f bgteubner-a5-mathtime.pdf
+ -rm -f bgteubner-a5-cm.pdf
+ -rm -f bgteubner-17x24-times.info
+ -rm -f bgteubner-17x24-mathtime.info
+ -rm -f bgteubner-17x24-cm.info
+ -rm -f bgteubner-a5-times.info
+ -rm -f bgteubner-a5-mathtime.info
+ -rm -f bgteubner-a5-cm.info
+
+install:
+ $(PDFLATEX) bgteubner-17x24-times
+ bibtex bgteubner-17x24-times
+ $(PDFLATEX) bgteubner-17x24-times
+ makeindex -c -g -s bgteuglochar.ist -o bgteubner-17x24-times.glscmd \
+ -t bgteubner-17x24-times.logcmd bgteubner-17x24-times.glocmd
+ makeindex -c -g -s bgteubner.ist bgteubner-17x24-times
+ $(PDFLATEX) bgteubner-17x24-times
+ $(PDFLATEX) bgteubner-17x24-times
+ makeindex -c -g -s bgteubner.ist bgteubner-17x24-times
+ $(PDFLATEX) bgteubner-17x24-times
+ cp -f bgteubner-17x24-times.pdf ..
+ echo ''
+ $(PDFLATEX) bgteubner-17x24-cm
+ bibtex bgteubner-17x24-cm
+ $(PDFLATEX) bgteubner-17x24-cm
+ makeindex -c -g -s bgteuglochar.ist -o bgteubner-17x24-cm.glscmd \
+ -t bgteubner-17x24-cm.logcmd bgteubner-17x24-cm.glocmd
+ makeindex -c -g -s bgteubner.ist bgteubner-17x24-cm
+ $(PDFLATEX) bgteubner-17x24-cm
+ $(PDFLATEX) bgteubner-17x24-cm
+ makeindex -c -g -s bgteubner.ist bgteubner-17x24-cm
+ $(PDFLATEX) bgteubner-17x24-cm
+ cp -f bgteubner-17x24-cm.pdf ..
+ echo ''
+ $(PDFLATEX) bgteubner-17x24-mathtime
+ bibtex bgteubner-17x24-mathtime
+ $(PDFLATEX) bgteubner-17x24-mathtime
+ makeindex -c -g -s bgteuglochar.ist \
+ -o bgteubner-17x24-mathtime.glscmd \
+ -t bgteubner-17x24-mathtime.logcmd \
+ bgteubner-17x24-mathtime.glocmd
+ makeindex -c -g -s bgteubner.ist bgteubner-17x24-mathtime
+ $(PDFLATEX) bgteubner-17x24-mathtime
+ $(PDFLATEX) bgteubner-17x24-mathtime
+ makeindex -c -g -s bgteubner.ist bgteubner-17x24-mathtime
+ $(PDFLATEX) bgteubner-17x24-mathtime
+ cp -f bgteubner-17x24-mathtime.pdf ..
+# echo ''
+# $(PDFLATEX) bgteubner-a5-times
+# bibtex bgteubner-a5-times
+# $(PDFLATEX) bgteubner-a5-times
+# makeindex -c -g -s bgteuglochar.ist -o bgteubner-a5-times.glscmd \
+# -t bgteubner-a5-times.logcmd bgteubner-a5-times.glocmd
+# makeindex -c -g -s bgteubner.ist bgteubner-a5-times
+# $(PDFLATEX) bgteubner-a5-times
+# $(PDFLATEX) bgteubner-a5-times
+# makeindex -c -g -s bgteubner.ist bgteubner-a5-times
+# $(PDFLATEX) bgteubner-a5-times
+# cp -f bgteubner-a5-times.pdf ..
+# echo ''
+# $(PDFLATEX) bgteubner-a5-cm
+# bibtex bgteubner-a5-cm
+# $(PDFLATEX) bgteubner-a5-cm
+# makeindex -c -g -s bgteuglochar.ist -o bgteubner-a5-cm.glscmd \
+# -t bgteubner-a5-cm.logcmd bgteubner-a5-cm.glocmd
+# makeindex -c -g -s bgteubner.ist bgteubner-a5-cm
+# $(PDFLATEX) bgteubner-a5-cm
+# $(PDFLATEX) bgteubner-a5-cm
+# makeindex -c -g -s bgteubner.ist bgteubner-a5-cm
+# $(PDFLATEX) bgteubner-a5-cm
+# cp -f bgteubner-a5-cm.pdf ..
+# echo ''
+# $(PDFLATEX) bgteubner-a5-mathtime
+# bibtex bgteubner-a5-mathtime
+# $(PDFLATEX) bgteubner-a5-mathtime
+# makeindex -c -g -s bgteuglochar.ist \
+# -o bgteubner-a5-mathtime.glscmd \
+# -t bgteubner-a5-mathtime.logcmd \
+# bgteubner-a5-mathtime.glocmd
+# makeindex -c -g -s bgteubner.ist bgteubner-a5-mathtime
+# $(PDFLATEX) bgteubner-a5-mathtime
+# $(PDFLATEX) bgteubner-a5-mathtime
+# makeindex -c -g -s bgteubner.ist bgteubner-a5-mathtime
+# $(PDFLATEX) bgteubner-a5-mathtime
+# cp -f bgteubner-a5-mathtime.pdf ..
diff --git a/macros/latex/contrib/bgteubner/doc/src/anhang.tex b/macros/latex/contrib/bgteubner/doc/src/anhang.tex
new file mode 100644
index 0000000000..6de6b6d8c1
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/anhang.tex
@@ -0,0 +1,18 @@
+%
+% bgteubner class bundle
+%
+% anhang.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.
+% ===================================================================
+
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/befehlsreferenz.tex b/macros/latex/contrib/bgteubner/doc/src/befehlsreferenz.tex
new file mode 100644
index 0000000000..a31bd1c4dd
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/befehlsreferenz.tex
@@ -0,0 +1,134 @@
+%
+% bgteubner class bundle
+%
+% befehlsreferenz.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.
+% ===================================================================
+\glossarycmd{advanced@\cs{advanced}}{eingerückter Textblock für weitergehende Dinge (\ref{sec:tex:saetze})}%
+\glossarycmd{answer@\cs{answer}}{nummerierte Lösung (\ref{sec:tex:aufgaben})}%
+\glossarycmd{answer*@\cs{answer*}}{unnummerierte Lösung (\ref{sec:tex:aufgaben})}%
+\glossarycmd{author@\cs{author}}{Autoren (\ref{sec:tex:aufbau})}%
+\glossarycmd{backmatter@\cs{backmatter}}{Schluss des Buchs (wird ignoriert)}%
+\glossarycmd{bigskip@\cs{bigskip}}{Abschnitt mit großem Abstand (\ref{sec:tex:teile})}%
+\glossarycmd{cases*@\env{cases*}}{Fallunterscheidung mit schließender Klammer (\ref{sec:tex:mathematik})}%
+\glossarycmd{d@\cs{d}}{Mathematik: Differentialoperator $\d$, Text: Punkt unter dem folgenden Zeichen \d a (\ref{sec:tex:mathematik})}%
+\glossarycmd{D@\cs{D}}{Differenzoperator $\D$ (\ref{sec:tex:mathematik})}%
+\glossarycmd{dedication@\cs{dedication}}{Widmung (\ref{sec:tex:aufbau})}%
+\glossarycmd{e@\cs{e}}{eulersche Zahl (\ref{sec:tex:mathematik})}%
+\glossarycmd{edition@\cs{edition}}{Auf"|lage des Buchs (\ref{sec:tex:aufbau})}%
+\glossarycmd{engl@\cs{engl}}{fremdsprachiger Begriff
+ (\ref{sec:tex:auszeichnungen})}%
+\glossarycmd{equivalent@\cs{equivalent}}{Entspricht"=Zeichen:
+ $\equivalent$ (\ref{sec:tex:mathematik})}%
+\glossarycmd{exercise@\env{exercise}}{nummerierte Aufgabe (\ref{sec:tex:aufgaben})}%
+\glossarycmd{exercise*@\env{exercise*}}{unnummerierte Aufgabe (\ref{sec:tex:aufgaben})}%
+\glossarycmd{frontmatter@\cs{frontmatter}}{Titelei des Buchs (\ref{sec:tex:aufbau})}%
+\glossarycmd{glossary@\cs{glossary\meta{Name}}}{definiert einen Eintrag für einen Glossar des Typs \meta{Name} (\ref{sec:tex:glossary})}%
+\glossarycmd{glossaryname@\cs{glossary\meta{Name}name}}{definiert den Überschriftsnamen für einen Glossar des Typs \meta{Name} (\ref{sec:tex:glossary})}%
+\glossarycmd{glossarypreamble@\cs{glossary\meta{Name}preamble}}{definiert die Präambel eines Glossars des Typs \meta{Name} (\ref{sec:tex:glossary})}%
+\glossarycmd{grad@\cs{grad}}{Gradient (\ref{sec:tex:mathematik})}%
+\glossarycmd{important@\env{important}}{grau hinterlegte Box (mit Text
+ beginnend) (\ref{sec:tex:important})}%
+\glossarycmd{important*@\env{important*}}{grau hinterlegte Box (mit
+ einer abgesetzten Formel beginnend) (\ref{sec:tex:important})}%
+\glossarycmd{longimportant@\env{longimportant}}{lange grau hinterlegte
+ Box (mit Text beginnend) (\ref{sec:tex:important})}%
+\glossarycmd{longimportant*@\env{longimportant*}}{lange grau hinterlegte
+ Box (\ref{sec:tex:important})}%
+\glossarycmd{listofexamples@\cs{listofexamples}}{Beispielverzeichnis
+ (\ref{sec:tex:beispielverzeichnis})}%
+\glossarycmd{listofexercises@\cs{listofexercises}}{Aufgabenverzeichnis
+ (\ref{sec:tex:beispielverzeichnis})}%
+\glossarycmd{listofdefinitions@\cs{listofdefinitions}}{Verzeichnis der
+ Definitionen (\ref{sec:tex:beispielverzeichnis})}%
+\glossarycmd{listofproofs@\cs{listofproofs}}{Verzeichnis der
+ Beweise (\ref{sec:tex:beispielverzeichnis})}%
+\glossarycmd{listoftheorems@\cs{listoftheorems}}{Verzeichnis der Umgebungen einer Theoremart (\ref{sec:tex:saetze})}%
+\glossarycmd{listoffigures@\cs{listoffigures}}{Abbildungsverzeichnis
+ (\ref{sec:tex:abbildungsverzeichnis})}%
+\glossarycmd{listoftables@\cs{listoftables}}{Tabellenverzeichnis
+ (\ref{sec:tex:abbildungsverzeichnis})}%
+\glossarycmd{mainmatter@\cs{mainmatter}}{Hauptteil des Buchs (\ref{sec:tex:aufbau})}%
+\glossarycmd{makeglossary@\cs{makeglossary}}{definiert einen neuen Typ an glossarähnlicher Liste wie z.\,B.\ dieser Befehlsreferenz (\ref{sec:tex:glossary})}%
+\glossarycmd{matr@\cs{matr}}{Matrix (\ref{sec:tex:mathematik})}%
+\glossarycmd{medskip@\cs{medskip}}{Abschnitt mit mittlerem Abstand (\ref{sec:tex:teile})}%
+\glossarycmd{new@\cs{new}}{neu eingeführter Begriff
+ (\ref{sec:tex:auszeichnungen})}%
+\glossarycmd{newtheorem@\cs{newtheorem}}{Einrichten einer neuen theoremartigen Umgebung (\ref{sec:tex:saetze})}%
+\glossarycmd{nomathindent@\env{nomathindent}}{Einzug von abgesetzten
+ Gleichungen reduzieren (\ref{sec:tex:mathematik})}%
+\glossarycmd{person@\cs{person}}{Personenname
+ (\ref{sec:tex:auszeichnungen})}%
+\glossarycmd{printglossary@\cs{printglossary\meta{Name}}}{Setzen eines Glossars des Typs \meta{Name} (\ref{sec:tex:glossary})}%
+\glossarycmd{smallskip@\cs{smallskip}}{Abschnitt mit kleinem Abstand (\ref{sec:tex:teile})}%
+\glossarycmd{subanswer@\env{subanswer}}{nummerierte Lösung (\ref{sec:tex:aufgaben})}%
+\glossarycmd{subanswer*@\env{subanswer*}}{unnummerierte Lösung (\ref{sec:tex:aufgaben})}%
+\glossarycmd{subexercise@\env{subexercise}}{Nummerierte Aufgabe (\ref{sec:tex:aufgaben})}%
+\glossarycmd{subexercise*@\env{subexercise*}}{unnummerierte Aufgabe (\ref{sec:tex:aufgaben})}%
+\glossarycmd{subtask@\env{subtask}}{Teilaufgaben (\ref{sec:tex:aufgaben})}%
+\glossarycmd{subtaskref@\cs{subtaskref}}{Referenz auf eine Teilaufgabe (\ref{sec:tex:aufgaben})}%
+\glossarycmd{subtitle@\cs{subtitle}}{Untertitel des Buchs (\ref{sec:tex:aufbau})}%
+\glossarycmd{tensor@\cs{tensor}}{Tensor höherer Stufe (\ref{sec:tex:mathematik})}%
+\glossarycmd{theglossary@\env{theglossary}}{manuell eingegebener Glossar (\ref{sec:tex:glossary})}%
+\glossarycmd{example@\env{example}}{nummieriertes, abgesetztes Beispiel
+ (\ref{sec:tex:saetze})}%
+\glossarycmd{example*@\env{example*}}{unnummeriertes, abgesetztes Beispiel (\ref{sec:tex:saetze})}%
+\glossarycmd{definition@\env{definition}}{nummerierte, abgesetzte
+ Definition (\ref{sec:tex:saetze})}%
+\glossarycmd{definition*@\env{definition*}}{unnummerierte, abgesetzte
+ Definition (\ref{sec:tex:saetze})}%
+\glossarycmd{proof@\env{proof}}{nummerierte, abgesetzte
+ Beweise (\ref{sec:tex:saetze})}%
+\glossarycmd{proof*@\env{proof*}}{unnummerierte, abgesetzte
+ Beweise (\ref{sec:tex:saetze})}%
+\glossarycmd{qed@\cs{qed}}{rechtsbündiger schwarzer Kasten zum
+ Abschluss eines Beweises (\ref{sec:tex:saetze})}%
+\glossarycmd{qedname@\cs{qedname}}{Text am Ende eines Beweises
+ (\ref{sec:tex:saetze})}%
+\glossarycmd{title@\cs{title}}{Titel des Buchs (\ref{sec:tex:aufbau})}%
+\glossarycmd{tr@\cs{tr}}{Spur eines Tensors (\ref{sec:tex:mathematik})}%
+\glossarycmd{signature@\cs{signature}}{Unterschrift der Autoren für ein Vorwort (\ref{sec:vorwort})}%
+\glossarycmd{vec@\cs{vec}}{Vektor (\ref{sec:tex:mathematik})}%
+\glossarycmd{acro@\cs{acro}}{druckt eine Abkürzung aus
+ Versalien etwas kleiner (\ref{sec:tex:acro})}%
+\glossarycmd{version@\cs{version}}{prüft, ob die richtige Version von
+ \texttt{bgteubner.cls} verwendet wird (\ref{sec:fortgeschrittene})}%
+\glossarycmd{preface@\cs{preface}}{Überschrift für Vorworte (\ref{sec:vorwort})}%
+\glossarycmd{f@\cs{f}}{im Index ein "`f"' an eine Seitenzahl hängen
+ (\ref{sec:tex_index})}%
+\glossarycmd{ff@\cs{ff}}{im Index ein "`ff"' an eine Seitenzahl hängen
+ (\ref{sec:tex_index})}%
+\glossarycmd{textbff@\cs{textbff}}{im Index ein "`f"' an eine fettgedruckte
+ Seitenzahl hängen (\ref{sec:tex_index})}%
+\glossarycmd{textbfff@\cs{textbfff}}{im Index ein "`ff"' an eine fettgedruckte
+ Seitenzahl hängen (\ref{sec:tex_index})}%
+\glossarycmd{subind@\cs{subind}}{Querverweis auf einen Unterpunkt im
+ Index (\ref{sec:tex_index})}%
+\glossarycmd{index@\cs{index}}{Indexeintrag erzeugen
+ (\ref{sec:tex_index})}%
+\glossarycmd{theoremdelimiter@\env{theoremdelimiter}}{den Doppelpunkt
+ nach der Überschrift einer theoremartigen Umgebung ersetzen
+ (\ref{sec:tex:theorem})}%
+\glossarycmd{settheoremmargin@\cs{settheoremmargin}}{Einrückung
+ theoremartiger Umgebungen verändern (\ref{sec:tex:theorem})}%
+\glossarycmd{exercisedelimiter@\env{exercisedelimiter}}{den Doppelpunkt
+ nach der Überschrift einer Aufgabe oder Lösung ersetzen
+ (\ref{sec:tex:aufgaben})}%
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: bgteubner.tex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/beispiel1.tex b/macros/latex/contrib/bgteubner/doc/src/beispiel1.tex
new file mode 100644
index 0000000000..7e149bda7c
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/beispiel1.tex
@@ -0,0 +1,58 @@
+% =========================================================
+\documentclass[english,ngerman,ulinevec]{bgteubner}
+% =========================================================
+% Einstellung des passenden Zeichensatzes
+% Für Windows:
+%\usepackage[ansinew]{inputenc}
+% Für Unix und Linux:
+\usepackage[latin1]{inputenc}
+% =========================================================
+% Pakete laden:
+\usepackage{dcolumn}
+% =========================================================
+% Stichwortverzeichnis erzeugen:
+\makeindex
+% =========================================================
+\begin{document}
+% =========================================================
+% römische Nummerierung
+\frontmatter
+% =========================================================
+% Titel des Buches:
+\title{Erstellen von Büchern für den Teubner Verlag}
+% Untertitel:
+\subtitle{Autorenrichtlinien und Installationsanleitung}
+% Angabe der Autoren
+\author{Harald Harders}
+% Auflagennummer:
+\auflage{1}
+% =========================================================
+% Titelseite erzeugen
+\maketitle
+% =========================================================
+% Vorwort
+\include{vorwort}
+% Inhaltsverzeichnis
+\tableofcontents
+% Arabische Nummerierung, von 1 beginnend
+\mainmatter
+% =========================================================
+% Kapitel
+\include{kapitel1}
+\include{kapitel2}
+\include{kapitel3}
+\include{kapitel4}
+\include{kapitel5}
+\include{kapitel6}
+% =========================================================
+% Anhang:
+\appendix
+% =========================================================
+\include{anhang1}
+\include{anhang2}
+% =========================================================
+\bibliographystyle{bgteupln}
+\bibliography{literatur1,literatur2}
+% =========================================================
+\end{document}
+% =========================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-cm.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-cm.tex
new file mode 100644
index 0000000000..1c8fd56dae
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-cm.tex
@@ -0,0 +1,21 @@
+%
+% bgteubner class bundle
+%
+% bgteubner-17x24-cm.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.
+% ===================================================================
+\PassOptionsToClass{cm}{bgteubner}
+%\PassOptionsToClass{a5paper}{bgteubner}
+% ===================================================================
+\input{bgteubner}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-mathtime.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-mathtime.tex
new file mode 100644
index 0000000000..4dbd9d5b1a
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-mathtime.tex
@@ -0,0 +1,21 @@
+%
+% bgteubner class bundle
+%
+% bgteubner-17x24-mathtime.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.
+% ===================================================================
+\PassOptionsToClass{mathtime}{bgteubner}
+%\PassOptionsToClass{a5paper}{bgteubner}
+% ===================================================================
+\input{bgteubner}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-times.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-times.tex
new file mode 100644
index 0000000000..beda24d1dc
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-17x24-times.tex
@@ -0,0 +1,21 @@
+%
+% bgteubner class bundle
+%
+% bgteubner-17x24-times.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.
+% ===================================================================
+%\PassOptionsToClass{cm}{bgteubner}
+%\PassOptionsToClass{a5paper}{bgteubner}
+% ===================================================================
+\input{bgteubner}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-cm.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-cm.tex
new file mode 100644
index 0000000000..714cf22fda
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-cm.tex
@@ -0,0 +1,21 @@
+%
+% bgteubner class bundle
+%
+% bgteubner-a5-cm.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.
+% ===================================================================
+\PassOptionsToClass{cm}{bgteubner}
+\PassOptionsToClass{a5paper}{bgteubner}
+% ===================================================================
+\input{bgteubner}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-mathtime.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-mathtime.tex
new file mode 100644
index 0000000000..1f01d91add
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-mathtime.tex
@@ -0,0 +1,21 @@
+%
+% bgteubner class bundle
+%
+% bgteubner-17x24-mathtime.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.
+% ===================================================================
+\PassOptionsToClass{mathtime}{bgteubner}
+\PassOptionsToClass{a5paper}{bgteubner}
+% ===================================================================
+\input{bgteubner}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-times.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-times.tex
new file mode 100644
index 0000000000..42e6df4d02
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-a5-times.tex
@@ -0,0 +1,21 @@
+%
+% bgteubner class bundle
+%
+% bgteubner-a5-times.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.
+% ===================================================================
+%\PassOptionsToClass{cm}{bgteubner}
+\PassOptionsToClass{a5paper}{bgteubner}
+% ===================================================================
+\input{bgteubner}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner-with-hyperref.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner-with-hyperref.tex
new file mode 100644
index 0000000000..da7cc94550
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner-with-hyperref.tex
@@ -0,0 +1,395 @@
+%
+% bgteubner class bundle
+%
+% bgteubner.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.
+% ===================================================================
+%\newif\iffuerentwickler
+%\fuerentwicklertrue
+% ===================================================================
+%\PassOptionsToPackage{draft}{graphicx}
+% ===================================================================
+%\PassOptionsToClass{layoutraster}{bgteubner}
+%\PassOptionsToClass{draft}{bgteubner}
+%\PassOptionsToClass{headingoutside}{bgteubner}
+%\PassOptionsToClass{tocleft}{bgteubner}
+%\PassOptionsToClass{a5paper}{bgteubner}
+%\PassOptionsToClass{boldvec}{bgteubner}
+\PassOptionsToClass{titlepage}{bgteubner}
+\PassOptionsToClass{ulinevec}{bgteubner}
+%\PassOptionsToClass{exercisetotoc}{bgteubner}
+%\PassOptionsToClass{smalltheorem}{bgteubner}
+\documentclass[english,ngerman,greybox]{bgteubner}
+% ===================================================================
+\listfiles
+\makeindex
+% ===================================================================
+% Einstellung des passenden Zeichensatzes
+% Für Windows:
+%\usepackage[ansinew]{inputenc}
+% Für Unix und Linux
+\usepackage[latin1]{inputenc}
+% ===================================================================
+% Wenn Sie im Ausdruck sehen wollen, wie das Dokument auf dem Papier
+% im Zielformat aussieht, aktivieren Sie eine der beiden folgenden
+% Möglichkeiten:
+%\usepackage[frame]{crop}
+%\usepackage[cam,a4,center]{crop}
+% ===================================================================
+%\usepackage[activate]{pdfcprot}
+\usepackage{verbatim}
+%\usepackage{url}
+\usepackage{printlen}[2001/12/09]
+\usepackage[gen]{eurosym}
+\usepackage[nice]{nicefrac}
+\usepackage{float}
+% ===================================================================
+\usepackage[draft,margin]{fixme}
+% ===================================================================
+\newif\ifhhclshyperref
+\hhclshyperreftrue
+\ifhhclshyperref
+ %%%\PassOptionsToPackage{hyperref}{naturalnames=true}
+ \PassOptionsToPackage{hyperref}{hypertexnames=false}
+ \PassOptionsToPackage{hyperref}{backref=false}
+ \PassOptionsToPackage{hyperref}{bookmarks=true}
+ \PassOptionsToPackage{hyperref}{bookmarksnumbered=true}
+ \usepackage[debug]{hyperref}
+ \hypersetup{%
+ pdfpagemode=UseOutlines,%
+ pdfborder={0 0 0}%
+ }
+ \makeatletter
+ \def\toclevel@part{0}
+ \def\@addpart[#1]#2{%
+ \@spart{#2}%
+ \addcontentsline{toc}{part}{#1}%
+ }
+ \providecommand*{\toclevel@example}{8}%
+ \providecommand*{\toclevel@@exercise}{8}%
+ \providecommand*{\toclevel@exercise}{8}%
+ \providecommand*{\toclevel@@answer}{8}%
+ \providecommand*{\toclevel@answer}{8}%
+ \providecommand*{\toclevel@graphics}{8}%
+ \providecommand*{\toclevel@proof}{8}%
+ \makeatother
+\else
+ \usepackage[implicit=false]{hyperref}
+ \hypersetup{%
+ pdfpagemode=None%
+ }
+ \makeatletter
+ \IfFileExists{\jobname.out}{%
+ \ClassError{bgteubner}{File `\jobname.out' exists.\MessageBreak
+ Delete it!\@gobble}{%
+ LaTeX run without hyperlinks does not work when the
+ file\MessageBreak
+ `\jobname.out' exists.\MessageBreak
+ You have to delete it and rerun again.\MessageBreak
+ You should also delete all `aux' files.}%
+ }{}
+ \makeatother
+\fi
+\let\url=\nolinkurl
+\pdfstringdef\acro{}
+\hypersetup{%
+ pdftitle={Schreiben mit \LaTeX},%
+ pdfsubject={Untertitel},%
+ pdfauthor={Harry},%
+ pdfcreator={bgteubner},%
+ pdfproducer={Harry nochmal},%
+ pdfkeywords={eins zwei drei},%
+ pdfstartpage={3},%
+ unicode
+}
+% ===================================================================
+\input{hyphenation}
+% ===================================================================
+\newcommand*\feinschliff[4]{%
+ \ifafive{\iftimes{#3}{#4}}{\iftimes{#1}{#2}}%
+}
+% ===================================================================
+\let\np=\numprint
+\def\ch#1{\ensuremath{\mathrm{#1}}}
+\newcommand\TeXLive{\TeX Live}
+\begingroup
+\shorthandon{"}
+\gdef\pdfLaTeX{\textsc{pdf}"-\LaTeX}
+\endgroup
+\DeclareRobustCommand\BibTeX{\textsc{Bib}\TeX}
+% ===================================================================
+\feinschliff{%
+ \addtocontents{toc}{\protect\enlargethispage{-2\protect\baselineskip}}%
+}{%
+ \addtocontents{toc}{\protect\enlargethispage{-2\protect\baselineskip}}%
+}{}{}
+% ===================================================================
+\uselengthunit{mm}
+% ===================================================================
+\makeatletter
+\newcommand\cmoldstylenums[1]{%
+ \ifhhcls@times
+ \begingroup
+ \spaceskip\fontdimen\tw@\font
+ \usefont{OML}{\rmdefault}{\f@series}{it}%
+ \mathgroup\symletters #1%
+ \endgroup
+ \else
+ \oldstylenums{#1}%
+ \fi
+}
+\newcommand\cmnewstylenums[1]{%
+ \ifhhcls@times
+ \begingroup
+ \spaceskip\fontdimen\tw@\font
+ \renewcommand\rmdefault{cmr}%
+ \usefont{T1}{\rmdefault}{\f@series}{n}%
+ \mathgroup\symletters #1%
+ \endgroup
+ \else
+ \newstylenums{#1}%
+ \fi
+}
+\makeatother
+% ===================================================================
+\makeatletter
+\newcommand*\bsptheindex{%
+ \renewenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 20\p@
+ \parindent\z@
+ \setlength{\parskip}{\z@ \@plus .3\p@}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \let\item\@idxitem
+ \setlength\RaggedRightRightskip{\z@\@plus 4em}%
+ \RaggedRight\listsfont}
+ {}%
+ \noindent
+}
+\makeatother
+% ===================================================================
+\newcommand\texindex[1]{\index{#1|emph}}
+\newcommand\macroindex[1]{\index{#1@\texttt{\textbackslash #1}|emph}}
+\newcommand\envindex[1]{\index{#1@\texttt{#1}"=Umgebung|emph}}
+\newcommand\srcindex[1]{\index{#1@\texttt{#1}|emph}}
+\newcommand\styindex[1]{\index{#1@\texttt{#1}"=Paket|emph}}
+\newcommand\clsindex[1]{\index{#1@\texttt{#1}"=Klasse|emph}}
+\newcommand\optindex[1]{\index{#1@\texttt{#1}"=Klassenoption|emph}}
+% ===================================================================
+\setindexpreamble{%
+ \begingroup
+ \setlength{\parindent}{\baselineskip}%
+ \noindent\small
+ Normalerweise sind Seitenzahlen aufrecht gedruckt.
+ Wichtige Verweise, z.\,B.\ auf den Ort, an dem ein Begriff definiert
+ wird, werden fett gedruckt, falls mehrere Seitenzahlen für diesen
+ Begriff existieren.
+ Seitenzahlen, die sich auf die Durchführung mit \LaTeX\ beziehen,
+ sind kursiv gedruckt.
+
+ Da der finanzielle Rahmen für die Erstellung der Dokumentklasse
+ sowie der Dokumentation begrenzt waren, habe ich mehr Wert darauf
+ gelegt, dass die Klasse und die Dokumentation selbst vernünftig
+ getestet wurden, als dass das Stichwortverzeichnis vollständig ist.
+ Das Stichwortverzeichnis ist somit leider nur unvollständig.
+ Nehmen Sie das bitte nicht als Vorbild für Ihr Stichwortverzeichnis.
+ \par
+ \endgroup
+ \bigskip
+}
+% ===================================================================
+%\version{1.10}
+% ===================================================================
+\makeglossary[cmd]
+\newcommand*\glossarycmdname{}
+\addto\captionsgerman{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsngerman{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsaustrian{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsnaustrian{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsenglish{\renewcommand*\glossarycmdname{Command reference}}
+\renewcommand\glossarycmdpreamble{%
+ \addchap{\glossarycmdname}%
+ \label{sec:befehlsreferenz}%
+ In dieser Befehlsreferenz sind hauptsächlich die Befehle und
+ Umgebungen aufgeführt, die von der
+ \texttt{bgteubner}-Klasse zusätzlich zum Standard bzw.\ der Klasse
+ \texttt{scrbook} aus dem \acro{KOMA}-Script-Paket definiert
+ werden.
+
+ In Klammern wird jeweils der Abschnitt angegeben, in dem nähere
+ Erklärungen gefunden werden können.
+}
+% ===================================================================
+\floatstyle{komabelow}
+\newfloat{graphics}{tp}{gra}[chapter]
+\floatname{graphics}{Grafik}
+% ===================================================================
+\makeatletter
+\def\makeactive#1{\catcode`#1=13 }
+\def\makeescape#1{\catcode`#1=\z@}
+\def\makebgroup#1{\catcode`#1=\@ne}
+\def\makeegroup#1{\catcode`#1=\tw@}
+\let\@TBverbatim\verbatim
+\let\@TBendverbatim\endverbatim
+\def\verbatim{\obeylines
+ \futurelet\reserved@a\@switch@sqbverbatim}
+\def\@switch@sqbverbatim{\ifx\reserved@a[%]
+ \expandafter\@sqbverbatim\else
+ \def\reserved@b{\@sqbverbatim[]}\expandafter\reserved@b\fi}
+\def\@sqbverbatim[#1]{%
+ \par
+ \def\ruled{\let\if@ruled\iftrue}%
+ #1\@TBverbatim}
+\let\if@ruled\iffalse
+\def\@verbatim{%
+ \if@ruled\trivlist\item\hrule\kern5\p@\nobreak\fi
+ \trivlist \item\relax
+ \if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin\rightskip\z@skip
+ \parindent\z@\parfillskip\@flushglue\parskip\z@skip
+ \@@par
+ \@tempswafalse
+ \def\par{%
+ \if@tempswa
+ \leavevmode \null \@@par\penalty\interlinepenalty
+ \else
+ \@tempswatrue
+ \ifhmode\@@par\penalty\interlinepenalty\fi
+ \fi}%
+ \obeylines \verbatim@font \@noligs
+ \let\do\@makeother \dospecials
+ \everypar \expandafter{\the\everypar \unpenalty}%
+}%
+\def\endverbatim{\@TBendverbatim
+ \if@ruled\kern5\p@\hrule\endtrivlist\fi}
+{\makeactive<
+ \gdef<#1>{{\reset@font\ensuremath{\langle}%
+ \textit{#1}%
+ \ensuremath{\rangle}}}
+}
+\makeatother
+% =====================================================================
+\makeatletter
+\DeclareRobustCommand\meta[1]{%
+ \ensuremath\langle
+ \ifmmode \expandafter \nfss@text \fi
+ {%
+ \meta@font@select
+ \edef\meta@hyphen@restore
+ {\hyphenchar\the\font\the\hyphenchar\font}%
+ \hyphenchar\font\m@ne
+ \language\l@nohyphenation
+ #1\/%
+ \meta@hyphen@restore
+ }\ensuremath\rangle
+}
+\def\meta@font@select{\normalfont\itshape}
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
+\DeclareRobustCommand\env[1]{\texttt{#1}}
+\providecommand\marg[1]{%
+ {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
+\providecommand\oarg[1]{%
+ {\ttfamily[}\meta{#1}{\ttfamily]}}
+\providecommand\parg[1]{%
+ {\ttfamily(}\meta{#1}{\ttfamily)}}
+\makeatother
+% ===================================================================
+\begingroup
+\makeatletter
+\fixme@marginfalse
+\makeatother
+\fixme{Index vervollständigen}%
+\fixme{Hinweis auf kleine Unterschiede zwischen cm und Times}%
+\endgroup
+%\AtEndDocument{\listoffixmes}%
+% ===================================================================
+\begin{document}
+% ===================================================================
+\frontmatter
+% ===================================================================
+% Titel des Buches:
+\GetFileInfo{bgteubner.cls}
+\title{Erstellen von Büchern für den Teubner Verlag mit \LaTeX}
+% Untertitel:
+\subtitle{Autorenrichtlinien und Installationsanleitung für Version
+ \fileversion\ der Dokumentklasse}
+% Angabe der Autoren
+% Optionales Argument: Autorenname mit Titel
+% 1. Hauptargument: Autorenname, nur Vor- und Nachname
+% 2. Hauptargument: Institutsname dieses Autoren
+\author{Harald Harders}
+% Auflagennummer:
+%\edition{Vorabversion vom 04.\,09.~2003}
+%\edition{1}
+% ===================================================================
+% Titelseite erzeugen
+\maketitle
+% Titel nochmal eingeben, aber ohne Befehl, weil \pdfinfo damit nicht
+% klarkommt.
+\title{Erstellen von Büchern für den Teubner Verlag mit LaTeX}%
+% ===================================================================
+\include{vorwort}
+\tableofcontents
+\mainmatter
+% ===================================================================
+
+\include{einleitung}
+
+\addpart{Typographie\label{part:allgemeines}}%
+\include{globales}
+\include{bilder}
+\include{textelemente}
+\include{verzeichnisse}
+
+\addpart{Durchführung mit \LaTeX\label{part:latex}}
+\include{tex_globales}
+\include{tex_bilder}
+\include{tex_textelemente}
+\include{tex_verzeichnisse}
+\include{tex_typographie}
+
+% ===================================================================
+% Anhang:
+\appendix
+% ===================================================================
+
+\include{installation}
+\include{tex_aufruf}
+\include{checkliste}
+\include{optionen-advanced}
+
+\input{befehlsreferenz}
+\input{index}
+\printglossarycmd[4.5em]
+\include{literatur}
+
+%\listoffigures
+%\listoftables
+%\listofexamples
+%\listoftheorems{beispiel}{Verzeichnis der Beispiele}
+%\listofexercises
+% ===================================================================
+\cleardoublepage
+\label{sec:echter-index}%
+\end{document}
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/bgteubner.tex b/macros/latex/contrib/bgteubner/doc/src/bgteubner.tex
new file mode 100644
index 0000000000..c9eedbf9f9
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bgteubner.tex
@@ -0,0 +1,338 @@
+%
+% bgteubner class bundle
+%
+% bgteubner.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.
+% ===================================================================
+%\newif\iffuerentwickler
+%\fuerentwicklertrue
+% ===================================================================
+%\PassOptionsToPackage{draft}{graphicx}
+% ===================================================================
+%\PassOptionsToClass{layoutraster}{bgteubner}
+%\PassOptionsToClass{draft}{bgteubner}
+%\PassOptionsToClass{headingoutside}{bgteubner}
+%\PassOptionsToClass{tocleft}{bgteubner}
+%\PassOptionsToClass{a5paper}{bgteubner}
+%\PassOptionsToClass{boldvec}{bgteubner}
+\PassOptionsToClass{titlepage}{bgteubner}
+\PassOptionsToClass{ulinevec}{bgteubner}
+%\PassOptionsToClass{exercisetotoc}{bgteubner}
+%\PassOptionsToClass{smalltheorem}{bgteubner}
+\documentclass[english,ngerman,greybox]{bgteubner}
+% ===================================================================
+\listfiles
+\makeindex
+% ===================================================================
+% Einstellung des passenden Zeichensatzes
+% Für Windows:
+%\usepackage[ansinew]{inputenc}
+% Für Unix und Linux
+\usepackage[latin1]{inputenc}
+% ===================================================================
+% Wenn Sie im Ausdruck sehen wollen, wie das Dokument auf dem Papier
+% im Zielformat aussieht, aktivieren Sie eine der beiden folgenden
+% Möglichkeiten:
+%\usepackage[frame]{crop}
+%\usepackage[cam,a4,center]{crop}
+% ===================================================================
+%\usepackage[activate]{pdfcprot}
+\usepackage{verbatim}
+\usepackage{url}
+\usepackage{printlen}[2001/12/09]
+\usepackage[gen]{eurosym}
+\usepackage[nice]{nicefrac}
+\usepackage{float}
+% ===================================================================
+\usepackage[draft,margin]{hhfixme}
+% ===================================================================
+\input{hyphenation}
+% ===================================================================
+\newcommand*\feinschliff[4]{%
+ \ifafive{\iftimes{#3}{#4}}{\iftimes{#1}{#2}}%
+}
+% ===================================================================
+\let\np=\numprint
+\def\ch#1{\ensuremath{\mathrm{#1}}}
+\newcommand\TeXLive{\TeX Live}
+\begingroup
+\shorthandon{"}
+\gdef\pdfLaTeX{\textsc{pdf}"-\LaTeX}
+\endgroup
+\DeclareRobustCommand\BibTeX{\textsc{Bib}\TeX}
+% ===================================================================
+\feinschliff{%
+ \addtocontents{toc}{\protect\enlargethispage{-2\protect\baselineskip}}%
+}{%
+ \addtocontents{toc}{\protect\enlargethispage{-2\protect\baselineskip}}%
+}{}{}
+% ===================================================================
+\uselengthunit{mm}
+% ===================================================================
+\makeatletter
+\newcommand\cmoldstylenums[1]{%
+ \ifhhcls@times
+ \begingroup
+ \spaceskip\fontdimen\tw@\font
+ \usefont{OML}{\rmdefault}{\f@series}{it}%
+ \mathgroup\symletters #1%
+ \endgroup
+ \else
+ \oldstylenums{#1}%
+ \fi
+}
+\newcommand\cmnewstylenums[1]{%
+ \ifhhcls@times
+ \begingroup
+ \spaceskip\fontdimen\tw@\font
+ \renewcommand\rmdefault{cmr}%
+ \usefont{T1}{\rmdefault}{\f@series}{n}%
+ \mathgroup\symletters #1%
+ \endgroup
+ \else
+ \newstylenums{#1}%
+ \fi
+}
+\makeatother
+% ===================================================================
+\makeatletter
+\newcommand*\bsptheindex{%
+ \renewenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 20\p@
+ \parindent\z@
+ \setlength{\parskip}{\z@ \@plus .3\p@}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \let\item\@idxitem
+ \setlength\RaggedRightRightskip{\z@\@plus 4em}%
+ \RaggedRight\listsfont}
+ {}%
+ \noindent
+}
+\makeatother
+% ===================================================================
+\newcommand\texindex[1]{\index{#1|emph}}
+\newcommand\macroindex[1]{\index{#1@\texttt{\textbackslash #1}|emph}}
+\newcommand\envindex[1]{\index{#1@\texttt{#1}"=Umgebung|emph}}
+\newcommand\srcindex[1]{\index{#1@\texttt{#1}|emph}}
+\newcommand\styindex[1]{\index{#1@\texttt{#1}"=Paket|emph}}
+\newcommand\clsindex[1]{\index{#1@\texttt{#1}"=Klasse|emph}}
+\newcommand\optindex[1]{\index{#1@\texttt{#1}"=Klassenoption|emph}}
+% ===================================================================
+\setindexpreamble{%
+ \begingroup
+ \setlength{\parindent}{\baselineskip}%
+ \noindent\small
+ Normalerweise sind Seitenzahlen aufrecht gedruckt.
+ Wichtige Verweise, z.\,B.\ auf den Ort, an dem ein Begriff definiert
+ wird, werden fett gedruckt, falls mehrere Seitenzahlen für diesen
+ Begriff existieren.
+ Seitenzahlen, die sich auf die Durchführung mit \LaTeX\ beziehen,
+ sind kursiv gedruckt.
+
+ Da der finanzielle Rahmen für die Erstellung der Dokumentklasse
+ sowie der Dokumentation begrenzt waren, habe ich mehr Wert darauf
+ gelegt, dass die Klasse und die Dokumentation selbst vernünftig
+ getestet wurden, als dass das Stichwortverzeichnis vollständig ist.
+ Das Stichwortverzeichnis ist somit leider nur unvollständig.
+ Nehmen Sie das bitte nicht als Vorbild für Ihr Stichwortverzeichnis.
+ \par
+ \endgroup
+ \bigskip
+}
+% ===================================================================
+%\version{1.10}
+% ===================================================================
+\makeglossary[cmd]
+\newcommand*\glossarycmdname{}
+\addto\captionsgerman{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsngerman{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsaustrian{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsnaustrian{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsenglish{\renewcommand*\glossarycmdname{Command reference}}
+\renewcommand\glossarycmdpreamble{%
+ \addchap{\glossarycmdname}%
+ \label{sec:befehlsreferenz}%
+ In dieser Befehlsreferenz sind hauptsächlich die Befehle und
+ Umgebungen aufgeführt, die von der
+ \texttt{bgteubner}-Klasse zusätzlich zum Standard bzw.\ der Klasse
+ \texttt{scrbook} aus dem \acro{KOMA}-Script-Paket definiert
+ werden.
+
+ In Klammern wird jeweils der Abschnitt angegeben, in dem nähere
+ Erklärungen gefunden werden können.
+}
+% ===================================================================
+\floatstyle{komabelow}
+\newfloat{graphics}{tp}{gra}[chapter]
+\floatname{graphics}{Grafik}
+% ===================================================================
+\makeatletter
+\def\makeactive#1{\catcode`#1=13 }
+\def\makeescape#1{\catcode`#1=\z@}
+\def\makebgroup#1{\catcode`#1=\@ne}
+\def\makeegroup#1{\catcode`#1=\tw@}
+\let\@TBverbatim\verbatim
+\let\@TBendverbatim\endverbatim
+\def\verbatim{\obeylines
+ \futurelet\reserved@a\@switch@sqbverbatim}
+\def\@switch@sqbverbatim{\ifx\reserved@a[%]
+ \expandafter\@sqbverbatim\else
+ \def\reserved@b{\@sqbverbatim[]}\expandafter\reserved@b\fi}
+\def\@sqbverbatim[#1]{%
+ \par
+ \def\ruled{\let\if@ruled\iftrue}%
+ #1\@TBverbatim}
+\let\if@ruled\iffalse
+\def\@verbatim{%
+ \if@ruled\trivlist\item\hrule\kern5\p@\nobreak\fi
+ \trivlist \item\relax
+ \if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin\rightskip\z@skip
+ \parindent\z@\parfillskip\@flushglue\parskip\z@skip
+ \@@par
+ \@tempswafalse
+ \def\par{%
+ \if@tempswa
+ \leavevmode \null \@@par\penalty\interlinepenalty
+ \else
+ \@tempswatrue
+ \ifhmode\@@par\penalty\interlinepenalty\fi
+ \fi}%
+ \obeylines \verbatim@font \@noligs
+ \let\do\@makeother \dospecials
+ \everypar \expandafter{\the\everypar \unpenalty}%
+}%
+\def\endverbatim{\@TBendverbatim
+ \if@ruled\kern5\p@\hrule\endtrivlist\fi}
+{\makeactive<
+ \gdef<#1>{{\reset@font\ensuremath{\langle}%
+ \textit{#1}%
+ \ensuremath{\rangle}}}
+}
+\makeatother
+% =====================================================================
+\makeatletter
+\DeclareRobustCommand\meta[1]{%
+ \ensuremath\langle
+ \ifmmode \expandafter \nfss@text \fi
+ {%
+ \meta@font@select
+ \edef\meta@hyphen@restore
+ {\hyphenchar\the\font\the\hyphenchar\font}%
+ \hyphenchar\font\m@ne
+ \language\l@nohyphenation
+ #1\/%
+ \meta@hyphen@restore
+ }\ensuremath\rangle
+}
+\def\meta@font@select{\normalfont\itshape}
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
+\DeclareRobustCommand\env[1]{\texttt{#1}}
+\providecommand\marg[1]{%
+ {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
+\providecommand\oarg[1]{%
+ {\ttfamily[}\meta{#1}{\ttfamily]}}
+\providecommand\parg[1]{%
+ {\ttfamily(}\meta{#1}{\ttfamily)}}
+\makeatother
+% ===================================================================
+\begingroup
+\makeatletter
+\fixme@marginfalse
+\makeatother
+\fixme{Index vervollständigen}%
+\fixme{Hinweis auf kleine Unterschiede zwischen cm und Times}%
+\endgroup
+%\AtEndDocument{\listoffixmes}%
+% ===================================================================
+\begin{document}
+% ===================================================================
+\frontmatter
+% ===================================================================
+% Titel des Buches:
+\GetFileInfo{bgteubner.cls}
+\title{Erstellen von Büchern für den Springer Vieweg Verlag mit \LaTeX}
+% Untertitel:
+\subtitle{Autorenrichtlinien und Installationsanleitung für Version
+ \fileversion\ der Dokumentklasse}
+% Angabe der Autoren
+% Optionales Argument: Autorenname mit Titel
+% 1. Hauptargument: Autorenname, nur Vor- und Nachname
+% 2. Hauptargument: Institutsname dieses Autoren
+\author{Harald Harders}
+% Auflagennummer:
+%\edition{Vorabversion vom 04.\,09.~2003}
+%\edition{1}
+% ===================================================================
+% Titelseite erzeugen
+\maketitle
+% Titel nochmal eingeben, aber ohne Befehl, weil \pdfinfo damit nicht
+% klarkommt.
+\title{Erstellen von Büchern für den Springer Vieweg Verlag mit LaTeX}%
+% ===================================================================
+\include{vorwort}
+\tableofcontents
+\mainmatter
+% ===================================================================
+
+\include{einleitung}
+
+\addpart{Typographie\label{part:allgemeines}}%
+\include{globales}
+\include{bilder}
+\include{textelemente}
+\include{verzeichnisse}
+
+\addpart{Durchführung mit \LaTeX\label{part:latex}}
+\include{tex_globales}
+\include{tex_bilder}
+\include{tex_textelemente}
+\include{tex_verzeichnisse}
+\include{tex_typographie}
+
+% ===================================================================
+% Anhang:
+\appendix
+% ===================================================================
+
+\include{installation}
+\include{tex_aufruf}
+\include{checkliste}
+\include{optionen-advanced}
+
+\input{befehlsreferenz}
+\input{index}
+\printglossarycmd[4.5em]
+\include{literatur}
+
+%\listoffigures
+%\listoftables
+%\listofexamples
+%\listoftheorems{beispiel}{Verzeichnis der Beispiele}
+%\listofexercises
+% ===================================================================
+\cleardoublepage
+\label{sec:echter-index}%
+\end{document}
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder.tex b/macros/latex/contrib/bgteubner/doc/src/bilder.tex
new file mode 100644
index 0000000000..8cb98e38bc
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder.tex
@@ -0,0 +1,279 @@
+%
+% bgteubner class bundle
+%
+% bilder.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{Bilder und Tabellen}
+
+% ===================================================================
+\section{Bilder}%
+\index{Bild}%
+
+Fotografien, Zeichnungen und Diagramme werden im Weiteren als
+"`Bild"' bezeichnet.
+Bilder werden horizontal zentriert gesetzt, am oberen Rand des
+Satzspiegels oder auf Seiten platziert, die nur Bilder oder Tabellen
+enthalten.
+Bild~\ref{fig:bildpositionen} zeigt die möglichen Positionen.
+%
+\makeatletter
+\ifhhcls@dinafuenf
+ \begin{figure}%
+ \hfil
+ \subfigure[oben]{%
+ \includegraphics{bilder/bild_oben}%
+ \label{fig:bildpositionen1}%
+ }%
+ \hfil
+ \subfigure[Bildseite]{%
+ \includegraphics{bilder/bild_ganz}%
+ \label{fig:bildpositionen2}%
+ }%
+ \hfil
+ \caption{Mögliche Bildanordnungen}%
+ \label{fig:bildpositionen}
+ \end{figure}%
+ \begin{figure}%
+ \hfil
+ \subfigure[mittig]{%
+ \includegraphics{bilder/bild_mitte}%
+ \label{fig:nicht_bildpositionen_mitte}}%
+ \hfil
+ \subfigure[umflossen]{%
+ \includegraphics{bilder/bild_umflossen}%
+ \label{fig:nicht_bildpositionen_umflossen}}%
+ \hfil
+ \subfigure[unten]{%
+ \includegraphics{bilder/bild_unten}%
+ \label{fig:nicht_bildpositionen_unten}}%
+ \hfil
+ \caption{Verbotene Bildanordnungen}%
+ \label{fig:nicht_bildpositionen}%
+ \end{figure}%
+\else
+ \begin{figure}%
+ \begin{minipage}{0.38\linewidth}
+ \hfil
+ \subfigure[oben]{%
+ \includegraphics{bilder/bild_oben}%
+ \label{fig:bildpositionen1}%
+ }%
+ \hfil
+ \subfigure[Bildseite]{%
+ \includegraphics{bilder/bild_ganz}%
+ \label{fig:bildpositionen2}%
+ }%
+ \hfil
+ \caption{Mögliche Bildanordnungen}%
+ \label{fig:bildpositionen}
+ \end{minipage}%
+ \hfill
+ \begin{minipage}{0.57\linewidth}
+ \hfil
+ \subfigure[mittig]{%
+ \includegraphics{bilder/bild_mitte}%
+ \label{fig:nicht_bildpositionen_mitte}}%
+ \hfil
+ \subfigure[umflossen]{%
+ \includegraphics{bilder/bild_umflossen}%
+ \label{fig:nicht_bildpositionen_umflossen}}%
+ \hfil
+ \subfigure[unten]{%
+ \includegraphics{bilder/bild_unten}%
+ \label{fig:nicht_bildpositionen_unten}}%
+ \hfil
+ \caption{Verbotene Bildanordnungen}%
+ \label{fig:nicht_bildpositionen}%
+ \end{minipage}%
+ \end{figure}%
+\fi
+\makeatother
+
+Bilder werden aus folgendem Grund niemals genau an der Stelle gesetzt,
+an der auf sie verwiesen wird
+(Bild~\ref{fig:nicht_bildpositionen_mitte}):
+Wird ein Bild im Fließtext an einer Stelle definiert, an der nicht
+genügend Platz verfügbar ist, so muss das Bild auf die nächste Seite
+verschoben werden, wodurch eine große Lücke in den Satz gerissen wird,
+wie es Bild~\ref{fig:bild_zu_lang} zeigt.
+%
+\begin{figure}%
+ \hfil
+ \includegraphics{bilder/bild_zu_lang}%
+ \hfil
+ {\Large \raisebox{38pt}{$\Longrightarrow$}}%
+ \hfil
+ \includegraphics{bilder/bild_zu_lang2}%
+ \hfil
+ \caption[Entstehung großer Lücken im Text durch das Verschieben
+ eines Bildes]{Beim Versuch, ein Bild an einer bestimmten Stelle in den
+ Text zu setzen, tritt das Problem auf, dass es nicht mehr auf die
+ Seite passt.
+ Das Bild muss auf die nächste Seite verschoben werden, was große
+ Lücken in den Text reißt.}%
+ \label{fig:bild_zu_lang}
+\end{figure}%
+%
+Aus dem gleichen Grund dürfen auch keine von Text umflossenen
+Bilder\index{Bild!umflossen}
+(Bild~\ref{fig:nicht_bildpositionen_umflossen}) erstellt werden.
+Unten gesetzte Bilder (Bild~\ref{fig:nicht_bildpositionen_unten})
+bereiten Probleme mit der Platzierung von Fußnoten und sollen unter
+Anderem deshalb nicht verwendet werden.
+
+Da das Bild nicht unbedingt dort erscheint, wo es im Text beschrieben
+wird, soll auf jedes Bild verwiesen werden.
+Das geschieht durch Formulierungen wie "`siehe Bild~\dots"', "`vgl.\
+Bild~\dots"', "`wie in Bild~\dots\ skizziert"' oder einfach
+durch die Bildnummer in Klammern "`(Bild~\dots)"'.
+Damit der Verweis möglich ist, erhält jedes Bild eine Bildunterschrift
+mit laufender Nummer.
+Die \emph{Bildunterschrift}\index{Bildunterschrift} wird, sofern sie
+einzeilig ist, zentriert und ansonsten linksbündig mit hängendem
+Einzug und Flattersatz gesetzt.
+Als Beispiele für Bildunterschriften können einfach die in diesem
+Dokument verwendeten Bilder dienen.
+
+Da gerade beim Nachschlagen häufig zuerst ein Bild betrachtet wird,
+bevor der Text gelesen wird, sollte die Bildunterschrift nicht zu
+knapp ausfallen, sondern wenigstens eine kurze Beschreibung des
+Gezeigten enthalten.
+Enhält die Bildunterschrift einen oder mehrere ganze Sätze, so wird
+sie mit einem Punkt abgeschlossen.
+Enthält sie nur eine kurze Beschreibung ohne Prädikat, so wird kein
+abschließender Punkt gesetzt.
+
+Bei der Erstellung der Bilder ist unbedingt darauf zu achten, dass
+diese einheitlich gestaltet werden.
+Das bezieht beispielsweise Liniendicken, Schrifarten und "=größen ein.
+Eine Schriftgröße von $\np[pt]{9}$ in den Zeichnungen entspricht der
+der Bildunterschriften und ist daher eine geeignete Wahl.
+
+Häufig ist es notwendig, innerhalb eines Bildes
+Teilbilder\index{Bild!Teilbild} zu
+verwenden, die unter Umständen mit eigenen Bildunterschriften versehen
+werden (beispielsweise in Bild~\ref{fig:bildpositionen}).
+Die Unter"=Bildunterschriften werden alphanumerisch nummeriert und im
+Schriftgrad 9~Punkt gesetzt.
+Die Anordnung der Teilbilder kann je nach Größe und Bedarf neben"=
+oder untereinander erfolgen.
+
+
+% ===================================================================
+\section{Tabellen}%
+\label{sec:tabellen}%
+\index{Tabelle}%
+
+Für Tabellen gelten viele der für Bilder gesagten Dinge ebenso.
+Auch sie werden nur am oberen Rand bzw.\ auf einer
+eigenen Seite platziert, sowie horizontal zentriert gesetzt.
+Im Gegensatz zu Bildern haben Tabellen aber eine
+Überschrift\index{Tabellenüberschrift}, die~-- wie der Name schon
+sagt~-- über der eigentlichen Tabelle steht.
+
+Wie im professionellen Buchsatz üblich, werden zur Unterteilung
+ausschließlich horizontale Linien\index{Tabelle!Linie}
+unterschiedlicher Dicke verwendet.
+Spalten\index{Tabelle!Spalte} werden durch Zwischenräume voneinander
+getrennt.
+Tabelle~\ref{tab:tabelle_beispiel} zeigt ein Beispiel.
+%
+\begin{table}%
+ \def\wn{\hphantom{\ensuremath{0}}}%
+ \centering
+ \caption{Als Beispiel einer Tabelle: Elastische Konstanten für
+ verschiedene Einkristalle}%
+ \label{tab:tabelle_beispiel}%
+ \small
+ \begin{tabular}{l*{7}{>{$}c<{$}}}
+ \toprule
+ \multicolumn{8}{c}{\bfseries Materialien mit kubischer
+ Gitterstruktur}\\
+ \midrule
+ Material& E_{\mathrm{isotr.}}& E_{\langle
+ 100\rangle}& E_{\langle 111\rangle}& A& C_{11}& C_{12}& C_{44}\\
+ Einheit&\mathrm{GPa}& \mathrm{GPa}& \mathrm{GPa}& &
+ \mathrm{GPa}& \mathrm{GPa}& \mathrm{GPa}\\
+ \midrule
+ \multicolumn{8}{c}{Metalle und Halbmetalle}\\
+ \midrule
+ Al& \wn70& \wn\wn64& \wn\wn76&
+ 1,23& \wn108& \wn61& \wn29\\
+ Au& \wn78& \wn\wn43& \wn117& 1,89& \wn186&
+ 157& \wn42\\
+ Cu& 121& \wn\wn67& \wn192& 3,22& \wn168&
+ 121& \wn75\\
+ $\alpha$"=Fe& 209& \wn129& \wn276& 2,13&
+ \wn233& 124& 117\\
+ Ni& 207& \wn137& 305& 2,50& \wn247& 147& 125\\
+ Si& -& \wn130& 188& 1,57& \wn166& \wn64& \wn80\\
+ W& 411& \wn411& \wn411& 1,00& \wn501& 198&
+ 151\\
+ \midrule
+ \multicolumn{8}{c}{Keramiken}\\
+ \midrule
+ Diamant&-& 1050& 1200& 1,20& 1076& 125& 576\\
+ MgO& 310& \wn247& \wn343& 1,54&
+ \wn291& \wn90& 155\\
+ NaCl& \wn37& \wn\wn44&
+ \wn\wn32& 0,72& \wn\wn49& \wn13& \wn13\\
+ TiC& -& \wn476& \wn429& 0,88& \wn512&
+ 110& 117\\
+ \midrule[\heavyrulewidth]
+ \multicolumn{8}{c}{\bfseries Materialien mit
+ hexagonaler Gitterstruktur}\\
+ \midrule
+ Material& E_{\mathrm{isotr.}}& \!\!\!\!\!C_{11}=C_{22}\!\!\!\!\!&
+ C_{33}& C_{44}& \!\!\!\!\!C_{55}=C_{66}\!\!\!\!\!& C_{12}&
+ \!\!\!\!\!C_{13}=C_{23}\!\!\!\!\!\\
+ Einheit&\mathrm{GPa}& \mathrm{GPa}& \mathrm{GPa}&
+ \mathrm{GPa}& \mathrm{GPa}& \mathrm{GPa}&
+ \mathrm{GPa}\\
+ \midrule
+ Zn& \wn86& 143& \wn50& \wn40& \wn63& \wn17& \wn33\\
+ \bottomrule
+ \end{tabular}
+\end{table}%
+
+Verwenden Sie auch die horizontalen Linien sparsam.
+Es ist zum Erstellen einer übersichtlichen Tabelle nicht notwendig,
+alle Zeilen durch Linien zu trennen.
+Fügen Sie nur dann horizontale Linien ein, wenn ein inhaltlicher
+Unterschied zwischen aufeinander folgenden Zeilen besteht.
+
+Wenn möglich, werden Einheiten nur einmal im Tabellenkopf angegeben
+und anschließend nur die entsprechenden Zahlenwerte geschrieben.
+Achten Sie auch in Tabellen darauf, ob eine Zahl als Formel oder als
+Text angesehen werden soll, da sich, wie in
+Abschnitt~\ref{sec:schrift} beschrieben, ihr Aussehen entsprechend
+verändern kann.
+
+Unter Umständen können Tabellen sehr lang werden, so dass sie nicht
+auf eine Seite passen.
+In diesem Fall können Tabellen über mehr als eine Seite gesetzt
+werden.
+In jedem Fall muss dann der Tabellenkopf auf jeder Seite wiederholt
+werden.
+Auf jeder Seite soll die Tabelle mit einer horizontalen Linie
+abgeschlossen werden.
+Zusätzlich kann ein Hinweis darauf gegeben werden, dass die Tabelle
+auf der nächsten Seite fortgesetzt wird.
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/01b.png b/macros/latex/contrib/bgteubner/doc/src/bilder/01b.png
new file mode 100644
index 0000000000..acbbc2b1e9
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/01b.png
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/02b.png b/macros/latex/contrib/bgteubner/doc/src/bilder/02b.png
new file mode 100644
index 0000000000..1f8c244807
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/02b.png
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild4c.png b/macros/latex/contrib/bgteubner/doc/src/bilder/bild4c.png
new file mode 100644
index 0000000000..83f25ce640
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild4c.png
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.eps
new file mode 100644
index 0000000000..8e0cd5d682
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.eps
@@ -0,0 +1,108 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_ganz.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Tue Oct 9 22:59:14 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 62 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 62 0 lineto 62 87 lineto closepath clip newpath
+-84.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+7.500 slw
+n 1350 1350 m 2295 1350 l 2295 2700 l 1350 2700 l
+ cp gs col0 s gr
+% Polyline
+n 1440 1485 m 2160 1485 l 2160 2520 l 1440 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 1575 1485 m 2025 1485 l 2025 1755 l 1575 1755 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Polyline
+n 1440 1845 m 2160 1845 l 2160 2115 l 1440 2115 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Polyline
+n 1530 2205 m 2070 2205 l 2070 2520 l 1530 2520 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.fig
new file mode 100644
index 0000000000..35971531be
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.fig
@@ -0,0 +1,19 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 2295 1350 2295 2700 1350 2700 1350 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1440 1485 2160 1485 2160 2520 1440 2520 1440 1485
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1575 1485 2025 1485 2025 1755 1575 1755 1575 1485
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1440 1845 2160 1845 2160 2115 1440 2115 1440 1845
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1530 2205 2070 2205 2070 2520 1530 2520 1530 2205
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.pdf
new file mode 100644
index 0000000000..c4178bcc47
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_ganz.pdf
@@ -0,0 +1,56 @@
+%PDF-1.3
+%Çì¢
+6 0 obj
+<</Length 7 0 R/Filter /FlateDecode>>
+stream
+xœ=A…{NAmñ†™cèÁ¨±°P ¯ï®ëO¬ÜP//O ,Ó¼öîLZo7r¤¹ßIùD*(5¸ÃRÄ8zÀ"¸Å|¿îi šˆÎj†Æak(ºç ¼7>’†Azá*>B•­ø˜¨),|XQ‡{{:üÇ¿%Yõ#𛹀H­ Gç÷/ÅÇŽ¼²ö×öŠZ@ ´¡IGƒendstream
+endobj
+7 0 obj
+168
+endobj
+5 0 obj
+<</Type/Page/MediaBox [0 0 62 87]
+/Rotate 0/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 6 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+5 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+>>
+endobj
+4 0 obj
+<</Type/ExtGState/Name/R4/TR/Identity/OPM 1/SM 0.02>>
+endobj
+8 0 obj
+<</R4
+4 0 R>>
+endobj
+2 0 obj
+<</Producer (AFPL Ghostscript 7.0)
+>>endobj
+xref
+0 9
+0000000000 65535 f
+0000000469 00000 n
+0000000615 00000 n
+0000000410 00000 n
+0000000517 00000 n
+0000000272 00000 n
+0000000015 00000 n
+0000000253 00000 n
+0000000586 00000 n
+trailer
+<< /Size 9 /Root 1 0 R /Info 2 0 R
+>>
+startxref
+667
+%%EOF
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.eps
new file mode 100644
index 0000000000..4c5a559007
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.eps
@@ -0,0 +1,153 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_mitte.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Tue Oct 9 23:13:04 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 62 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 62 0 lineto 62 87 lineto closepath clip newpath
+-84.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+15.000 slw
+n 1440 1485 m
+ 2160 1485 l gs col0 s gr
+% Polyline
+n 1440 1530 m
+ 2160 1530 l gs col0 s gr
+% Polyline
+n 1440 1575 m
+ 2160 1575 l gs col0 s gr
+% Polyline
+n 1440 1620 m
+ 2160 1620 l gs col0 s gr
+% Polyline
+n 1440 1665 m
+ 2160 1665 l gs col0 s gr
+% Polyline
+n 1440 1710 m
+ 1845 1710 l gs col0 s gr
+% Polyline
+7.500 slw
+n 1350 1350 m 2295 1350 l 2295 2700 l 1350 2700 l
+ cp gs col0 s gr
+% Polyline
+n 1440 1485 m 2160 1485 l 2160 2520 l 1440 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 1485 2205 m
+ 2160 2205 l gs col0 s gr
+% Polyline
+n 1440 2250 m
+ 2160 2250 l gs col0 s gr
+% Polyline
+n 1440 2340 m
+ 2025 2340 l gs col0 s gr
+% Polyline
+n 1485 2385 m
+ 2160 2385 l gs col0 s gr
+% Polyline
+n 1440 2430 m
+ 2160 2430 l gs col0 s gr
+% Polyline
+n 1440 2475 m
+ 2160 2475 l gs col0 s gr
+% Polyline
+n 1440 2520 m
+ 2160 2520 l gs col0 s gr
+% Polyline
+n 1440 2295 m
+ 2160 2295 l gs col0 s gr
+% Polyline
+n 1530 1800 m 2070 1800 l 2070 2115 l 1530 2115 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Arc
+n -867.9 3696.4 3259.3 -44.9 -19.5 arc
+gs col0 s gr
+
+% Arc
+n 3293.7 3120.6 1978.3 -163.7 -121.8 arc
+gs col0 s gr
+
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.fig
new file mode 100644
index 0000000000..8faa364d36
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.fig
@@ -0,0 +1,47 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 2 0 7 49 0 -1 0.000 0 0 0 0 -867.857 3696.428 1440 1395 1845 1890 2205 2610
+5 1 0 2 0 7 49 0 -1 0.000 0 0 0 0 3293.654 3120.577 1395 2565 1710 1935 2250 1440
+6 1395 1440 2205 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1485 2160 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1530 2160 1530
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1575 2160 1575
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1620 2160 1620
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1665 2160 1665
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1710 1845 1710
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 2295 1350 2295 2700 1350 2700 1350 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1440 1485 2160 1485 2160 2520 1440 2520 1440 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2205 2160 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2250 2160 2250
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2340 2025 2340
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2385 2160 2385
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2430 2160 2430
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2475 2160 2475
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2520 2160 2520
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2295 2160 2295
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1530 1800 2070 1800 2070 2115 1530 2115 1530 1800
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.pdf
new file mode 100644
index 0000000000..eae0fb903e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_mitte.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.eps
new file mode 100644
index 0000000000..260204a14b
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.eps
@@ -0,0 +1,145 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_oben.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Tue Oct 9 22:59:30 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 62 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 62 0 lineto 62 87 lineto closepath clip newpath
+-84.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+15.000 slw
+n 1440 1935 m
+ 2160 1935 l gs col0 s gr
+% Polyline
+n 1440 1980 m
+ 2160 1980 l gs col0 s gr
+% Polyline
+n 1440 2025 m
+ 2160 2025 l gs col0 s gr
+% Polyline
+n 1440 2070 m
+ 2160 2070 l gs col0 s gr
+% Polyline
+n 1440 2115 m
+ 2160 2115 l gs col0 s gr
+% Polyline
+n 1440 2160 m
+ 1845 2160 l gs col0 s gr
+% Polyline
+n 1485 2205 m
+ 2160 2205 l gs col0 s gr
+% Polyline
+n 1440 2250 m
+ 2160 2250 l gs col0 s gr
+% Polyline
+n 1440 2340 m
+ 2025 2340 l gs col0 s gr
+% Polyline
+n 1485 2385 m
+ 2160 2385 l gs col0 s gr
+% Polyline
+n 1440 2430 m
+ 2160 2430 l gs col0 s gr
+% Polyline
+n 1440 2475 m
+ 2160 2475 l gs col0 s gr
+% Polyline
+n 1440 2520 m
+ 2160 2520 l gs col0 s gr
+% Polyline
+n 1440 2295 m
+ 2160 2295 l gs col0 s gr
+% Polyline
+7.500 slw
+n 1350 1350 m 2295 1350 l 2295 2700 l 1350 2700 l
+ cp gs col0 s gr
+% Polyline
+n 1440 1485 m 2160 1485 l 2160 2520 l 1440 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 1530 1485 m 2070 1485 l 2070 1800 l 1530 1800 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.fig
new file mode 100644
index 0000000000..3cd8f2c417
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.fig
@@ -0,0 +1,45 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 1395 1890 2205 2565
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1935 2160 1935
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1980 2160 1980
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2025 2160 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2070 2160 2070
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2115 2160 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2160 1845 2160
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2205 2160 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2250 2160 2250
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2340 2025 2340
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2385 2160 2385
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2430 2160 2430
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2475 2160 2475
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2520 2160 2520
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2295 2160 2295
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 2295 1350 2295 2700 1350 2700 1350 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1440 1485 2160 1485 2160 2520 1440 2520 1440 1485
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1530 1485 2070 1485 2070 1800 1530 1800 1530 1485
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.pdf
new file mode 100644
index 0000000000..d5671b630b
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.eps
new file mode 100644
index 0000000000..74d60efc58
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.eps
@@ -0,0 +1,129 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_oben_unten.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Tue Oct 9 23:00:01 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 62 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 62 0 lineto 62 87 lineto closepath clip newpath
+-84.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+7.500 slw
+n 1350 1350 m 2295 1350 l 2295 2700 l 1350 2700 l
+ cp gs col0 s gr
+% Polyline
+n 1440 1485 m 2160 1485 l 2160 2520 l 1440 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 1440 1935 m
+ 2160 1935 l gs col0 s gr
+% Polyline
+n 1440 1980 m
+ 2160 1980 l gs col0 s gr
+% Polyline
+n 1440 2025 m
+ 2160 2025 l gs col0 s gr
+% Polyline
+n 1440 2070 m
+ 2160 2070 l gs col0 s gr
+% Polyline
+n 1440 2115 m
+ 2160 2115 l gs col0 s gr
+% Polyline
+n 1440 2160 m
+ 1845 2160 l gs col0 s gr
+% Polyline
+n 1485 2205 m
+ 2160 2205 l gs col0 s gr
+% Polyline
+n 1440 2250 m
+ 2160 2250 l gs col0 s gr
+% Polyline
+n 1530 1485 m 2070 1485 l 2070 1800 l 1530 1800 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Polyline
+n 1620 2520 m 1980 2520 l 1980 2340 l 1620 2340 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.fig
new file mode 100644
index 0000000000..34dbf48617
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.fig
@@ -0,0 +1,33 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 2295 1350 2295 2700 1350 2700 1350 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1440 1485 2160 1485 2160 2520 1440 2520 1440 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1935 2160 1935
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1980 2160 1980
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2025 2160 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2070 2160 2070
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2115 2160 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2160 1845 2160
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2205 2160 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2250 2160 2250
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1530 1485 2070 1485 2070 1800 1530 1800 1530 1485
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1620 2520 1980 2520 1980 2340 1620 2340 1620 2520
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.pdf
new file mode 100644
index 0000000000..ca6937499a
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_oben_unten.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.eps
new file mode 100644
index 0000000000..7a03a32e33
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.eps
@@ -0,0 +1,183 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_umflossen.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Tue Oct 9 23:14:22 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 62 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 62 0 lineto 62 87 lineto closepath clip newpath
+-84.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+15.000 slw
+n 1440 1485 m
+ 2160 1485 l gs col0 s gr
+% Polyline
+n 1440 1530 m
+ 2160 1530 l gs col0 s gr
+% Polyline
+n 1440 1575 m
+ 2160 1575 l gs col0 s gr
+% Polyline
+n 1440 1620 m
+ 2160 1620 l gs col0 s gr
+% Polyline
+n 1440 1665 m
+ 2160 1665 l gs col0 s gr
+% Polyline
+n 1440 1710 m
+ 1845 1710 l gs col0 s gr
+% Polyline
+7.500 slw
+n 1350 1350 m 2295 1350 l 2295 2700 l 1350 2700 l
+ cp gs col0 s gr
+% Polyline
+n 1440 1485 m 2160 1485 l 2160 2520 l 1440 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 1485 2205 m
+ 2160 2205 l gs col0 s gr
+% Polyline
+n 1440 2250 m
+ 2160 2250 l gs col0 s gr
+% Polyline
+n 1440 2340 m
+ 2025 2340 l gs col0 s gr
+% Polyline
+n 1485 2385 m
+ 2160 2385 l gs col0 s gr
+% Polyline
+n 1440 2430 m
+ 2160 2430 l gs col0 s gr
+% Polyline
+n 1440 2475 m
+ 2160 2475 l gs col0 s gr
+% Polyline
+n 1440 2520 m
+ 2160 2520 l gs col0 s gr
+% Polyline
+n 1440 2295 m
+ 2160 2295 l gs col0 s gr
+% Polyline
+n 1890 1755 m 2160 1755 l 2160 1980 l 1890 1980 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Polyline
+n 1485 1755 m
+ 1845 1755 l gs col0 s gr
+% Polyline
+n 1440 1800 m
+ 1845 1800 l gs col0 s gr
+% Polyline
+n 1440 1845 m
+ 1845 1845 l gs col0 s gr
+% Polyline
+n 1440 1890 m
+ 1845 1890 l gs col0 s gr
+% Polyline
+n 1440 1935 m
+ 1845 1935 l gs col0 s gr
+% Polyline
+n 1440 1980 m
+ 1845 1980 l gs col0 s gr
+% Polyline
+n 1440 2025 m
+ 1845 2025 l gs col0 s gr
+% Polyline
+n 1440 2070 m
+ 2160 2070 l gs col0 s gr
+% Polyline
+n 1440 2115 m
+ 2160 2115 l gs col0 s gr
+% Polyline
+n 1440 2160 m
+ 1980 2160 l gs col0 s gr
+% Arc
+n -867.9 3696.4 3259.3 -44.9 -19.5 arc
+gs col0 s gr
+
+% Arc
+n 3293.7 3120.6 1978.3 -163.7 -121.8 arc
+gs col0 s gr
+
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.fig
new file mode 100644
index 0000000000..51a6e73b3d
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.fig
@@ -0,0 +1,67 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 2 0 7 49 0 -1 0.000 0 0 0 0 -867.857 3696.428 1440 1395 1845 1890 2205 2610
+5 1 0 2 0 7 49 0 -1 0.000 0 0 0 0 3293.654 3120.577 1395 2565 1710 1935 2250 1440
+6 1395 1440 2205 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1485 2160 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1530 2160 1530
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1575 2160 1575
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1620 2160 1620
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1665 2160 1665
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1710 1845 1710
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 2295 1350 2295 2700 1350 2700 1350 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1440 1485 2160 1485 2160 2520 1440 2520 1440 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2205 2160 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2250 2160 2250
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2340 2025 2340
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 2385 2160 2385
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2430 2160 2430
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2475 2160 2475
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2520 2160 2520
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2295 2160 2295
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1890 1755 2160 1755 2160 1980 1890 1980 1890 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 1755 1845 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1800 1845 1800
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1845 1845 1845
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1890 1845 1890
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1935 1845 1935
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1980 1845 1980
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2025 1845 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2070 2160 2070
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2115 2160 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2160 1980 2160
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.pdf
new file mode 100644
index 0000000000..eacdf7d6b8
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_umflossen.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.eps
new file mode 100644
index 0000000000..e607917c94
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.eps
@@ -0,0 +1,161 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_unten.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3d
+%%CreationDate: Fri Aug 8 15:57:50 2003
+%%For: harders@pc22 (Harald Harders)
+%%BoundingBox: 0 0 62 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 62 0 lineto 62 87 lineto closepath clip newpath
+-84.3 170.8 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+ 0.06299 0.06299 sc
+%
+% Fig objects follow
+%
+% Polyline
+15.000 slw
+n 1440 1485 m
+ 2160 1485 l gs col0 s gr
+% Polyline
+n 1440 1530 m
+ 2160 1530 l gs col0 s gr
+% Polyline
+n 1440 1575 m
+ 2160 1575 l gs col0 s gr
+% Polyline
+n 1440 1620 m
+ 2160 1620 l gs col0 s gr
+% Polyline
+n 1440 1665 m
+ 2160 1665 l gs col0 s gr
+% Polyline
+n 1440 1710 m
+ 1845 1710 l gs col0 s gr
+% Polyline
+7.500 slw
+n 1350 1350 m 2295 1350 l 2295 2700 l 1350 2700 l
+ cp gs col0 s gr
+% Polyline
+n 1440 1485 m 2160 1485 l 2160 2520 l 1440 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 1485 1755 m
+ 2160 1755 l gs col0 s gr
+% Polyline
+n 1440 1800 m
+ 2160 1800 l gs col0 s gr
+% Polyline
+n 1440 1845 m
+ 2160 1845 l gs col0 s gr
+% Polyline
+n 1440 1890 m
+ 2025 1890 l gs col0 s gr
+% Polyline
+n 1485 1935 m
+ 2160 1935 l gs col0 s gr
+% Polyline
+n 1440 1980 m
+ 2160 1980 l gs col0 s gr
+% Polyline
+n 1440 2025 m
+ 2160 2025 l gs col0 s gr
+% Polyline
+n 1440 2070 m
+ 2160 2070 l gs col0 s gr
+% Polyline
+n 1530 2205 m 2070 2205 l 2070 2520 l 1530 2520 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Polyline
+n 1440 2115 m
+ 2160 2115 l gs col0 s gr
+% Polyline
+n 1440 2160 m
+ 2160 2160 l gs col0 s gr
+% Arc
+n 3293.7 3120.6 1978.3 -163.7 -121.8 arc
+gs col0 s gr
+
+% Arc
+n -867.9 3696.4 3259.3 -44.9 -19.5 arc
+gs col0 s gr
+
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.fig
new file mode 100644
index 0000000000..73f4e83d58
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.fig
@@ -0,0 +1,51 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 2 0 7 49 0 -1 0.000 0 0 0 0 3293.654 3120.577 1395 2565 1710 1935 2250 1440
+5 1 0 2 0 7 49 0 -1 0.000 0 0 0 0 -867.857 3696.428 1440 1395 1845 1890 2205 2610
+6 1395 1440 2205 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1485 2160 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1530 2160 1530
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1575 2160 1575
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1620 2160 1620
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1665 2160 1665
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1710 1845 1710
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1350 1350 2295 1350 2295 2700 1350 2700 1350 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 1440 1485 2160 1485 2160 2520 1440 2520 1440 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 1755 2160 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1800 2160 1800
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1845 2160 1845
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1890 2025 1890
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1485 1935 2160 1935
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 1980 2160 1980
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2025 2160 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2070 2160 2070
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 1530 2205 2070 2205 2070 2520 1530 2520 1530 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2115 2160 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1440 2160 2160 2160
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.pdf
new file mode 100644
index 0000000000..6763e4455e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_unten.pdf
@@ -0,0 +1,55 @@
+%PDF-1.3
+%Çì¢
+6 0 obj
+<</Length 7 0 R/Filter /FlateDecode>>
+stream
+xœ’1n1 Eû9…j )’y ;G0â…l±I‘ëçkw´–:cŠÁ|½!¿>y+LRx<çûýzÜŽoV.$³ðòïòy4#vÏÒ{%Ï,×Ã¥“‡=•ßÇÏ/ÊŒªëJÊF‰Sr_©SY©8ku¡¦²QžTe­5•R¦èJ%IZ{*ƒ2êÕê¸q'm†;uª¹O‡{/áŒ/~-E¥25¯Å\Ék ±PZ@ϳ’±À#®ÚV£§²õn$±@§°1æj+t*…3‹10Sô¯© jºÂ7‰­µ¦²Ö²ÆÔsµ5•BÛ†?•b\hþTÅd¨z9F¶žgÆjØTkE2È2þxùõÕX»So²4žÊjO !É:¦© J} !>lÌ{E£Qb T”²uìW’k`~NlY‚U¬¼?z9æZ¢…ŒÀjÏÇJàoÆ Í”A¨WD÷ßÏÒMïU^ñü ¾¨endstream
+endobj
+7 0 obj
+372
+endobj
+5 0 obj
+<</Type/Page/MediaBox [0 0 62 87]
+/Rotate 0/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 6 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+5 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+>>
+endobj
+4 0 obj
+<</Type/ExtGState/Name/R4/TR/Identity/OPM 1/SM 0.02>>
+endobj
+8 0 obj
+<</R4
+4 0 R>>
+endobj
+2 0 obj
+<</Producer(ESP Ghostscript 7.05)>>endobj
+xref
+0 9
+0000000000 65535 f
+0000000673 00000 n
+0000000819 00000 n
+0000000614 00000 n
+0000000721 00000 n
+0000000476 00000 n
+0000000015 00000 n
+0000000457 00000 n
+0000000790 00000 n
+trailer
+<< /Size 9 /Root 1 0 R /Info 2 0 R
+>>
+startxref
+869
+%%EOF
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.eps
new file mode 100644
index 0000000000..53bfc8b8ae
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.eps
@@ -0,0 +1,204 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_zu_lang.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Sun Nov 18 16:18:35 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 122 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 122 0 lineto 122 87 lineto closepath clip newpath
+-92.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+15.000 slw
+n 1620 1485 m
+ 2340 1485 l gs col0 s gr
+% Polyline
+n 1620 1530 m
+ 2340 1530 l gs col0 s gr
+% Polyline
+n 1620 1575 m
+ 2340 1575 l gs col0 s gr
+% Polyline
+n 1620 1620 m
+ 2340 1620 l gs col0 s gr
+% Polyline
+n 1620 1665 m
+ 2340 1665 l gs col0 s gr
+% Polyline
+n 1620 1710 m
+ 2025 1710 l gs col0 s gr
+% Polyline
+n 1665 1755 m
+ 2340 1755 l gs col0 s gr
+% Polyline
+n 1620 1800 m
+ 2340 1800 l gs col0 s gr
+% Polyline
+n 1620 1890 m
+ 2205 1890 l gs col0 s gr
+% Polyline
+n 1665 1935 m
+ 2340 1935 l gs col0 s gr
+% Polyline
+n 1620 1980 m
+ 2340 1980 l gs col0 s gr
+% Polyline
+n 1620 2025 m
+ 2340 2025 l gs col0 s gr
+% Polyline
+n 1620 2070 m
+ 2340 2070 l gs col0 s gr
+% Polyline
+n 1620 1845 m
+ 2340 1845 l gs col0 s gr
+% Polyline
+7.500 slw
+n 2430 1350 m 1485 1350 l 1485 2700 l 2430 2700 l
+ cp gs col0 s gr
+% Polyline
+n 2340 1485 m 1620 1485 l 1620 2520 l 2340 2520 l
+ cp gs col0 s gr
+% Polyline
+n 2430 1350 m 3375 1350 l 3375 2700 l 2430 2700 l
+ cp gs col0 s gr
+% Polyline
+n 2520 1485 m 3240 1485 l 3240 2520 l 2520 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 2520 2025 m
+ 3240 2025 l gs col0 s gr
+% Polyline
+n 2520 2070 m
+ 3240 2070 l gs col0 s gr
+% Polyline
+n 2520 2115 m
+ 3240 2115 l gs col0 s gr
+% Polyline
+n 2520 2160 m
+ 2925 2160 l gs col0 s gr
+% Polyline
+n 2565 2205 m
+ 3240 2205 l gs col0 s gr
+% Polyline
+n 2520 2250 m
+ 3240 2250 l gs col0 s gr
+% Polyline
+n 2520 2340 m
+ 3105 2340 l gs col0 s gr
+% Polyline
+n 2565 2385 m
+ 3240 2385 l gs col0 s gr
+% Polyline
+n 2520 2430 m
+ 3240 2430 l gs col0 s gr
+% Polyline
+n 2520 2475 m
+ 3240 2475 l gs col0 s gr
+% Polyline
+n 2520 2520 m
+ 3240 2520 l gs col0 s gr
+% Polyline
+n 2520 2295 m
+ 3240 2295 l gs col0 s gr
+% Polyline
+7.500 slw
+ [30] 0 sd
+n 2250 2160 m 1710 2160 l 1710 2610 l 2250 2610 l
+ cp gs col0 s gr [] 0 sd
+% Polyline
+15.000 slw
+n 3150 1485 m 2610 1485 l 2610 1935 l 3150 1935 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+% Arc
+gs clippath
+2902 1734 m 2886 1677 l 2740 1718 l 2864 1714 l 2756 1775 l cp
+eoclip
+n 3203.7 3079.0 1406.8 -150.4 -103.3 arc
+gs col0 s gr
+ gr
+
+% arrowhead
+7.500 slw
+n 2756 1775 m 2864 1714 l 2740 1718 l 2756 1775 l cp gs 0.00 setgray ef gr col0 s
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.fig
new file mode 100644
index 0000000000..602015783c
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.fig
@@ -0,0 +1,77 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+5 1 0 2 0 7 49 0 -1 0.000 0 0 1 0 3203.654 3079.039 1980 2385 2385 1935 2880 1710
+ 1 1 1.00 60.00 120.00
+6 1575 1440 2385 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1485 2340 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1530 2340 1530
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1575 2340 1575
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1620 2340 1620
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1665 2340 1665
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1710 2025 1710
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1665 1755 2340 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1800 2340 1800
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1890 2205 1890
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1665 1935 2340 1935
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1980 2340 1980
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2025 2340 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2070 2340 2070
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1845 2340 1845
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2430 1350 1485 1350 1485 2700 2430 2700 2430 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2340 1485 1620 1485 1620 2520 2340 2520 2340 1485
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2430 1350 3375 1350 3375 2700 2430 2700 2430 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2520 1485 3240 1485 3240 2520 2520 2520 2520 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2025 3240 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2070 3240 2070
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2115 3240 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2160 2925 2160
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2565 2205 3240 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2250 3240 2250
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2340 3105 2340
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2565 2385 3240 2385
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2430 3240 2430
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2475 3240 2475
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2520 3240 2520
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2295 3240 2295
+2 2 1 1 0 7 50 0 -1 2.000 0 0 -1 0 0 5
+ 2250 2160 1710 2160 1710 2610 2250 2610 2250 2160
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 3150 1485 2610 1485 2610 1935 3150 1935 3150 1485
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.pdf
new file mode 100644
index 0000000000..1665abddb6
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.eps b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.eps
new file mode 100644
index 0000000000..b0a4bd5e2e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.eps
@@ -0,0 +1,187 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: bild_zu_lang2.eps
+%%Creator: fig2dev Version 3.2.3 Patchlevel
+%%CreationDate: Sun Nov 18 16:19:27 2001
+%%For: harders@dose (Harald Harders)
+%%BoundingBox: 0 0 122 87
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 87 moveto 0 0 lineto 122 0 lineto 122 87 lineto closepath clip newpath
+-92.0 171.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add
+ 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+ bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+ 4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06299 0.06299 sc
+% Polyline
+15.000 slw
+n 1620 1485 m
+ 2340 1485 l gs col0 s gr
+% Polyline
+n 1620 1530 m
+ 2340 1530 l gs col0 s gr
+% Polyline
+n 1620 1575 m
+ 2340 1575 l gs col0 s gr
+% Polyline
+n 1620 1620 m
+ 2340 1620 l gs col0 s gr
+% Polyline
+n 1620 1665 m
+ 2340 1665 l gs col0 s gr
+% Polyline
+n 1620 1710 m
+ 2025 1710 l gs col0 s gr
+% Polyline
+n 1665 2385 m
+ 2340 2385 l gs col0 s gr
+% Polyline
+n 1620 2430 m
+ 2340 2430 l gs col0 s gr
+% Polyline
+n 1620 2475 m
+ 2340 2475 l gs col0 s gr
+% Polyline
+n 1620 2520 m
+ 2340 2520 l gs col0 s gr
+% Polyline
+n 1665 1980 m
+ 2340 1980 l gs col0 s gr
+% Polyline
+n 1620 2025 m
+ 2340 2025 l gs col0 s gr
+% Polyline
+n 1620 2115 m
+ 2205 2115 l gs col0 s gr
+% Polyline
+n 1620 2070 m
+ 2340 2070 l gs col0 s gr
+% Polyline
+7.500 slw
+n 2430 1350 m 1485 1350 l 1485 2700 l 2430 2700 l
+ cp gs col0 s gr
+% Polyline
+n 2340 1485 m 1620 1485 l 1620 2520 l 2340 2520 l
+ cp gs col0 s gr
+% Polyline
+n 2430 1350 m 3375 1350 l 3375 2700 l 2430 2700 l
+ cp gs col0 s gr
+% Polyline
+n 2520 1485 m 3240 1485 l 3240 2520 l 2520 2520 l
+ cp gs col0 s gr
+% Polyline
+15.000 slw
+n 2520 2025 m
+ 3240 2025 l gs col0 s gr
+% Polyline
+n 2520 2070 m
+ 3240 2070 l gs col0 s gr
+% Polyline
+n 2520 2115 m
+ 3240 2115 l gs col0 s gr
+% Polyline
+n 2520 2160 m
+ 2925 2160 l gs col0 s gr
+% Polyline
+n 2565 2205 m
+ 3240 2205 l gs col0 s gr
+% Polyline
+n 2520 2250 m
+ 3240 2250 l gs col0 s gr
+% Polyline
+n 2520 2340 m
+ 3105 2340 l gs col0 s gr
+% Polyline
+n 2565 2385 m
+ 3240 2385 l gs col0 s gr
+% Polyline
+n 2520 2430 m
+ 3240 2430 l gs col0 s gr
+% Polyline
+n 2520 2475 m
+ 3240 2475 l gs col0 s gr
+% Polyline
+n 2520 2520 m
+ 3240 2520 l gs col0 s gr
+% Polyline
+n 2520 2295 m
+ 3240 2295 l gs col0 s gr
+% Polyline
+n 3150 1485 m 2610 1485 l 2610 1935 l 3150 1935 l
+ cp gs 0.50 setgray ef gr gs col0 s gr
+$F2psEnd
+rs
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.fig b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.fig
new file mode 100644
index 0000000000..ddf90b3fda
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.fig
@@ -0,0 +1,77 @@
+#FIG 3.2
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 1575 1440 2385 1755
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1485 2340 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1530 2340 1530
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1575 2340 1575
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1620 2340 1620
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1665 2340 1665
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 1710 2025 1710
+-6
+6 1575 2340 2385 2565
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1665 2385 2340 2385
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2430 2340 2430
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2475 2340 2475
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2520 2340 2520
+-6
+6 1575 1935 2385 2160
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1665 1980 2340 1980
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2025 2340 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2115 2205 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 1620 2070 2340 2070
+-6
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2430 1350 1485 1350 1485 2700 2430 2700 2430 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2340 1485 1620 1485 1620 2520 2340 2520 2340 1485
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2430 1350 3375 1350 3375 2700 2430 2700 2430 1350
+2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
+ 2520 1485 3240 1485 3240 2520 2520 2520 2520 1485
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2025 3240 2025
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2070 3240 2070
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2115 3240 2115
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2160 2925 2160
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2565 2205 3240 2205
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2250 3240 2250
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2340 3105 2340
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2565 2385 3240 2385
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2430 3240 2430
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2475 3240 2475
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2520 3240 2520
+2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+ 2520 2295 3240 2295
+2 2 0 2 0 0 50 0 10 0.000 0 0 -1 0 0 5
+ 3150 1485 2610 1485 2610 1935 3150 1935 3150 1485
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.pdf
new file mode 100644
index 0000000000..83f8323197
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/bild_zu_lang2.pdf
@@ -0,0 +1,56 @@
+%PDF-1.3
+%Çì¢
+6 0 obj
+<</Length 7 0 R/Filter /FlateDecode>>
+stream
+xœ”Kn1 D÷:…ÖY0"ÅxŒdŽØF€xa{áë‡Ý©© °ƒY PóPC«»Öv|îß?žËKùúëÓ[q`Rß ÖŸ[1ˆ{}."\u)¿Êí¢X¤gê®lx³LÝ•Lép¥DMe£0{Me£:Á0 ª‹€°-å¤h€^©èÉk*Ù Í¡sÞq*% ܳ×T6ŠTòŽSÉs±Øæ5•ìŷ짒©n¦G¬œ|)›WSÀíBS9(#¦³!Ü«YkTÅ%®­uÄ®]¥¾>ücÙ „â(‚àqŠRlñ£}ì¤jô'N«¾“¾‚A¤clÁ,j­¼¨´ò¤®ø&•ã[ǨAyLÊr)'«©÷Ú ¡ÙæuW²yœ:¾¨©lTWhªuÁKÉÿx|y¥‚¯tWÁ'• ¾¨UðE¥‚ÿ}©D¥‚¯é•¡ocý&ºžO%*ûxeG@æH4Þ]èè‘ðYÇ/ÿCÝÊ·òn(ûendstream
+endobj
+7 0 obj
+395
+endobj
+5 0 obj
+<</Type/Page/MediaBox [0 0 122 87]
+/Rotate 0/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+/ExtGState 8 0 R
+>>
+/Contents 6 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+5 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+>>
+endobj
+4 0 obj
+<</Type/ExtGState/Name/R4/TR/Identity/OPM 1/SM 0.02>>
+endobj
+8 0 obj
+<</R4
+4 0 R>>
+endobj
+2 0 obj
+<</Producer (AFPL Ghostscript 7.0)
+>>endobj
+xref
+0 9
+0000000000 65535 f
+0000000697 00000 n
+0000000843 00000 n
+0000000638 00000 n
+0000000745 00000 n
+0000000499 00000 n
+0000000015 00000 n
+0000000480 00000 n
+0000000814 00000 n
+trailer
+<< /Size 9 /Root 1 0 R /Info 2 0 R
+>>
+startxref
+895
+%%EOF
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.pdf
new file mode 100644
index 0000000000..e74868a782
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.tex b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.tex
new file mode 100644
index 0000000000..667581cb8b
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1.tex
@@ -0,0 +1,124 @@
+% ===================================================================
+\PassOptionsToClass{a5paper}{bgteubner}
+\PassOptionsToClass{ulinevec}{bgteubner}
+\documentclass[english,ngerman]{bgteubner}
+% ===================================================================
+% Einstellung des passenden Zeichensatzes
+% Für Windows:
+%\usepackage[ansinew]{inputenc}
+% Für Unix und Linux
+\usepackage[latin1]{inputenc}
+% ===================================================================
+\usepackage{color}
+\definecolor{grau}{gray}{0}
+% ===================================================================
+\providecommand\groesser{}
+% ===================================================================
+\newcommand\blindtext{%
+ Dies ist Blindtext.
+ Er erfüllt einzig den Zweck, die Seite zu füllen.
+ Ansonsten hat er keinen Sinn.}
+% ===================================================================
+\newcommand\linie{%
+ \begingroup
+ \unitlength1mm%
+ \thinlines
+ \begin{picture}(0,0)
+ \put(0,14.8){{\color{grau}\line(1,0){115}}}%
+ \put(0,176){{\color{grau}\line(1,0){115}}}%
+ \put(0,14.8){{\color{grau}\line(0,1){161.2}}}%
+ \put(115,14.8){{\color{grau}\line(0,1){161.2}}}%
+ \end{picture}%
+ \endgroup
+}%
+% ===================================================================
+\lofoot{\linie}
+\lefoot{\linie}
+% ===================================================================
+\begin{document}
+% ===================================================================
+\setcounter{page}{8}%
+\setcounter{chapter}{3}%
+\setcounter{section}{4}%
+\markleft{\thechapter\enskip Ein Kapitel}%
+% ===================================================================
+\noindent
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext
+\groesser
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\section{Ein neuer Abschnitt}
+\subsection{Gefolgt von einem Unterabschnitt}
+\subsubsection{Und noch einer Ebene}
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\groesser
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+% ===================================================================
+\end{document}
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.pdf
new file mode 100644
index 0000000000..291e092154
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.tex b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.tex
new file mode 100644
index 0000000000..5e35ef78d2
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch1a.tex
@@ -0,0 +1,4 @@
+% ===================================================================
+\providecommand\groesser{\enlargethispage{1\baselineskip}}
+\input{umbruch1}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.pdf
new file mode 100644
index 0000000000..7a374108c4
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.tex b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.tex
new file mode 100644
index 0000000000..c584f47d11
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2.tex
@@ -0,0 +1,128 @@
+% ===================================================================
+\PassOptionsToClass{a5paper}{bgteubner}
+\PassOptionsToClass{ulinevec}{bgteubner}
+\documentclass[english,ngerman]{bgteubner}
+% ===================================================================
+% Einstellung des passenden Zeichensatzes
+% Für Windows:
+%\usepackage[ansinew]{inputenc}
+% Für Unix und Linux
+\usepackage[latin1]{inputenc}
+% ===================================================================
+\usepackage{color}
+\definecolor{grau}{gray}{0}
+% ===================================================================
+\providecommand\groesser{}
+% ===================================================================
+\newcommand\blindtext{%
+ Dies ist Blindtext.
+ Er erfüllt einzig den Zweck, die Seite zu füllen.
+ Ansonsten hat er keinen Sinn.}
+\newcommand\fnblindtext{%
+ Dies ist Fußnoten-Blindtext.
+ Er erfüllt einzig den Zweck, die Seite zu füllen.
+ Ansonsten hat er keinen Sinn.}
+% ===================================================================
+\newcommand\linie{%
+ \begingroup
+ \unitlength1mm%
+ \thinlines
+ \begin{picture}(0,0)
+ \put(0,14.8){{\color{grau}\line(1,0){115}}}%
+ \put(0,176){{\color{grau}\line(1,0){115}}}%
+ \put(0,14.8){{\color{grau}\line(0,1){161.2}}}%
+ \put(115,14.8){{\color{grau}\line(0,1){161.2}}}%
+ \end{picture}%
+ \endgroup
+}%
+% ===================================================================
+\lofoot{\linie}
+\lefoot{\linie}
+% ===================================================================
+\begin{document}
+% ===================================================================
+\setcounter{page}{8}%
+\setcounter{chapter}{3}%
+\setcounter{section}{4}%
+\markleft{\thechapter\enskip Ein Kapitel}%
+% ===================================================================
+\noindent
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext
+\groesser
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext
+\footnote{\fnblindtext\
+ \fnblindtext\
+ \fnblindtext\
+ \fnblindtext}
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\groesser
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+% ===================================================================
+\end{document}
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.pdf
new file mode 100644
index 0000000000..0c84b74c26
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.tex b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.tex
new file mode 100644
index 0000000000..ee619d5506
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch2a.tex
@@ -0,0 +1,4 @@
+% ===================================================================
+\providecommand\groesser{\enlargethispage{-1.5\baselineskip}}
+\input{umbruch2}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.pdf
new file mode 100644
index 0000000000..2bcc2877bd
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.tex b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.tex
new file mode 100644
index 0000000000..27e9a50365
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3.tex
@@ -0,0 +1,131 @@
+% ===================================================================
+\PassOptionsToClass{a5paper}{bgteubner}
+\PassOptionsToClass{ulinevec}{bgteubner}
+\documentclass[english,ngerman]{bgteubner}
+% ===================================================================
+% Einstellung des passenden Zeichensatzes
+% Für Windows:
+%\usepackage[ansinew]{inputenc}
+% Für Unix und Linux
+\usepackage[latin1]{inputenc}
+% ===================================================================
+\usepackage{color}
+\definecolor{grau}{gray}{0}
+% ===================================================================
+\providecommand\groesser{}
+% ===================================================================
+\newcommand\blindtext{%
+ Dies ist Blindtext.
+ Er erfüllt einzig den Zweck, die Seite zu füllen.
+ Ansonsten hat er keinen Sinn.}
+% ===================================================================
+\newcommand\linie{%
+ \begingroup
+ \unitlength1mm%
+ \thinlines
+ \begin{picture}(0,0)
+ \put(0,14.8){{\color{grau}\line(1,0){115}}}%
+ \put(0,176){{\color{grau}\line(1,0){115}}}%
+ \put(0,14.8){{\color{grau}\line(0,1){161.2}}}%
+ \put(115,14.8){{\color{grau}\line(0,1){161.2}}}%
+ \end{picture}%
+ \endgroup
+}%
+% ===================================================================
+\lofoot{\linie}
+\lefoot{\linie}
+% ===================================================================
+\begin{document}
+% ===================================================================
+\setcounter{page}{8}%
+\setcounter{chapter}{3}%
+\setcounter{section}{4}%
+\markleft{\thechapter\enskip Ein Kapitel}%
+% ===================================================================
+\noindent
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext
+\groesser
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext
+
+\section{Ein neuer Abschnitt}
+\subsection{Gefolgt von einem Unterabschnitt}
+\subsubsection{Und noch einer Ebene}
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\groesser
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+\blindtext\
+
+% ===================================================================
+\end{document}
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.pdf b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.pdf
new file mode 100644
index 0000000000..bda8251c81
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.pdf
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.tex b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.tex
new file mode 100644
index 0000000000..0380678d14
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/seiten/umbruch3a.tex
@@ -0,0 +1,4 @@
+% ===================================================================
+\providecommand\groesser{\enlargethispage{1\baselineskip}}
+\input{umbruch3}
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/times-ja2.png b/macros/latex/contrib/bgteubner/doc/src/bilder/times-ja2.png
new file mode 100644
index 0000000000..0610793361
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/times-ja2.png
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/bilder/times-nein2.png b/macros/latex/contrib/bgteubner/doc/src/bilder/times-nein2.png
new file mode 100644
index 0000000000..260c54e33b
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/bilder/times-nein2.png
Binary files differ
diff --git a/macros/latex/contrib/bgteubner/doc/src/checkliste.tex b/macros/latex/contrib/bgteubner/doc/src/checkliste.tex
new file mode 100644
index 0000000000..c746586025
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/checkliste.tex
@@ -0,0 +1,99 @@
+%
+% bgteubner class bundle
+%
+% checkliste.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{Checkliste}%
+\index{Checkliste|textbf}%
+\label{sec:checkliste}%
+
+An dieser Stelle wird eine Checkliste angeboten, die man durcharbeiten
+sollte, bevor man dem Verlag eine endgültige Version seines
+Buches zukommen lässt.
+%
+\begin{enumerate}
+\item Sind so wenig zusätzliche Pakete geladen wie möglich?
+ (Es müssen weniger Pakete geladen werden als bei den meisten anderen
+ Dokumentklassen.
+ Beispielsweise müssen weder \texttt{babel} noch \texttt{fontenc}
+ zusätzlich geladen werden.)
+\item Läuft der Übersetzungslauf fehlerfrei durch?\footnote{Gerade
+ unter Windows findet man manchmal Installationen, die auch an
+ Fehlern die Übersetzung nicht unterbrechen.
+ Schauen Sie auf jeden Fall in die Log"=Datei, ob keine Fehler
+ aufgetreten sind.}
+\item Wurde im gesamten Werk, inklusive aller Vorworte, einheitlich
+ entweder die neue oder die alte Rechtschreibung verwendet und auch
+ in der \verb|\documentclass|"=Zeile die entsprechende Sprache als
+ letztes angegeben?
+ Die neue Rechtschreibung ist vorzuziehen.
+\item Entsprechen die Absätze vor und nach abgesetzten Formeln der
+ inhaltlichen Gliederung? Keine unnötigen Absätze!
+\item Sind durch Fließumgebungen keine unnötigen Absätze oder
+ Leerzeichen entstanden?
+\item Sind alle Angaben zum Buch (Autoren, Titel etc.) korrekt?
+\item Entsprechen alle Datumsangaben (z.\,B.\ im Vorwort) dem
+ Erscheinungsjahr und "~monat?
+\item Wurde in allen Fällen zwischen Zahlen im Text"= und Mathemodus
+ unterschieden?
+\item Wurden alle Formelzeichen auch wirklich im mathematischen Modus
+ gesetzt?
+\item Haben alle Zahlen Kommata statt Punkte?
+\item Tabellen haben Überschriften, keine Unterschriften!
+\item Ist das Stichwortverzeichnis erstellt und nicht zu knapp
+ gehalten?
+\item Läuft die Erzeugung des Literaturverzeichnisses mit \BibTeX\
+ fehlerfrei und ohne Warnung ab (siehe Log"=Datei mit der Endung
+ \verb|.blg|)?
+\item Sind alle fehlenden Referenzen und doppelten Labels behoben?
+\item Wurde bei den letzten Übersetzungsläufen ohne die Option
+ \verb|draft| gearbeitet?
+\item\label{enum:uebersetzen}
+ Wurde oft genug übersetzt, so dass alle Referenzen und
+ Seitenzahlen in den entsprechenden Verzeichnissen stimmen?
+\item Wurde der Index spät genug neu erzeugt, so dass auch dort alle
+ Seitenzahlen stimmen?
+\item\label{enum:overfull}
+ Sind alle "`Overfull \textbackslash hbox"' (schwarze Balken,
+ falls mit der Option \verb|draft| übersetzt) behoben?
+\item Wenn Sie lange Tabellen mit der \env{longtable}"=Umgebung
+ verwenden: Sind alle doppelten Linien an Seitenumbrüchen beseitigt
+ worden (vgl.\ Abschnitt~\ref{sec:tex:tabellen}), und ist die
+ Reihenfolge der Tabellen korrekt?
+\item\label{enum:feinschliff}
+ Wurde der Feinschliff entsprechend
+ Abschnitt~\ref{sec:tex_feinschliff} zur Vermeidung unschöner
+ Umbrüche durchgeführt (u.\,A.\ Beheben von "`Underfull
+ \textbackslash vbox"')?
+\item\label{enum:indexwiderspruch}
+ Wurde darauf geachtet, dass sich keine widersprüchlichen
+ Indexangaben entsprechend Abschnitt~\ref{sec:tex_index_doppelt}
+ ergeben haben?
+\item Wurde die endgültige \acro{PDF}"=Datei ausgedruckt und
+ sorgfältig auf Fehler hin kontrolliert?
+ Wenn noch Fehler gefunden werden, müssen wahrscheinlich die
+ Punkte~\ref{enum:uebersetzen} bis \ref{enum:indexwiderspruch}
+ wiederholt werden.
+\end{enumerate}
+
+Einige dieser Fragen lassen sich am einfachsten dadurch beantworten,
+dass man sich die Log"=Datei von \pdfLaTeX\ ansieht.
+Beispielsweise werden fehlende und doppelte Verweise, sowie "`Overfull
+\textbackslash hbox"' und "`Underfull \textbackslash vbox"' dort genannt.
+
+% ===================================================================
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/einleitung.tex b/macros/latex/contrib/bgteubner/doc/src/einleitung.tex
new file mode 100644
index 0000000000..396ad7c29e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/einleitung.tex
@@ -0,0 +1,137 @@
+%
+% bgteubner class bundle
+%
+% einleitung.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{Einführung}%
+
+Die mit diesen Autorenrichtlinien beschriebene \LaTeX"=Dokumentklasse
+soll ermöglichen, dass die mit \LaTeX\ gesetzten Bücher des Teubner
+Verlags ein einheitliches Aussehen erhalten.
+Nehmen Sie sich bitte die Zeit, die Richtlinien vollständig zu lesen,
+um mögliche Probleme zu vermeiden.\footnote{Ganz eilige können den
+ Teil "`Typographie"' überspringen und sofort den Teil "`Durchführung
+ mit \LaTeX"' ab Seite~\pageref{part:latex} lesen.}
+Viele Dinge, die in den verbreiteten \LaTeX"=Dokumentklassen
+zusätzlich programmiert werden müssen, werden von der Dokumentklasse
+\verb|bgteubner| bereits zur Verfügung gestellt.
+Wenn Sie diese Befehle und Umgebungen verwenden, ersparen Sie sich
+zusätzliche Arbeit und sorgen außerdem dafür, das vorgegebene Layout
+zu erfüllen.
+\feinschliff{\enlargethispage{1\baselineskip}}{}{}{}%
+
+Diese Autorenrichtlinien setzen allerdings \LaTeXe"=Kenntnisse voraus
+und ersetzen keinesfalls ein \LaTeX"=Handbuch.
+Für Dokumente, die die Verwendung von \LaTeX\ selbst beschreiben, sei
+auf die einschlägige Literatur, wie z.\,B.\
+\emph{Das \LaTeX\ Handbuch}~\cite{lamport1995a},
+den \emph{\LaTeX\ Begleiter}~\cite{goossens1995a} oder die frei
+verfügbaren Dokumente \emph{The Not So Short Introduction to
+ \LaTeXe}~\cite{oetiker2003a} bzw.\
+\emph{\LaTeXe"=Kurzbeschreibung}~\cite{schmidt2003a} verwiesen.
+
+Im Teil "`Typographie"' ab Seite~\pageref{part:allgemeines} werden die
+wichtigsten Merkmale der gewählten Typographie beschrieben, ohne auf
+ihre Erstellung in \LaTeX\ einzugehen.
+Machen Sie sich bitte keine allzu großen Gedanken, wie Sie das
+geforderte Aussehen erreichen können: Das meiste geschieht
+automatisch, wenn Sie sich an die im Teil "`Durchführung mit \LaTeX"' ab
+Seite~\pageref{part:latex} beschriebenen Regeln halten.
+
+Gerade die Autoren, die es gewohnt sind, mit Microsoft Word oder
+ähnlichen Programmen Dokumente zu erstellen, werden sicherlich zu
+Beginn eine Neigung zu verspüren, von Hand in das Aussehen
+einzugreifen.
+Ich bitte jedoch, davon Abstand zu nehmen, um das einheitliche
+Aussehen nicht zu gefährden.
+Außerdem stellen sich Gestaltungsmerkmale, die beim ersten Hinsehen
+ungewohnt erscheinen, später häufig als vernünftig heraus.
+
+Dies gilt auch für versierte \LaTeX"=Anwender: \emph{Verändern Sie
+nicht das Layout, indem Sie Pakete laden, die verändertes Layout nach
+sich ziehen! Verzichten Sie also auf Pakete wie \texttt{caption2},
+\texttt{fancyhdr} usw. Die Hauptdatei Ihres Dokuments wird sehr viel
+weniger Pakete laden müssen, als Sie gewohnt sind. Lesen Sie sich dazu
+auf jeden Fall Abschnitt~\ref{sec:tex:aufbau} aufmerksam durch und
+verzichten Sie wirklich auf Umdefinitionen, auch wenn es Ihnen
+teilweise nicht gefallen sollte.}
+
+Wenn Sie sich weitergehend mit Typographie beschäftigen möchten,
+möchte ich Ihnen zwei sehr gute Bücher empfehlen, die beide im Verlag
+Hermann Schmidt erschienen sind: Hans Peter Willberg, Friedrich
+Forssman: \emph{Lesetypographie}~\cite{willberg1997a} sowie Friedrich
+Forssman, Ralf de Jong:
+\emph{Detailtypografie}~\cite{forssman2002a}.
+
+Im Anhang wird unter Anderem beschrieben, wie Sie die Dokumentklasse
+unter Verwendung der \TeXLive"=Distribution installieren und die
+Dokumente mit \pdfLaTeX\ übersetzen.
+In Anhang~\ref{sec:checkliste} ist eine Checkliste enthalten, die vor
+dem Erstellen einer endgültigen Version abgearbeitet werden sollte.
+
+Die für die \verb|bgteubner|"=Klasse verfügbare
+Installations"~\acro{CD} ist für die Zusammenarbeit mit der
+\TeXLive"~8"=Installation vorgesehen und enthält neben den
+Autorenrichtlinien die notwendigen Pakete, die auf der
+\TeXLive"~\acro{CD} nicht enthalten sind. Mit anderen
+\TeX"=Installationen funktioniert die Klasse natürlich auch
+zusammen.
+Allerdings kann es dann notwendig werden, sich fehlende Pakete von
+\url{ftp://ftp.dante.de} herunterzuladen und selbst zu installieren.
+
+Da der Verlag die Dokumente im \acro{PDF}"=Format entgegennimmt
+und die Entwicklung von \pdfLaTeX\ noch relativ schnell fortschreitet,
+sollte eine aktuelle \TeX"=Distribution verwendet werden.
+Es kann sinnvoll sein, eine entsprechende \LaTeX"=Version neu zu
+installieren.
+
+Meine eigenen Erfahrungen mit unterschiedlich erzeugten
+\acro{PDF}"=Dateien haben gezeigt, dass \pdfLaTeX\ ein saubereres
+\acro{PDF}"=Format erzeugt, als es über den Weg
+\verb|tex|$\rightarrow$\acro{DVI}""$\rightarrow$%
+PostScript""$\rightarrow$\acro{PDF} unter
+Verwendung von \LaTeX, dvips und Ghostscript\footnote{Wie die
+ \acro{PDF}"=Qualität ist, wenn man Adobe Acrobat statt Ghostscript
+ verwendet, weiß ich leider nicht.} möglich ist.
+Daher sollten Sie --~wenn möglich~-- \pdfLaTeX zur direkten Erzeugung
+des Dokuments im \acro{PDF}"=Format verwenden.
+In manchen Fällen wird dies allerdings nicht möglich sein, wenn Sie
+zum Beispiel Pakete wie \verb|psfrag| oder \verb|pstricks| verwenden.
+Aber auch dann müssen Sie das Programm \verb|pdflatex| verwenden und
+eine Ausgabe im \acro{DVI}"=Format erzwingen, indem Sie als erste
+Zeile Ihrer Hauptdatei
+\begin{verbatim}[\small]
+\pdfoutput=0
+\end{verbatim}
+einfügen.
+Normales \LaTeX\ kann nicht verwendet werden, da Funktionen verwendet
+werden, die nur in \pdfLaTeX\ enthalten sind.
+
+\bigskip
+\emph{Wenn Sie bereits mit einer Version der Dokumentklasse vor 1.08
+ gearbeitet haben, ändern sich einige Umbrüche mit dieser Version.}
+
+\emph{Leider ändern sich innerhalb der Umgebungen
+ \texttt{important}(\texttt{*}) sowie
+ \texttt{longimportant}(\texttt{*}) aufgrund notwendiger
+ Fehlerkorrekturen einige Umbrüche beim Update von Version~1.14 auf
+ 1.20.}
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/formelzeichen.tex b/macros/latex/contrib/bgteubner/doc/src/formelzeichen.tex
new file mode 100644
index 0000000000..90b31680aa
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/formelzeichen.tex
@@ -0,0 +1,82 @@
+%
+% bgteubner class bundle
+%
+% formelzeichen.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.
+% ===================================================================
+\addchap{Verwendete Formelzeichen}
+
+% -------------------------------------------------------------------
+\begin{theglossary}[\addsec{Skalare}]%
+%
+\alpha_k& Kerbformzahl\\
+%
+\varepsilon& technische Dehnung\\
+%
+\varphi& wahre Dehnung\\
+%
+\sigma& Spannung\\
+%
+a& Gitterkonstante\\
+a& Risslänge bei Oberflächenrissen und halbe Risslänge bei inneren Rissen\\
+%
+c& Gitterkonstante\\
+%
+K& Spannungsintensitätsfaktor\\
+%
+R_{eH}& obere Streckgrenze für Materialien mit ausgeprägter Streckgrenze\\
+R_{eL}& untere Streckgrenze für Materialien mit ausgeprägter Streckgrenze\\
+R_m& Zugfestigkeit\\
+R_{p0.2}& Dehngrenze für Materialien ohne ausgeprägte Streckgrenze\\
+%
+\end{theglossary}%
+
+% -------------------------------------------------------------------
+\begin{theglossary}[\addsec{Vektoren}]%
+%
+(\varepsilon_{\alpha})=\vec{\varepsilon}& Dehnungsvektor (Voigtsche
+Schreibweise)\\
+%
+(\sigma_{\alpha})=\vec{\sigma}& Spannungsvektor (Voigtsche
+Schreibweise)\\
+%
+\end{theglossary}%
+
+% -------------------------------------------------------------------
+\begin{theglossary}[\addsec{Matrizen und Tensoren}]%
+%
+\delta_{ij}& Kroneckersymbol\\
+%
+(\varepsilon_{ij})=\matr{\varepsilon}& Dehnungstensor\\
+%
+(\sigma_{ij})=\matr{\sigma}& Spannungstensor\\
+%
+\end{theglossary}%
+
+% -------------------------------------------------------------------
+\begin{theglossary}[\addsec{Indizes}]%
+%
+\alpha, \beta& In der Tensorrechnung: Laufindizes in der Voigtschen
+Schreibweise, mögliche Werte: $1$ bis $6$\\
+%
+1, 2, 3& Unsortierte Hauptwerte für Spannungstensoren\\
+%
+\mathrm{I}, \mathrm{II}, \mathrm{III}& Sortierte Hauptwerte für
+Spannungstensoren\\
+i, j, k, l& In der Tensorrechnung: Laufindizes für die
+Tensorkomponenten, mögliche Werte: $1$ bis $3$\\
+%
+\end{theglossary}%
+
+% -------------------------------------------------------------------
+% EOF \ No newline at end of file
diff --git a/macros/latex/contrib/bgteubner/doc/src/globales.tex b/macros/latex/contrib/bgteubner/doc/src/globales.tex
new file mode 100644
index 0000000000..b6b55e82b3
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/globales.tex
@@ -0,0 +1,596 @@
+%
+% bgteubner class bundle
+%
+% globales.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{Globales}%
+\index{Globales}%
+
+% ===================================================================
+\section{Gesamtaufbau}%
+\label{sec:gesamtaufbau}%
+\index{Gesamtaufbau}%
+\index{Aufbau}%
+
+Das Innere eines Buchs aus dem Teubner Verlag beginnt mit dem
+\index{Schmutztitel}\new{Schmutztitel,} auf dem nur die Autoren und
+der Buchtitel abgedruckt sind.
+Auf dieser Seite beginnt die, im \index{Titelei}Vorspann römische,
+\index{Seitenzählung}Seitenzählung mit~\iftimes{I}{\textsc{i}}.
+Auf der nächsten rechten Seite wird der
+\index{Innentitel}\new{Innentitel,} auf dem alle wichtigen
+Informationen (\index{Autor}Autoren, \index{Titel}Titel,
+\index{Untertitel}Untertitel, \index{Auflage@Auf\/lage}Auf"|lage,
+\index{Erscheinungsjahr}Erscheinungsjahr, \dots) enthalten sind, gesetzt.
+Das \index{Impressum}\new{Impressum} befindet sich auf
+Seite~\iftimes{IV}{\textsc{iv}}.
+Um diese ersten Seiten des Buches brauchen Sie sich nicht zu kümmern,
+da diese vom Teubner Verlag separat erstellt werden.
+
+Es folgt auf Seite~\iftimes{V}{\textsc{v}} das
+\index{Vorwort}\new{Vorwort,} das normalerweise die Überschrift
+"`Vorwort"' erhält.
+Daran angeschlossen wird das
+\index{Inhaltsverzeichnis}\new{Inhaltsverzeichnis.}
+Eventuelle \index{Formelverzeichnis}Formel"~,
+\index{Abkürzungsverzeichnis}Abkürzungs"~,
+\index{Abbildungsverzeichnis}Abbildungs"= und
+\index{Tabellenverzeichnis}Tabellenverzeichnisse werden im Anhang
+eingefügt.
+Sie werden \emph{nicht} vor den eigentlichen Inhalt des Buches
+gesetzt.
+
+Nun wird die \index{Seitenzählung}Seitenzählung bei~1 in arabischen
+Zahlen neu begonnen.
+Diese Seitennummerierung wird für das restliche Buch beibehalten.
+Auf Seite~1 beginnt das erste Kapitel des Buchs.
+Der inhaltliche Anteil des Buches kann (muss aber nicht) in mehrere
+\index{Teil}\new{Teile} eingeteilt werden, die jeweils durch eine
+ungerade Seite, auf der nur der Name des Buchteils
+geschrieben steht, begonnen werden.
+Zum Beispiel stellt Seite~\pageref{part:allgemeines} dieser
+Richtlinien eine solche Teilüberschrift dar.
+Die einzelnen Teile können unnummeriert oder römisch durchnummeriert
+sein.
+
+Die Kapitel und Abschnitte werden arabisch nach dem Muster
+\index{Kapitel!nummerierung@"~nummerierung}1, 1.1, 1.1.1 nummeriert.
+
+Es folgt ein \index{Anhang}\new{Anhang,} der immer ein unnummerierter
+Teil, entsprechend dem eben beschriebenen, ist.
+Dort wird die \index{Kapitel!nummerierung@"~nummerierung}Nummerierung
+auf \iftimes{A}{\textsc{a}}, \iftimes{A.1}{\textsc{a}.1},
+\iftimes{A.1.1}{\textsc{a}.1.1} umgestellt.
+Der Anhang beginnt mit Kapiteln, die inhaltlichen Charakter haben,
+beispielsweise weitergehenden Herleitungen, die aus dem eigentlichen
+Inhalt des Buches herausfallen.
+
+Die letzten Kapitel des Anhanges werden duch die Verzeichnisse
+(\index{Literaturverzeichnis}Literaturverzeichnis,
+\index{Formelzeichenverzeichnis}Formelzeichenverzeichnis,
+\index{Stichwortverzeichnis}Stichwortverzeichnis, \ldots) gebildet.
+Dabei dürfen einzelne Verzeichnisse fortgelassen werden, sofern sie
+dem Autoren unnötig erscheinen.
+Allerdings sind das Literatur"= und das Stichwortverzeichnis
+obligatorisch.
+
+
+% ===================================================================
+\section{Seitenformat und "~aufteilung}%
+\label{sec:seitenformat}%
+\index{Seitenformat}%
+\index{Seitenaufteilung}%
+\index{Satzspiegel}%
+
+Für Bücher des Teubner Verlags stehen zwei
+\index{Format}\index{Papierformat}Formate zur Auswahl:
+\acro{DIN"~A\,5} ($\np[mm]{148}\times\np[mm]{210}$) und
+$\np[mm]{170}\times\np[mm]{240}$.
+Die Satzspiegel wurden mit
+$\np[mm]{115}\times\np[mm]{174}$ bzw.\
+$\np[mm]{135}\times\np[mm]{200}$ inklusive Kolumnentitel vom Verlag
+vorgegeben.
+
+Der äußere \index{Rand}Rand auf jeder Seite soll optisch genauso breit
+sein wie beide Ränder in der Buchmitte zusammen \cite{kohm2003a}.
+Damit dies erreicht wird, ist mittlere Rand auf einem vollständig
+sichtbarem Blatt (z.\,B.\ einem Probeausdruck) etwas breiter als der
+halbe äußere Rand, da in der Mitte etwas Fläche durch die Bindung
+verloren geht.
+
+
+% ===================================================================
+\section{Schriften}%
+\label{sec:schrift}%
+\index{Schrift}%
+
+Auch für die \index{Brotschrift}\new{Brotschrift} sind zwei Varianten
+möglich.
+Normalerweise wird die \index{Times Roman}%
+\iftimes{"`Times Roman"'}{{\usefont{T1}{ptm}{m}{n}"`Times Roman"'}}
+verwendet, die der Windows"=Standardschrift Times""New""Roman sehr
+ähnlich ist und daher ein einheitliches Aussehen von Büchern
+ermöglicht, die mit \LaTeX\ oder mit Microsoft Word erstellt
+wurden.\iftimes{\footnote{Das ist bei diesem Dokument der Fall.}}{}
+Mit ihr wird gegebenenfalls als serifenlose die \index{Helvetica}%
+\iftimes{\textsf{"`Helvetica"'}}{{\usefont{T1}{phv}{m}{n}"`Helvetica"'}}
+und als Schreibmaschinenschrift die \index{Courier}%
+\iftimes{\texttt{"`Courier"'}}{{\usefont{T1}{pcr}{m}{n}"`Courier"'}}
+kombiniert.
+
+Nach Absprache mit dem zuständigen Lektor kann aber auch die
+Schrift \index{European Computer Modern}%
+\iftimes{{\usefont{T1}{cmr}{m}{n}"`European Computer
+ Modern"'}}{"`European Computer Modern"'} Antiqua, die bei \LaTeX\
+weit verbreitet ist, verwendet
+werden.\iftimes{}{\footnote{Das ist bei diesem Dokument der Fall.}}
+Sie bricht zwar die Einheitlichkeit im Aussehen der Bücher etwas auf,
+bietet dafür aber, gerade im mathematischen Satz, einige
+Vorteile.\footnote{Sofern die kommerziellen Schriftpakete MathTime und
+ MathTimePlus von der Firma Y\,\&\,Y verfügbar sein sollten, kann
+ durch sie der mathematische Schriftsatz auch mit der Times vernüftig
+ gestaltet werden (siehe dazu Tabelle~\ref{tab:klassenoptionen} auf
+ Seite~\pageref{tab:klassenoptionen}.}
+Sie wird mit ihrer
+\iftimes{{\usefont{T1}{cmss}{m}{n}serifenlosen}}{\textsf{serifenlosen}}
+und
+\iftimes{{\usefont{T1}{cmtt}{m}{n}Schreibmaschinen}}%
+{\texttt{Schreibmaschinen}}"=Variante kombiniert.
+
+Für beide Schriftfamilien gilt, dass für den Fließtext der
+\index{Schriftgrad}%
+\index{Punkt (Maßeinheit)}Schriftgrad 10~Punkt (abgekürzt
+$\np[pt]{10}$)\footnote{Die Einheit "`Punkt"' ist nicht eindeutig
+ definiert.
+ In \LaTeX\ hat $\np[pt]{1}$ die Länge $\nicefrac{1}{72,27}$~inch.
+ Ein Postscript"=Punkt hat die Länge $\nicefrac{1}{72}$~inch und wird
+ in \LaTeX\ mit $\np[bp]{1}$ bezeichnet (für \engl{big point}).
+ Da der Unterschied so gering ist, dass er für Schriftgrößen
+ unerheblich ist, gehe ich nicht weiter auf den Unterschied ein.}
+verwendet wird.
+Weitere verwendete \index{Schriftgrad}Schriftgößen sind für
+Kapitelüberschriften 14,4 Punkt, für Abschnittsüberschriften 12~Punkt.
+Einige Bereiche, wie z.\,B.\ Bildunterschriften, werden in einer
+9"=Punkt"=Schrift gesetzt, Fußnoten in 8~Punkt.
+
+Bei Verwendung der European"=Computer"=Modern"=Schriftfamilie werden
+Zahlen im Text als
+\index{Mediävalziffer}\new{Mediävalziffern}
+(\cmoldstylenums{1234567890})%
+\iftimes{\footnote{Die Zahlenbeispiele werden in der European Computer
+ Modern gesetzt, da Mediävalziffern für die Times nicht zur
+ Verfügung stehen.}}{}
+geschrieben, da diese weniger als die meist verwendeten
+\index{Versalziffer}\new{Versalziffern}
+(\cmnewstylenums{1234567890}) aus dem Fließtext herausstechen.
+Beispielsweise sieht die Zahl \cmoldstylenums{1980} eher nach einem
+normalen Wort mit Kleinbuchstaben aus als \cmnewstylenums{1980}, das
+aussieht, als wäre es mit Versalien gedruckt.
+Noch auf"|fälliger ist es bei Telefonnummern.
+Zum Beispiel fällt (\cmoldstylenums{05\,31})
+\cmoldstylenums{3\,91}"=\cmoldstylenums{30\,62} im Text weniger auf
+und ist besser zu lesen als \cmnewstylenums{(05\,31) 3\,91"=30\,62}.
+Wird die Times verwendet, müssen Versalziffern verwendet
+werden, da für sie keine kostenlosen Mediävalziffern zur Verfügung
+stehen.
+
+In mathematischem Formelsatz werden im Gegensatz zum Text immer
+\index{Versalziffer}Versalziffern verwendet, um
+Verwechslungen mit tiefgestellten Zeichen wie Indizes zu vermeiden.
+Wegen dieser Unterscheidung ist es --~zumindest bei Verwendung der
+European Computer Modern~-- sehr wichtig, beim Erstellen des
+Dokumentes darauf zu achten, ob eine Zahl als Bestandteil des Textes
+(z.\,B. Jahresangaben, Telefonnummern, Postleitzahlen) oder als
+mathematische Formel gesehen werden soll.
+Achten Sie bitte auch dann auf die Unterscheidung, wenn Sie die Times
+verwenden.
+Vielleicht soll ja später doch auf European Computer Modern umgestellt
+werden.
+
+\new{Hervorhebungen}\index{Hervorhebung} im Text werden durch
+\emph{eine \index{kursiv}kursive Schrift} erzielt.
+Verwenden Sie bitte keinen \index{fett}\textbf{Fettdruck,} da er beim bloßen
+Anschauen der Seite sofort ins Auge springt.
+Normalerweise ist das aber nicht gewünscht. Stattdessen soll der Leser
+lediglich beim normalen Lesen des Textes erkennen, dass dieses Wort
+wichtig ist.
+Völlig verboten sind mehrfache Auszeichnungen wie z.\,B.\
+\emph{\bfseries fett und kursiv gleichzeitig.}
+Es bietet sich an, neu eingeführte Begriffe beim ersten Auftreten
+einmal kursiv zu drucken, wie es auch in den Autorenrichtlinien getan
+wird.
+Führen Sie bitte neue Begriffe nicht mit
+\index{Anführungszeichen}Anführungszeichen ein.
+Diese sollten nur dann verwendet werden, wenn wirklich auf einen
+zitierten Titel verwiesen wird oder das Wort ähnlich wörtlicher Rede
+(z.\,B.\ sprichwörtlich) verwendet wird.
+\begin{example}
+ Die Begriffe \new{Elastizitätsmodul}, \new{Streckgrenze} und
+ \new{Bruchdehnung} haben etwas mit Werkstoffkunde zu tun.
+
+ Eine hydraulische Prüfmaschine kann als wahre "`Kaputtmachmaschine"'
+ angesehen werden.
+\end{example}
+Als \index{Anführungszeichen|textbf}\new{Anführungszeichen} werden
+ausschließlich die nach innen zeigenden
+\index{Guillemet}\new{Guillemets} (französische Anführungszeichen,
+auch "`Möwchen"') "` und "' verwendet.
+Sowohl nach außen zeigende Guillemets \flqq\dots\frqq, die deutschen
+\quotedblbase\dots\textquotedblleft\ als auch englische
+Anführungsstriche (``\dots'') sind verboten.
+Für einfache Anführungszeichen gilt das Gleiche: Es dürfen nur \glq\
+und \grq\ verwendet werden.
+Dies ist folgendermaßen zu begründen (aus Friedrich Forssman, Ralf de
+Jong: \emph{Detailtypografie}, S.~179~\cite{forssman2002a}):
+\par
+\begin{quote}
+ Die \quotedblbase deutschen Anführungen\textquotedblleft\ sind
+ \emph{nicht so gut lesbar} [...] wie die "`Möwchen"',
+ \begin{compactitem}
+ \item denn sie gleichen den \emph{Apostrophen} und \emph{Kommas,}
+ \item sie stören die \emph{Zeilenbildung} durch ihr aus der
+ Zeilenmitte gerücktes Bild.
+ \end{compactitem}
+ \feinschliff{\sloppypar}{}{}{}%
+ Die \emph{französischen Anführungen} hingegen ähneln anderen
+ Interpunktionszeichen nicht und unterstützen die
+ Zeilenbildung.
+\end{quote}
+\par\noindent
+Wenn Ihnen diese Anführungszeichen ungewohnt erscheinen, schlagen Sie
+einmal einige beliebige Romane auf.
+Fast immer werden Guillemets verwendet.
+
+
+% ===================================================================
+\section{Absätze}%
+\label{sec:allg_absaetze}%
+\index{Absatz}%
+
+Im Fließtext wird \index{Blocksatz}\new{Blocksatz} verwendet.
+Die erste Zeile eines jeden Absatzes wird um den Betrag des
+Zeilenabstandes
+\index{Absatz!Einrückung}\index{Einrückung}eingerückt.
+Eine Ausnahme bildet der jeweils erste Absatz nach einer Kapitel"=
+oder Abschnittsüberschrift, nach einem Abschnittswechsel ohne
+Überschrift oder nach bestimmten, abgesetzt formatieren Bereichen, die
+später beschrieben werden.
+Für die richtige Einrückung wird automatisch gesorgt.
+Ein zusätzlicher \index{Durchschuss}\new{Durchschuss} (größerer
+Abstand) an Absätzen wird nicht vorgenommen.\footnote{Unter Umständen
+ werden Absätze doch ein wenig auseinander gezogen, wenn dadurch
+ verhindert werden kann, dass am unteren Rand des Satzspiegels Lücken
+ entstehen.
+ Dies ist unerwünscht, vgl. Abschnitt~\ref{sec:tex_feinschliff}.}
+
+Nach abgesetzten \index{mathematische Formel}mathematischen Formeln
+\index{Mathematik}hängt es vom Kontext ab, ob
+die folgende Zeile eingerückt wird oder nicht.
+Formeln gelten als ganz normale Satzteile.
+Geht nach ihnen der Satz oder der Gedankengang weiter, darf die
+nächste Zeile nicht eingerückt werden.
+Fängt ein neuer inhaltlicher Punkt an, so muss die nächste Zeile
+eingerückt werden.
+Das lässt sich an zwei einfachen Beispielen verdeutlichen.
+\begin{example}
+ \label{ex:absatz_bsp1}%
+ Irgendwann vor unserer Zeit wurde der mathematische Satz des
+ Pythagoras,
+ \begin{align*}
+ a^2+b^2 &= c^2\,,
+ \end{align*}%
+ entdeckt.
+ Er besagt, dass die Längen eines rechtwinkligen Dreiecks
+ zueinander in Beziehung stehen.
+\end{example}
+Hier wird der Satz nach der Formel fortgeführt.
+Es erfolgt keine Einrückung.
+Im nächsten Beispiel beginnt nach der Formel ein neuer Gedanke, der
+durch einen neuen Absatz kenntlich gemacht wird.
+\begin{example}
+ \label{ex:absatz_bsp2}%
+ Aus den Längenbeziehungen der Kanten eines rechtwinkligen
+ Dreiecks folgt der Satz des Pythagoras
+ \begin{align*}
+ a^2+b^2 &= c^2\,.
+ \end{align*}%
+
+ Anders sieht es bei schiefwinkligen Dreiecken aus.
+ Dort gilt eine entsprechende Gleichung nicht.
+\end{example}
+
+In Überschriften, Fußnoten, Bildunter"= und Tabellenüberschriften
+sowie im Literaturverzeichnis wird linksbündiger Flattersatz
+verwendet.
+Das geschieht aus unterschiedlichen Gründen:
+In Fußnoten, Bildunter"= und Tabellenüberschriften dient das
+unter anderem dazu, sie besser vom Fließtext abzuheben.
+In Überschriften und im Literaturverzeichnis würde Blocksatz zu
+unschönen Trennungen und zu auseinander gerissenen Wörtern, also zu
+lückenhaftem Satz führen.
+Das kann durch Flattersatz verhindert werden.
+In Kapitel"= und Abschnittsüberschriften werden außerdem
+Silbentrennungen verhindert.
+
+% ===================================================================
+\section{Kapitel und Abschnitte}%
+\index{Kapitelüberschrift}%
+\index{Abschnittsüberschrift}%
+
+Kapitel"= und Abschnittsüberschriften werden etwas größer und fett
+gesetzt.\footnote{Kapitelüberschriften in 14,4~Punkt,
+ Abschnittsüberschriften mit 12~Punkt und
+ Unterabschnittsüberschriften mit 10~Punkt.}
+Sie erhalten einen hängenden Einzug\index{Einzug!hängend}, d.\,h., bei
+mehrzeiligen Überschriften wird linksbündig auf den Beginn der ersten
+Zeile ausgerichtet, die auf die Abschnittsnummer folgt.
+Wie oben gesagt, werden Überschriften im Flattersatz gesetzt, und
+Silbentrennungen werden in ihnen unterdrückt.
+Der Einzug der Kapitel"= und Abschnittsüberschriften ist für alle
+Ebenen gleich, um einen Treppeneffekt bei direkt aufeinander folgenden
+Überschriften einer unterschiedlichen Ebene zu vermeiden.
+
+Bei Verwendung der European Computer Modern werden in Kapitel"= und
+Abschnittsüberschriften mathematische Symbole ebenfalls fett gedruckt,
+sofern nicht eine fette Auszeichnung für Vektoren und Tensoren
+verwendet wird.
+Mit der Times bleiben mathematische Symbole in Überschriften normal
+gesetzt.
+
+Kapitel beginnen immer auf einer neuen, ungeraden Seite.
+Es werden die obersten drei Kapitel"= bzw.\ Abschnittsebenen
+nummeriert und in das Inhaltsverzeichnis aufgenommen.
+Die weiteren Ebenen bleiben unnummeriert.
+
+Oberhalb des Textes wird ein so genannter \new{lebender
+ Kolumnentitel}\index{Kolumnentitel!lebend}%
+\index{lebender Kolumnentitel} gesetzt.
+Ganz außen wird jeweils die Seitenzahl gesetzt.
+Mit einem festen Abstand vom äußeren Rand wird auf geraden, also
+linken Seiten, die Überschrift des aktuellen Kapitels in einer
+9"=Punkt"=Schrift gesetzt, auf ungeraden Seiten die des laufenden
+Abschnittes.
+Seiten, auf denen ein neues Kapitel beginnt, erhalten keinen
+Kolumnentitel.
+
+\bigskip
+Eine Gliederungsstufe, die über einen Absatz hinaus geht, aber für eine
+neue Überschrift noch zu gering ist, wird durch einen vertikalen
+Zwischenraum gekennzeichnet.
+Der folgende Absatz wird nicht eingerückt, wie es bei diesem Absatz
+getan wurde.
+
+% ===================================================================
+
+\section{Mathematik}%
+\index{Mathematik|textbf}%
+\index{mathematische Formel|textbf}%
+\label{sec:mathematik}%
+
+Wie schon weiter oben erwähnt, werden im mathematischen Satz
+Versalziffern verwendet.
+Dies geschieht automatisch, wenn man die mathematischen Umgebungen des
+Satzsystems verwendet.
+Im deutschen Sprachraum ist es üblich, die Vor"= und Nachkommastellen
+durch ein Komma\index{Komma}\index{Dezimaltrennzeichen} zu trennen.
+Auch wenn viele Autoren durch den angelsächsischen Einfluss gerne zum
+Punkt greifen, soll in deutschsprachigen Büchern das korrekte Komma
+verwendet werden.
+Lange Zahlen sollten durch kleine Zwischenräume an jeder
+dritten Stelle besser lesbar gemacht werden, beispielsweise
+$\numprint{7543031,236304}$.
+
+Mathematische Symbole (Variablen\index{Variable}, Größen) werden immer
+kursiv gedruckt, auch wenn sie einzeln im Text vorkommen.
+Das wird durch folgendes Beispiel illustriert.
+\begin{example}
+ Die Länge der Hypotenuse $c$ ergibt sich aus den Katheten $a$ und
+ $b$ mit Hilfe des Satzes von Pythagoras zu
+ \begin{align*}
+ c^2 &= a^2 + b^2\,.
+ \end{align*}
+\end{example}
+
+Indizes\index{Index} werden je nach Bedeutung unterschiedlich gesetzt.
+Stellt der Index eine Laufvariable\index{Index!Laufvariable} oder ein
+Formelzeichen\index{Index!Formelzeichen} dar, so wird er kursiv
+dargestellt.
+\begin{example}
+ Die Komponenten $\sigma_{ij}$ des Spannungstensors werden nach
+ dem hookeschen Gesetz berechnet:
+ \begin{align*}
+ \sigma_{ij} &= \sum_{k=1}^3 \sum_{l=1}^3
+ C_{ijkl}\,\varepsilon_{kl} \quad\text{für $i=1\dots 3$, $j=1\dots
+ 3$}\,.
+ \end{align*}
+ Die Standardabweichung der Größe $x$ lautet $\mu_x$ und nicht
+ $\mu_{\mathrm{x}}$.
+\end{example}
+Bildet der Index hingegen einen Namen\index{Index!Name} oder eine
+Abkürzung\index{Index!Abkürzung}, so wird er aufrecht geschrieben.
+\begin{example}
+ Die Mittelspannung $\sigma_{\mathrm{m}}$ ist der Mittelwert der
+ Oberspannung $\sigma_{\mathrm{o}}$ und der Unterspannung
+ $\sigma_{\mathrm{u}}$:
+ \begin{align*}
+ \sigma_{\mathrm{m}} &= \frac{\sigma_{\mathrm{o}} +
+ \sigma_{\mathrm{u}}}{2}\,.
+ \end{align*}
+\end{example}
+
+Operatoren\index{Operator} und Funktionsnamen\index{Funktionsname}
+werden aufrecht gesetzt.
+Das gilt auch für die Differential"=\index{Differentialoperator} und
+Differenzenoperatoren\index{Differenzenoperator} $\d$ und
+$\D$.
+\begin{example}
+ Folgende Gleichungen sind auf jeden Fall richtig:
+ \begin{align*}
+ \sin^2\alpha + \cos^2\alpha &= 1\,,\\
+ \frac{\d(x^2)}{\d x} &= 2x\,,\\
+ x_2 - x_1 &= \D x\,.
+ \end{align*}
+\end{example}
+
+Wie in Abschnitt~\ref{sec:allg_absaetze} schon erwähnt, handelt es
+sich bei Formeln um Satzteile, die ganz normal mit entsprechenden
+Satzzeichen abgeschlossen werden.
+Das gilt auch, wenn vor der Formel ein ganzer Satz steht, der mit
+einem Doppelpunkt abgeschlossen ist.
+Auch mehrere Formeln, die direkt aufeinander folgen, gelten jeweils
+als Teilsätze, die durch Kommata getrennt werden.
+Die vorangegangenen und folgenden Beispiele zeigen dies.
+\begin{example}
+ Es gilt folgende Gleichung:
+ \begin{align*}
+ f(x) &= 3x^2+5x+3\,.
+ \end{align*}
+ Es gelten folgende Gleichungen:\footnote{Hier liest es sich: "`$f$
+ von $x$ ist gleich $3x^2+5x+3$, $g$ von $x$ ist gleich $7x^2-10x-11$."'}
+ \begin{align*}
+ f(x) &= 3x^2+5x+3\,,\\
+ g(x) &= 7x^2-10x-11\,.
+ \end{align*}
+ Aber es gilt\footnote{Hier liest sich die Formel: "`$f$ von $x$ ist
+ gleich $3x^2+5x+3+4x^2$ ist gleich $7x^2+5x+3$."'}
+ \begin{align*}
+ f(x) &= 3x^2+5x+3+4x^2\\
+ &= 7x^2+5x+3\,.
+ \end{align*}
+ Die Beziehung
+ \begin{align*}
+ a&= b+c
+ \end{align*}
+ führt auf dieses und jenes Ergebnis. Nach einer unglaublich langen
+ und unübersichtlichen Rechnung mit vielen Kniffen und Tricks, die
+ etwa drei Jahre gebraucht hat, also nach \emph{einfacher Umformung},
+ ergibt sich
+ \begin{align*}
+ E &= mc^2\,.
+ \end{align*}
+\end{example}
+Anders als im Fließtext, in dem Satzzeichen immer direkt auf das
+vorangehende Zeichen folgen, können sie im Formelsatz etwas von dem
+letzten Zeichen abgesetzt werden, wie es auch in den Beispielen
+getan wurde.
+
+Abgesetzte Formeln\index{Formel!abgesetzt} werden linksbündig mit
+einem festen Einzug gesetzt, wie es auch die Beispiele zeigen.
+Dieser Einzug muss dabei nicht für alle Zeilen eines Gleichungssystems
+gelten, wenn die einzelnen Zeilen auf ein bestimmtes Zeichen (z.\,B.\
+ein Gleichheitszeichen) ausgerichtet werden.
+Nur in Einzelfällen darf der Einzug reduziert werden, wenn dadurch
+verhindert werden kann, dass eine lange Formel über den rechten Rand
+hinaussteht.
+\feinschliff{}{\enlargethispage{\baselineskip}}{}{}%
+
+Abgesetzte Formeln können mit Formelnummern\index{Formelnummer}
+versehen werden.
+Diese werden innerhalb eines Kapitels fortlaufend nummeriert.
+Entscheiden Sie bitte inhaltlich, welche Formeln eine Nummer erhalten
+sollen.
+Nummeriert werden müssen natürlich alle Formeln, auf die innerhalb des
+Buches verwiesen wird.
+Dagegen sollten beispielsweise Einzelschritte einer Herleitung, auf
+die nicht explizit verwiesen wird, keine Formelnummer erhalten.
+Wichtige Formeln, auf die im Buch zwar nicht verwiesen wird, auf die
+sich aber vielleicht der Leser irgenwann beziehen könnte, sollten
+jedoch wieder eine Formelnummer erhalten.
+Halten Sie sich bitte an die Regel, nicht jeder Formel eine Nummer zu
+verpassen!
+
+Manchmal gehören mehrere Formelzeilen zusammen und sollten daher eine
+gemeinsame Nummer\index{Formelnummer!gemeinsam} erhalten.
+Wenn nicht auf eine einzelne der Zeilen referenziert werden soll,
+sollte eine gemeinsame Nummer vertikal zentriert gesetzt werden.
+Muss auf eine einzelne Zeile Bezug genommen werden, sollte eine
+Unternummerierung vorgenommen werden, wie das folgende Beispiel
+zeigt.
+\begin{example}
+ Es gilt folgendes Gleichungssystem:
+ \begin{subequations}
+ \begin{align}
+ 3a+4b &= 7\,, \label{eq:zeile1}\\
+ 6a-9b &= -20\,.
+ \end{align}
+ \end{subequations}
+ Durch Multiplizieren der Gleichung~\eqref{eq:zeile1} mit $2$ ergibt
+ sich das System
+ \begin{align*}
+ 6a+8b &= 14\,,\\
+ 6a-9b &= -20\,,
+ \end{align*}
+ aus dem sich durch Subtrahieren der Gleichungen folgende Ergebnisse
+ berechnen lassen:
+ \begin{align}
+ \begin{split}
+ a &= -\frac{1}{3}\,,\\
+ b &= 2\,.
+ \end{split}
+ \end{align}
+\end{example}
+
+Die Schreibweisen von Vektoren\index{Vektor}, Matrizen\index{Matrix}
+und Tensoren\index{Tensor} sind durch den Teubner Verlag nicht
+einheitlich festgelegt, da die Anforderungen in den einzelnen Werken
+weit auseinander gehen.
+Wichtig ist allerdings, dass die Notation innerhalb eines Buches
+strikt eingehalten und an geeigneter Stelle erklärt wird.
+
+\begingroup
+ \iftimes{\ifmathtime{}{\renewcommand\boldsymbol{\pmb}}}{}%
+Möglich sind beispielsweise für Vektoren diejenige mit einem Pfeil
+über dem Symbol ($\origvec{a}$, $\origvec{k}$, $\origvec{y}$), das
+Unterstreichen ($\vec{a}$, $\vec{k}$, $\vec{y}$),
+der Fettdruck ($\boldsymbol{a}$, $\boldsymbol{k}$,
+$\boldsymbol{y}$)\footnote{Bei Verwendung der
+ fetten Auszeichnung bei der Times ist die Qualität der fetten
+ mathematischen Symbole eingeschränkt, da keine fette Schrift für die
+ Mathematik zur Verfügung steht. Bei der European Computer Modern
+ sowie der Times unter Verwendung der kommerziellen
+ Y\,\&\,Y"=Schriften MathTime und MathTimePlus ist
+ die Qualität gut.} oder Fraktur ($\mathfrak{a}$,
+$\mathfrak{k}$, $\mathfrak{y}$), wovon ich allerdings abrate, da viele
+Leser diese Zeichen wohl gar nicht mehr erkennen\footnote{Das "`k"'
+ und das "`y"' hätte auch ich nicht erkannt.}.
+
+Matrizen können beispielsweise durch doppelte Pfeile
+($\origvec{\origvec{A}}$, $\origvec{\origvec{K}}$,
+$\origvec{\origvec{Y}}$), eine doppelte Unterstreichung
+($\matr{A}$, $\matr{K}$, $\matr{Y}$) oder durch
+Fettdruck ($\boldsymbol{A}$, $\boldsymbol{K}$, $\boldsymbol{Y}$)
+gekennzeichnet werden.
+\endgroup
+
+\new{Einheiten}\index{Einheit} werden aufrecht geschrieben, um sie
+von Variablen zu unterscheiden.
+Zwischen der Zahl und der Einheit erfolgt ein kleiner
+Zwischenraum.
+\begin{example}
+ $E=\np[MPa]{210000}$, $l=\np[m]{10}$.
+\end{example}
+Die einzige Ausnahme ist das Gradzeichen, das direkt auf die Zahl
+folgt.
+In der Form $\tccelsius$ ist aber wieder ein Zwischenraum vorhanden.
+\begin{example}
+ $\alpha=\np{30}\tcdegree$, $t=\np[\tccelsius]{300}$.
+\end{example}
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/hhfixme.sty b/macros/latex/contrib/bgteubner/doc/src/hhfixme.sty
new file mode 100644
index 0000000000..9da8619536
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/hhfixme.sty
@@ -0,0 +1,491 @@
+%%
+%% This is file `fixme.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fixme.dtx
+%%
+
+%% Renamed to hhfixme because the new version of fixme ist completely
+%% incompatible to the old one.
+
+%% Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Didier Verna
+
+%% This file is part of FiXme.
+
+%% FiXme may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.1
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.1 or later is part of all distributions of LaTeX
+%% version 1999/06/01 or later.
+
+%% FiXme consists of the files listed in the file `README'.
+
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesPackage{hhfixme}[2006/04/12 v3.2
+ Insert fixme notes in your documents]
+
+\RequirePackage{ifthen}
+\RequirePackage{verbatim}
+
+\newcommand*\fixmelogo{\textsf{FiXme}}
+
+\let\l@fixme\l@figure
+\newcommand\listoffixmes{}
+\def\listoffixmes@final{}
+\def\listoffixmes@draft{%
+ \IfFileExists{\jobname .lox}{\@listoffixmes@pretoc}{}%
+ \@starttoc{lox}%
+ \IfFileExists{\jobname .lox}{\@listoffixmes@posttoc}{}%
+ }
+
+\def\listoffixmes@draft@amsbook{\@starttoc{lox}\listfixmename}
+
+\newcommand*\listfixmename{}
+
+\def\@listoffixmes@pretoc@article{%
+ \section*{\listfixmename%
+ \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
+ }
+\def\@listoffixmes@posttoc@article{}
+
+\def\@listoffixmes@pretoc@report{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfixmename%
+ \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
+ }
+\def\@listoffixmes@posttoc@report{\if@restonecol\twocolumn\fi}
+
+\def\@listoffixmes@pretoc@book{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfixmename%
+ \@mkboth{\MakeUppercase\listfixmename}{\MakeUppercase\listfixmename}}%
+ }
+\def\@listoffixmes@posttoc@book{\if@restonecol\twocolumn\fi}
+
+\def\@listoffixmes@pretoc@scrartcl{%
+ \section*{\listfixmename%
+ \@mkboth{\listfixmename}{\listfixmename}}%
+ }
+\def\@listoffixmes@posttoc@scrartcl{}
+
+\def\@listoffixmes@pretoc@scrreprt{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfixmename%
+ \@mkboth{\listfixmename}{\listfixmename}}%
+ }
+\def\@listoffixmes@posttoc@scrreprt{\if@restonecol\twocolumn\fi}
+
+\def\@listoffixmes@pretoc@scrbook{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfixmename%
+ \@mkboth{\listfixmename}{\listfixmename}}%
+ }
+\def\@listoffixmes@posttoc@scrbook{\if@restonecol\twocolumn\fi}
+
+\newcommand\FXInline[2]{%
+ \textbf{#1}: \emph{#2}}
+\newcommand\FXMargin[2]{%
+ \marginpar{\footnotesize\raggedleft\textbf{#1}: \emph{#2}}}
+\newcommand\FXMarginClue[1]{%
+ \marginpar{\footnotesize\raggedleft\textbf{#1}~!}}
+\newcommand\FXFootnote[2]{%
+ \footnote{\textbf{#1}: \emph{#2}}}
+
+\newcommand*\fixmeindexname{}
+\newcommand\FXIndex[1]{%
+ \index{***@\fixmeindexname:!#1}}
+
+\newcommand*\fixmefatalprefix{}
+\newcommand\FiXmeInline[1]{\FXInline{\fixmefatalprefix}{#1}}
+\newcommand\FiXmeMargin[1]{\FXMargin{\fixmefatalprefix}{#1}}
+\newcommand\FiXmeFootnote[1]{\FXFootnote{\fixmefatalprefix}{#1}}
+\newcommand\FiXmeUser[1]{}
+\let\FiXmeUser\empty
+
+\newcommand\FiXmeIndex[1]{\FXIndex{#1}}
+\newcommand\FiXmeInfo[1]{}
+\newcommand\FiXmeWarning[1]{}
+
+\newif\iffixme@inline
+\newif\iffixme@margin
+\newif\iffixme@marginclue
+\newif\iffixme@footnote
+\newif\iffixme@user
+\newif\iffixme@index
+
+\let\fixme@setinline\fixme@inlinetrue
+\def\fixme@setmargin{%
+ \iffixme@marginclue%
+ \PackageWarning{FiXme}{%
+ Marginal notes requested; tunrning marginal clues off}%
+ \fixme@margincluefalse%
+ \fi%
+ \fixme@margintrue}
+\def\fixme@setmarginclue{%
+ \iffixme@margin%
+ \PackageWarning{FiXme}{%
+ Marginal clues requested; tunrning marginal notes off}%
+ \fixme@marginfalse%
+ \fi%
+ \fixme@margincluetrue}
+\let\fixme@setfootnote\fixme@fottnotetrue
+\let\fixme@setuser\fixme@usertrue
+\let\fixme@setindex\fixme@indextrue
+
+\def\fixme@text#1#2{%
+ \iffixme@inline\FXInline{#1}{#2}\fi%
+ \iffixme@margin\FXMargin{#1}{#2}\fi%
+ \iffixme@marginclue\FXMarginClue{#1}\fi%
+ \iffixme@footnote\FXFootnote{#1}{#2}\fi%
+ \iffixme@user\FXUser{#1}{#2}\fi}
+
+\DeclareOption{inline}{\fixme@setinline}
+\DeclareOption{noinline}{\fixme@inlinefalse}
+\DeclareOption{margin}{\fixme@setmargin}
+\DeclareOption{nomargin}{\fixme@marginfalse}
+\DeclareOption{marginclue}{\fixme@setmarginclue}
+\DeclareOption{nomarginclue}{\fixme@margincluefalse}
+\DeclareOption{footnote}{\fixme@footnotetrue}
+\DeclareOption{nofootnote}{\fixme@footnotefalse}
+\DeclareOption{user}{\fixme@usertrue}
+\DeclareOption{nouser}{\fixme@userfalse}
+\DeclareOption{index}{\fixme@indextrue}
+\DeclareOption{noindex}{\fixme@indexfalse}
+
+\DeclareOption{info}{}
+\DeclareOption{noinfo}{}
+\DeclareOption{warning}{}
+\DeclareOption{nowarning}{}
+
+\newcommand\FXNote[1]{%
+ \GenericInfo{%
+ (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+ Package FiXme Note: `#1'}}
+\newcommand\FXWarning[1]{%
+ \PackageWarning{FiXme}{`#1'}}
+\newcommand\FXError[1]{%
+ \GenericWarning{%
+ (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+ Package FiXme Error: `#1'}}
+\newcommand\FXFatal[1]{%
+ \GenericWarning{%
+ (FiXme)\@spaces\@spaces\@spaces\@spaces}{%
+ Package FiXme: `#1'}}
+
+\newif\iffixme@silent
+
+%% Options that control whether to be silent or not:
+\DeclareOption{silent}{\fixme@silenttrue}
+\DeclareOption{nosilent}{\fixme@silentfalse}
+
+\newcounter{fixmecount}
+\newcounter{fixmenotecount}
+\newcounter{fixmewarningcount}
+\newcounter{fixmeerrorcount}
+\newcounter{fixmefatalcount}
+
+\newcommand*\fixmenoteprefix{}
+\newcommand*\fixmenoteindexname{}
+\def\fixme@note@draft#1{%
+ \fixme@text{\fixmenoteprefix}{#1}%
+ \iffixme@index\FXIndex{\fixmenoteindexname\thefixmenotecount: #1}\fi%
+ \iffixme@silent\else\FXNote{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmenoteprefix: #1}}
+\def\fixme@note@final#1{%
+ \iffixme@silent\else\FXNote{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmenoteprefix: #1}}
+
+\newcommand*\fixmewarningprefix{}
+\newcommand*\fixmewarningindexname{}
+\def\fixme@warning@draft#1{%
+ \fixme@text{\fixmewarningprefix}{#1}%
+ \iffixme@index\FXIndex{\fixmewarningindexname\thefixmewarningcount: #1}\fi%
+ \iffixme@silent\else\FXWarning{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmewarningprefix: #1}}
+\def\fixme@warning@final#1{%
+ \iffixme@silent\else\FXWarning{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmewarningprefix: #1}}
+
+\newcommand*\fixmeerrorprefix{}
+\newcommand*\fixmeerrorindexname{}
+\def\fixme@error@draft#1{%
+ \fixme@text{\fixmeerrorprefix}{#1}%
+ \iffixme@index\FXIndex{\fixmeerrorindexname\thefixmeerrorcount: #1}\fi%
+ \iffixme@silent\else\FXError{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmeerrorprefix: #1}}
+\def\fixme@error@final#1{%
+ \iffixme@silent\else\FXError{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmeerrorprefix: #1}}
+
+\newcommand*\fixmefatalindexname{}
+\def\fixme@fatal@draft#1{%
+ \iffixme@inline\FiXmeInline{#1}\fi%
+ \iffixme@margin\FiXmeMargin{#1}\fi%
+ \iffixme@marginclue\FXMarginClue{\fixmefatalprefix}\fi%
+ \iffixme@footnote\FiXmeFootnote{#1}\fi%
+ \iffixme@user\FiXmeUser{#1}\fi%
+ \iffixme@index\FiXmeIndex{%
+ \fixmefatalindexname\thefixmefatalcount: #1}\fi%
+ \iffixme@silent\else\FXFatal{#1}\fi%
+ \addcontentsline{lox}{fixme}{\protect\fixmefatalprefix: #1}}
+\def\fixme@fatal@final#1{%
+ \PackageError{FiXme}{`#1' fixme left in final version}{%
+ You are processing your document in final mode,\MessageBreak
+ but you still have some critical FiXme's left behind.\MessageBreak
+ Type X to quit, fix your document, and rerun LaTeX.}}
+
+\def\@@fixme#1#2{%
+ \stepcounter{fixmecount}%
+ \stepcounter{fixme#1count}%
+ \csname fixme@#1\endcsname{#2}}
+\def\@fixme#1[#2]#3{%
+ \bgroup%
+ \fixme@inlinefalse%
+ \fixme@marginfalse%
+ \fixme@margincluefalse%
+ \fixme@footnotefalse%
+ \fixme@userfalse%
+ \fixme@indexfalse%
+ \@for\fixme@option:=#2\do{%
+ \expandafter\ifx\csname fixme@\fixme@option true\endcsname\relax
+ \PackageError{FiXme}{Unknown layout option `\fixme@option'}{%
+ You have given an invalid option to \string\fixme, or an \string\fx %
+ command.\MessageBreak
+ Valid options are `inline', `margin', `marginclue', `footnote', %
+ `user',\MessageBreak
+ and `index'.\MessageBreak
+ Type X to quit, fix your document, and rerun LaTeX.}%
+ \else%
+ \csname fixme@set\fixme@option\endcsname%
+ \fi}%
+ \@@fixme{#1}{#3}%
+ \egroup}
+\newcommand\fxnote{\@ifnextchar[%]
+ {\@fixme{note}}{\@@fixme{note}}}
+\newcommand\fxwarning{\@ifnextchar[%]
+ {\@fixme{warning}}{\@@fixme{warning}}}
+\newcommand\fxerror{\@ifnextchar[%]
+ {\@fixme{error}}{\@@fixme{error}}}
+\newcommand\fixme{\@ifnextchar[%]
+ {\@fixme{fatal}}{\@@fixme{fatal}}}
+
+\newcommand\FXEnvBegin{\begin{quotation}}
+\newcommand\FXEnvEnd{\end{quotation}}
+
+\def\@fxenvbegin@draft#1#2{%
+ \FXEnvBegin
+ \edef\fixme@args{inline%
+ \iffixme@index,index\fi%
+ \iffixme@marginclue,marginclue\fi}%
+ \csname#1\endcsname[\fixme@args]{#2}}
+\def\@fxenvbegin@final#1#2{
+ \edef\fixme@args{inline%
+ \iffixme@index,index\fi%
+ \iffixme@marginclue,marginclue\fi}%
+ \csname#1\endcsname[\fixme@args]{#2}
+ \comment
+}
+
+\def\@fxenvend@draft{\FXEnvEnd}
+\def\@fxenvend@final{\endcomment}
+
+\newenvironment{anfxnote}[1][]{%
+ \@fxenvbegin{fxnote}{#1}}{%
+ \@fxenvend}
+\newenvironment{anfxwarning}[1][]{%
+ \@fxenvbegin{fxwarning}{#1}}{%
+ \@fxenvend}
+\newenvironment{anfxerror}[1][]{%
+ \@fxenvbegin{fxerror}{#1}}{%
+ \@fxenvend}
+\newenvironment{afixme}[1][]{%
+ \@fxenvbegin{fixme}{#1}}{%
+ \@fxenvend}
+
+\DeclareOption{english}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Note}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Warning}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Error}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Notes:!}
+ \renewcommand*\fixmewarningindexname{**b@Warnings:!}
+ \renewcommand*\fixmeerrorindexname{**c@Errors:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{List of Corrections}}
+\DeclareOption{french}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Note}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Attention}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Erreur}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Notes:!}
+ \renewcommand*\fixmewarningindexname{**b@Avertissements:!}
+ \renewcommand*\fixmeerrorindexname{**c@Erreurs:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{Liste des Corrections}}
+\DeclareOption{francais}{\ExecuteOptions{french}}
+\DeclareOption{spanish}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Nota}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Aviso}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Error}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Notas:!}
+ \renewcommand*\fixmewarningindexname{**b@Avisos:!}
+ \renewcommand*\fixmeerrorindexname{**c@Errores:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{Lista de Correcciones}}
+\DeclareOption{italian}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Nota}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Avviso}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Errore}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Note:!}
+ \renewcommand*\fixmewarningindexname{**b@Avvisi:!}
+ \renewcommand*\fixmeerrorindexname{**c@Errori:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{Corrigenda}}
+\DeclareOption{german}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Anm}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Warnung}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Fehler}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Anmerkungen:!}
+ \renewcommand*\fixmewarningindexname{**b@Warnungen:!}
+ \renewcommand*\fixmeerrorindexname{**c@Fehler:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{Verzeichnis der Korrekturen}}
+\DeclareOption{ngerman}{%
+ \ExecuteOptions{german}}
+\DeclareOption{danish}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Note}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Advarsel}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Fejl}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Noter:!}
+ \renewcommand*\fixmewarningindexname{**b@Advarsler:!}
+ \renewcommand*\fixmeerrorindexname{**c@Fejl:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{Rettelser}}
+\DeclareOption{croatian}{%
+ \renewcommand*\fixmenoteprefix{\fixmelogo\nobreakspace Poruka}
+ \renewcommand*\fixmewarningprefix{\fixmelogo\nobreakspace Upozorenje}
+ \renewcommand*\fixmeerrorprefix{\fixmelogo\nobreakspace Gre\v ska}
+ \renewcommand*\fixmefatalprefix{\fixmelogo}
+ \renewcommand*\fixmeindexname{\fixmelogo}
+ \renewcommand*\fixmenoteindexname{**a@Poruke:!}
+ \renewcommand*\fixmewarningindexname{**b@Upozorenja:!}
+ \renewcommand*\fixmeerrorindexname{**c@Greske:!}
+ \renewcommand*\fixmefatalindexname{}
+ \renewcommand*{\listfixmename}{Popis korekcija}}
+
+\DeclareOption{final}{
+ \let\fixme@note\fixme@note@final
+ \let\fixme@warning\fixme@warning@final
+ \let\fixme@error\fixme@error@final
+ \let\fixme@fatal\fixme@fatal@final
+ \let\@fxenvbegin\@fxenvbegin@final
+ \let\@fxenvend\@fxenvend@final
+ \let\listoffixmes\listoffixmes@final
+ }
+
+\DeclareOption{draft}{
+ \@ifclassloaded{article}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article}{
+ \@ifclassloaded{report}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@report
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@report}{
+ \@ifclassloaded{book}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@book
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@book}{
+ \@ifclassloaded{scrartcl}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrartcl
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrartcl}{
+ \@ifclassloaded{scrreprt}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrreprt
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrreprt}{
+ \@ifclassloaded{scrbook}{
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@scrbook
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@scrbook}{
+ \@ifclassloaded{amsbook}{
+ \let\listoffixmes@draft\listoffixmes@draft@amsbook}{
+ %% Use the article layout by default.
+ \let\@listoffixmes@pretoc\@listoffixmes@pretoc@article
+ \let\@listoffixmes@posttoc\@listoffixmes@posttoc@article}
+ }
+ }
+ }
+ }
+ }
+ }
+ \let\fixme@note\fixme@note@draft
+ \let\fixme@warning\fixme@warning@draft
+ \let\fixme@error\fixme@error@draft
+ \let\fixme@fatal\fixme@fatal@draft
+ \let\@fxenvbegin\@fxenvbegin@draft
+ \let\@fxenvend\@fxenvend@draft
+ \let\listoffixmes\listoffixmes@draft
+}
+
+\ExecuteOptions{english,final,margin,nosilent}
+\ProcessOptions*
+
+\AtBeginDocument{%
+ \ifx\FiXmeUser\empty
+ \renewcommand\FiXmeUser[1]{\FXUser{\fixmefatalprefix}{#1}}
+ \fi}
+
+\AtEndDocument{%
+ \GenericWarning{%
+ (FiXme)\@spaces\@spaces\@spaces\@spaces
+ }{%
+ Package FiXme Summary: Number of notes: \thefixmenotecount,\MessageBreak%
+ Number of warnings: \thefixmewarningcount,\MessageBreak%
+ Number of errors: \thefixmeerrorcount,\MessageBreak%
+ Number of fatal errors: \thefixmefatalcount,\MessageBreak%
+ Total: \thefixmecount\@gobble%
+ }}
+\endinput
+%%
+%% End of file `fixme.sty'.
diff --git a/macros/latex/contrib/bgteubner/doc/src/hyphenation.tex b/macros/latex/contrib/bgteubner/doc/src/hyphenation.tex
new file mode 100644
index 0000000000..53c145e0c3
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/hyphenation.tex
@@ -0,0 +1,16 @@
+%
+% bgteubner class bundle
+%
+% hyphenation.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.
+\hyphenation{Unix Micro-soft Da-tei-endung}
diff --git a/macros/latex/contrib/bgteubner/doc/src/index.tex b/macros/latex/contrib/bgteubner/doc/src/index.tex
new file mode 100644
index 0000000000..a4b4c82928
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/index.tex
@@ -0,0 +1,48 @@
+%
+% bgteubner class bundle
+%
+% index.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.
+% ===================================================================
+\index{Buchteil|see{Teil}}%
+\index{Verzeichnis!Literatur-|see{Literaturverzeichnis}}%
+\index{Verzeichnis!Formel-|see{Formelverzeichnis}}%
+\index{Verzeichnis!Abkürzungs-|see{Abkürzungsverzeichnis}}%
+\index{Verzeichnis!Abbildungs-|see{Abbildungsverzeichnis}}%
+\index{Verzeichnis!Tabellen-|see{Tabellenverzeichnis}}%
+\index{Verzeichnis!Beispiele|see{Verzeichnis der Beispiele}}%
+\index{Verzeichnis!Aufgaben-|see{Aufgabenverzeichnis}}%
+\index{Verzeichnis!Stichwort-|see{Stichwortverzeichnis}}%
+\index{Schriftgröße|see{Schriftgrad}}%
+\index{Fotografie|see{Bild}}%
+\index{Zeichnung|see{Bild}}%
+\index{Diagramm|see{Bild}}%
+\index{Teilbild|see{Bild\subind Teilbild}}%
+\index{Tabellenunterschrift|see{Tabellenüberschrift}}%
+\index{Textelement!Beispiel|see{Beispiel}}%
+\index{Textelement!Aufgabe|see{Aufgabe}}%
+\index{Textelement!Lösung|see{Lösung}}%
+\index{Textelement!Anmerkung|see{Anmerkung}}%
+\index{Textelement!Aufzählung|see{Aufzählung}}%
+\index{Teilaufgabe|see{Aufgabe\subind Teil-}}%
+\index{Index|seealso{Stichwortverzeichnis}}%
+\index{Minuskelziffer|see{Mediävalziffer}}%
+\index{Majuskelziffer|see{Versalziffer}}%
+\index{Kapitel|seealso{Abschnitt}}%
+\index{Abschnitt|seealso{Kapitel}}%
+\index{Schriftgröße|see{Schriftgrad}}%
+\index{Ziffer!Mediäval-|see{Mediävalziffer}}%
+\index{Ziffer!Versal-|see{Versalziffer}}%
+\index{Auszeichnung|see{Hervorhebung}}%
+
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/installation.tex b/macros/latex/contrib/bgteubner/doc/src/installation.tex
new file mode 100644
index 0000000000..6c7442126e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/installation.tex
@@ -0,0 +1,494 @@
+%
+% bgteubner class bundle
+%
+% installation.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{Installation von \LaTeX\ und der Pakete}%
+\label{chap:installation}%
+
+
+\section{Installation von \LaTeX}%
+
+Der Teubner Verlag nimmt Ihr Manuskript im \acro{PDF}"=Format
+entgegen.
+Da \pdfLaTeX\ die Methode darstellt, mit der aus
+\LaTeX\ die saubersten \acro{PDF}"=Dateien erzeugt werden können,
+muss dieses Programm verwendet werden.
+Gerade \pdfLaTeX\ ist in der letzten Zeit stark weiterentwickelt
+worden, so dass eine möglichst moderne Version verwendet werden soll.
+Außerdem benötigt die \verb|bgteubner|"=Klasse einige Zusatzpakete in
+relativ neuen Versionen.
+Daher ist es häufig zweckmäßig, eine aktuelle \TeX"=Distribution zu
+verwenden.
+
+Mit \TeXLive\,8 steht eine Distribution zur Verfügung, die sowohl für
+Windows, Linux, viele Unix"=Derivate als auch Macintosh\footnote{Da es
+ sich bei Mac\,\acro{OS\,X} um einen Unix"=Dialekt
+ handelt, wird es im Weiteren nicht gesondert betrachtet.
+ Auf Unterschiede zu anderen Unixvarianten wird in der Anleitung zur
+ \TeXLive"~\acro{CD} hingewiesen, die dort im Verzeichnis
+ \url{texmf/doc/tldoc/} enthalten ist.} verfügbar ist.
+Daher wird an dieser Stelle nur beschrieben, wie sie installiert
+werden kann und wie die nicht enthaltenen Pakete nachinstalliert
+werden können.
+Sollten Sie eine andere \TeX"=Installation verwenden, wird die
+Installation anders verlaufen.
+In diesem Fall müssen Sie leider ohne meine Hilfe auskommen.
+
+Die \TeXLive"=8"=Installations"=\acro{CD} kann als so genannte
+Imagedatei von der Adresse \url{ftp://www.tug.org/texlive/Images/}
+heruntergeladen und auf \acro{CD} gebrannt werden.
+Zur Zeit ist sie in dem angegebenen Verzeichnis unter dem Dateinamen
+\url{rc-texlive-inst.iso} abgelegt.
+Wahrscheinlich wird sie nach Abschluss der Testphase umbenannt werden
+und dann etwa \url{texlive8-}\meta{Datum}\url{-cd1.iso.bz2} heißen.
+Die Dateiendung \url{.bz2} zeigt an, dass die Imagedatei gepackt ist.
+Unter Unix kann sie mit \verb|bunzip2| oder \verb|bzip2 -d| entpackt
+werden.
+Unter Windows sollten Programme wie \verb|WinZIP| das Entpacken
+übernehmen können.
+Außerdem kann sie im Handel bei der Buchhandlung Lehmanns
+(\url{http://www.lehmanns.de}) erworben werden.\footnote{Zum Zeitpunkt
+ der Fertigstellung dieses Dokuments war die Version~8 der
+ \TeXLive"=Distribution noch nicht erschienen.
+ Nach Auskunft der Entwickler steht die Fertigstellung kurz bevor.
+ \emph{Weichen Sie bitte nicht auf die Version~7 aus, da diese mittlerweile
+ stark verhaltet ist.}}
+
+Lesen Sie zur Installation bitte auch die Dokumentation zu \TeXLive,
+die auf der \TeXLive"=Installations"=\acro{CD} im Verzeichnis
+\url{texmf/doc/tldoc/deutsch/}\footnote{Unter Windows wird als Trenner
+ statt des \url{/} ein \texttt{\textbackslash} verwendet.
+ Bei Pfadangaben, die für beide Betriebssysteme gelten, verwende ich
+ einheitlich \url{/}.} enthalten ist.
+
+
+\subsection{Installation unter Unix}
+
+Im folgenden nehme ich an, dass das
+\acro{CD}"=\acro{ROM}"=Laufwerk unter \url{/media/cdrom}
+gemountet wird.
+Wechseln Sie zunächst in das Basisverzeichnis der \acro{CD} und
+rufen dort das Programm \verb|install-tl.sh| auf:\footnote{Die Zeichen
+ vor dem \texttt{\#} sind der Prompt, die Sie natürlich nicht
+ eintippen müssen.}
+\begin{verbatim}[\small]
+pc22:~ # cd /media/cdrom
+pc22:/media/cdrom # ./install-tl.sh
+\end{verbatim}
+Es erscheint der in Bild~\ref{fig:installation:install-tl.sh-1}
+gezeigte Startbildschirm.
+%
+\begin{figure}%
+ \centering
+ \includegraphics{bilder/01b}%
+ \caption{Startbildschirm des Installationsprogramms
+ \texttt{install-tl.sh}}%
+ \label{fig:installation:install-tl.sh-1}%
+\end{figure}%
+%
+Wählen Sie den Punkt \emph{customizing installation scheme: <C>
+ standard collections,} indem Sie die Taste "`c"' drücken.
+Es erscheint das in Bild~\ref{fig:installation:install-tl.sh-2}
+gezeigte Menü.
+%
+\begin{figure}%
+ \centering
+ \includegraphics{bilder/02b}%
+ \caption{Auswahl der zusätzlich zu installierenden Pakete}%
+ \label{fig:installation:install-tl.sh-2}%
+\end{figure}%
+%
+Fügen Sie die \emph{LaTeX supplementary packages} hinzu, indem Sie
+"`t"' drücken.
+Kehren Sie mit "`r"' zum Hauptmenü (\emph{platform menu}) zurück.
+Starten Sie nun die Installation durch Betätigen der Taste "`i"'.
+Nach einiger Zeit kehrt das Programm automatisch zum Prompt zurück.
+
+Nun müssen die \LaTeX"=Binärdateien in den Suchpfad aufgenommen
+werden.
+Soll dies systemweit geschehen, sollte der Pfad in der Datei
+\url{/etc/profile} gesetzt werden.
+Bei der SuSE"=8.2"=Distribution kann beispielsweise der kursiv
+gedruckte Code in diese Datei eingefügt werden:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+#
+# Make path more comfortable
+#
+if test -z "$PROFILEREAD" ; then
+ PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin
+ for dir in $HOME/bin/$CPU $HOME/bin ; do
+ test -d $dir && PATH=$dir:$PATH
+ done
+ test "$UID" = 0 && PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
+ for dir in /var/lib/dosemu \
+ /usr/games \
+ /opt/bin \
+ /opt/gnome2/bin \
+ /opt/gnome/bin \
+ /opt/kde3/bin \
+ /opt/kde2/bin \
+ /opt/kde/bin \
+ /usr/openwin/bin \
+ /opt/cross/bin
+ do
+ test -d $dir && PATH=$PATH:$dir
+ done
+|itshape for dir in /usr/TeX/bin/i386-linux
+ do
+ test -d $dir && PATH=$dir:$PATH
+ done
+|upshape unset dir
+ export PATH
+fi
+\end{verbatim}
+% $
+Die \LaTeX"=Binärdateien sollten möglichst weit vorne im Pfad stehen,
+damit sie vor vielleicht vorhandenen älteren Dateiversionen gefunden
+werden.
+
+Sorgen Sie dafür, dass die Programme wirklich im Suchpfad sind, bevor
+Sie fortfahren.
+Dies kann beispielsweise durch die Eingabe von \verb|which latex|
+überprüft werden.
+Wenn eine Ausgabe wie
+\begin{verbatim}[\small]
+/usr/TeX/bin/i386-linux/latex
+\end{verbatim}
+erscheint, ist dies der Fall.
+Bleibt die Ausgabe leer oder wird ein Pfad gezeigt, der nicht
+\url{/usr/TeX} enthält, muss der Pfad noch gesetzt werden.
+
+Installieren Sie nun das Paket \texttt{cm-super} nach,\footnote{Dies
+ ist auch nötig, wenn Sie die Times als Schriftart verwenden.} indem
+Sie folgende Befehlszeilen eintippen, die jeweils einige, hier nicht
+gezeigte, Ausgaben erzeugen:
+\begin{verbatim}[\small]
+pc22:/media/cdrom # ./install-pkg.sh --package=cm-super
+pc22:/media/cdrom # texhash
+pc22:/media/cdrom # updmap --enable Map cm-super-t1.map
+pc22:/media/cdrom # updmap --enable Map cm-super-t2a.map
+pc22:/media/cdrom # updmap --enable Map cm-super-t2b.map
+pc22:/media/cdrom # updmap --enable Map cm-super-t2c.map
+pc22:/media/cdrom # updmap --enable Map cm-super-ts1.map
+pc22:/media/cdrom # updmap --enable Map cm-super-x2.map
+pc22:/media/cdrom # texhash
+\end{verbatim}
+
+Wechseln Sie nun in das lokale \emph{TEXMF}"=Verzeichnis der
+\TeXLive"=Distribution:
+\begin{verbatim}[\small]
+pc22:/media/cdrom # cd /usr/TeX/texmf-local
+pc22:/usr/TeX/texmf-local #
+\end{verbatim}
+
+Einige Pakete sind in der \TeXLive"=Distribution nicht oder nur
+veraltet enthalten.
+Diese müssen noch nachinstalliert werden.
+Tauschen Sie dazu die \TeXLive"=\acro{CD} gegen die
+Installations"=\acro{CD} der \verb|bgteubner|"=Klasse.
+Entpacken Sie anschließend alle Dateien im Verzeichnis \url{pakete/}
+der \acro{CD}:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+pc22:/usr/TeX/texmf-local # unzip /media/cdrom/pakete/|meta[Dateiname]
+\end{verbatim}
+\feinschliff{\sloppypar\noindent}{}{}{}%
+Zum Zeitpunkt der Fertigstellung dieser Installationsbeschreibung
+waren folgende Dateien in dem Verzeichnis vorhanden:
+\url{bgteubner-1_08.zip},
+\url{framed-0_8a.zip},
+\url{ginpenc-1_0.zip},
+\url{hfoldsty-1_00.zip},
+\url{hhsubfigure-2_1_4a.zip},
+\url{hhtensor-0_6.zip},
+\url{layoutgrid-0_10.zip},
+\url{numprint-1_10.zip},
+\url{onlyamsmath-0_04.zip},
+\url{psnfss.zip},
+\url{slantsc-2_00.zip},
+\url{subfloat-2_14.zip} und
+\url{was.zip}.
+
+Zum Schluss muss noch die Dateidatenbank aktualisiert werden, indem
+Sie das Programm \verb|texhash| aufrufen.
+Testen Sie Ihre Installation, indem Sie wie im
+Abschnitt~\ref{sec:installation:test} verfahren.
+
+
+
+\subsection{Installation unter Windows}
+
+Starten Sie auf der \TeXLive"=Installations"=\acro{CD} das
+Installationsprogramm \verb|autostart.exe|, falls dies nicht
+automatisch beim Einlegen der \acro{CD} geschieht.
+Es erscheint der Startbildschirm, wie in
+Bild~\ref{fig:customizescheme} gezeigt.
+%
+\begin{figure}%
+ \centering
+ \includegraphics{bilder/bild4c}%
+ \caption{Startbildschirm der Installation, Markierung des Schalters
+ zum Modifizieren des Installationsschemas}%
+ \label{fig:customizescheme}%
+\end{figure}%
+%
+Wählten Sie als Installationsschema das \emph{"`Generic recommend
+ TeXLive scheme"'}.
+Markieren Sie zusätzlich die Schaltfläche \emph{I want to customize
+ the selected scheme,} wie in Bild~\ref{fig:customizescheme}
+gezeigt.
+Es folgt die Abfrage, welche Pakete bzw.\ Paketgruppe installiert
+werden soll.
+Wählen Sie hier zusätzlich zu den schon angekreuzten Paketen
+\url{texlive}--\url{tex_fontsextra}--\url{cm-super},
+\url{texlive}--\url{tex_latexextra} sowie, falls auf Ihrem Rechner
+Perl noch nicht installiert ist,
+\url{texlive}--\url{tex_xemtex}--\url{perl} aus.
+
+Führen Sie dann die Installation normal zu Ende
+
+Bei der Installation werden einige benötigte Pakete nicht installiert,
+oder sind nur in alten Versionen installiert, die von der
+Installations"=\acro{CD} der Teubner"=Dokumentklasse
+nachinstalliert werden müssen.
+Die zu installierenden Pakete sind in gepackter Form im Verzeichnis
+\url{pakete/} der \acro{CD} enthalten.
+Um sie zu installieren, wechseln Sie in das lokale
+\url{texmf}"=Verzeichnis der \TeXLive"=Installation
+(\url{C:\Programme\TeXLive\texmf-local}).
+Entpacken Sie dort die gepackten Dateien von der \acro{CD}.
+Die notwendige Verzeichnisstruktur wird dabei automatisch erzeugt.
+Zum Zeitpunkt der Fertigstellung dieser Installationsbeschreibung
+waren folgende Dateien in dem Verzeichnis vorhanden:
+\url{bgteubner-1_08.zip},
+\url{framed-0_8a.zip},
+\url{ginpenc-1_0.zip},
+\url{hfoldsty-1_00.zip},
+\url{hhsubfigure-2_1_4a.zip},
+\url{hhtensor-0_6.zip},
+\url{layoutgrid-0_10.zip},
+\url{numprint-1_10.zip},
+\url{onlyamsmath-0_04.zip},
+\url{psnfss.zip},
+\url{slantsc-2_00.zip},
+\url{subfloat-2_14.zip} und
+\url{was.zip}.
+
+Falls Sie für Windows keinen entsprechenden Entpacker (wie z.\,B.\
+WinZIP) besitzen, können Sie das entsprechende Programm
+\url{unzip.exe} von der \TeXLive"=\acro{CD} (Verzeichnis
+\url{support/}) verwenden.
+Das Entpacken geht dann unter Windows in der Eingabeauf"|forderung
+folgendermaßen unter der Annahme, dass das \acro{CD}"=Laufwerk
+den Buchstaben \url{D:} besitzt:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+C:\> cd C:\Proramme\TeXLive\texmf-local
+C:\Programme\TeXLive\texmf-local> unzip D:\pakete\|meta[Dateiname]
+\end{verbatim}
+
+Anschließend muss die Dateidatenbank aktualisiert werden, damit die
+neuen Pakete gefunden werden.
+Dies geschieht durch den Aufruf
+\emph{Programme -- TeXLive -- Maintenance -- Rebuild ls-R filenames
+ databases}.
+
+
+\subsection{Test der Installation}%
+\label{sec:installation:test}%
+
+Testen Sie zunächst, ob die Standard"=Postscript"=Type"~1"=Schriften
+automatisch eingebunden werden.
+Übersetzen Sie dazu das in Bild~\ref{fig:bspprogramm}
+gezeigte Programm mit \pdfLaTeX\ und öffnen Sie es mit dem Acrobat
+Reader.
+%
+\begin{figure}%
+ \centering
+ \newlength{\bildbreite}%
+ \settowidth{\bildbreite}{%
+ \small\ttfamily Hallo -textsf-Hallo- -texttt-Hallo-}%
+ \begin{minipage}{\bildbreite}
+\begin{verbatim}[\small]
+\documentclass{article}
+\usepackage{mathptmx}
+\usepackage[scaled=0.92]{helvet}
+\usepackage{courier}
+\begin{document}
+Hallo \textsf{Hallo} \texttt{Hallo}
+\end{document}
+\end{verbatim}
+ \end{minipage}
+ \caption{Beispielprogramm zum Testen, ob die Schriften eingebunden
+ werden}%
+ \label{fig:bspprogramm}%
+\end{figure}%
+%
+Öffnen Sie nun den Menüpunkt \emph{File -- Document Properties --
+ Fonts}.
+Wenn die Liste der verwendeten Schriften Bild~\ref{fig:times-ja}
+entspricht, sind die Schriften eingebunden.
+%
+\begin{figure}%
+ \hfil
+ \subfigure[Schriften eingebunden]{%
+ \includegraphics{bilder/times-ja2}%
+ \label{fig:times-ja}%
+ }%
+ \hfil\hfil
+ \subfigure[Schriften nicht eingebunden]{%
+ \includegraphics{bilder/times-nein2}%
+ \label{fig:times-nein}%
+ }%
+ \hfil
+ \caption{Überprüfung anhand des Acrobat Readers, ob die Schriften
+ eingebunden sind.}%
+\end{figure}%
+%
+Gleicht die Ausgabe hingegen eher Bild~\ref{fig:times-nein}, sind die
+Schriften nicht eingebunden.
+Falls dies der Fall ist, müssen Sie \pdfLaTeX\ dazu bringen, die
+Schriften doch einzubinden.
+Dies geht mit dem Programm \verb|updmap|, indem Sie folgende
+Befehlszeile eingeben:
+\begin{verbatim}[\small]
+updmap --setoption pdftexDownloadBase14 true
+\end{verbatim}
+
+Wenn die Autorenrichtlinien selbst fehlerfrei übersetzt werden können,
+sollte die \LaTeX"=Installation vernünftig installiert sein.
+Kopieren Sie, um dies zu testen, die Dateien im Verzeichnis
+\url{doc/src} inklusive der Unterverzeichnisse in ein Verzeichnis auf
+Ihrer Festplatte und übersetzen Sie die Datei mit folgender
+Befehlsfolge:
+\begingroup
+\feinschliff{\def\Name{\meta{N}}}{\def\Name{\meta{Name}}}%
+ {\def\Name{\meta{N}}}{\def\Name{\meta{N}}}%
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+pdflatex |Name
+pdflatex |Name
+makeindex -c -g -s bgteuglo.ist -o |Name.glscmd -t |Name.glgcmd |Name.glocmd
+bibtex |Name
+pdflatex |Name
+makeindex -c -g -s |Name.ist |Name
+pdflatex |Name
+\end{verbatim}
+Dabei ist \Name\ der Dateiname der Version, die Sie testen
+wollen:
+\begin{description*}
+\item [\texttt{bgteubner-17x24-times}:] Format $\np[mm]{170} \times
+ \np[mm]{240}$ mit der Brotschriftart Times,
+\item [\texttt{bgteubner-17x24-mathtime}:] Format $\np[mm]{170} \times
+ \np[mm]{240}$ mit der Brotschriftart Times und MathTime"=Erweiterungen,
+\item [\texttt{bgteubner-17x24-cm}:] Format $\np[mm]{170} \times
+ \np[mm]{240}$ mit der Brotschriftart European Computer Modern,
+\item [\texttt{bgteubner-a5-times}:] Format
+ \acro{DIN"~A\,5} mit
+ der Brotschriftart Times,\footnote{Die
+ \acro{DIN"~A"~5}"=Versionen wurden nicht auf
+ Umbrüche und zu große Bilder hin optimiert.}
+\item [\texttt{bgteubner-a5-cm}:] Format
+ \acro{DIN"~A\,5} mit der Brotschriftart European
+ Computer Modern.
+\end{description*}
+\endgroup
+
+Übersetzen Sie möglichst mindestens eine Variante mit der Schrift
+Times und eine Variante mit der European Computer Modern.
+Achten Sie bei den Übersetzungsläufen auf Fehler folgender
+Art:
+\begin{verbatim}[\small]
+! LaTeX Error: You have requested, on input line 206, version
+ `2003/05/19' of package numprint,
+ but only version
+ `2003/02/27 v0.22 Print numbers'
+ is available.
+\end{verbatim}
+Diese bedeuten, dass Sie nur eine veraltete Version des angegebenen
+Pakets installiert haben.
+Installieren Sie dann bitte eine Version des Pakets, die die
+angegebene Anforderung erfüllt.
+Fast alle verfügbaren Pakete sind auf den Servern des
+\acro{CTAN}"=Netzwerkes abgelegt.
+Einer dieser Server ist \url{http://www.dante.de} bzw.\
+\url{ftp://ftp.dante.de}.
+Von ihme sollten Sie eine aktuelle Version des Pakets herunterladen
+und installieren.
+
+
+\subsection{Test von MathTime}%
+\label{sec:installation:mathtimetest}%
+
+Falls Sie die MathTime"= und MathTimePlus"=Schriften haben, kann ein
+Problem auftreten, dass darin begründet ist, dass bei \TeXLive\
+defekte Dateien vorhanden sind.
+Es kann passieren, dass die fetten Mathematikschriften nicht verfügbar
+sind, obwohl sie installiert sind.
+Herausfinden können Sie es mit folgender Datei:
+\begin{verbatim}[\small]
+\documentclass{article}
+\usepackage[mtbold]{mathtime}
+\begin{document}
+$\alpha$\boldmath$\alpha$
+\end{document}
+\end{verbatim}
+Falls Sie zwei gleiche $\alpha$ erhalten, ist Ihr mathtime nicht
+korrekt installiert.
+Sie können dann die aktuellen mathtime"=Dateien von CTAN
+herunterladen, (vermutlich
+\url{ftp:/ftp.dante.de/tex-archive/macros/latex/psnfssx/mathtime}) und
+installieren.
+Danach sollte ein normales und ein fettes alpha erscheinen.
+
+
+
+\section{Installation von Hilfsprogrammen}%
+\label{sec:installation-hilfe}%
+
+Wie schon beschrieben, kann \pdfLaTeX\ folgende Dateiformate
+einbinden:
+\acro{JPG}, \acro{PNG} und \acro{PDF}.
+Dabei handelt es sich bei den ersten beiden Formaten um reine
+Pixel"=Formate, wobei \acro{JPG} nur für Fotos geeignet ist,
+\acro{PNG} für alle Arten, also auch Strichzeichnungen und
+Graphiken.
+Für Bilder, die ursprünglich als Vektordaten vorliegen, sind beide
+ungeeignet.
+
+Das \acro{PDF}"=Format ist universell und kann sowohl Vektor- als
+auch Pixeldaten enthalten.
+Das unter \LaTeX"=Anwendern sehr verbreitete \acro{EPS}"=Format
+kann von \pdfLaTeX\ leider nicht verarbeitet werden.
+Allerdings besteht die Möglichkeit, \acro{EPS}"=Dateien mit dem
+Programm \verb|epstopdf| in \acro{PDF} umzuwandeln.
+Dieses Programm verwendet den Postscript"=Interpreter Ghostscript.
+Beide Programme sind auf der \TeXLive"=\acro{CD} enthalten.
+Unter Linux ist \verb|epstopdf| standardmäßig
+installiert.
+Ghostscript kann von der \acro{CD} nachinstalliert
+werden.
+Allerdings ist aus lizenzrechtlichen Gründen auf der \acro{CD}
+nur eine ältere Version enthalten.
+Besser ist es, eine aktuelle Version aus dem Internet von
+\url{http://www.sourceforge.net} herunterzuladen.
+Allerdings müssen aktuelle Versionen (ab Version 8.0) selbst übersetzt
+werden.
+
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/kapitel2.tex b/macros/latex/contrib/bgteubner/doc/src/kapitel2.tex
new file mode 100644
index 0000000000..b8afe52c5b
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/kapitel2.tex
@@ -0,0 +1,8 @@
+% =========================================================
+\chapter{Kapitel 2}
+
+\section{Ein Abschnitt}
+
+Hier kommt Text.
+
+% =========================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/literatur.bib b/macros/latex/contrib/bgteubner/doc/src/literatur.bib
new file mode 100644
index 0000000000..0f45aeb327
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/literatur.bib
@@ -0,0 +1,177 @@
+%
+% bgteubner class bundle
+%
+% literatur.bib
+% Copyright 2003--2005 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.
+
+@Manual{amsmath1999a,
+ title = {User's Guide for the amsmath Package},
+ organization = {American Mathematical Society},
+ month = dec,
+ year = 1999,
+ language = {english},
+ note = {\foreignlanguage{ngerman}{In jeder \TeX"=Distribution
+ im Verzeichnis
+ \meta{TEXMF}\url{/doc/latex/amslatex/amsldoc.dvi}
+ vorhanden}}
+}
+
+@Manual{carlisle2000a,
+ title = {The longtable package},
+ author = {Carlisle, David},
+ month = oct,
+ year = 2000,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/macros/latex/contrib/longtable}
+}
+
+@Manual{cochran1995a,
+ title = {The subfigure package},
+ author = {Steven Douglas Cochran},
+ address = {Pittsburgh, USA},
+ month = mar,
+ year = 1995,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfigure}
+}
+
+@Book{forssman2002a,
+ author = {Forssman, Friedrich and de Jong, Ralf},
+ title = {Detailtypografie},
+ publisher = {Verlag Hermann Schmidt},
+ year = 2002,
+ address = {Mainz},
+ language = {ngerman},
+ isbn = {3-87439-568-5}
+}
+
+@Book{goossens1995a,
+ author = {Goossens, Michael and Mittelbach, Frank and Samarin,
+ Alexander},
+ title = {Der \LaTeX-Begleiter},
+ publisher = {Addison-Wesley},
+ year = 1995,
+ language = {ngerman},
+ isbn = {3-8273-7044-2}
+}
+
+@Manual{harders2001a,
+ title = {The numprint package},
+ author = {Harald Harders},
+ month = may,
+ year = 2003,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/macros/latex/contrib/numprint}
+}
+
+@Manual{harders2003a,
+ title = {Multilingual bibliographies: The babelbib package},
+ author = {Harders, Harald},
+ year = 2003,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/biblio/bibtex/babelbib}
+}
+
+@Book{kohm2003a,
+ author = {Kohm, Markus and Morawski, Jens-Uwe},
+ title = {KOMA"=Script},
+ publisher = {Lehmanns Fachbuchhandlung},
+ year = 2003,
+ language = {ngerman},
+ isbn = {3-936427-45-3}
+}
+
+@Book{lamport1995a,
+ author = {Lamport, Leslie},
+ title = {Das \LaTeX\ Handbuch},
+ publisher = {Addison-Wesley},
+ year = 1995,
+ address = {Bonn},
+ language = {ngerman},
+ isbn = {3-89319-326-1}
+}
+
+@Manual{oetiker2003a,
+ title = {The Not So Short Introduction to \LaTeXe},
+ author = {Oetiker, T. and Partl, H. and Hyna, I. and Schlegl, E.},
+ month = apr,
+ year = 2003,
+ url = {ftp://ftp.dante.de/tex-archive/info/lshort/english/lshort.pdf},
+ language = {english}
+}
+
+@Manual{patashnik1988a,
+ author = {Patashnik, Oren},
+ title = {Bib\TeX ing},
+ year = 1988,
+ url = {ftp://ftp.dante.de/tex-archive/biblio/bibtex/distribs/doc/ btxdoc.tex},
+ language = {english}
+}
+
+@Book{roesler2003a,
+ author = {R"osler, Joachim and Harders, Harald and B"aker, Martin},
+ title = {Mechanisches Verhalten der Werkstoffe},
+ publisher = {B.~G. Teubner},
+ year = 2003,
+ address = {Stuttgart},
+ edition = {1.},
+ language = {ngerman},
+ isbn = {3-519-00438-0}
+}
+
+@Manual{schmidt2003a,
+ title = {\LaTeXe-Kurzbeschreibung},
+ author = {Schmidt, W. and Knappen, J. and Partl, H. and Hyna, I.},
+ month = apr,
+ year = 2003,
+ url = {ftp://ftp.dante.de/tex-archive/info/lshort/german/l2kurz.pdf},
+ language = {ngerman}
+}
+
+@Manual{slantsc2003a,
+ title = {The slantsc package},
+ author = {Harders, Harald},
+ month = sep,
+ year = 2003,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/macros/latex/contrib/slantsc}
+}
+
+@Book{willberg1997a,
+ author = {Willberg, Hans Peter and Forssman, Friedrich},
+ title = {Lesetypographie},
+ publisher = {Verlag Hermann Schmidt},
+ year = 1997,
+ address = {Mainz},
+ language = {ngerman},
+ isbn = {3-87439-375-5}
+}
+
+@Manual{subfloat2003a,
+ title = {The subfloat package},
+ author = {Harald Harders},
+ month = aug,
+ year = 2003,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfloat}
+}
+
+@Manual{fear2003a,
+ title = {Publication quality tables in \LaTeX},
+ author = {Simon Fear},
+ month = mar,
+ year = 2003,
+ language = {english},
+ url = {ftp://ftp.dante.de/tex-archive/macros/latex/contrib/booktabs}
+}
+
diff --git a/macros/latex/contrib/bgteubner/doc/src/literatur.tex b/macros/latex/contrib/bgteubner/doc/src/literatur.tex
new file mode 100644
index 0000000000..9ef11fcb3a
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/literatur.tex
@@ -0,0 +1,24 @@
+%
+% bgteubner class bundle
+%
+% literatur.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.
+% ===================================================================
+%
+\bibliographystyle{bgteupln}
+%\bibliographystyle{bgteupln2}
+%\bibliographystyle{bgteuabbr}
+%\bibliographystyle{bgteuabbr2}
+\bibliography{literatur}
+
+% ===================================================================
diff --git a/macros/latex/contrib/bgteubner/doc/src/optionen-advanced.tex b/macros/latex/contrib/bgteubner/doc/src/optionen-advanced.tex
new file mode 100644
index 0000000000..3a898df61f
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/optionen-advanced.tex
@@ -0,0 +1,128 @@
+%
+% bgteubner class bundle
+%
+% optionen-advanced.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{Anmerkungen für versierte Nutzer}%
+\label{chap:optionen-advanced}%
+
+Da der normale Anwender die in diesem Anhang beschriebenen Dinge
+normalerweise nicht benötigt, sind sie kleiner gedruckt.
+
+\section{Erweiterte Klassenoptionen}
+\begin{advanced}
+ \setkomafont{caption}{\rmfamily\footnotesize\RaggedRight}%
+ \setkomafont{float}{\normalfont\normalcolor\footnotesize}%
+ \renewcommand{\subcapsize}{\footnotesize}%
+ %
+ Gegenüber den in Abschnitt~\ref{sec:tex:aufbau} beschriebenen
+ Klassenoptionen unterstützt \verb|bgteubner| einige weitere
+ Optionen, die normalerweise nicht verwendet werden sollen.
+ In den meisten Fällen führen sie zu einem Layout, das inkonsistent
+ mit den Vorgaben des Verlags ist.
+ In Tabelle~\ref{tab:klassenoptionen-advanced} sind diese Optionen
+ ohne ausführliche Erklärungen zusammengefasst.
+ %
+ \begin{table}%
+ \centering
+ \def\default{{\rmfamily*}}%
+ \caption{Selten benötigte Klassenoptionen der Klasse \texttt{bgteubner}.
+ Defaultmäßig aktivierte Optionen sind mit einem \default\
+ gekennzeichnet.}%
+ \label{tab:klassenoptionen-advanced}%
+ \begin{tabular}{>{\ttfamily}ll}
+ \toprule
+ \rmfamily Option& Erklärung \\
+ \midrule
+ headingoutside\default & Lebender Kolumnentitel außen \\
+ headinginside& Lebender Kolumnentitel innen \\
+ \midrule
+ tocindent\default & Inhaltsverzeichnis mit Einrückung setzen \\
+ tocleft& Inhaltsverzeichnis linksbündig \\
+ \midrule
+ springervieweg\default & Verlagsname Springer Vieweg auf der
+ Titelseite \\
+ viewegteubner & Verlagsname Vieweg+Teubner auf der Titelseite \\
+ bgteubner & Verlagsname B.\,G.\ Teubner auf der Titelseite \\
+% \midrule
+% epsfigures& Setzt Bilder auch bei normalem \LaTeX\ (dvi"=Ausgabe) \\
+ \bottomrule
+ \end{tabular}
+ \end{table}%
+\end{advanced}
+
+
+\section{\acro{PDF}"=Informationen für den Verlag}%
+\label{sec:pdf-informationen}%
+\begin{advanced}
+ \setkomafont{caption}{\rmfamily\footnotesize\RaggedRight}%
+ \setkomafont{float}{\normalfont\normalcolor\small}%
+ \renewcommand{\subcapsize}{\footnotesize}%
+ %
+ Bei der Erstellung des Dokuments sollen die Autoren einige Felder
+ bezüglich des Titels und der Autoren ausfüllen (Befehle \cs{title},
+ \cs{subtitle}, \cs{author}, \cs{edition}).
+ Diese werden in die Info"=Felder der \acro{PDF}"=Datei
+ geschrieben, die im \emph{Acrobat Reader} abgerufen werden können
+ (\emph{File -- Document Properties -- Summary}).
+ Im Feld \emph{Title} erscheint der Titel.
+ Das \emph{Subject}"=Feld wird für den Untertitel und die Auf"|lage
+ zweckentfremdet.
+ Die Autoren erscheinen im Feld \emph{Author}.
+ Das Feld \emph{Keywords} wird zweckentfremdet für die Angabe der
+ Anzahl der Abbildungen, Tabellen, Aufgaben, Beispiele usw.
+ Hier kann der Lektor des Teubner Verlags immer die aktuelle Anzahl
+ der entsprechenden Umgebungen ablesen, da diese für das Titelblatt
+ notwendig ist.
+ Es kann so nicht passieren, dass eine inkorrekte Zahl angegeben
+ wird.
+
+ Unter \emph{Creator} wird die Version der Dokumentklasse angegeben.
+ Dies ist in seltenen Fällen von Nutzen, um zu kontrollieren, ob eine
+ eventuelle alte Version verwendet wurde.
+
+ Das Erstellungsdatum im Feld \emph{Created} kann helfen, die neueste
+ Version des Manuskriptes zu finden.
+\end{advanced}
+
+
+\section{Befehle für Fortgeschrittene}%
+\label{sec:fortgeschrittene}%
+
+\begin{advanced}
+ Manchmal kann es nützlich sein zu prüfen, ob eine bestimmte Version
+ der Dokumentklasse verwendet wird.
+ Dazu können Sie in der Dokumentpräambel den Befehl
+\begin{verbatim}[\footnotesize\makeescape\|\makebgroup\[\makeegroup\]]
+\version|marg[Versionsnummer]
+\end{verbatim}
+ verwenden.
+
+ Möchten Sie zum Beispiel prüfen, ob Version 1.03 der Dokumentklasse
+ verwendet wird, schreiben Sie
+\begin{verbatim}[\footnotesize]
+\version{1.03}
+\end{verbatim}
+ in die Präambel.
+ Stimmen die angegebene und die tatsächliche Versionsnummer nicht
+ überein, wird eine Warnung in die Log"=Datei geschrieben.
+\end{advanced}
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/testtimes.tex b/macros/latex/contrib/bgteubner/doc/src/testtimes.tex
new file mode 100644
index 0000000000..4df9f16ed4
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/testtimes.tex
@@ -0,0 +1,22 @@
+%
+% bgteubner class bundle
+%
+% testtimes.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.
+\documentclass{article}
+\usepackage{mathptmx}
+\usepackage[scaled=0.92]{helvet}
+\usepackage{courier}
+\begin{document}
+Hallo \textsf{Hallo} \texttt{Hallo}
+\end{document}
diff --git a/macros/latex/contrib/bgteubner/doc/src/tex_aufruf.tex b/macros/latex/contrib/bgteubner/doc/src/tex_aufruf.tex
new file mode 100644
index 0000000000..b2b78a0d1a
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/tex_aufruf.tex
@@ -0,0 +1,96 @@
+%
+% bgteubner class bundle
+%
+% tex_aufruf.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.
+% ===================================================================
+%\documentclass[ngerman]{...}
+% ===================================================================
+\chapter{Aufruf der Programme}%
+\index{Programmaufruf}%
+
+Da der Teubner Verlag \acro{PDF}"=Dateien entgegennimmt und die
+besten Resultate durch die Verwendung von \pdfLaTeX\ erzielt werden
+konnten, wird vorgeschrieben, \pdfLaTeX\ zu verwenden.
+
+Nehmen wir an, dass die Hauptdatei des Dokuments \verb|buch.tex| heißt.
+Das Programm \pdfLaTeX\ wird mit
+\begin{verbatim}[\small]
+pdflatex buch
+\end{verbatim}
+\index{Programmaufruf!pdfLaTeX@\pdfLaTeX}%
+\index{pdfLaTeX@\pdfLaTeX!Programmaufruf}%
+aufgerufen.
+Um im Stichwortverzeichnis das richtige Layout zu erhalten, muss
+Makeindex folgendermaßen aufgerufen werden:
+\begin{verbatim}[\small]
+makeindex -c -g -s bgteubner.ist buch
+\end{verbatim}
+\index{Programmaufruf!makeindex@\texttt{makeindex}}%
+\index{makeindex@\texttt{makeindex}!Programmaufruf}%
+Außerdem muss das Literaturverzeichnis, das mit \BibTeX\
+erstellt werden soll, mit
+\begin{verbatim}[\small]
+bibtex buch
+\end{verbatim}
+\index{Programmaufruf!bibtex@\texttt{bibtex}}%
+\index{bibtex@\texttt{bibtex}!Programmaufruf}%
+erzeugt werden.
+
+\begingroup
+\feinschliff{\def\Typ{\meta{T}}}{\def\Typ{\meta{Typ}}}%
+ {\def\Typ{\meta{T}}}{\def\Typ{\meta{T}}}%
+Glossarähnliche Umgebungen werden ebenfalls mit dem Programm
+\verb|makeindex| erzeugt.
+Für einen Glossartypen \Typ\ lautet der Aufruf:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+makeindex -c -g -s bgteuglo.ist -t buch.glg|Typ -o buch.gls|Typ buch.glo|Typ
+\end{verbatim}
+\endgroup
+Statt \verb|bgteuglo.ist| kann auch \verb|bgteuglochar.ist| verwendet
+werden, wenn der Glossar Überschriften für die Buchstaben erhalten
+soll.
+Beispielsweise für einen mit dem Befehl \cs{makeglossary\marg{cmd}}
+eingerichteten Glossar:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+makeindex -c -g -s bgteuglo.ist -t buch.glgcmd -o buch.glscmd buch.glocmd
+\end{verbatim}
+
+Um auf jeden Fall ein richtig formatiertes Buch mit korrekten
+Querverweisen zu erhalten, muss \pdfLaTeX\ mehrmals aufgerufen werden.
+Folgende Aufruf"|folge ist denkbar:
+\begin{verbatim}[\small]
+pdflatex buch
+pdflatex buch
+makeindex -c -g -s bgteuglo.ist -t buch.glgcmd -o buch.glscmd buch.glocmd
+bibtex buch
+pdflatex buch
+pdflatex buch
+makeindex -c -g -s bgteubner.ist buch
+pdflatex buch
+\end{verbatim}
+In seltenen Fällen kann sogar noch häufigeres Übersetzen notwendig
+sein.
+
+Auch wenn in den meisten Fällen diese Prozedur übertrieben ist,
+sollte man sie zur Erstellung der endgültigen Datei, die an die
+Druckerei weitergegeben wird, einmal vollständig durchführen.
+Während der Erstellung des Buches ist das natürlich nicht notwendig.
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/tex_bilder.tex b/macros/latex/contrib/bgteubner/doc/src/tex_bilder.tex
new file mode 100644
index 0000000000..d8adf7936e
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/tex_bilder.tex
@@ -0,0 +1,428 @@
+%
+% bgteubner class bundle
+%
+% tex_bilder.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{Bilder und Tabellen}%
+\label{chap:tex:bilder}%
+
+Bilder und Tabellen sind so genannte
+\emph{Fließobjekte}\texindex{Fließobjekt}, die von der Stelle, an der
+sie im Quelltext stehen, an die Position im Dokument "`fließen"'.
+Da für beide größtenteils die gleichen Dinge gelten, werden sie hier
+gemeinsam am Beispiel von Bildern behandelt.
+
+% ===================================================================
+\section{Bilder}%
+\texindex{Bild}%
+
+Der Aufbau eines Bildes im Quelltext ist etwa folgendermaßen:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\begin{figure}%
+ \centering
+ \includegraphics|marg[Dateiname]%
+ \caption|marg[Bildunterschrift]%
+ \label|marg[Label]%
+\end{figure}%
+\end{verbatim}
+\envindex{figure}\macroindex{caption}\macroindex{label}%
+Der \verb|\centering|"=Befehl\macroindex{centering} sorgt dafür, dass
+das Bild horizontal zentriert gesetzt wird.
+Die von vielen \LaTeX"=Benutzern verwendete Umgebung
+\cs{begin\{center\}} \ldots\ \cs{end\{center\}}
+fügt vertikalen Platz ein und \emph{darf deshalb nicht verwendet
+ werden!}
+Anstelle des hier gezeigten \macroindex{includegraphics}%
+\feinschliff{Befehls
+ \cs{includegraphics}}{\cs{includegraphics}"=Befehls}%
+ {\cs{includegraphics}"=Befehls}{\cs{includegraphics}"=Befehls}
+können alle Dinge stehen, die zur Darstellung des Bildes notwendig sind,
+beispielsweise Unterbilder, erzeugt mit dem
+\verb|\subfigure|"=Befehl\macroindex{subfigure} \cite{cochran1995a},
+der zur Verfügung steht, weil automatisch das Paket \verb|hhsubfigure|
+geladen wird, das eine leicht veränderte Version des
+\verb|subfigure|"=Pakets ist.
+
+Die Angabe des Dateinamens im \verb|\includegraphics|"=Befehl sollte
+ohne die Dateiendung\texindex{Dateiendung} auskommen, da \pdfLaTeX\
+dann automatisch die entsprechende Endung auswählen kann.
+Da für den Teubner Verlag zur Erzeugung von \acro{PDF}"=Dateien das
+Programm \pdfLaTeX\texindex{pdflatex@\pdfLaTeX} verwendet werden muss,
+müssen alle Bilder in einem der folgenden Dateiformate vorliegen:
+\acro{JPG}\texindex{JPG"=Datei@\acro{JPG}"=Datei},
+\acro{PNG}\texindex{PNG"=Datei@\acro{PNG}"=Datei} oder
+\acro{PDF}\texindex{PDF"=Datei@\acro{PDF}"=Datei}.
+\acro{EPS}"=Dateien\texindex{EPS"=Datei@\acro{EPS}"=Datei} können
+nicht verarbeitet werden.
+Sie können jedoch unter Verwendung des Programms
+\verb|epstopdf|\srcindex{epstopdf} und Ghostscript\footnote{Sowohl
+ \texttt{epstopdf} als auch Ghostscript sind auf der
+ \TeXLive"=\acro{CD} enthalten. Siehe dazu auch
+ Anhang~\ref{sec:installation-hilfe}.} bzw.\ mit Adobe Acrobat ins
+\acro{PDF}"=Format umgewandelt werden.
+
+Die Bildunterschrift\texindex{Bildunterschrift} sollte so ausführlich
+sein, dass man den Bildinhalt versteht, auch ohne den Fließtext zu lesen.
+Wenn ein Bilderverzeichnis erstellt wird, sollte dann für das
+Bilderverzeichnis eine Kurzform der Bildunterschrift verwendet werden.
+Das wird erreicht, indem in eckigen Klammern die Kurzform angegeben
+wird:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+ \caption|oarg[Kurzform]|marg[Langform der Bildunterschrift]%
+\end{verbatim}
+\macroindex{caption}%
+Das Label muss \emph{in} den oder \emph{nach} dem
+\verb|\caption|"=Befehl eingefügt werden, da ansonsten die Bildnummer
+nicht zuverlässig richtig zugeordnet wird.
+
+Die Kommentarzeichen, die am Ende der Zeilen
+\verb|\begin{figure}|\envindex{figure} und \verb|\end{figure}|
+angehängt sind, sind in den meisten Fällen ohne Wirkung.
+Sie werden dann wichtig, wenn innerhalb eines Absatzes zwei
+Fließumgebungen aufeinander folgen, wie im folgenden Beispiel
+illustriert:
+\begin{verbatim}[\small]
+... Fließtext Fließtext.
+%
+\begin{figure}%
+ ...
+\end{figure}%
+%
+\begin{figure}%
+ ...
+\end{figure}%
+%
+Fließtext Fließtext ...
+\end{verbatim}
+Ohne die \verb|%|"=Zeichen
+würde in den Fließtext ein zusätzliches, unerwünschtes Leerzeichen
+eingefügt werden.
+Aus diesem Grund sollten Sie immer die Kommentarzeichen an die
+entsprechenden Zeilen anhängen.
+Wie im vorigen Beispiel gezeigt, ist es hier, wie auch bei den
+Formeln, sinnvoll, eine Gliederung des Quelltextes durch Zeilen, die
+nur ein Kommentarzeichen enthalten, zu erstellen.
+
+Die in \LaTeX\ mögliche Einschränkung der Fließumgebungsplatzierung
+(Stichwort \verb|htbp|) soll bei Büchern des Teubner Verlags nicht
+verwendet werden.
+In Ausnahmefällen sind die Parameter \verb|t| und \verb|p|
+erlaubt, \verb|h|, \verb|b| und \verb|!| jedoch nicht.
+
+Um die Fließumgebungen in der Nähe des zugehörigen Textes zu halten,
+ist es eine vernünftige Strategie, ein Bild oder eine Tabelle im
+Quelltext immer direkt nach dem entsprechenden Verweis einzufügen.
+Wenn man dabei überflüssige Leerzeilen vermeidet, werden auch keine
+unerwünschten Absätze erzeugt.
+Folgendes Beispiel illustriert das:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+Bild~\ref{fig:bild1} zeigt dies und jenes Verhalten.
+%
+\begin{figure}%
+ \centering
+ |meta[Bilddefinitionen]
+ \label{fig:bild1}%
+\end{figure}%
+%
+Auf der linken Seite ist |ldots zu sehen |ldots
+\end{verbatim}
+
+Sollen einzeln nummerierte Teilbilder wie in
+Bild~\ref{fig:bildpositionen} erzeugt werden, kann dies mit dem Befehl
+\cs{subfigure\oarg{Bildunterschrift}\marg{Bilddefinitionen}} erreicht
+werden.
+Anders als bei den Defaulteinstellungen des zugrunde liegenden
+\verb|subfigure|"=Pakets werden um die Teilbilder keine automatischen
+Abstände eingefügt.
+Dies muss vom Autoren selbst vorgenommen werden.
+Dadurch können die gewünschten Abstände exakt erzeugt werden.
+
+Sollen beispielsweise zwei Teilbilder nebeneinander gesetzt werden,
+kann dies durch folgenden Code erreicht werden:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\begin{figure}%
+ \hfil
+ \subfigure|oarg[Bildunterschrift 1]{%
+ \includegraphics|marg[Dateiname 1]%
+ \label|meta[Label 1]%
+ }%
+ \hfil
+ \subfigure|oarg[Bildunterschrift 2]{%
+ \includegraphics|marg[Dateiname 2]%
+ \label|meta[Label 2]%
+ }%
+ \hfil
+ \caption|marg[Bildunterschrift 3]%
+ \label|marg[Label 3]%
+\end{figure}%
+\end{verbatim}
+Die \cs{hfil}"=Befehle sorgen dafür, dass links, in der Mitte und
+rechts die gleichen Abstände gesetzt werden.
+Sollen die beiden Teilbilder dagegen links und rechts außen gesetzt
+werden, kann zwischen die beiden \cs{subfigure}"=Befehle ein
+\cs{hfill} geschrieben und die \cs{hfil} fortgelassen werden.
+
+Wird mit dem \cs{label}"=Befehl auf ein Teilbild verwiesen, so wird
+die Hauptbildnummer sowie die Teilbildnummer geschrieben, z.\,B.\
+"`Bild~\ref{fig:bildpositionen1}"'.
+Soll nur auf ein Teilbild verwiesen werden, zum Beispiel "`Siehe
+Teilbild~\subref{fig:bildpositionen1} aus
+Bild~\ref{fig:bildpositionen}"', so kann dies mit dem
+\cs{subref}"=Befehl getan werden, der ansonsten wie der
+\cs{label}"=Befehl verwendet wird.
+
+\bigskip
+Manchmal kommt es vor, dass in einem Bild so viele Informationen
+untergebracht werden sollen, dass diese nicht auf eine Seite passen.
+Es ist dann zweckmäßig, wenn die Bilder auf unterschiedlichen Seiten
+eine gemeinsame Bildnummer erhalten.
+Dies kann mit der \env{subfigures}"=Umgebung aus dem
+\verb|subfloat|"=Paket~\cite{subfloat2003a} erreicht werden.
+Diese wird \emph{außerhalb} der \env{figure}"=Umgebungen, die eine
+gemeinsame Nummer erhalten sollen, gesetzt, z.\,B.\ so:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\begin{subfigures}%
+\begin{figure}%
+ \centering
+ \includegraphics|marg[Dateiname 1]%
+ \caption|marg[Bildunterschrift 1]%
+ \label|marg[Label 1]%
+\end{figure}%
+|dots
+\begin{figure}%
+ \centering
+ \includegraphics|marg[Dateiname 2]%
+ \caption|marg[Bildunterschrift 2]%
+ \label|marg[Label 2]%
+\end{figure}%
+\end{subfigures}%
+\end{verbatim}
+Die Nummerierung der
+\feinschliff{einzelnen }{}{}{}%
+ Bilder erhält zusätzlich zur
+gemeinsamen Nummer eine Nummerierung des Teilbildes in der Form
+"`Bild~\meta{Hauptnummer}\,(\meta{Teilnummer}/\meta{Anzahl})"', z.\,B.\
+"`Bild~3.1\,(1/3)"'.
+
+
+% ===================================================================
+\section{Tabellen}%
+\label{sec:tex:tabellen}%
+\texindex{Tabelle}%
+
+Eine Tabelle\texindex{Tabelle} wird folgendermaßen erzeugt:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\begin{table}%
+ \centering
+ \caption|marg[Tabellenüberschriftstext]%
+ \label|marg[Label]%
+ \begin{tabular}|marg[Spaltendefinition]
+ \toprule
+ |meta[Tabellenkopf] \\
+ \midrule
+ |meta[Tabelleninhalt] \\
+ \midrule
+ |meta[Tabellenfuß] \\
+ \bottomrule
+ \end{tabular}
+\end{table}%
+\end{verbatim}
+\envindex{table}\envindex{tabular}%
+Der wichtigste Unterschied zu einem Bild ist, dass die
+Tabellenüberschrift\texindex{Tabellenüberschrift} \emph{vor} der
+eigentlichen Tabelle definiert wird, damit sie auch wirklich als
+Überschrift gesetzt wird.
+Der \meta{Tabellenfuß} (inklusive dem vorangehenden \cs{midrule}) ist
+häufig nicht nötig und kann weggelassen werden, wie es auch in
+Tabelle~\ref{tab:tabelle_beispiel} getan wurde.
+
+In der Tabelle selbst werden
+\feinschliff{--~wie im Sourcecode oben zu sehen~-- }{}{}{}%
+zur Unterteilung die Befehle
+\verb|\toprule|\macroindex{toprule},
+\verb|\midrule|\macroindex{midrule} und
+\verb|\bottomrule|\macroindex{bottomrule} verwendet, die horizontale
+Linien unterschiedlicher Dicke erzeugen.
+Ein weiterer Unterschied zu dem normalen Befehl
+\verb|\hline|\macroindex{hline}, der nicht
+verwendet werden darf, besteht in den Abständen, die bei den drei
+Befehlen besser gestaltet werden.
+Als Ersatz für den \verb|\cline|"=Befehl\macroindex{cline} dient der
+Befehl \verb|\cmidrule|\macroindex{cmidrule}.
+Die Verwendung dieses Befehls ist in der Beschreibung zum
+\verb|booktabs|"=Paket~\cite{fear2003a} erläutert.
+
+In der Spaltendefinition der
+\verb|tabular|"=Umgebung\envindex{tabular} darf das Symbol für
+vertikale Linien (\verb/|/) nicht verwendet werden, da, wie in
+Abschnitt~\ref{sec:tabellen} beschrieben, nur horizontale Linien
+verwendet werden dürfen.
+
+Mehrseitige Tabellen werden mit der \env{longtable}"=Umgebung gesetzt.
+Konsultieren Sie bitte für eine ausführliche Beschreibung die
+Dokumentation zum \verb|longtable|"=Paket~\cite{carlisle2000a}.
+An dieser Stelle wird nur eine kurze Einführung gegeben.
+
+Eine lange Tabelle wird folgendermaßen definiert:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\begin{longtable}|marg[Spaltendefinition]
+ \caption|marg[Tabellenüberschriftstext]\label|marg[Label]\\
+ %
+ \toprule
+ |meta[Tabellenkopf] \\
+ \midrule
+ \endhead
+ |meta[Tabellenfuß] \\
+ \bottomrule
+ \endfoot
+ |meta[Tabelleninhalt] \\
+\end{longtable}
+\end{verbatim}
+%
+Wichtige Unterschiede zu normalen Tabellen sind diese:
+\begin{itemize*}
+\item Die \env{longtable}"=Umgebung wird nicht wie die
+ \env{tabular}"=Umgebung von einer \env{table}"=Umgebung umschlossen,
+ sondern steht für sich alleine.
+\item Für die Zentrierung muss nicht explizit gesorgt werden.
+\item Der \cs{caption}"=Befehl wird innerhalb der
+ \env{longtable}"=Umgebung angegeben.
+ Das Label sollte im Argument des \cs{caption}"=Befehls oder direkt
+ \emph{danach} definiert werden.
+ Es folgt --~anders als in der \env{table}"=Umgebung~-- ein
+ expliziter Zeilenumbruch mit Hilfe des
+ \cs{\textbackslash}"=Befehls.
+\item Die Tabelle wird nicht durchgängig in der Reihenfolge definiert,
+ in der sie gesetzt wird.
+ Zunächst werden die Tabellenzeilen und Linien definiert, die auf
+ jeder Seite den Tabellenkopf bilden (Im Beispiel
+ \meta{Tabellenkopf}).
+ Ihre Definition wird mit \cs{endhead} abgeschlossen.\footnote{Soll
+ sich der Tabellenkopf auf der ersten Tabellenseite von den anderen
+ unterscheiden, kann zusätzlich ein mit \cs{endfirsthead}
+ abgeschlossener Abschnitt eingefügt werden.}
+ Es folgt die Definition des \meta{Tabellenfuß}es, die mit
+ \cs{endfoot} abgeschlossen werden.\footnote{Hier kann für die letzte
+ Seite ein Bereich mit \cs{endlastfoot} eingefügt werden.}
+ Auch wenn kein Tabellenfuß vorgesehen ist, sollte hier zumindest ein
+ \cs{bottomrule} enthalten sein, damit die Tabelle auf jeder Seite am
+ Fuß eine Linie erhält.
+ Als letztes wird der eigentliche Inhalt der Tabelle definiert.
+\item Da \env{longtable}"=Umgebungen im Gegensatz zu
+ \env{table}"=Umgebungen nicht fließen, kann es vorkommen, dass die
+ Reihenfolge der Tabellen an einer langen Tabelle durcheinander
+ gerät.
+ Achten Sie bitte selbst darauf, dass die Reihenfolge korrekt
+ bleibt.
+ Verschieben Sie zum Beheben des Problems beispielsweise die
+ Definition der fließenden Tabellen etwas im Sourcecode.
+\end{itemize*}
+Es kann vorkommen, dass eine Linie in der Mitte der Tabelle auf
+den Fuß der Seite fällt, so dass zwei Linien direkt aufeinander
+folgen.
+Dies ist nicht erwünscht.
+Leider bietet \LaTeX\ keine Möglichkeit, dies zu verhindern.
+Daher muss der Autor selbst dafür sorgen, dass die überflüssige Linie
+entfernt wird.
+Dies wird normalerweise dadurch erreicht, dass der
+\cs{midrule}"=Befehl in der Definition des Tabelleninhalts
+auskommentiert wird.
+Dies sollte allerdings als eine der letzten Arbeiten am Dokument getan
+werden, da jede noch so geringfügige Änderung am Umbruch dafür sorgt,
+dass die Linien --~wie gewünscht~-- nicht mehr aufeinandertreffen.
+Hat der Autor die Linie voreilig gelöscht, so fehlt sie dann in
+der Tabelle.
+
+% ===================================================================
+\section{Eigene Fließumgebungen}%
+\label{sec:tex:fliessumgebung}%
+\texindex{Fließumgebung}%
+
+Außer Bildern und Tabellen kann es auch notwendig werden, weitere
+Fließumgebungen einzurichten.
+Beispielsweise kann der Autor zwischen Grafiken und Fotografien
+unterscheiden wollen.
+
+Neue Fließumgebungen können mit Hilfe des \LaTeX"=Pakets
+\texttt{float} erzeugt werden.
+Es wird mittels
+\begin{verbatim}[\small]
+\usepackage{float}
+\end{verbatim}
+eingebunden.
+
+Eine neue Fließumgebungsart wird schließlich mit folgender
+Befehlsfolge eingerichtet:
+\begin{verbatim}[\small\makeescape\|\makebgroup\(\makeegroup\)]
+\floatstyle|marg(Position)
+\newfloat|marg(Typ){tp}|marg(Dateiendung)[chapter]
+\floatname|marg(Typ)|marg(Überschrift)
+\end{verbatim}
+Dabei wird für \meta{Position} entweder \texttt{komaabove} oder
+\texttt{komabelow} eingesetzt, je nachdem, ob die Legende als
+Überschrift (wie bei Tabellen) oder als Unterschrift (wie bei Bildern)
+gesetzt wird.
+Die anderen vom \texttt{float}"=Paket angebotenen Stile dürfen nicht
+verwendet werden.
+
+\meta{Typ} ist der Name der neu eingerichteten Umgebung.
+\texttt{\{tp\}} sorgt für die korrekte Platzierung der neuen
+Fließumgebung.
+Die Optionen \texttt{h} und \texttt{b} dürfen nicht verwendet werden.
+Die \meta{Dateiendung} gibt die Endung der Datei für das Verzeichnis
+der neuen Fließumgebung an.
+Bilder verwenden z.\,B.\ \texttt{lof} für "`List of figures"'.
+Es ist darauf zu achten, dass eine Endung verwendet wird, die noch
+unbenutzt ist.
+Der Eintrag \texttt{[chapter]} sorgt dafür, dass die neue Fließumgebung
+kapitelweise nummeriert wird, wie es auch bei den Bildern und Tabellen
+getan wird.
+
+Mit \cs{floatname} wird für den Fließumgebungs"=\meta{Typ} festgelegt,
+welche \meta{Überschrift} sie trägt.
+
+Beispielsweise erzeugt
+\begin{verbatim}[\small]
+\floatstyle{komabelow}
+\newfloat{graphics}{tp}{gra}[chapter]
+\floatname{graphics}{Grafik}
+\end{verbatim}
+die \texttt{graphics}"=Umgebung, die wie eine
+\texttt{figure}"=Umgebung die Legende unter dem Umgebungsinhalt hat,
+die wiederum die Überschrift "`Grafik"' trägt, wie in
+der Beispielgrafik~\ref{gra:beispiel1} gezeigt.%
+%
+\begin{graphics}%
+ \centering
+ Hier wäre eine Grafik \ldots
+ \caption{Dies ist die Legende zur Grafik.}%
+ \label{gra:beispiel1}%
+\end{graphics}%
+
+Ein Verzeichnis der neuen Fließumgebung wird mit dem Befehl
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\listof|marg[Typ]|marg[Überschrift]
+\end{verbatim}
+erzeugt, beispielsweise mit folgendem Befehl:
+\begin{verbatim}[\small]
+\listof{graphics}{Verzeichnis der Grafiken}
+\end{verbatim}
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/tex_globales.tex b/macros/latex/contrib/bgteubner/doc/src/tex_globales.tex
new file mode 100644
index 0000000000..77c752af0b
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/tex_globales.tex
@@ -0,0 +1,974 @@
+%
+% bgteubner class bundle
+%
+% tex_globales.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{Globales}%
+\texindex{Globales}%
+
+Zur Erstellung der Bücher für den Teubner Verlag werden die
+Dokumentklasse \verb|bgteubner| sowie einige weitere Dateien, wie
+zusätzliche notwendige Pakete, zur Verfügung gestellt.
+Wie sie installiert werden können, ist in einer Installationsanleitung
+ab Seite~\pageref{chap:installation} erläutert.
+In diesem Teil der Anleitung wird dargestellt, wie das im vorigen Teil
+vorgestellte Layout mit \LaTeX\ verwirklicht wird.
+
+% ===================================================================
+\section{Aufbau des Dokumentes}%
+\label{sec:tex:aufbau}%
+\texindex{Aufbau}%
+
+Zur Erstellung eines Buches wird die Dokumentklasse
+\verb|bgteubner.cls|\clsindex{bgteubner.cls} verwendet, die am Beginn
+des Dokuments mit folgender Zeile aufgerufen wird:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\documentclass|oarg[Sprachen,Optionen]{bgteubner}
+\end{verbatim}
+\macroindex{documentclass}%
+Als Sprachen müssen alle im Dokument verwendeten Sprachen angegeben
+werden.
+Dazu gehören auch alle im Literaturverzeichnis vorkommenden Sprachen.
+Die "`Hauptsprache"' des Buchs wird als \emph{letzter} Eintrag
+angegeben.
+Beispielsweise führt der Eintrag
+\begin{verbatim}[\small]
+\documentclass[frenchb,english,ngerman]{bgteubner}
+\end{verbatim}
+\optindex{frenchb}\optindex{english}\optindex{ngerman}%
+zu einem deutschen Buch nach neuen Rechtschreibregeln, in dem
+englische und französische Sprachabschnitte erlaubt sind.
+Sollte das Buch noch nach alten Regeln geschrieben werden, so kann
+statt \verb|ngerman| \verb|german|\optindex{german} verwendet werden.
+Es ist nicht notwendig und nicht zulässig, eine Sprache explizit mit
+einem der Pakete \verb|babel|\styindex{babel} oder \verb|(n)german| zu
+wählen, da die Klasse \verb|bgteubner| schon alles notwendige
+einstellt.\footnote{Intern wird \texttt{babel} verwendet.}
+Sollten französische Abschnitte oder Literaturverweise vorkommen, so
+verwenden Sie bitte die Sprachoption \verb|frenchb| statt
+\verb|french|, da das \verb|babel|"=Paket dort einen Bug enthält, der
+bei \verb|frenchb| nicht auftritt.
+
+Als \meta{Optionen} können unterschiedliche Dinge dienen.
+Tabelle~\ref{tab:klassenoptionen} gibt einen Überblick.
+%
+\begin{table}%
+ \begin{minipage}{\linewidth}
+ \centering
+ \def\default{{\rmfamily*}}%
+ \caption{Klassenoptionen der Klasse \texttt{bgteubner}.
+ Defaultmäßig aktivierte Optionen sind mit einem \default\
+ gekennzeichnet.}%
+ \index{MathTime}%
+ \index{MathTimePlus|see{MathTime}}%
+ \index{Y\,\&\,Y!MathTime|see{MathTime}}%
+ \label{tab:klassenoptionen}%
+ \begin{tabular}{>{\ttfamily}ll}
+ \toprule
+ \rmfamily Option& Erklärung \\
+ \midrule
+ a5paper& Papiergröße \acro{DIN"~A\,5}, vgl.\
+ Abschnitt~\ref{sec:seitenformat} \\
+ 17x24paper\default& Papiergröße $\np[mm]{170}\times\np[mm]{240}$,
+ vgl.\ Abschnitt~\ref{sec:seitenformat} \\
+ \midrule
+ times\default & Verwendung der Times als Brotschrift, vgl.\
+ Abschnitt~\ref{sec:schrift} \\
+ mathtime & Verwendung der Times als Brotschrift mit MathTime- und
+ MathTimePlus"=\\
+ & Schriften von Y\,\&\,Y\footnote{Die MathTime"= und
+ MathTimePlus"=Schriftfamilien verbessern den mathematischen
+ Schriftsatz erheblich. Sie sind bei Y\,\&\,Y
+ (\url{http://www.yandy.com}) kommerziell erhältlich. Es wird nur die
+ vollständige Kombination aus MathTime und MathTimePlus
+ unterstützt.}, vgl.\ Abschnitt~\ref{sec:schrift} \\
+ cm& European Computer Modern als Brotschrift, vgl.\
+ Abschnitt~\ref{sec:schrift} \\
+ \midrule
+ arrowvec\default & Vektoren mit Pfeil, Matrizen doppelter Pfeil,
+ vgl.\ Abschn.~\ref{sec:mathematik} \\
+ boldvec& Vektoren und Matrizen fett,
+ vgl.\ Abschn.~\ref{sec:mathematik} \\
+ ulinevec& Vektoren einmal, Matrizen doppelt unterstrichen,
+ vgl.\ Abschn.~\ref{sec:mathematik} \\
+ \midrule
+ greybox& Graue Kästen wie Beispiel~\ref{bsp:important} zulassen \\
+ exercisetotoc& Aufgaben ins Inhaltsverzeichnis \\
+ answertotoc& Lösungen (und Aufgaben) ins Inhaltsverzeichnis \\
+ draft& Entwurfsstadium \\
+ titlepage& Setzt die Titelseite auch ohne die Option
+ \texttt{draft} \\
+ \midrule
+ normaltheorem\default & Setzt theoremartige Umgebungen in normaler
+ Schriftgröße \\
+ smalltheorem & Setzt theoremartige Umgebungen in \cs{small} \\
+ \bottomrule
+ \end{tabular}
+\end{minipage}
+\end{table}%
+%
+Die meisten Optionen sollten ohne weitere Erklärung verständlich sein.
+
+Die Option \texttt{draft} verändert einige Kleinigkeiten.
+Ist sie gesetzt, kann ein Titelblatt erzeugt werden, auf dem die
+Autoren, der Titel, die Auf"|lage sowie das Übersetzungsdatum gesetzt
+werden.
+Weiterhin wird auf fast allen Seiten am unteren Papierrand gesetzt,
+wann das Dokument übersetzt wurde.
+Schließlich werden Zeilen mit einem schwarzen Balken markiert, in
+denen der Umbruchalgorithmus von \LaTeX\ kein zufriedenstellendes
+Ergebnis erzielen konnte.\footnote{Dazu mehr in
+ Abschnitt~\ref{sec:tex_silbentrennung}.}
+Die Option \texttt{draft} wird \emph{nicht} an das
+\texttt{graphics}"=Paket weitergereicht, so dass trotz gesetzer
+\texttt{draft}"=Option die mit \cs{includegraphics} eingebundenen
+Bilder wirklich eingebunden werden.
+Möchten Sie, um Zeit zu sparen, nur Platzhalter angezeigt bekommen,
+können Sie dies erreichen, indem Sie \emph{vor der}
+\cs{documentclass}"=Zeile folgende Zeile einfügen:
+\begin{verbatim}[\small]
+\PassOptionsToPackage{draft}{graphicx}
+\end{verbatim}
+Mit der Option \texttt{titlepage} wird das Titelblatt ohne die
+anderen Auswirkungen von \texttt{draft} gesetzt.
+
+Zur Übergabe an den Verlag darf weder die Option \texttt{draft} noch
+die Option \texttt{titlepage} gesetzt sein, da der Verlag die Titelei
+(Schmutztitel, Titelblatt und Impressum) unabhängig von der
+übergebenen Datei erzeugt.
+
+Falls Sie nicht wie empfohlen direkt eine \acro{PDF}"=Datei erzeugen
+wollen, sondern den Umweg über
+\index{dvi-Datei@\acro{DVI}"=Datei}\acro{DVI} und PostScript gehen
+wollen, müssen Sie zur Übersetzung dennoch \pdfLaTeX\ verwenden und
+noch vor dem \cs{documentclass}"=Befehl (also normalerweise als
+allererste Zeile) folgende Zeile einfügen:
+\begin{verbatim}[\small]
+\pdfoutput=0
+\end{verbatim}
+Allerdings sollte möglichst direkt \acro{PDF} erzeugt werden, da das
+so generierte Dateiformat sauberer als über den Umweg ist.
+
+%\pagebreak[1]%
+Nach dem Laden der Dokumentklasse sollte mit\nopagebreak
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\usepackage|oarg[Zeichenkodierung]{inputenc}
+\end{verbatim}
+\macroindex{inputenc}%
+der vom verwendeten Betriebssystem benutzte
+Zeichensatz\texindex{Zeichensatz} eingestellt werden.
+Dadurch ist es möglich, im Quelltext Umlaute und andere Sonderzeichen
+wie æ oder ø direkt einzugeben.
+Für Unix\texindex{Unix!Zeichensatz}\texindex{Zeichensatz!Unix} ist statt
+\meta{Zeichenkodierung} normalerweise \verb|latin1|\srcindex{latin1}%
+\texindex{inputenc@\texttt{\textbackslash inputenc}!latin1@\texttt{latin1}},
+für Windows\texindex{Windows!Zeichensatz}\texindex{Zeichensatz!Windows}
+\verb|ansinew|\srcindex{ansinew}%
+\texindex{inputenc@\texttt{\textbackslash inputenc}!latin1@\texttt{ansinew}}
+einzusetzen.
+Pakete wie \texttt{dosuml} oder \texttt{umlaut} dürfen \emph{nicht}
+verwendet werden.
+
+Nun können, falls nötig, mit dem
+\cs{usepackage}"=Befehl\macroindex{usepackage} weitere Pakete
+geladen werden.
+Dabei sollte aber sehr sparsam vorgegangen werden, um das Aussehen des
+Buchs nicht zu sehr zu verändern.
+In Tabelle~\ref{tab:pakete_tabu} ist eine Tabuliste enthalten, die
+Pakete aufzeigt, die entweder sowieso schon geladen werden oder das
+Aussehen in einer unzulässigen Weise verändern würden.
+%
+\begin{table}%
+ \centering
+ \caption[Eine Auswahl an Paketen, die auf keinen Fall zusätzlich
+ geladen werden dürfen]{Eine Auswahl an Paketen, die auf keinen
+ Fall zusätzlich geladen werden dürfen, da sie das Layout zu sehr
+ verändern oder schon verwendet werden.
+ Hier besteht natürlich kein Anspruch auf
+ Vollständigkeit.}%
+ \texindex{Tabuliste}%
+ \label{tab:pakete_tabu}%
+ \begin{tabular}{*{5}{>{\ttfamily}l}}
+ \toprule
+ \multicolumn{5}{c}{automatisch geladene Pakete}\\
+ \midrule
+ amsbsy\styindex{amsbsy}&
+ amsfonts\styindex{amsfonts}&
+ amsgen\styindex{amsgen} &
+ amsmath\styindex{amsmath}&
+ amsopn\styindex{amsopn}\\
+ amssymb\styindex{amssymb}&
+ amstext\styindex{amstext}&
+ array\styindex{array}&
+ babel\styindex{babel}&
+ babelbib\styindex{babelbib} \\
+ booktabs\styindex{booktabs}&
+ calc\styindex{calc}&
+ color\styindex{courier}&
+ courier\styindex{courier}&
+ everysel\styindex{everysel} \\
+ exscale\styindex{exscale}&
+ fixltx2e\styindex{fixltx2e}&
+ fixmath\styindex{fixmath}&
+ fnbreak\styindex{fnbreak}&
+ fontenc\styindex{fontenc} \\
+ graphics\styindex{graphics}&
+ graphicx\styindex{graphicx}&
+ helvet\styindex{helvet}&
+ hfoldsty\styindex{hfoldsty}&
+ hhsubfigure\styindex{hhsubfigure} \\
+ hhinputenc\styindex{hhinputenc}&
+ hhtensor\styindex{hhtensor}&
+ ifpdf\styindex{ifpdf}&
+ ifthen\styindex{ifthen}&
+ keyval\styindex{keyval} \\
+ longtable\styindex{longtable}&
+ makeidx\styindex{makeidx}&
+ mathcomp\styindex{mathcomp}&
+ mathptmx\styindex{mathptmx}&
+ mdwlist\styindex{mdwlist} \\
+ multicol\styindex{multicol}&
+ numprint\styindex{numprint}&
+ onlyamsmath\styindex{onlyamsmath}&
+ paralist\styindex{paralist}&
+ ragged2e\styindex{ragged2e} \\
+ relsize\styindex{relsize}&
+ scrlfile\styindex{scrlfile}&
+ scrpage2\styindex{scrpage2}&
+ setspace\styindex{setspace}&
+ slantsc\styindex{slantsc} \\
+ subfloat\styindex{subfloat}&
+ textcomp\styindex{textcomp}&
+ trig\styindex{trig}&
+ typearea\styindex{typearea}&
+ warning\styindex{warning} \\
+ wasysym\styindex{wasysym} \\
+ \midrule
+ \multicolumn{5}{c}{Pakete, die eine andere Schrift wählen}\\
+ \midrule
+ ae\styindex{ae}&
+ avant\styindex{avant}&
+ avantgar\styindex{avantgar}&
+ bookman\styindex{bookman}&
+ chancery\styindex{chancery} \\
+ charter\styindex{charter}&
+ cmbright\styindex{cmbright}&
+ concmath\styindex{concmath}&
+ eco\styindex{eco}&
+ helvetic\styindex{helvetica} \\
+ lmodern\styindex{lmodern} &
+ lucidabr\styindex{lucidabr}&
+ lucidaso\styindex{lucidaso}&
+ mathpazo\styindex{mathpazo}&
+ mathptm\styindex{mathptm} \\
+ mathsans\styindex{mathsans}&
+ mathtime\styindex{mathtime}&
+ ncntrsbk\styindex{ncntrsbk}&
+ newcent\styindex{newcent}&
+ palatcm\styindex{palatcm} \\
+ palatino\styindex{palatino}&
+ times\styindex{times}&
+ utopia\styindex{utopia}&
+ zapfchan\styindex{zapfchan}&
+ zefonts\styindex{zefonts} \\
+ \midrule
+ \multicolumn{5}{c}{Pakete, die das Layout verändern}\\
+ \midrule
+ caption\styindex{caption}&
+ caption2\styindex{caption2}&
+ doublespace\styindex{doublespace}&
+ endfloat\styindex{endfloat}&
+ fancyhdr\styindex{fancyhdr} \\
+ fncychap\styindex{fncychap}&
+ fnpara\styindex{fnpara}&
+ ftcap\styindex{ftcap}&
+ fullpage\styindex{fullpage}&
+ geometry\styindex{geometry} \\
+ germbib\styindex{germbib}&
+ hangcaption\styindex{hangcaption}&
+ hangftn\styindex{hangftn}&
+ here\styindex{here}&
+ hyperref\styindex{hyperref} \\
+ indentfirst\styindex{indentfirst}&
+ landscape\styindex{landscape}&
+ sectsty\styindex{sectsty}&
+ subfigure\styindex{subfigure}&
+ titlesec\styindex{titlesec} \\
+ \midrule
+ \multicolumn{5}{c}{Sprach"= und sonstige Pakete}\\
+ \midrule
+ french\styindex{french}&
+ frenchle\styindex{frenchle}&
+ german\styindex{german}&
+ ngerman\styindex{ngerman} \\
+ \bottomrule
+ \end{tabular}
+\end{table}%
+%
+Tabelle~\ref{tab:pakete_gut} enthält Pakete, die sinnvoll eingesetzt
+werden können.
+%
+\begin{table}%
+ \caption{Eine Auswahl an Paketen, die sinnvoll eingesetzt werden
+ können}%
+ \label{tab:pakete_gut}%
+ \begin{minipage}{\linewidth}
+ \centering
+ \begin{tabular}{>{\ttfamily}l>{\RaggedRight}p{0.8\linewidth}}
+ \toprule
+ Paket& Beschreibung\\
+ \midrule
+ contour\styindex{contour}& Umrandete Schrift, um Beschriftungen
+ über Bilder zu legen\\
+ dcolumn\styindex{dcolumn}& Ausrichtung von Zahlen in Tabellen\\
+ eurosym\styindex{eurosym}& Bietet mit der Option \env{gen} das
+ Eurosymbol \euro\ mit dem Befehl \cs{euro}\footnote{Der vom
+ Paket \texttt{textcomp} zur Verfügung gestellte Befehl
+ \cs{texteuro} erzeugt mit der Times einen schwarzen Kasten,
+ mit der European Computer Modern ein hässliches Symbol und
+ sollte daher nicht verwendet werden.}\\
+ fixme\styindex{fixme}& Anmerkungen im Rand für ausstehende
+ Änderungen\\
+ float\styindex{float}& Richtet weitere Fließumgebungen ein
+ (vgl.\ dazu Abschnitt~\ref{sec:tex:fliessumgebung})\\
+ miller\styindex{miller}& Millersche Indizes (Werkstoffkunde)\\
+ nicefrac\styindex{nicefrac}& Textbrüche mit schrägem Bruchstrich\\
+ overpic\styindex{overpic}& Text o.\,ä.\ über Bilder setzen\\
+ url\styindex{url}& \acro{WWW}"=Adressen etc.\ setzen. Sollte
+ geladen werden, wenn im Literaturverzeichnis das Feld
+ \texttt{url} verwendet wird.\\
+ verbatim\styindex{verbatim}& Listings etc.\ setzen\\
+ \bottomrule
+ \end{tabular}
+ \end{minipage}%
+\end{table}%
+
+Nach dem Laden zusätzlicher Pakete können noch eigene Befehle
+definiert werden und beispielsweise globale Trennhilfen mit dem
+\cs{hyphenation}"=Befehl gegeben werden.
+Werden Umlaute im \cs{hyphenation}"=Befehl direkt eingegeben, können
+auch diese verarbeitet werden.
+
+Um das Stichwortverzeichnis erzeugen zu können, muss in die Präambel
+der
+\feinschliff{\cs{makeindex}"=Befehl}{Befehl \cs{makeindex}}%
+ {Befehl \cs{makeindex}}{Befehl \cs{makeindex}}
+aufgenommen werden.
+
+Danach wird der Textteil des Dokuments mit
+\cs{begin\{document\}}\macroindex{begin\{document\}} begonnen.
+Um die römische Seitennummerierung einzuschalten, die auf den ersten
+Seiten des Dokuments gelten soll, muss der Befehl \cs{frontmatter}
+folgen.
+
+Darauf folgen die Definitionen einiger Dinge wie Titel, Autorennamen
+usw.
+\emph{Sie sollten auch dann angegeben werden, wenn kein Titelblatt erzeugt
+werden soll, da sie als Informationen in der \acro{PDF}"=Datei
+gespeichert werden.\footnote{Vgl.\ dazu
+ Anhang~\ref{sec:pdf-informationen}.}}
+Im Einzelnen werden folgende Befehle verwendet:
+\begin{itemize*}
+\item \cs{title\marg{Titel}}\macroindex{titel}\texindex{Titel}
+ definiert den Titel des Buches.
+\item Der Befehl
+ \cs{subtitle\marg{Untertitel}}\macroindex{untertitel}%
+ \texindex{Untertitel} ist optional und erzeugt einen Untertitel, der
+ kleiner unterhalb des Titels gesetzt wird.
+\item \sloppypar
+ Die Autoren werden mit dem Befehl\texindex{Autor}
+ \cs{author\marg{Autor}}\macroindex{autor} angegeben.
+\item \cs{edition\marg{Auf"|lagennummer}}\macroindex{edition}%
+ \texindex{Auflagennummer@Auf\/lagennummer} definiert die Auf"|lage
+ des Buchs, sie wird als einfache, arabische Zahl angegeben.
+\item Mit dem Befehl \cs{dedication\marg{Widmung}} kann eine Widmung
+ definiert werden.
+ Sie wird nach der Titelseite gesetzt, sofern der
+ \cs{maketitle}"=Befehl verwendet wird.
+\end{itemize*}
+Diese Befehle sollen alle \emph{nach} dem \cs{begin\{document\}}
+stehen, da es ansonsten Schwierigkeiten mit Umlauten geben
+kann.\footnote{Das \texttt{babel}"=Paket schaltet die Sonderbehandlung
+ des doppelten Anführungsstrichs, z.\,B.\ für Umlaute, im Quelltext
+ erst dort an.}
+
+Die Titelseiten\texindex{Titelseiten} werden schließlich durch die
+Verwendung des Befehls \cs{maketitle}\macroindex{maketitle} erzeugt.
+Er sollte auch dann verwendet werden, wenn aufgrund der
+Klassenoptionen keine Titelseite erzeugt wird (unter Anderem deshalb,
+weil eine eventuelle Widmung dennoch durch den
+\feinschliff{Befehl \cs{maketitle}}{\cs{maketitle}"=Befehl}%
+ {\cs{maketitle}"=Befehl}{\cs{maketitle}"=Befehl}
+gesetzt wird).
+
+Nach dem \texindex{Vorwort}Vorwort, das im
+Abschnitt~\ref{sec:vorwort} beschrieben wird, folgt das
+Inhaltsverzeichnis\texindex{Inhaltsverzeichnis}, erzeugt mit folgendem
+Befehl:
+\begin{verbatim}[\small]
+\tableofcontents
+\end{verbatim}
+\macroindex{tableofcontents}%
+
+Nun folgt der eigentliche Inhalt des Buches.
+Dies wird durch den Befehl \cs{mainmatter} gekennzeichnet.
+
+Die einzelnen Kapitel\texindex{Kapitel} sollten, um das Projekt
+übersichtlich zu halten, in einzelnen Dateien untergebracht werden,
+die jeweils mit Hilfe des \cs{include}"=Befehls eingebunden
+werden.
+
+Der Anhang\texindex{Anhang} wird mit dem Befehl
+\begin{verbatim}[\small]
+\appendix
+\end{verbatim}
+\macroindex{appendix}%
+begonnen.
+Für die einzelnen Anhänge gilt das gleiche wie für die Kapitel des
+Buches.
+
+Das Dokument wird mit dem Befehl \cs{end\{document\}} abgeschlossen.
+Es ist nicht notwendig, das Stichwortverzeichnis aufzurufen, da dies
+automatisch geschieht.
+
+\subsection*{Beispiel}%
+\texindex{Beispiel!\LaTeX"=Datei}%
+
+Im Folgenden wird eine mögliche Hauptdatei für ein Buch des
+Teubner Verlags gezeigt:
+
+{\small\verbatiminput{beispiel1}}
+
+Eine Datei, die ein Kapitel enthält, kann dann etwa so aussehen (am
+Beispiel der Datei \url{kapitel2.tex}):
+
+{\small\verbatiminput{kapitel2}}
+
+
+% ===================================================================
+\section{Vorwort}%
+\label{sec:vorwort}%
+\texindex{Vorwort}%
+
+Das Vorwort wird mit folgender Befehlszeile eingeleitet:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\preface|marg[Überschrift]%
+\end{verbatim}
+\macroindex{preface}%
+\meta{Überschrift} kennzeichnet den Text, der als Überschrift gesetzt
+wird.
+Normalerweise wird dies "`Vorwort"' sein.
+Bei späteren Auf"|lagen können aber mehrere Vorworte
+aufeinanderfolgen, wobei dann auch "`Vorwort zur ersten Auf"|lage"'
+o.\,ä.\ verwendet werden kann.
+Es folgt ganz normaler Text.
+
+Abgeschlossen wird das Vorwort mit einer Zeile ähnlich der folgenden:
+\begin{verbatim}[\small]
+\signature{Braunschweig}{im Januar 2004}{Harald Harders}
+\end{verbatim}
+\macroindex{signature}%
+Hier müssen natürlich das Datum und die Namen der Autoren ausgetauscht
+werden.
+
+% ===================================================================
+\section{Schriften und Auszeichnungen}%
+\label{sec:tex:auszeichnungen}%
+\texindex{Schrift}%
+
+Ob Times oder European Computer Modern als Brotschrift verwendet wird,
+wird, wie im Abschnitt~\ref{sec:tex:aufbau} beschrieben, durch die
+Klassenoptionen \verb|times| und \verb|cm| bestimmt.
+Auf Schriftgrößenveränderungen durch die Verwendung der Befehle
+\cs{small}\macroindex{small}, \cs{large}\macroindex{large},
+\cs{Large}\macroindex{Large} usw.\ soll im Normalfall verzichtet
+werden.
+
+Eine Auszeichnung im Text, z.\,B.\ zur Betonung oder bei der Definition
+neuer Begriffe, erfolgt durch \emph{Kursivstellen}\texindex{kursiv}
+mit dem Befehl \cs{emph\{\meta{Text}\}}.\macroindex{emph}
+Der Befehl \cs{em}\macroindex{em} war Bestandteil von \LaTeX\ 2.09
+und ist nicht mehr aktuell.
+Um ein logisches Markup zu ermöglichen, stellt die
+Klasse \verb|bgteubner| die Befehle \cs{new\marg{neuer Begriff}},
+\cs{person\marg{Name}} und \cs{engl\marg{englischer Begriff}}
+zur Verfügung, die jeweils den in ihrem Argument auftretenden Text
+kursiv stellen.
+Manche Autoren wollen Namen in Kapitälchen schreiben.
+Sie können den Befehl \cs{person} folgendermaßen umdefinieren:
+\begin{verbatim}[\small]
+\let\person=\textsc
+\end{verbatim}
+Wenn die European Computer Modern als Brotschrift verwendet wird, wird
+das Paket \verb|slantsc| \cite{slantsc2003a} von der Dokumentklasse
+\verb|bgteubner| geladen.
+Dann können auch Kapitälchen kursiv gesetzt werden.
+Da für die Times keine kursiven Kapitälchen verfügbar sind, ist dies
+dort leider nicht möglich.
+Tritt zum Beispiel der neue \cs{person}"=Befehl in einem mit \cs{emph}
+hervorgehobenen bereich auf,\footnote{Dieses Beispiel funktioniert
+ entsprechend auch nur, wenn die European Computer Modern verwendet
+ wird.
+ Wenn Sie die Times benutzen, werden die Kapitälchen auch in kursiven
+ Umgebungen aufrecht gedruckt.}
+\begin{verbatim}[\small]
+Das \emph{ist \textsc{Donald Knuth}, der Erfinder} von \LaTeX,
+\end{verbatim}
+sieht dass dann so
+\iftimes{}{%
+\begin{quote}
+Das \emph{ist \textsc{Donald Knuth}, der Erfinder} von \LaTeX,
+\end{quote}
+statt so}
+\begin{quote}
+Das \emph{ist }\textsc{Donald Knuth}\emph{, der Erfinder} von \LaTeX,
+\end{quote}
+aus.\iftimes{\footnote{Leider kann der Effekt bei Verwendung der Times
+ nicht gezeigt werden, und es muss mit der Einschränkung gelebt
+ werden, dass Kapitälchen aufrecht sind.}}{}
+
+\begin{advanced}
+ Durch die Verwendung des \verb|slantsc|"=Pakets ändert sich eine
+ Kleinigkeit bei der Wahl der Schriftschnitte, die normalerweise selten
+ auftritt.
+ Wenn Sie mit \cs{scshape} auf Kapitälchen schalten, schalten die
+ Befehle \cs{upshape}, \cs{itshape} und \cs{slshape} Kapitälchen
+ nicht aus.
+ Stattdessen müssen Sie entweder den Befehl \cs{noscshape}"=Befehl
+ verwenden oder den Kapitälchenbereich einklammern, z.\,B.\ durch
+\begin{verbatim}[\footnotesize\makeescape\|\makebgroup\[\makeegroup\]]
+|meta[normaler Text] {\scshape |meta[Text in Kapitälchen]} |meta[normaler Text]
+\end{verbatim}
+ oder
+\begin{verbatim}[\footnotesize\makeescape\|\makebgroup\[\makeegroup\]]
+|meta[normaler Text] \textsc{|meta[Text in Kapitälchen]} |meta[normaler Text].
+\end{verbatim}
+ Dabei ist das Einklammern normalerweise vorzuziehen.
+\end{advanced}
+
+Doppelte Anführungsstriche\texindex{Anführungszeichen} werden mit
+\verb|"`|\texindex{"`} und \verb|"'|\texindex{"'}, mit
+\verb|">|\texindex{">} und \verb|"<|\texindex{"<}, bzw.\ mit
+\cs{glqq}\macroindex{glqq} und \cs{grqq}\macroindex{grqq}
+erzeugt.\footnote{Diese Befehle wurden so umdefiniert, dass sie
+ korrektes Kerning erlauben.}
+Einfache Anführungsstriche werden mit \cs{glq}\macroindex{glq} und
+\cs{grq}\macroindex{grq} geschrieben.
+
+Wenn als Brotschrift European Computer Modern gewählt wurde, werden
+Zahlen im Text automatisch als
+\texindex{Mediävalziffer}\texindex{Ziffer!Mediäval-}%
+Mediävalziffern\footnote{Vgl.\ Abschnitt~\ref{sec:schrift}.}
+geschrieben.
+Sollten an einer bestimmten Stelle außerhalb mathematischer Ausdrücke
+dennnoch einmal
+Versalziffern\texindex{Versalziffer}\texindex{Ziffer!Versal-}
+verwendet werden, so kann dies durch Verwendung des Befehls
+\cs{newstylenums\{\meta{Zahl}\}}\macroindex{newstylenums} getan
+werden.\footnote{Bei der Verwendung von Times wird \cs{newstylenums}
+ ignoriert.}
+Mathematische Ausdrücke müssen \emph{immer} wirklich im mathematischen
+Modus (eingeklammert durch \verb|$|\ldots\verb|$|\srcindex{\$} bzw.\
+\cs{(}\ldots\cs{)})\macroindex{(}\macroindex{)} geschrieben
+werden.
+Dadurch werden dort die Zahlen automatisch als Versalziffern
+gesetzt.
+
+% ===================================================================
+\section{Absätze}%
+\texindex{Absatz}%
+
+Wie in \LaTeX\ üblich, werden Absätze im Quelltext durch eine
+Leerzeile gekennzeichnet.\footnote{Es kann auch \cs{par} verwendet
+ werden.
+ Allerdings gliedert eine Leerzeile den Quelltext besser lesbar.}
+\emph{Befehle wie \cs{\textbackslash}, \cs{newline} oder
+ \cs{linebreak} erzeugen keinen neuen Absatz und dürfen nicht zu
+ diesem Zweck verwendet werden.}
+Wenn Ihnen zu oft ein Absatzeinzug auftritt, liegt das wahrscheinlich
+daran, dass Sie zur Gliederung des Quelltextes Leerzeilen eingebaut
+haben.
+Wie das Problem behoben wird, wird im Laufe dieses Abschnitts
+beschrieben.
+
+Der Einsatz von Leerzeilen im Quelltext bei abgesetzten Formeln ist am
+einfachsten anhand der Beispiele aus Abschnitt~\ref{sec:allg_absaetze}
+zu erkennen.
+Soll nach der Formel kein Absatz erfolgen, ist auch keine Leerzeile zu
+setzen.
+Beispiel~\ref{ex:absatz_bsp1} auf Seite~\pageref{ex:absatz_bsp1}
+wurde folgendermaßen erzeugt:
+\begin{verbatim}[\small]
+Irgendwann vor unserer Zeit wurde der mathematische Satz des
+Pythagoras,
+\begin{align*}
+ a^2+b^2 &= c^2\,,
+\end{align*}
+entdeckt.
+Er besagt, dass die Längen eines rechtwinkligen Dreiecks
+zueinander in Beziehung stehen.
+\end{verbatim}
+Soll ein Absatz erzeugt werden, muss eine Leerzeile gesetzt werden
+(Beispiel~\ref{ex:absatz_bsp2}):
+\begin{verbatim}[\small]
+Aus den Längenbeziehungen der Kanten eines rechtwinkligen
+Dreiecks folgt der Satz des Pythagoras
+\begin{align*}
+ a^2+b^2 &= c^2\,.
+\end{align*}
+
+Anders sieht es bei schiefwinkligen Dreiecken aus.
+Dort gilt eine entsprechende Gleichung nicht.
+\end{verbatim}
+%
+\emph{Es ist also nicht möglich, den Quelltext durch Einfügen von
+Leerzeilen zu gliedern, da dadurch unerwünschte Absätze eingefügt
+werden!}
+Um dennoch eine ähnliche Gliederung zu erreichen, ist es möglich,
+Zeilen einzufügen, die nur ein Kommentarzeichen (\verb|%|) enthalten.
+Obiges Beispiel sieht dann so aus:
+\begin{verbatim}[\small]
+Irgendwann vor unserer Zeit wurde der mathematische Satz des
+Pythagoras,
+%
+\begin{align*}
+ a^2+b^2 &= c^2\,,
+\end{align*}
+%
+entdeckt.
+Er besagt, dass die Längen eines rechtwinkligen Dreiecks
+zueinander in Beziehung stehen.
+\end{verbatim}
+
+% ===================================================================
+\section{Teile, Kapitel und Abschnitte}%
+\label{sec:tex:teile}%
+\texindex{Teil}%
+\texindex{Kapitel}%
+\texindex{Abschnitt}%
+
+Teilüberschriften gliedern das Buch sehr stark und sollten sparsam
+verwendet werden.
+Nummerierte Teile werden mit dem Befehl
+\macroindex{part}\cs{part\{\meta{Überschrift}\}} erzeugt,
+unnummerierte mit
+\feinschliff{dem Befehl }{}{}{}%
+\macroindex{addpart}\cs{addpart\{\meta{Überschrift}\}}.
+In diesen Autorenrichtlinien wurden die Teile mit \cs{addpart}
+erzeugt.
+
+\feinschliff{
+Wie in \LaTeX\ üblich, werden Kapitel und Abschnitte mit den
+}{%
+Kapitel und Abschnitte werden --~wie in \LaTeX\ üblich~-- mit den
+}{%
+Kapitel und Abschnitte werden --~wie in \LaTeX\ üblich~-- mit den
+}{%
+Kapitel und Abschnitte werden --~wie in \LaTeX\ üblich~-- mit den
+}%
+Befehlen \macroindex{chapter}\cs{chapter},
+\macroindex{section}\cs{section},
+\macroindex{subsection}\cs{subsection},
+\cs{subsubsection}\macroindex{subsubsection},
+\macroindex{minisec}\cs{minisec}\footnote{Der \cs{minisec}"=Befehl ist
+ eine Erweiterung von \acro{KOMA}"=Script, das der
+ \texttt{bgteubner}"=Klasse zugrunde liegt.} und
+\cs{paragraph}\macroindex{paragraph} gesetzt.
+Für Kapitel"= und Abschnittsüberschriften existieren für unnummerierte
+Überschriften die Befehle \cs{addchap}\macroindex{addchap} und
+\cs{addsec}\macroindex{addsec}, die dennoch die korrekten
+Kolumnentitel und einen Eintrag im Inhaltsverzeichnis erzeugen.
+\cs{chapter*} und \cs{section*} sollten im Normalfall nicht verwendet
+werden, da sie die Kolumnentitel nicht automatisch anpassen.
+Falls ein Autor dies unbedingt dennoch tun möchte, muss er mit
+\cs{markboth} bzw.\ \cs{markright} die Kolumnentitel von Hand setzen.
+
+Die Befehle \cs{part}, \cs{addpart}, \cs{chapter} und \cs{addchap}
+beginnen den nächsten Teil bzw.\ das nächste Kapitel automatisch auf
+einer ungeraden Seite und sorgen dafür, dass eine eventuelle leere
+Seite keinen Kolumnentitel enthält.
+\emph{Fügen Sie also keinesfalls manuelle Seitenumbrüche mit
+ \cs{newpage}, \cs{clearpage} usw. ein!}
+
+Soll ein Abschnitt ohne eigene Überschrift erzeugt werden, der durch
+einen zusätzlichen Zwischenraum gekennzeichnet ist, so kann dies durch
+Verwendung des Befehls \cs{bigskip}\macroindex{bigskip} vor oder
+nach einer Leerzeile erzielt werden.
+Der nächste Absatz wird dann automatisch nicht eingerückt.
+Die Befehle \cs{medskip} und \cs{smallskip} verhalten sich wie
+\cs{bigskip}, nur mit kleineren Abständen.
+Sie sollen im Text nicht verwendet werden, können aber zu
+Positionierung von Teilbildern usw.\ nützlich sein.
+
+% ===================================================================
+\section{Mathematik}%
+\label{sec:tex:mathematik}%
+\texindex{Mathematik}%
+
+
+\subsection{Mathematische Umgebungen}%
+\texindex{Mathematik!Umgebung}%
+
+Bei mathematischen Ausdrücken muss zwischen im Text eingebetteten
+Formeln und abgesetzten Formeln unterschieden werden.
+Die eingebetteten werden entweder durch die Verwendung von
+\verb|$|\dots\verb|$|\srcindex{\$} oder durch
+\cs{(}\dots\cs{)}\macroindex{(}\macroindex{)} erzeugt.
+Für abgesetzte Formeln dürfen nur die von
+\verb|amsmath|\styindex{amsmath} \cite{amsmath1999a} bereitgestellten
+Umgebungen (\verb|equation|\envindex{equation},
+\verb|equation*|\envindex{equation*}, \verb|align|\envindex{align},
+\verb|align*|\envindex{align*}, \verb|gather|\envindex{gather},
+\verb|gather*|\envindex{gather*}, \verb|flalign|\envindex{flalign},
+\verb|flalign*|\envindex{flalign*},
+\verb|multiline|\envindex{multiline},
+\verb|multiline*|\envindex{multiline*},
+\verb|alignat|\envindex{alignat}, \verb|alignat*|\envindex{alignat*},
+\verb|split|\envindex{split} sowie
+\cs{[}\dots\cs{]})\macroindex{[}\macroindex{]} verwendet
+werden.
+Die Standard"=\TeX- bzw.\ "~\LaTeX"=Umgebungen
+\verb|$$|\dots\verb|$$|\envindex{\$\$},
+\verb|eqnarray|\envindex{eqnarray} und
+\verb|eqnarray*|\envindex{eqnarray*} dürfen nicht verwendet werden, da
+sie das gewünschte Layout verletzen.
+
+Es besteht ein wichtiger Unterschied zwischen der
+\verb|eqnarray|"=Umgebung und ihrem Ersatz, der
+\verb|align|"=Umgebung:
+Bei der \verb|align|"=Umgebung\envindex{align} wird die Ausrichtung
+der Formeln nur durch \emph{ein einzelnes} \verb|&|"=Zeichen im
+Gegensatz zu zwei Zeichen bei der \verb|eqnarray|"=Umgebung erreicht.
+Das Beispiel
+\begin{verbatim}[\small]
+\begin{align*}
+ \sin^2\alpha + \cos^2\alpha &= 1 \,, \\
+ x_2 - x_1 &= \D x \,.
+\end{align*}
+\end{verbatim}
+ergibt folgendes Ergebnis:
+\begin{align*}
+ \sin^2\alpha + \cos^2\alpha &= 1\,,\\
+ x_2 - x_1 &= \D x\,.
+\end{align*}
+
+Manchmal kann es vorkommen, dass eine abgesetzte Gleichung so lang
+ist, dass sie über den rechten Rand heraussteht oder eine eventuelle
+Gleichungsnummer in die nächste Zeile zwingt.
+Wenn dieses Übermaß nur gering ist, kann es unter Umständen helfen,
+den linken Einzug der Gleichung zu reduzieren.
+Dies kann mit der Umgebung \env{nomathindent} mit dem optionalen
+Argument \meta{Maß} erreicht werden.
+\meta{Maß} ist dabei das relative Maß, um das der Einzug reduziert
+wird.
+So tut \cs{begin\{nomathindent\}[0.0]} nichts,
+\feinschliff{}{der Aufruf}{der Aufruf}{der Aufruf}
+\cs{begin\{nomathindent\}[0.5]} reduziert den Einzug auf
+die Hälfte, wogegen der Aufruf
+\cs{begin\{nomathindent\}[1.0]} den
+Einzug vollständig löscht.
+Wird das Maß nicht angegeben, wird der Einzug vollständig gelöscht.
+Beispiel:
+\begin{verbatim}[\small]
+\begin{nomathindent}[0.8]
+\begin{align*}
+ \sin^2\alpha + \cos^2\alpha &= 1 \,.
+\end{align*}
+\end{nomathindent}
+\end{verbatim}
+ergibt folgendes Ergebnis:
+\begin{nomathindent}[0.8]
+\begin{align*}
+ \sin^2\alpha + \cos^2\alpha &= 1 \,.
+\end{align*}
+\end{nomathindent}
+
+
+\subsection{Zahlendarstellung}%
+\texindex{Zahl}%
+
+Die in Abschnitt~\ref{sec:mathematik} angesprochene Gliederung von
+Zahlen durch kleine Zwischenräume nach jeweils drei Ziffern lässt sich
+durch die Verwendung des Befehls \cs{numprint}\macroindex{numprint}
+erreichen \cite{harders2001a}.
+So führt beispielsweise
+\feinschliff{der Aufruf }{}{}{}%
+\verb|$\numprint{1234567,1234567}$| zu folgendem Ergebnis:
+"`$\numprint{1234567,1234567}$"'.
+Der Befehl kann außerdem Zahlen in
+Exponentialschreibweise\texindex{Zahl!Exponentialschreibweise} mit
+einer kurzen Eingabe darstellen: \verb|$\numprint{1234e-15}$| ergibt
+$\numprint{1234e-15}$.
+Desweiteren ist auch eine reine Exponentialdarstellung möglich:
+\verb|$\numprint{e12}$| ergibt $\numprint{e12}$.
+Da der Befehl \cs{numprint} auch im Textmodus funktioniert, kann er
+auch dort für Zahlen verwendet werden:
+\cs{numprint\{1234567,1234567\}} ergibt
+\numprint{1234567,1234567}.\iftimes{\footnote{Wird European Computer Modern
+ verwendet, werden dann Mediävalziffern verwendet.}}{}
+Der Befehl sorgt außerdem dafür, dass (sofern die deutsche Sprache
+aktiv ist) immer ein Komma als Dezimalzeichen verwendet wird, selbst
+wenn im Quelltext ein Punkt steht (\verb|$\numprint{3.4}$|
+$\Rightarrow$ $\numprint{3.4}$).
+
+Wenn eine Zahl einheitenbehaftet\texindex{Einheit} ist, kann diese als
+optionales Argument angegeben werden, zum Beispiel ergibt
+\verb|$E=\numprint[MPa]{210000}$| "`$E=\numprint[MPa]{210000}$"'.
+Eine Ausnahme ist die Angabe von Grad.
+Da das Gradzeichen so klein ist, wird vor ihm kein kleiner
+Zwischenraum gelassen, so dass die Eingabe etwas anders ist:
+\begin{verbatim}[\small]
+$\numprint{90}\tcdegree$
+\end{verbatim}
+ergibt $\numprint{90}\tcdegree$,\footnote{Wenn Sie eine neue Version
+ des \texttt{numprint}"=Pakets ab Version~1.00 verwenden, erkennt
+ dieses den \cs{tcdegree}"=Befehl und setzt das Gradzeichen
+ automatisch ohne Abstand.} aber Temperaturangaben werden mit
+Zwischenraum gesetzt.
+So ergibt
+\begin{verbatim}[\small]
+$\numprint[\tccelsius]{90}$
+\end{verbatim}
+die Ausgabe $\numprint[\tccelsius]{90}$.
+
+Der Einheitenprefix $\tcmu$ wird aufrecht geschrieben.
+Dies wird durch Verwendung des Befehls \cs{tcmu} statt \cs{mu}
+erreicht.
+Ebenso wird Ohm als $\tcohm$ durch Verwendung von \cs{tcohm} statt
+\cs{Omega} geschrieben.
+
+Da der Befehl \cs{numprint} für eine einheitliche Zahlendarstellung
+sorgt, sollte er \emph{immer} verwendet werden, wenn eine Zahl gesetzt
+wird, selbst wenn diese weniger als drei Stellen hat.
+
+Falls die Verwendung des Befehls \cs{numprint} aus irgendwelchen
+Gründen einmal nicht möglich sein sollte, können die
+Dreiergruppen mit dem Befehl \cs{,} voneinander getrennt werden.
+Es muss dann ein Komma (\verb|,|) als Dezimaltrenner verwendet
+werden:
+\begin{verbatim}[\small]
+$E = 210\,000,0\,\mathrm{MPa}$
+\end{verbatim}
+ergibt $E = 210\,000,0\,\mathrm{MPa}$.
+Wie im Beispiel zu erkennen, wird die Einheit mit dem Abstand \cs{,}
+gesetzt.
+\feinschliff{}{\enlargethispage{1\baselineskip}}{}{}%
+
+
+\subsection{Indizes und Operatoren}%
+
+In Abschnitt~\ref{sec:mathematik} wurde beschrieben, wann Indizes
+kursiv und wann aufrecht gedruckt werden.
+\LaTeX\ setzt Indizes\texindex{Index} automatisch kursiv, so dass
+kursive Indizes einfach mit dem \verb|_|"=Befehl gesetzt werden
+können: \verb|$C_{ijkl}$| $\Rightarrow$ $C_{ijkl}$.
+Um einen Index aufrecht zu setzen, muss der Befehl \cs{mathrm} im
+Index verwendet werden: \verb|$\sigma_{\mathrm{max}}$| $\Rightarrow$
+$\sigma_{\mathrm{max}}$.
+
+Mathematische Funktionen\texindex{Funktion} werden aufrecht gedruckt.
+Für die meisten existieren entsprechende Befehle (\cs{sin},
+\cs{exp}, usw.).
+Auch Operatoren\texindex{Operator} werden, sofern vorhanden, aufrecht
+gedruckt.
+Für Bücher des Teubner Verlags sind die beiden Operatoren
+\cs{d}\macroindex{d} für
+"`Differentiell"'\texindex{Differentialoperator}\footnote{Im Textmodus
+ besitzt der Befehl \texttt{\textbackslash d} die normale Funktion,
+ im mathematischen Modus erzeugt er ein aufrechtes $\d$.} und
+\cs{D}\macroindex{D} für
+"`Differenz"'\texindex{Differenzenoperator} definiert.
+Es darf nicht \cs{Delta}\macroindex{Delta} statt \cs{D}
+verwendet werden, da das ein kursives Delta ergeben
+würde.\iftimes{}{\footnote{Durch die Verwendung des Paketes
+ \texttt{fixmath}\styindex{fixmath} werden die großen griechischen
+ Buchstaben kursiv gedruckt, wie es für mathematische Symbole korrekt
+ ist.}}
+Das Beispiel
+\begin{verbatim}[\small]
+\begin{align*}
+ \frac{\d(x^2)}{\d x} &= 2x \,, \\
+ x_2 - x_1 &= \D x \,.
+\end{align*}
+\end{verbatim}
+ergibt folgendes Ergebnis:
+\begin{align*}
+ \frac{\d(x^2)}{\d x} &= 2x\,,\\
+ x_2 - x_1 &= \D x\,.
+\end{align*}
+
+Das aufrechte "`e"' für eulersche Zahl kann mit dem Befehl \cs{e}
+geschrieben werden.
+Die \env{cases*}"=Umgebung entspricht der \verb|cases|"=Umgebung aus
+den \acro{AMS}"=Paketen, jedoch mit einer schließenden
+geschweiften Klammer.
+Der \cs{equivalent}"=Befehl erzeugt $\equivalent$.
+\feinschliff{}{\enlargethispage{1\baselineskip}}{}{}%
+
+\subsection{Vektoren, Matrizen etc.}%
+\texindex{Vektor}%
+\texindex{Matrix}%
+\texindex{Tensor}%
+
+Führen Sie für Vektoren, Matrizen usw. bitte logisches Markup%
+\texindex{logisches Markup} durch.
+Das bedeutet, dass sie auf keinen Fall die Formatierung bei jedem
+Vorkommen, beispielsweise durch
+\cs{underline}\macroindex{underline}, festlegen.
+Verwenden Sie stattdessen entsprechende Befehle, die mit der Bedeutung
+des Zeichens, nicht mit dem Aussehen verknüpft sind.
+Für Vektoren ist dies der Befehl \cs{vec}\macroindex{vec}, für
+Matrizen \cs{matr}\macroindex{matr}.
+Dadurch ist es möglich, eine eventuelle Umformatierung eines
+Variablentyps einfach durchzuführen.
+
+Ob Vektoren und Matrizen durch Fettdruck, Unterstreichen oder Pfeile
+gekennzeichnet werden, wird durch die Klassenoptionen \verb|boldvec|,
+\verb|ulinevec| bzw.\ \verb|arrowvec| bestimmt (vgl.\
+Tabelle~\ref{tab:klassenoptionen}).
+
+Definieren Sie für Variablenarten, die in \LaTeX\ nicht definiert
+sind, in der Präambel eigene Befehle, die die Formatierung vornehmen.
+Beispiel:
+\begin{verbatim}[\small]
+\newcommand{\komplex}[1]{\ensuremath{\mathfrak{#1}}}%
+$\komplex{a} = 3+4i$
+\end{verbatim}
+\macroindex{komplex}%
+führt auf \newcommand{\komplex}[1]{\ensuremath{\mathfrak{#1}}}%
+$\komplex{a} = 3+4i$.
+
+Für Tensoren höherer Stufe stellt die Dokumentklasse den Befehl
+\cs{tens}\macroindex{tens} zur Verfügung, der die
+Symbolschreibweise eines Tensors erzeugt
+(z.\,B.\ \verb|$\tens{C}{4}$| $\Rightarrow$
+$\tens{C}{4}$).\footnote{Dies hängt von der Version des Pakets
+ \texttt{hhtensor} ab.
+ Bei Versionen vor 0.5 hieß der Befehl noch \cs{tensor}.}
+Der Befehl \cs{trans} erzeugt ein hochgestelltes, aufrechtes
+Transponiert"=Zeichen
+(\feinschliff{z.\,B.}{beispielsweise}{z.\,B.}{z.\,B.}
+\verb|$\matr{A}\trans$| $\Rightarrow$ $\matr{A}\trans$).
+
+Für die Spur eines Tensors (englisch \engl{trace}) wird der Befehl
+\cs{tr} zur Verfügung gestellt, der $\tr$ schreibt.
+Ebenso erzeugt \cs{grad} die Ausgabe $\grad$ für Gradienten.
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bsSzM"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/tex_textelemente.tex b/macros/latex/contrib/bgteubner/doc/src/tex_textelemente.tex
new file mode 100644
index 0000000000..e740ed4669
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/tex_textelemente.tex
@@ -0,0 +1,544 @@
+%
+% 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:
diff --git a/macros/latex/contrib/bgteubner/doc/src/tex_typographie.tex b/macros/latex/contrib/bgteubner/doc/src/tex_typographie.tex
new file mode 100644
index 0000000000..57f375ce4f
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/tex_typographie.tex
@@ -0,0 +1,473 @@
+%
+% bgteubner class bundle
+%
+% tex_typographie.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{Typographische Aspekte}%
+\texindex{Typographie}%
+
+% ===================================================================
+\section{Zusammengesetzte Abkürzungen}%
+\texindex{Abkürzung!zusammengesetzt}%
+\texindex{zusammengesetzte Abkürzung}
+
+Im Deutschen werden zusammengesetzte Abkürzungen mit einem kleinen
+Zwischenraum\index{Zwischenraum!klein} (\cs{,})\macroindex{,} gesetzt.
+Die Schreibweisen ohne Zwischenraum oder mit ganzem Zwischenraum sind
+falsch.
+Beispiele:
+\begin{verbatim}[\small]
+z.\,B., d.\,h.
+\end{verbatim}
+\par\noindent
+führt auf "`z.\,B., d.\,h."'
+Auf alle Abkürzungen folgt jedoch ein ganz normaler Zwischenraum,
+z.\,B.\ hier.
+Damit \LaTeX\ erkennt, dass der Punkt nach der Abkürzung kein
+Satzendezeichen ist, kann das folgende Leerzeichen durch \verb*|\ |
+maskiert werden:
+\begin{verbatim*}
+Das kann z.\,B.\ so oder so gemacht werden usw. Der nächste Satz
+beginnt.
+\end{verbatim*}
+Hier soll nach dem "`z.\,B."' kein neuer Satz begonnen werden, daher
+folgt auf den Punkt das \verb*|\ |.
+Dagegen beginnt nach "`usw."' ein neuer Satz, so dass der Punkt nicht
+maskiert wird.
+
+Endet ein Satz auf eine Abkürzung, so ist der Punkt der Abkürzung
+gleichzeitig das Satzendezeichen.
+Es werden also nicht zwei Punkte nacheinander gesetzt.
+
+
+% ===================================================================
+\section{Akronyme und Abkürzungen in Großbuchstaben}%
+\label{sec:tex:acro}%
+
+Wörter und Abkürzungen, die ganz in Großbuchstaben geschrieben sind,
+fallen sehr aus dem Text heraus und wirken zu stark betont.
+Um dies zu vermeiden, sollten als Kapitälchen geschrieben werden,
+indem der \cs{acro}"=Befehl verwendet wird.\footnote{Bei Verwendung
+ der Times, Helvetica oder Courier bzw.\ bei serifenlosen Schnitten
+ oder kursiver Schreibmaschinenschrift der European Computer Modern
+ wird die Schriftgröße nur etwas gegenüber der Versalgröße
+ verringert, da bei diesen Schriften bzw.\ Schriftschnitten keine
+ echten Kapitälchen vorhanden sind.}
+Beispiele:
+\begin{verbatim}[\small]
+\acro{ABAQUS}
+\acro{DIN-A\,5}
+\end{verbatim}
+Dies ergibt \acro{ABAQUS} statt ABAQUS bzw.\ \acro{DIN"~A\,5} statt
+DIN"~A\,\newstylenums{5}.
+
+Dabei wird im \cs{acro}"=Befehl nicht zwischen Groß- und
+Kleinbuchstaben unterschieden.
+\iftimes{%
+ Es sind auch \emph{kursive \acro{AKRONYME} möglich.}%
+}{%
+ Durch die Verwendung des \texttt{slantsc}"=Pakets~\cite{slantsc2003a}
+ sind auch \emph{kursive \acro{AKRONYME} möglich.}%
+}
+
+
+% ===================================================================
+\section{Datumsangaben}%
+
+Bei Datumsangaben wird zwischen dem Tag und dem Monat ein kleiner
+Zwischenraum (\cs{,}) gesetzt.
+Zwischen Monat und Jahr erfolgt ebenfalls ein kleiner Zwischenraum,
+sofern das Jahr zweistellig geschrieben ist; ist es vierstellig, wird
+ein geschütztes Leerzeichen (\verb|~|) verwenden:
+\begin{verbatim}[\small]
+16.\,09.\,03, 16.\,09.~2003
+\end{verbatim}
+Dies ergibt "`16.\,09.\,03, 16.\,09.~2003"'.
+
+% ===================================================================
+\section{Bindestriche und Gedankenstriche}%
+\texindex{Bindestrich}%
+\texindex{Gedankenstrich}%
+
+Bindestriche werden für Silbentrennungen und zusammengesetzte Wörter
+verwendet.
+Um die Silbentrennung muss sich der Autor nicht kümmern, sie werden
+automatisch vom Satzsystem durchgeführt.
+Bindestriche stellen kurze Striche dar ("~), sie werden ohne
+Zwischenraum zwischen die zusammengesetzten Wörter gesetzt.
+Da der einfache Bindestrich auf der Tastatur (\verb|-|) dazu führt,
+dass nach seinem Vorkommen nicht mehr getrennt wird, sollten
+stattdessen folgende Befehle verwendet werden:
+\begin{itemize*}
+\item \verb|"=| erzeugt einen Bindestrich, an dem getrennt werden
+ darf.
+\item \verb|"~| erzeugt einen Bindestrich, an dem keine Silbentrennung
+ erlaubt ist.
+\end{itemize*}
+
+Gedankenstriche sind länger als Bindestriche.
+Sie werden mit einem Leerzeichen vor und einem Leerzeichen nach dem
+Gedankenstrich~-- der im Quelltext aus zwei Bindestrichen (\verb|--|)
+besteht~-- gesetzt.
+Die von Kopka verwendeten englischen
+Gedankenstriche\texindex{Gedankenstrich!englisch} (\verb|---|
+$\Rightarrow$ ---) werden im deutschen Satz \emph{nicht} verwendet.
+
+% ===================================================================
+\section{Ligaturen}%
+\texindex{Ligatur}%
+
+\LaTeX\ zieht selbständig bestimmte Buchstabenkombinationen zu so
+genannten \emph{Ligaturen} zusammen (ff, fi, fl, ffi, ffl).
+An manchen Stellen (bei Silbenwechseln) sind diese Ligaturen jedoch
+unerwünscht, so dass dort die Buchstaben einzeln geschrieben werden
+müssen.
+Leider besitzt \LaTeX\ keinen automatischen Mechanismus, der dort die
+Ligaturen verhindern könnte.
+An den entsprechenden Stellen muss die Ligatur daher von Hand
+verhindert werden, indem \verb/"|/ eingefügt wird.
+Beispielsweise muss es Auf"|lage (\verb/Auf"|lage/) anstatt Auflage
+(\verb|Auflage|) heißen.
+
+Das Programm \verb|rmligs|, das über die \acro{CTAN}"=Server
+heruntergeladen werden kann, kann falsche Ligaturen im Quelltext
+finden und beheben.
+
+
+% ===================================================================
+\section{Silbentrennung}%
+\label{sec:tex_silbentrennung}%
+\texindex{Silbentrennung}%
+
+Manchmal passiert es, dass Text über den rechten Blocksatzrand
+hinaussteht.
+Das liegt daran, dass \LaTeX\ keine zu großen Wortzwischenräume
+akzeptiert.
+Findet es keine entsprechenden Trennstellen in den Wörtern und müsste
+es den Text inakzeptabel weit auseinanderziehen, so lässt das Programm
+die Zeile mit dem Problem über den Rand hinausziehen und schreibt eine
+Warnung der Form
+\begin{verbatim}[\small]
+[37] [38]
+Overfull \hbox (50.35378pt too wide) in paragraph at lines 660--674
+/ectt1000/\begin{nomathindent}[0.5] /hform1000/re-du-ziert den Ein-zug
+auf die Hälf-te und /ectt1000/\begin{nomathindent}[1.0]
+ []
+\end{verbatim}
+in die Log"=Datei.
+Es wird angegeben, um welchen Betrag der entsprechende Absatz über den
+rechten Satzspiegel hinaussteht.
+Außerdem wird die entsprechende Zeile mit ihrem möglichen
+Trennpositionen ausgegeben.
+
+Häufig lässt sich das Problem durch das Einfügen von
+Trennhilfen\texindex{Trennhilfe} beheben.
+Diese werden am besten durch die Verwendung des Befehls
+\begin{verbatim}[\small]
+\hyphenation
+\end{verbatim}
+\macroindex{hyphenation}%
+in der Dokumentpräambel gesetzt, z.\,B.
+\begin{verbatim}[\small]
+\hyphenation{Donau-dampf-schiff-fahrts-kapi-täns-mütze}
+\end{verbatim}
+In diesem Beispiel wurden ganz bewusst nicht alle erlaubten Trennungen
+eingetragen, da manche Trennungen sinnentstellend sein können,
+beispielsweise \emph{\mbox{Urin}"=\mbox{stinkt}} statt
+\emph{\mbox{Ur}"=\mbox{instinkt}}.
+
+Eine andere Möglichkeit besteht darin, an der betreffenden Stelle eine
+Trennhilfe mit \verb|\-|\macroindex{-} oder \verb|"-|
+einzufügen.
+Dies hat jedoch den Nachteil, dass diese Hilfe natürlich nur dort
+funktioniert, wo sie im Quelltext eingesetzt wurde.
+
+Helfen diese Maßnahmen nicht, sollten die Autoren den Absatz
+(geringfügig) umformulieren.
+Dabei kann es unter Umständen sogar helfen, wenn die Änderungen
+\emph{nach} dem fraglichen Zeilenumbruch sind.
+
+Als letzte Möglichkeit, die auf jeden Fall vermieden werden sollte,
+kann die strenge Abstandskontrolle zwischen Wörtern für den aktuellen
+Absatz ausgeschaltet werden, indem die \verb|sloppypar|"=Umgebung
+um den fraglichen Absatz gesetzt wird:
+\begin{verbatim}[\small]
+\begin{sloppypar}
+ Hier kommt als Beispiel ein ganz langes Wort, das keine
+ einzige \mbox{MöglicheTrennstelleHatUndDaher} unschön umbrochen
+ werden muss.
+\end{sloppypar}
+\end{verbatim}
+Das Ergebnis sieht dann so aus:
+\begin{quotation}
+\begin{sloppypar}
+ Hier kommt als Beispiel ein ganz langes Wort, das keine
+ einzige \mbox{MöglicheTrennstelleHatUndDaher} unschön umbrochen
+ werden muss.
+\end{sloppypar}
+\end{quotation}
+Mit den Parametern \cs{tolerance} und \cs{emergencystretch} kann das
+Verhalten viel genauer eingestellt werden.
+Für das normale Verhalten gilt \cs{tolerance=200} und
+\cs{emergencystretch=0em}, während für \cs{sloppy} \cs{tolerance=9999}
+sowie \cs{emergencystretch=3em} gilt.
+Experimentieren Sie zur Not mit beiden Parametern herum.
+
+% ===================================================================
+\section{Setzen des Buches im Entwurfsstadium}%
+\texindex{Entwurfsstadium}%
+
+Während der Erstellung des Buches ist es sinnvoll, zusätzlich zu den
+Sprachoptionen, die Option \verb|draft|\optindex{draft} im Aufruf
+der Klasse \verb|bgteubner| einzusetzen:
+\begin{verbatim}[\small]
+\documentclass[english,ngerman,draft]{bgteubner}
+\end{verbatim}
+Dadurch wird zum einen in der Fußzeile (fast) aller Seiten ein Eintrag
+der Form
+\begin{quotation}
+ Übersetzt: 20. November 2001, 14:27
+\end{quotation}
+gemacht, der hilft, unterschiedliche Stände der Arbeit unterscheiden
+zu können.
+
+Zum anderen werden Stellen, an denen \LaTeX\ keinen
+zufriedenstellenden Zeilenumbruch erzeugen konnte, durch einen
+schwarzen Balken markiert.
+
+
+% ===================================================================
+\section{Feinschliff}%
+\label{sec:tex_feinschliff}%
+
+Bevor die endgültige Version des Manuskripts dem Verlag als
+Druckvorlage übergeben wird, sollte noch etwas Feinschliff betrieben
+werden.
+
+Zunächst sollten alle unschönen Zeilenumbrüche ("`Overfull
+hbox"'"=Meldungen) beseitigt werden.
+Darauf ist schon in Abschnitt~\ref{sec:tex_silbentrennung} eingegangen
+worden.
+Kleine Überstände in den Rand (bis ca.~$\numprint[pt]{1}$) können
+unter Umständen akzeptiert werden.
+
+Häufig kommt es auch vor, dass es \LaTeX\ nicht möglich ist, die Seite
+zufriedenstellend zu füllen.
+Dies kann zum Beispiel dadurch zustande kommen, dass eine Folge von
+Abschnittsüberschriften so am Fuß einer Seite stehen müsste, dass sie
+über den unteren Satzspiegelrand übersteht.
+Da dies im Normalfall nicht zulässig ist, muss \LaTeX\ die
+Überschriften auf die nächste Seite ziehen, wodurch die vorherige
+Seite nicht vollständig gefüllt ist.
+Da der untere Satzspiegelrand bewahrt bleiben soll, muss \LaTeX\ die
+einzelnen Absätze auseinanderziehen, was zu einem unschönen Satzbild
+wie in Bild~\ref{fig:umbruch1a} gezeigt.
+%
+\begin{figure}
+ \centering
+ \fboxsep0mm%
+ \subfigure[Unschöner Seitenumbruch durch Abschnittsüberschriften]{%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=1]{bilder/seiten/umbruch1}}%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=2]{bilder/seiten/umbruch1}}%
+ \label{fig:umbruch1a}%
+ }%
+ \hfill
+ \subfigure[Verbesserter Seitenumbruch durch temporäre Veränderung
+ des Satzspiegels]{%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=1]{bilder/seiten/umbruch1a}}%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=2]{bilder/seiten/umbruch1a}}%
+ \label{fig:umbruch1b}%
+ }%
+ \caption[Verbesserung des Layouts durch manuelle Eingriffe in den
+ Umbruch]{Verbesserung des Layouts durch manuelle Eingriffe in den
+ Umbruch.
+ Zur Verdeutlichung wird der normale Satzspiegel durch den
+ eingezeichneten Kasten markiert.}%
+\end{figure}
+
+Wenn nun der Satzspiegel auf der Doppelseite jeweils um eine Zeile
+vergrößert wird, passen die Abschnittsüberschriften noch auf die erste
+Seite, so dass diese wieder vernünftig gefüllt ist.
+Es ist wichtig, immer ein Doppelseitenpaar (also eine gerade Seite
+gefolgt von einer ungeraden) um das gleiche Maß zu verändern,
+um auf einer Doppelseite einen einheitlichen unteren Satzspiegel zu
+erhalten.
+
+Bild~\ref{fig:umbruch2} zeigt einen anderen Fall.
+%
+\begin{figure}
+ \centering
+ \fboxsep0mm%
+ \subfigure[Unschöner Seitenumbruch durch eine Fußnote]{%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=1]{bilder/seiten/umbruch2}}%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=2]{bilder/seiten/umbruch2}}%
+ \label{fig:umbruch2a}%
+ }%
+ \hfill
+ \subfigure[Verbesserter Seitenumbruch durch temporäre Veränderung
+ des Satzspiegels]{%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=1]{bilder/seiten/umbruch2a}}%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=2]{bilder/seiten/umbruch2a}}%
+ \label{fig:umbruch2b}%
+ }%
+ \caption[Verbesserung des Layouts durch manuelle Eingriffe in den
+ Umbruch]{Verbesserung des Layouts durch manuelle Eingriffe in den
+ Umbruch.
+ Zur Verdeutlichung wird der normale Satzspiegel durch den
+ eingezeichneten Kasten markiert.}%
+ \label{fig:umbruch2}%
+\end{figure}%
+%
+Die Fußnote müsste eigentlich in der letzten Zeile der ersten Seite
+ihre Markierung haben.
+Dann würde allerdings der Fußnotentext auch auf diese Seite
+geschrieben werden, wurdurch die Zeile mit der Fußnotenmarkierung auf
+die nächste Seite rutschen würde.
+Dadurch rutscht aber auch die Fußnote selbst auf die nächste Seite,
+wodurch auf der ersten Seite wieder Platz für die Zeile mit der
+Fußnotenmarkierung wäre.
+Um diese Zwickmühle zu umgehen, wird diese Zeile auf die nächste Zeile
+gezogen und die erste Seite gestreckt.
+Hier ist es zweckmäßig, beide Seiten etwas zu verkleinern, um das
+Strecken zu verhindern (Bild~\ref{fig:umbruch2b}).
+
+Häufig ist es gar nicht notwendig, in den Satzspiegel einzugreifen.
+Beispielsweise kann es ausreichen, einen Satz geringfügig
+umzuformulieren, eine Abkürzung auszuschreiben oder einen Begriff
+abzukürzen, um einen Absatz um eine Zeile zu verlängern oder zu
+verkürzen und so unschöne Umbrüche zu verhindern.
+Auch eine geringfügige Vergrößerung oder Verkleinerung von Abbildungen
+kann unschöne Umbrüche vermeiden.
+
+Unschöne Umbrüche zeigen sich in der Log"=Datei durch Einträge wie dem
+folgenden:
+\par\noindent
+\begin{verbatim}[\small]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [8] [9]
+\end{verbatim}
+\par\noindent
+Die Zeile sagt, dass eine Seite durch Strecken der Absätze gefüllt
+werden musste.
+Der Wert \verb|badness| zeigt an, wie "`schlimm"' das
+Auseinanderziehen sein musste.
+Der hier gezeigte Wert \np{10000} stellt das Maximum ("`unendlich"')
+an.
+Wenn die \emph{badness} kleine Werte im Bereich bis ca.\ \np{1500}
+hat, kann die Seite noch ohne Veränderung akzeptabel sein.
+Auf jeden Fall sollten Seiten mit dieser Warnung immer angeschaut
+und im Einzelfall entschieden werden, ob eingegriffen werden
+muss.
+Das Umbruchproblem ist im Normalfall auf der Seite mit der Seitenzahl
+entstanden, das der Warnung folgt.
+Hier also auf Seite~8.
+
+Es gibt auch weitere Fälle, die zwar nicht zu einem Auseinanderziehen
+von Absätzen führen, aber dennoch verhindert werden sollten.
+So kann es zum Beispiel passieren, dass die letzte Zeile eines
+Abschnitts einsam auf der Folgeseite steht (sog.\ "`Hurenkind"'), wie
+in Bild~\ref{fig:umbruch3} gezeigt.
+%
+\begin{figure}
+ \centering
+ \fboxsep0mm%
+ \subfigure[Einzelne Zeile auf der Folgeseite]{%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=1]{bilder/seiten/umbruch3}}%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=2]{bilder/seiten/umbruch3}}%
+ \label{fig:umbruch3a}%
+ }%
+ \hfill
+ \subfigure[Problem behoben durch vergrößerten Satzspiegel]{%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=1]{bilder/seiten/umbruch3a}}%
+ \fbox{%
+ \includegraphics[width=0.24\linewidth,page=2]{bilder/seiten/umbruch3a}}%
+ \label{fig:umbruch3b}%
+ }%
+ \caption[Verbesserung des Layouts durch manuelle Eingriffe in den
+ Umbruch]{Verbesserung des Layouts durch manuelle Eingriffe in den
+ Umbruch.
+ Zur Verdeutlichung wird der normale Satzspiegel durch den
+ eingezeichneten Kasten markiert.}%
+ \label{fig:umbruch3}%
+\end{figure}%
+%
+Hier kann zum Beispiel wieder eine Vergrößerung des Satzspiegels
+helfen.
+
+Auch Fußnoten selbst können Probleme bereiten.
+Unter Umständen kann es dazu kommen, dass Fußnoten über zwei Seiten
+umbrochen werden.
+Häufig stellt dies kein Problem dar, beispielsweise wenn der erste
+Teil der Fußnote auf einer geraden, der zweite Teil auf einer
+ungeraden Seite ist und nicht nur wenige Worte umbrochen wurden.
+Manchmal sind die Umbrüche jedoch auch sehr ungeschickt, so dass sie
+vermieden werden sollten.
+Da \LaTeX\ nicht entscheiden kann, wann ein Umbruch in einer Fußnote
+akzeptabel ist, wird nur eine Warnung ins Logfile ausgegeben:
+\par\noindent
+\begin{verbatim}[\small]
+Package fnbreak Warning: Footnote 1 has been split over different pages:
+(fnbreak) page 8 to page 9.
+\end{verbatim}
+\par\noindent
+Hier sollten die Seiten~8 und 9 angeschaut werden und entschieden
+werden, ob die Fußnote verändert werden muss oder nicht.
+
+Ein Vergrößern bzw.\ Verkleinern des Satzspiegels geschieht durch
+Einfügen des Befehls
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\enlargethispage{|meta[Maß]}
+\end{verbatim}
+auf beide Seiten, die in der Größe verändert werden sollen.
+Dabei sollte meist ein Vielfaches des Zeilenabstandes verwendet
+werden, also z.\,B.
+\begin{verbatim}[\small]
+\enlargethispage{-2\baselineskip}
+\end{verbatim}
+Es sollte aber darauf geachtet werden, dass die Veränderungen gering
+bleiben, besonders beim Vergrößern des Satzspiegels.
+Dabei stellen \verb|1\baselineskip| und \verb|-2\baselineskip| die
+Grenzen dar, die nicht überschritten werden sollten.
+
+Dieser Feinschliff muss als allerletzte Arbeit erfolgen, nach dem
+letzten Korrekturlesen, da auch kleine Änderungen am Dokument große
+Änderungen bei diesen Umbruchproblemen bewirken können.
+Außerdem müssen die Arbeiten von vorne nach hinten durchgeführt werden
+und nach jeder Änderung neu übersetzt werden, da eine Änderung vorne
+unweigerlich Änderungen weiter hinten im Dokument nach sich zieht.
+
+Die Arbeit ist zeitaufwändig und erfordert einiges
+Fingerspitzengefühl, um gute Ergebnisse erzielen zu können.
+Es kann sinnvoll sein, dass diese Arbeiten von einer Person
+durchgeführt werden, die hiermit Erfahrung besitzt.
+Sprechen Sie darüber mit dem zuständigen Lektor beim Teubner Verlag.
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/tex_verzeichnisse.tex b/macros/latex/contrib/bgteubner/doc/src/tex_verzeichnisse.tex
new file mode 100644
index 0000000000..783e8cfb43
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/tex_verzeichnisse.tex
@@ -0,0 +1,804 @@
+%
+% bgteubner class bundle
+%
+% tex_verzeichnisse.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{Verzeichnisse}%
+\texindex{Verzeichnis}%
+
+% -------------------------------------------------------------------
+\section{Inhaltsverzeichnis}%
+\texindex{Inhaltsverzeichnis}%
+
+Um das Inhaltsverzeichnis muss sich der Autor nicht kümmern.
+Es wird bei Verwendung des Befehls
+\verb|\tableofcontents|\macroindex{tableofcontents} automatisch
+erzeugt.
+
+% -------------------------------------------------------------------
+\section{Abbildungsverzeichnis und Tabellenverzeichnis}%
+\label{sec:tex:abbildungsverzeichnis}%
+\texindex{Abbildungsverzeichnis}%
+\texindex{Tabellenverzeichnis}%
+
+Das Abbildungsverzeichnis wird mit dem Befehl
+\cs{listoffigures}\macroindex{listoffigures}, das
+Tabellenverzeichnis mit \cs{listoftables}\macroindex{listoftables}
+erzeugt.
+Sie dürfen, müssen aber nicht, im Anschluss an den Anhang erzeugt
+werden.
+Wie schon mehrfach gesagt, ist darauf zu achten, dass die einzelnen
+Einträge nicht zu lang sind.
+
+% -------------------------------------------------------------------
+\section{Verzeichnisse der Beispiele, Definitionen, Beweise und der
+ Aufgaben}%
+\label{sec:tex:beispielverzeichnis}%
+\texindex{Verzeichnis der Beispiele}%
+\texindex{Aufgabenverzeichnis}%
+
+Die Befehle zum Erzeugen der verschiedenen Verzeichnisse lauten
+\macroindex{listofexamples}\cs{listofexamples} für Beispiele,
+für Definitionen \macroindex{listofdefinitions}\cs{listofdefinitions},
+für Beweise \macroindex{listofproofs}\cs{listofproofs}
+und für Aufgaben \macroindex{listofexercises}\cs{listofexercises}.
+Es ist unbedingt zu beachten, dass hier nur Beispiele, Definitionen,
+Beweise bzw.\ Aufgaben aufgenommen werden, die einen Titel besitzen.
+
+Verzeichnisse weiterer theoremartiger Umgebungen werden mit dem Befehl
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\listoftheorems|marg[Typ]|marg[Überschrift]
+\end{verbatim}
+erzeugt, wie schon in Abschnitt~\ref{sec:tex:theorem} ausführlich
+erläutert wurde.
+
+% -------------------------------------------------------------------
+\section{Stichwortverzeichnis}%
+\label{sec:tex_index}%
+\texindex{Stichwortverzeichnis}%
+
+Ein Indexeintrag wird dadurch erzeugt, dass \emph{direkt vor} dem
+interessanten Wort der \macroindex{index}%
+\feinschliff{\cs{index}"=Befehl}{Befehl \cs{index}}%
+ {Befehl \cs{index}}{Befehl \cs{index}}
+mit dem
+Begriff eingefügt wird.
+Beispiel:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+Das \index{Stichwortverzeichnis}Stichwortverzeichnis
+beinhaltet |ldots
+\end{verbatim}
+Wenn ein Begriff am Anfang eines Absatzes auftritt, ist es nicht
+möglich, den \cs{index}"=Befehl davor zu setzen.
+Dann sollte er \emph{direkt danach} geschrieben werden.
+Beispiel:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+|ldots Ende des vorherigen Absatzes.
+
+Stichwortverzeichnisse\index{Stichwortverzeichnis} sind toll.
+\end{verbatim}
+
+Es ist auch möglich, im Stichwortverzeichnis einen Oberbegriff zu
+definieren, für den mehrere Unterbegriffe aufgeführt werden
+Das wird mit Hilfe des Ausrufungszeichens
+(\verb|!|\def\ausruf{!}\srcindex{\protect\ausruf}) gemacht.
+Beispiele:
+\begin{verbatim}[\small]
+\index{Stichwort!beschreibung}\index{Stichwort!eintrag}
+\end{verbatim}
+\index{Stichwort!beschreibung}\index{Stichwort!eintrag}
+
+Ein Querverweis wird dadurch erzeugt, dass an den Begriff
+\env{|see\marg{Verweis}} angehängt wird, zum Beispiel so:
+\begin{verbatim}[\small]
+\index{Winkelfunktion!Sinus|see{Sinus}}%
+\end{verbatim}
+Soll ein Begriff Seitenzahlen und einen Verweis erhalten, muss statt
+\env{|see} der
+\feinschliff{\cs{seealso}"=Befehl}{Befehl \cs{seealso}}%
+ {Befehl \cs{seealso}}{Befehl \cs{seealso}}
+verwendet werden:
+\begin{verbatim}[\small]
+\index{Winkelfunktion!Tangens|seealso{Tangens}}%
+\end{verbatim}
+Soll ein Querverweis auf einen Unterbegriff erstellt werden (wie im
+Beispiel auf Seite~\pageref{ind:bsp1}), so wird in das Argument des
+\env{|see}"=Befehls zur Erzeugung des Bindestriches der Befehl
+\cs{subind} \emph{ohne} führendes Leerzeichen eingefügt:
+\begin{verbatim}[\small]
+\index{Tangens|seealso{Trignonometrische Funktion\subind Tangens}}
+\end{verbatim}
+
+Soll eine Seitenzahl durch Fettdruck hervorgehoben werden, so wird dem
+Begriff \env{|textbf} angehängt:
+\begin{verbatim}[\small]
+\index{Winkelfunktion|textbf}
+\end{verbatim}
+Ebenso geht auch ein Kursivstellen:
+\begin{verbatim}[\small]
+\index{Winkelfunktion|emph}
+\end{verbatim}
+Grundsätzlich können zur Formatierung der Seitenzahl alle Befehle
+verwendet werden, die ein obligatorisches Argument besitzen, dessen
+Inhalt anders formatiert wird,
+\feinschliff{zum Beispiel}{z.\,B.}{z.\,B.}{z.\,B.}
+\cs{textsf}, \cs{textsl}, usw.
+
+Für die Angabe, dass auf die angegebene Seite eine oder mehrere Seiten
+folgen (Anhängen von "`f"' bzw.\ "`ff"') stellt die
+\verb|bgteubner|"=Klasse die Befehle \cs{f}, \cs{ff}, \cs{textbff} und
+\cs{textbfff} zur Verfügung.
+Die mit \cs{textbf} beginnenden Befehle setzen die Zahlen zusätzlich
+fett.
+Im Index werden sie, wie auch die anderen Formatierungsbefehle mit
+\env{|} statt \env{\textbackslash} eingeleitet.
+
+Sollen Seitenbereiche angegeben werden, kann am Anfang des Bereichs
+\env{|(} und am Ende \env{|)} an die Indexbefehle angehängt werdern:
+\begin{verbatim}[\small]
+\index{Mathematik|(}
+...
+\index{Mathematik|)}
+\end{verbatim}
+Eine zusätzliche Formatierung der Seitenzahlen kann beispielsweise
+folgendermaßen erreicht werden:
+\begin{verbatim}[\small]
+\index{Mathematik|textbf(}
+...
+\index{Mathematik|textbf)}
+\end{verbatim}
+
+Wenn in einem Begriff Sonderzeichen oder Befehle, wie z.\,B.\
+mathematische Symbole oder griechische Buchstaben, vorkommen, kann
+\verb|makeindex| die Sortierung nicht korrekt vornehmen, da es nicht
+wissen kann, welche Sortierreihenfolge die richtige ist.
+Beispielweise würde der Eintrag \verb|\index{$R_{\mathrm{m}}$}| als
+"`Symbol"' einsortiert werden, da er mit einem \verb|$| % $
+beginnt.
+Die richtige Sortierung kann erreicht werden, indem das Zeichen
+\verb|@| in den \cs{index}"=Befehl eingefügt wird.
+Der Teil des Arguments vor dem At"=Zeichen wird zur Sortierung
+verwendet, der danach in das Stichwortverzeichnis geschrieben.
+Das Beispiel wird somit folgendermaßen korrekt unter "`R"'
+einsortiert:
+\begin{verbatim}[\small]
+\index{Rm@$R_{\mathrm{m}}$}
+\end{verbatim}
+
+Wie die Sortierreihenfolge griechischer Buchstaben korrigiert werden
+kann, wird in Abschnitt \ref{sec:tex:glossary-automatisch} erläutert.
+Die dort gemachten Ausführungen gelten unverändert auch für
+Stichwortverzeichnisse.
+
+Oft sind mehrere Einträge für den gleichen Begriff sinnvoll.
+Beispiel:
+\begin{verbatim}[\small]
+Der \index{Sinus}\index{Winkelfunktion!Sinus|see{Sinus}}%
+\index{Trigonometrische Funktion!Sinus|see{Sinus}}Sinus lautet ...
+\end{verbatim}
+\index{Sinus}\index{Winkelfunktion!Sinus|see{Sinus}}%
+\index{Trigonometrische Funktion!Sinus|see{Sinus}}%
+Dabei muss aufgepasst werden, dass zwischen den einzelnen
+\verb|\index|"=Befehlen keine Leerzeichen stehen, da diese als größere
+Lücken im Text übrigbleiben würden.
+Muss ein Zeilenumbruch eingefügt werden, so sollte das Zeilenende mit
+einem \texttt{\%} auskommentiert werden, wie es in dem Beispiel auch
+gemacht wurde.
+
+
+\LaTeX\ kann selbst keinen Index erzeugen.
+Dafür muss~-- nachdem sich beim Übersetzen keine Labels mehr ändern~--
+das Programm \verb|makeindex|\srcindex{makeindex} verwendet werden.
+Der Aufruf lautet
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+makeindex -c -g -s bgteubner.ist |meta[Dateiname]
+\end{verbatim}
+Durch die Kommandooption \verb|-s bgteubner.ist| wird das
+Stichwortverzeichnis im einheitlichen Format des Teubner Verlags
+generiert.
+\meta{Dateiname} ist der Dateiname der Hauptdatei ohne die Endung
+\verb|.tex|.
+
+Die in diesem Abschnitt vorgestellten Indexbefehle ergeben einen Index
+ähnlich dem Stichwortverzeichnis dieser Richtlinien,
+Seite~\pageref{sec:echter-index}.
+
+% -------------------------------------------------------------------
+\subsection{Doppelte Einträge}%
+\label{sec:tex_index_doppelt}%
+\index{Stichwortverzeichnis!doppelter Eintrag|textbf}%
+\index{Stichwortverzeichnis!doppelter Eintrag}%
+
+Bei der Erstellung des Index kann es passieren, dass beispielsweise
+ein Begriff an einer Stelle eingeführt wurde und entsprechend fett im
+Stichwortverzeichnis auftreten soll.
+Zum Beispiele
+\begin{verbatim}[\small]
+\index{Stichwortverzeichnis!doppelter Eintrag|textbf}%
+\end{verbatim}
+Wenig später tritt dieser Begriff erneut auf, so dass ein normaler
+Indexeintrag erstellt werden soll:
+\begin{verbatim}[\small]
+\index{Stichwortverzeichnis!doppelter Eintrag}%
+\end{verbatim}
+Wenn nun beide Einträge auf die gleiche Seite rutschen, ist der normal
+gedruckte Eintrag im Normalfall überflüssig.
+Dies führt dann zu einem Indexeintrag wie dem folgenden:
+\begin{quotation}
+ \bsptheindex
+ \begin{theindex}
+ \item Stichwortverzeichnis, \textbf{25}, \emph{51}
+ \subitem doppelter Eintrag, 52, \textbf{52}
+ \end{theindex}
+\end{quotation}
+Für "`doppelter Eintrag"' wird die Seitenzahl 52 zweimal angegeben.
+\feinschliff{%
+ Das Programm \texttt{makeindex} schreibt, da es nicht wissen kann, ob
+ das gewollt ist,
+}{%
+ Da das Programm \texttt{makeindex} nicht wissen kann, ob das gewollt
+ ist, schreibt es
+}{%
+ Da das Programm \texttt{makeindex} nicht wissen kann, ob das gewollt
+ ist, schreibt es
+}{%
+ Da das Programm \texttt{makeindex} nicht wissen kann, ob das gewollt
+ ist, schreibt es
+}%
+nur eine Warnung in die Log"=Datei, hier
+\texttt{\jobname.ilg}, mit folgendem Inhalt:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+## Warning (input = |jobname.idx, line = 405;
+ output = |jobname.ind, line = 383):
+ -- Conflicting entries: multiple encaps for the same page under same key.
+\end{verbatim}
+Wenn der doppelte Eintrag nicht gewollt ist, sollte einer der beiden
+Einträge (im Normalfall wohl der nicht fettgedruckte) an der Stelle
+des Aufrufs gelöscht werden.
+Dies sollte aber ganz am Ende der Arbeiten getan werden, da der
+Eintrag ja wieder notwendig werden könnte, wenn doch noch ein
+Seitenumbruch zwischen die beiden Einträge rutschen sollte.
+
+% -------------------------------------------------------------------
+\section{Verwendete Formelzeichen, Abkürzungsverzeichnis usw.}%
+\label{sec:tex:glossary}%
+\texindex{Formelverzeichnis}%
+
+Verzeichnisse wie die der Formelzeichen, Abkürzungen usw.\ werden im
+Folgenden kurz als \emph{Glossar} bezeichnet.
+
+Für Glossare gibt es zwei Möglichkeiten, sie zu erstellen.
+Die eine entspricht der der Erstellung eines Stichwortverzeichnisses
+(vgl.\ Abschnitt~\ref{sec:tex_index}).
+Hierbei werden mittels bestimmter Befehle die Einträge in eine
+Hilfsdatei geschrieben, mit \verb|makeindex| sortiert und dann für das
+Verzeichnis eingelesen.
+Doppelte Einträge werden dabei auf einen reduziert.
+Das genaue Vorgehen wird in
+Abschnitt~\ref{sec:tex:glossary-automatisch} erläutert.
+Beim anderen Ansatz werden die Begriffe direkt in die
+Glossar"=Umgebung geschrieben.
+Dies wird in Abschnitt~\ref{sec:tex:glossary-manuell} erläutert.
+Beide Ansätze führen zum gleichen typographischen Ergebnis.
+Welchen Ansatz Sie wählen, bleibt Ihnen überlassen.
+
+
+\subsection{Automatische Erzeugung}%
+\label{sec:tex:glossary-automatisch}%
+
+Sie können unterschiedliche, glossarartige Verzeichnisse einrichten.
+Um ein bestimmtes Verzeichnis des Typs \meta{Typ} anzulegen, können
+Sie zunächst den Befehl
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\makeglossary|oarg[Typ]
+\end{verbatim}
+verwenden.\footnote{Am Ende dieses Abschnitts werden einige Beispiele
+ gezeigt, die die Verwendung vielleicht besser als die allgemeinen
+ Erklärungen verdeutlichen.}
+Wenn Ihre Hauptdatei den Namen \meta{Hauptdatei} hat, wird eine Datei
+mit dem Namen \meta{Hauptdatei}\verb|.glo|\meta{Typ} angelegt.
+Es ist auch möglich, den \meta{Typ} nicht anzugeben.
+Dann wird ein "`normaler"' Glossar angelegt.
+
+Gleichzeitig wird der Befehl
+\cs{glossary\meta{Typ}\marg{Eintrag}\marg{Erklärung}} definiert, mit
+dem Sie einen Eintrag in den Glossar vornehmen können.
+
+Wenn Sie mit \cs{makeglossary} ohne Argument einen normalen Glossar
+eingerichtet haben, ist die Überschrift definiert und im Deutschen
+automatisch auf "`\glossaryname"' gesetzt.
+Für andere Glossartypen gibt es keine Vordefinition.
+Sie müssen dann eine Überschrift mit
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\newcommand*\glossary|meta[Typ]name|marg[Überschrift]
+\end{verbatim}
+definieren.
+Wenn Sie für unterschiedliche Sprachen Überschriften definieren
+wollen, können Sie dies mit folgendem Befehl tun, der mit
+\verb|babel.sty| zusammenarbeitet:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\newcommand*\glossary|meta[Typ]name{}
+\addto\captions|meta[Sprache]{\renewcommand*\glossary|meta[Typ]name|marg[Überschrift]}
+\end{verbatim}
+Die leere Definition vor dem \cs{addto}"=Befehl ist notwendig, damit
+der \cs{renewcommand*}"=Befehl beim ersten Sprachwechsel keinen Fehler
+erzeugt.
+
+In der bisher definierten Form wird der Glossar als unnummeriertes
+Kapitel mit der Überschrift \meta{Überschrift} gesetzt.
+Möchten Sie ein abweichendes Verhalten, z.\,B.\ als Abschnitt oder
+mit einleitendem Text, wie es in der Befehlsreferenz auf
+Seite~\pageref{sec:befehlsreferenz} der Fall ist, so müssen Sie den
+Befehl
+\cs{glossary\meta{Typ}preamble} umdefinieren, wie es folgendes
+Beispiel zeigt:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\renewcommand\glossary|meta[Typ]preamble{%
+ \addsec{\glossary|meta[Typ]name}%
+ Dieser Glossar hat einleitenden Text und wird als Abschnitt
+ gesetzt.%
+}
+\end{verbatim}
+
+Das setzen des Glossars erfolgt durch die Verwendung des Befehls
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\printglossary|meta[Typ]|oarg[Breite]
+\end{verbatim}
+wobei \meta{Breite} den Platz angibt, der für die Stichworte
+reserviert wird.
+Sie muss nicht angegeben werden und fällt dann auf einen Standardwert
+zurück, der in den meisten Fällen zufriedenstellend sein sollte.
+
+\bigskip
+Da diese Erläuterungen sehr abstrakt waren, folgen jetzt einige
+Beispiele.
+
+Die in diesen Autorenrichtlinien verwendete Befehlsreferenz wurde
+folgendermaßen eingerichtet und verwendet.
+In der Präambel wird die Verwendung vorbereitet:
+\begin{verbatim}[\small]
+\makeglossary[cmd]
+\newcommand*\glossarycmdname{}
+\addto\captionsgerman{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsngerman{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsaustrian{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsnaustrian{\renewcommand*\glossarycmdname{Befehlsreferenz}}
+\addto\captionsenglish{\renewcommand*\glossarycmdname{Command reference}}
+\renewcommand\glossarycmdpreamble{%
+ \addchap{\glossarycmdname}%
+ \label{sec:befehlsreferenz}%
+ In dieser Befehlsreferenz sind hauptsächlich die Befehle und
+ Umgebungen aufgeführt, die von der
+ \texttt{bgteubner}-Klasse zusätzlich zum Standard bzw.\ der Klasse
+ \texttt{scrbook} aus dem \acro{KOMA}-Script-Paket definiert
+ werden.
+
+ In Klammern wird jeweils der Abschnitt angegeben, in dem nähere
+ Erklärungen gefunden werden können.
+}
+\end{verbatim}
+Im Dokument werden dann die Einträge folgendermaßen definiert (hier
+nur zwei Beispiele):
+\begin{verbatim}[\small]
+\glossarycmd{frontmatter@\cs{frontmatter}}{Titelei des Buchs
+ (\ref{sec:tex:aufbau})}%
+\glossarycmd{glossary@\cs{glossary\meta{Name}}}{Definiert einen
+ Eintrag für einen Glossar des Typs \meta{Name}
+ (\ref{sec:tex:glossary})}%
+\end{verbatim}
+Die Stichworte im ersten Argument des \cs{glossarycmd}"=Befehls werden
+mit der aus der Erstellung von Stichwortverzeichnissen bekannten
+Syntax geschrieben.
+Um eine korrekte Sortierung zu erreichen, kann der zur Sortierung
+verwendete Teil vor ein \verb|@| geschrieben werden und der gedruckte
+Teil danach.\footnote{Der \cs{glossary\meta{Typ}}"=Befehl kann als
+ Teil des Arguments ein \texttt{@} verarbeiten.
+ Damit dies möglich ist, muss das At"=Zeichen die für normale Texte
+ übliche Bedeutung haben.
+ Für "`normale"' Nutzer stellt dies kein Problem dar.
+ Sollten Sie jedoch in Ihrem Dokument die Befehle \cs{makeatletter}
+ und \cs{makeatother} verwenden, kann dies dazu führen, dass der
+ Befehl \cs{glossary\meta{Typ}} scheitert, sofern er nach
+ \cs{makeatletter} aufgerufen wurde.
+ Dabei wird leider keine Fehlermeldung erzeugt, sondern nur ungültige
+ Glossar"=Einträge, die von \texttt{makeindex} abgewiesen werden.
+ Schauen Sie sich dazu die Log"=Datei an, die beim
+ \texttt{makeindex}"=Durchlauf erzeugt wird.}
+Der Befehl \cs{cs} schreibt sein Argument in Schreibmaschinenschrift
+mit vorangestelltem Backslash.
+Im zweiten Argument stehen jeweils die Erklärungen zu den zuvor
+definierten Begriffen.
+
+Gedruckt wird die Befehlsreferenz schließlich mit folgendem Befehl:
+\begin{verbatim}[\small]
+\printglossarycmd[4.5em]
+\end{verbatim}
+
+
+Ein nach Skalaren und Vektoren aufgeteiltes Formelzeichenverzeichnis
+kann beispielsweise folgendermaßen angelegt werden (diesmal zur
+Vereinfachung ohne mehrsprachige Überschriften):
+\begin{verbatim}[\small]
+\makeglossary[skalar]
+\newcommand*\glossaryskalarname{Skalare}
+\renewcommand\glossaryskalarpreamble{\addsec{\glossaryskalarname}}
+\makeglossary[vektor]
+\newcommand*\glossaryskalarname{Vektoren}
+\renewcommand\glossaryvektorpreamble{\addsec{\glossaryvektorname}}
+\end{verbatim}
+Einträge werden dann folgendermaßen vorgenommen:
+\begin{verbatim}[\small]
+\glossaryskalar{E@$E$}{Elastizitätsmodul}
+\glossaryvektor{u@$\vec{u}$}{Verschiebungsvektor}
+\end{verbatim}
+Wie in diesem Beispiel zu sehen, müssen Formelzeichen in
+\verb|$|\ldots\verb|$| bzw. \cs{(}\ldots\cs{)} geklammert werden.
+
+Sie sollten die Sortierung mittels der \verb|@|"~Syntax korrekt
+halten, da dies gerade bei mathematischen Symbolen sonst gar nicht
+gewährleistet ist.
+Um griechische Buchstaben von lateinischen Buchstaben getrennt zu
+setzen, kann ihnen ein Sonderzeichen vorangestellt werden und diesem
+Buchstaben angehängt werden, um untereinander die korrekte Reihenfolge
+zu behalten.
+Da die Sortierreihenfolge der lateinischen Namen für die griechischen
+Buchstaben nicht der Sortierreihenfolge der griechischen Buchstaben
+entspricht, muss hier etwas improvisiert werden.
+So lautet die richtige Reihenfolge beispielsweise
+$\alpha\beta\gamma\delta$, wogegen \verb|makeindex| die Befehle
+\cs{alpha}""\cs{beta}""\cs{delta}""\cs{gamma} sortieren würde.
+Abhilfe kann folgender "`Workaround"' bieten:
+\begin{verbatim}[\small]
+\glossaryskalar{\aalpha@$\alpha$}{Ein Alpha}
+\glossaryskalar{\bbeta@$\beta$}{Ein Beta}
+\glossaryskalar{\cgamma@$\gamma$}{Ein Gamma}
+\glossaryskalar{\ddelta@$\delta$}{Ein Delta}
+\end{verbatim}
+Der vorangestellte Backslash sorgt dafür, dass die griechischen
+Zeichen als Symbole einsortiert werden.
+Der jeweils eingefügte Buchstabe vor dem Namen des griechischen
+Buchstaben sorgt für die richtige Sortierung.
+Die Sortierreihenfolge griechischer Zeichen ist in
+Abschnitt~\ref{sec:formelzeichen} enthalten.
+
+Das gesamte Formelzeichenverzeichnis kann dann folgendermaßen gedruckt
+werden:
+\begin{verbatim}[\small]
+\addchap{Formelzeichenverzeichnis}
+\printglossaryskalar
+\printglossaryvektor
+\end{verbatim}
+
+Wie in Abschnitt~\ref{sec:formelzeichen} schon beschrieben, können
+Bücher des Teubner Verlags in den Glossaren Überschriften zur
+Gliederung besitzen oder durchgängig formatiert werden.
+Wenn Sie den Glossar automatisch erzeugen, wird darüber nicht in der
+\LaTeX"=Datei entschieden, sondern beim Aufruf von \verb|makeindex|.
+
+Einen nicht gegliederten Glossar erzeugt man mit der
+Index"=Stil"=Datei \verb|bgteuglo.ist|.
+Wenn Ihre Hauptdatei \meta{M} heißt und Sie einen Glossar des
+Typs \meta{T} erstellen wollen, lautet der Aufruf dann
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+makeindex -c -g -s bgteuglo.ist -o |meta[M].gls|meta[T] -t |meta[M].glg|meta[T] |meta[M].glo|meta[T]
+\end{verbatim}
+Die einzelnen Parameter haben folgende Bedeutungen:
+\begin{description*}
+\item [\texttt{-c}] Lösche eventuelle führende Leerzeichen im
+ Argument.
+\item [\texttt{-g}] Verwende eine deutsche Sortierreihenfolge.
+\item [\texttt{-s bgteuglo.ist}] Verwende den spezifizierten Stil für
+ den Glossar.
+\item [\texttt{-o \meta{M}.gls\meta{T}}] Schreibe die Ausgabe in
+ die angegebene Datei.
+\item [\texttt{-t \meta{M}.glg\meta{T}}] Verwende die angegebene
+ Datei als Log"=Datei.
+\item [\texttt{\meta{M}.glo\meta{T}}] Lies die angegebene Datei
+ ein.
+\end{description*}
+
+Wollen Sie einen Glossar des Typs \verb|cmd| mit der Hauptdatei
+\verb|buch| erzeugen, ist der Aufruf entsprechend
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+makeindex -c -g -s bgteuglo.ist -o buch.glscmd -t buch.glgcmd buch.glocmd
+\end{verbatim}
+
+Soll jedem Buchstaben eine Überschrift vorangestellt werden, so
+verwenden Sie als Stildatei \verb|bgteuglochar.ist| statt
+\verb|bgteuglo.ist|.
+
+
+
+\subsection{Manuelle Erzeugung}%
+\label{sec:tex:glossary-manuell}%
+
+Das, was die im vorangegangenen Abschnitt vorgestellten Befehle in
+Zusammenarbeit mit
+\feinschliff{dem Programm }{}{}{}%
+\verb|makeindex| machen, kann der Autor auch
+manuell bewerkstelligen.
+
+Dazu stellt die Klasse \verb|bgteubner| die
+Umgebung \env{theglossary}\envindex{theglossary} zur Verfügung, die
+intern als Listenumgebung umgesetzt ist.
+Ein Glossar wird folgendermaßen erzeugt:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\begin{theglossary}|oarg[Präambel]
+\item |oarg[Begriff 1] |meta[Erklärung 1]
+\item |oarg[Begriff 2] |meta[Erklärung 2]
+|ldots
+\end{theglossary}
+\end{verbatim}
+In der \meta{Präambel} wird die Überschrift sowie einleitender Text
+des Glossars definiert.
+Wird keine Präambel angegeben, so wird "`Glossar"' als unnummerierte
+Kapitelüberschrift verwendet.
+Soll eine andere Überschrift verwendet werden, so muss auch der
+Gliederungsbefehl angegeben werden, z.\,B.
+\begin{verbatim}[\small\makeescape\|]
+\begin{theglossary}[\addchap{Formelzeichen}]
+|ldots
+\end{theglossary}
+\end{verbatim}
+
+Auch wenn die Argumente der \cs{item}"=Befehle in eckigen Klammern
+angegeben sind, ist ein Eintrag obligatorisch.
+Als Argument wird der zu erklärende Begriff gesetzt, die Erklärung
+folgt nach dem Argument.
+Sollte im Argument eine eckige Klammer auftreten, so muss der gesamte
+Ausdruck mit geschweiften Klammern geklammert werden, da die erste
+schließende, eckige Klammer das Argument beendet, z.\,B.
+\begin{verbatim}[\small]
+\item [{$[a]$}] Einheit der Größe $a$
+\end{verbatim}
+
+Das folgende Beispiel zeigt das Formelzeichenverzeichnis aus
+Abschnitt~\ref{sec:formelzeichen}:
+\begin{verbatim}[\small]
+\begin{theglossary}[\subsection*{Skalare}]%
+ \item[$\alpha_{\mathrm{k}}$] Kerbformzahl
+ \item[$\varepsilon$] technische Dehnung
+ \item[$\varphi$] wahre Dehnung
+ \item[$\sigma$] Spannung
+ \item[$a$] Gitterkonstante
+ \item[$a$] Risslänge bei Oberflächenrissen und halbe Risslänge bei
+ inneren Rissen
+ \item[$c$] Gitterkonstante
+ \item[$K$] Spannungsintensitätsfaktor
+ \item[$R_{\mathrm{eH}}$] obere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{eL}}$] untere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{m}}$] Zugfestigkeit
+ \item[$R_{\mathrm{p0,2}}$] Dehngrenze für Materialien ohne
+ ausgeprägte Streckgrenze
+\end{theglossary}%
+\end{verbatim}
+
+Wenn Sie die Glossareinträge nach ihren Anfangsbuchstaben gruppieren
+wollen, können Sie dies tun, indem Sie
+\cs{glossarynewchar\marg{Überschrift}} in die Liste einfügen.
+Das eben gezeigte Formelzeichenverzeichnis wird dann entsprechend
+folgendermaßen erzeugt:
+\begin{verbatim}[\small]
+\begin{theglossary}[\subsection*{Skalare}]%
+ \glossarynewchar{Symbole}
+ \item[$\alpha_{\mathrm{k}}$] Kerbformzahl
+ \item[$\varepsilon$] technische Dehnung
+ \item[$\varphi$] wahre Dehnung
+ \item[$\sigma$] Spannung
+ \glossarynewchar{A}
+ \item[$a$] Gitterkonstante
+ \item[$a$] Risslänge bei Oberflächenrissen und halbe Risslänge bei
+ inneren Rissen
+ \glossarynewchar{C}
+ \item[$c$] Gitterkonstante
+ \glossarynewchar{K}
+ \item[$K$] Spannungsintensitätsfaktor
+ \glossarynewchar{R}
+ \item[$R_{\mathrm{eH}}$] obere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{eL}}$] untere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{m}}$] Zugfestigkeit
+ \item[$R_{\mathrm{p0,2}}$] Dehngrenze für Materialien ohne
+ ausgeprägte Streckgrenze
+\end{theglossary}%
+\end{verbatim}
+
+% -------------------------------------------------------------------
+\section{Literaturverzeichnis}%
+\texindex{Literaturverzeichnis}%
+
+Um auch das Literaturverzeichnis einheitlich zu formatieren, sollen die
+Literaturverzeichnisse mit Hilfe des Programms
+\texindex{BibTeX@\BibTeX}\BibTeX\ erstellt
+werden.
+
+Dazu schreibt man eine Datei mit der Dateinamensendung
+\verb|.bib|\texindex{bib@\texttt{.bib}"=Datei}, die für alle
+Literaturstellen entsprechende Einträge in der
+\BibTeX"=Syntax enthält.
+Beispiel:
+\begin{verbatim}[\small]
+@Book{roesler2003a,
+ author = {Rösler, Joachim and Harders, Harald and Bäker, Martin},
+ title = {Mechanisches Verhalten der Werkstoffe},
+ publisher = {B.~G. Teubner},
+ year = 2003,
+ address = {Stuttgart},
+ edition = {1.},
+ language = {ngerman},
+ isbn = {3-519-00438-0}
+}
+\end{verbatim}
+
+\noindent
+Für eine genauere Beschreibung der Einträge sei auf die
+weiterführende Literatur \cite{goossens1995a,patashnik1988a}
+verwiesen.
+
+Die Einträge sind gegenüber Standard"=\BibTeX\ um vier Felder
+erweitert:
+\begin{itemize*}
+\item Das Feld \verb|language|\srcindex{language} enthält die Sprache
+ des Literaturverweises.
+ Alle Sprachen, die im Literaturverzeichnis vorkommen, müssen auch beim
+ Aufruf der Dokumentklasse mit übergeben werden (vgl.\
+ Abschnitt~\ref{sec:tex:aufbau}).
+\item In den Feldern \verb|isbn|\srcindex{isbn} und
+ \verb|issn|\srcindex{issn} stehen die
+ \acro{ISBN}\texindex{ISBN@\acro{ISBN}} bzw.\
+ \acro{ISSN}\texindex{ISSN@\acro{ISSN}} des Verweises.
+ Verwenden Sie bitte die vollständigen Schreibweisen mit den
+ gliedernden Bindestrichen, wie sie auf den Werken abgedruckt sind.
+\item Mit dem Feld \verb|url|\texindex{url} können Internetadressen
+ angegeben werden.
+ Sie werden mit dem Befehl \cs{url} gesetzt, falls dieser verfügbar
+ ist.
+ Falls Sie dieses Feld benutzen, sollten Sie das Paket \verb|url.sty|
+ laden.
+\end{itemize*}
+
+Die Literaturverweise selbst werden mit Hilfe des Befehls
+\verb|\cite|\macroindex{cite} erzeugt.
+Beispiel:
+\begin{verbatim}[\small]
+\cite{goossens1995a,patashnik1988a}
+\end{verbatim}
+
+Das Verzeichnis wird durch die Befehlsfolge
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+\bibliographystyle{bgteupln}
+\bibliography{|meta[bib-Datei 1],|meta[bib-Datei 2],|ldots}
+\end{verbatim}
+\macroindex{bibliographystyle}\macroindex{bibliography}%
+erzeugt, wobei \meta{bib-Datei 1}, \meta{bib-Datei 2}, \ldots\ für
+eine Liste aller verwendeten \BibTeX"=Dateien mit der Endung
+\verb|bib| steht.
+
+Der Literaturstil \url{bgteupln} schreibt bei mehreren Autoren den
+ersten in der Form "`Nachname, Vorname"' und alle weiteren "`Vorname
+Nachname"'.
+Sollten Sie lieber alle Autoren in der Form "`Nachname, Vorname"'
+geschrieben haben, können Sie auch den Literaturstil \url{bgteupln2}
+verwenden.
+Da diese Form allerdings schlechter zu lesen ist, sollten Sie
+\url{bgteupln} bevorzugen.
+
+Zusätzlich zu den beiden Literaturstilen werden die Literaturstile
+\url{bgteuabbr} und \url{bgteuabbr2} angeboten, die wie \url{bgteupln}
+und \url{bgteupln2} arbeiten, jedoch Vornamen sowie einige
+Schlüsselworte abkürzen.
+
+Falls Sie darauf bestehen sollten, Namen in Kapitälchen zu setzen,
+sollten Sie zum einen den Befehl \cs{person} entsprechend
+Abschnitt~\ref{sec:tex:auszeichnungen} umdefinieren.
+Außerdem können Sie die Schrift für Personennamen im
+Literaturverzeichnis umdefinieren, indem Sie den Befehl
+\begin{verbatim}[\small]
+\setbibliographyfont{name}{\textsc}
+\end{verbatim}
+in die Präambel Ihres Dokuments schreiben.
+Näheres dazu finden Sie in der Dokumentation zum Paket
+\verb|babelbib|~\cite{harders2003a}.
+
+Bei der Sortierung des Literaturverzeichnisses besteht ein Dilemma, da
+es zwei \BibTeX"=Versionen gibt, die jeweils unterschiedliche
+Nachteile besitzen.
+Das Programm \verb|bibtex| besitzt keine vernünftige Unterstützung für
+Zeichen, die über den \acro{US}"=\acro{ASCII}"=Zeichensatz
+hinausgehen.
+Dadurch werden in der \verb|bib|"=Datei direkt eingegebene Umlaute
+nach den "`normalen"' Buchstaben einsortiert (beispielsweise
+"`Ähre"' nach "`Zentrum"').
+Abhilfe schafft es, Umlaute in den Feldern der \verb|bib|"=Datei, die
+zur Sortierung verwendet werden (meist \verb|author| oder
+\verb|editor|) nicht direkt einzugeben, sondern \verb|\"A| usw.\
+beziehungsweise bei deutschen Einträgen auch \verb|"A| usw.\ zu
+verwenden.
+
+Eine andere Möglichkeit ist das Programm \verb|bibtex8|, das zwar
+Eingabekodierungen versteht, aber die Suchpfade der \TeX"=Distribution
+nicht automatisch verwendet (es fehlt die kpathsea"=Unterstützung).
+Daher müssten alle Pfade explizit angegeben werden.
+
+Welchen Weg Sie gehen wollen, bleibt Ihnen überlassen.
+Falls Sie \verb|bibtex8| verwenden wollen, sollten Sie die Datei
+\verb|00readme.txt| im Verzeichnis \url{$TEXMF/doc/bibtex8/}
+lesen, wobei \verb|$TEXMF| unter Unix häufig \url{/usr/TeX/texmf/} und
+unter Windows \url{C:\Programme\TeXLive\texmf} ist.
+
+\iffalse
+Sollten Sie in der \verb|bib|"=Datei Umlaute direkt eingeben, müssen
+Sie dem Programm \BibTeX\ explizit angeben, welche Zeichenkodierung
+Sie verwenden.
+Dies geschieht dadurch, dass Sie beim Programmaufruf von \verb|bibtex|
+die Kommandozeilenoption \verb|-c| gefolgt von dem Namen der
+zugehörigen Kodierungsdatei angeben:
+\begin{verbatim}[\small\makeescape\|\makebgroup\[\makeegroup\]]
+bibtex -c |meta[Kodierung] |meta[Hauptdatei]
+\end{verbatim}
+Leider unterscheiden sich die Namen der Kodierungsdateien von den
+Eingabekodierungen des \verb|inputenc|"=Pakets.
+Tabelle~\ref{tab:bibtex-kodierungen} fasst die in \TeXLive\,8
+verfügbaren Kodierungen zusammen.
+%
+\begin{table}%
+ \centering
+ \caption{Eingabekodierungen für \BibTeX8}%
+ \label{tab:bibtex-kodierungen}%
+ \begin{tabular}{>{\ttfamily}lll}
+ \toprule
+ \multicolumn{1}{l}{Datei}& Kodierung& Sortierreihenfolge \\
+ \midrule
+ 88591lat.csf& \acro{ISO}\,8859-1 & normal \\
+ 88591sca.csf& \acro{ISO}\,8859-1 & skandinavisch \\
+ 88592pl.csf & \acro{ISO}\,8859-2 & polnisch \\
+ ascii.csf & \acro{US}~\acro{ASCII} & englisch \\
+ cp437lat.csf& \acro{IBM} Codepage 437& normal \\
+ cp850lat.csf& \acro{IBM} Codepage 850& normal \\
+ cp850sca.csf& \acro{IBM} Codepage 850& skandinavisch \\
+ cp852pl.csf & \acro{IBM} Codepage 852& polnisch \\
+ cp866rus.csf& \acro{IBM} Codepage 866& russisch \\
+ cp1250pl.csf& \acro{IBM} Codepage 1250& polnisch \\
+ iso8859-7.csf& \acro{ISO}\,8859-7 & normal \\
+ \bottomrule
+ \end{tabular}
+\end{table}%
+%
+Unter Unix und Windows wird normalerweise die Kodierung
+\verb|88591lat.csf| korrekt sein.
+Wenn Sie für Umlaute \verb|"a| usw.\ beziehungsweise \verb|\"a| usw.\
+verwenden, ist die Angabe der Kodierung nicht notwendig (aber auch
+nicht hinderlich).
+
+Sie können auch vermeiden, bei jedem \BibTeX"=Aufruf die
+Kodierungsdatei anzugeben, wenn Sie die Umgebungsvariable
+\verb|BIBTEX_CSFILE| so setzen, dass Sie den verwendete Dateinamen
+enthält.
+Wie Sie Umgebungsvariablen setzen, unterscheidet sich je nach
+Betriebssystem, so dass hier nicht näher darauf eingegangen wird.
+\fi
+
+
+
+% ===================================================================
+% Dateiende
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/textelemente.tex b/macros/latex/contrib/bgteubner/doc/src/textelemente.tex
new file mode 100644
index 0000000000..0f57587d05
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/textelemente.tex
@@ -0,0 +1,393 @@
+%
+% bgteubner class bundle
+%
+% 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}%
+\label{sec:textelemente}%
+\index{Textelement}%
+
+In diesem Kapitel werden einige Textelemente, wie z.\,B. Beispiele,
+Aufgaben oder Anmerkungen, besprochen.
+
+% -------------------------------------------------------------------
+\section{Aufzählungen}%
+\label{sec:aufzaehlungen}%
+\index{Aufzählung}
+
+Aufzählungen können sowohl nummeriert als auch unnummeriert vorliegen.
+Allgemein werden sie eingerückt und können geschachtelt auftreten.
+Es sollte jedoch darauf geachtet werden, die Verschachtelungstiefe
+nicht zu groß werden zu lassen.
+
+Je nachdem, wie lang die einzelnen Punkte der Aufzählungen sind,
+können die vertikalen Abstände unterschiedlich gewählt werden.
+Für sehr lange Einträge bietet es sich an, sowohl am Beginn der Liste
+als auch zwischen den einzelnen Punkten einen vertikalen Zwischenraum
+einzufügen, wie es das folgende Beispiel zeigt:
+\begin{itemize}
+\item Hier wird vor dem ersten Eintrag, zwischen den Einträgen und
+ nach dem letzten Eintrag ein vertikaler Zwischenraum eingefügt.
+\item Bei kurzen Einträgen wirkt der Text durch die Zwischenräume
+ löchrig.
+\end{itemize}
+
+Sind die Einträge kürzer, so bietet es sich an, nur vor und nach der
+Aufzählung einen Zwischenraum einzufügen, zwischen diesen aber nur
+einen normalen Zeilenabstand:
+\begin{itemize*}
+\item Vor dem ersten Aufzählungspunkt ist ein Zwischenraum,
+\item zwischen den Einträgen nicht, und
+\item nach dem letzten Eintrag ist wieder Zwischenraum eingefügt.
+\end{itemize*}
+
+Sind die Einträge sehr kurz und vielleicht in einen Satz eingebettet,
+der über die Aufzählung hinausgeht, so sollte weder
+\begin{compactitem}
+\item vor noch
+\item zwischen noch
+\item nach
+\end{compactitem}
+den einzelnen Punkten ein Zwischenraum eingefügt werden.
+
+Wie bei abgesetzten Formeln ist bei Aufzählungen darauf zu achten, ob
+für den folgenden Text ein neuer Absatz begonnen werden soll oder
+nicht.
+Bei den beiden ersten Aufzählungen in diesem Abschnitt ist dies der
+Fall, bei der dritten nicht.
+
+Das folgende Beispiel zeigt die Kennzeichnung der Punkte in einer
+nummerierten Aufzählung:
+\begin{compactenum}
+\item Die erste Ebene wird mit arabischen Zahlen nummeriert.
+ \begin{compactenum}
+ \item In der zweiten Ebene werden Kleinbuchstaben verwendet.
+ \begin{compactenum}
+ \item Die dritte Ebene wird mit kleinen römischen Zahlen gekennzeichnet.
+ \end{compactenum}
+ \end{compactenum}
+\end{compactenum}
+
+Für eine unnummerierte Aufzählung werden folgende Zeichen verwendet:
+\begin{compactitem}
+\item Die erste Ebene erhält einen großen Punkt.
+ \begin{compactitem}
+ \item Für die zweite Ebene werden Spiegelstriche verwendet.
+ \begin{compactitem}
+ \item Die dritte Ebene wird mit Sternen gekennzeichnet.
+ \end{compactitem}
+ \end{compactitem}
+\end{compactitem}
+
+% -------------------------------------------------------------------
+\section{Beispiele}%
+\label{sec:beispiele}%
+\index{Beispiel}%
+
+Es sind zwei Möglichkeiten zum Setzen von Beispielen vorgesehen:
+Entweder werden Beispiele ohne typographische Kennzeichnung im
+Fließtext gesetzt.
+Dann muss jedoch darauf geachtet werden, dass der Anfang und das Ende
+des Beispiels aus dem Text eindeutig ersichtlich sind.
+Die zweite Möglichkeit, Beispiele zu kennzeichnen, besteht darin, sie
+optisch vom Fließtext abzusetzen.
+Dazu wird eine Überschrift gesetzt, die mit dem Wort "`Beispiel"'
+beginnt.
+Es können optional eine Beispielnummer und ein Titel folgen,
+wie im folgenden Beispiel illustriert:
+\begin{example}[Ein Beispielbeispiel]
+ \label{bsp:beispiel1}%
+ Ein Beispiel wird links und rechts eingerückt.
+ Im Gegensatz zu alten Versionen der Dokumentklasse werden Beispiele
+ per Default in normaler Schriftgröße und mit normalem Zeilenabstand
+ gesetzt.
+ Dies kann jedoch umgeschaltet werden (vgl.\
+ Abschnitt~\ref{sec:tex:aufbau}).
+\end{example}
+Das folgende Beispiel zeigt, wie Beispiele mit kleiner Schriftgröße
+aussehen.
+\begingroup
+ \makeatletter
+ \def\theoremfont{\small}%
+ \ifhhcls@times
+ \def\theoremspacing{1.12}%
+ \else
+ \def\theoremspacing{1.06}%
+ \fi
+ \makeatother
+ \begin{example}[Kleine Schrift]
+ Mit der Schriftgröße 9~Punkt sieht das Beispiel so aus.
+ Wegen der kleinen Schrift wird der (relative) Zeilenabstand etwas
+ erhöht, um die Lesbarkeit zu gewährleisten.
+ \end{example}
+\endgroup
+Beide Setzarten haben Vor- und Nachteile.
+Zum einen suggeriert die kleinere Schrift (unter Umständen ungewollt),
+dass der Inhalt der entsprechenden Umgebung unwichtig sei.
+Andererseits kann es bei normalgroßer Schrift passieren, dass der
+Leser bei langen Beispielen mit Seitenumbruch nicht merkt, dass er
+noch innerhalb des Beispiels ist.
+
+Auf nummerierte Beispiele kann dann eine Referenz gesetzt werden
+(vgl.\ Beispiel~\ref{bsp:beispiel1}).
+
+Ein nicht nummeriertes Beispiel sieht so aus:
+\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*}
+
+Die Nummerierung eines Beispiels besteht aus der Kapitelnummer und der
+Nummer des Beispiels innerhalb des aktuellen Kapitels.
+Im nächsten Kapitel wird die Zählung erneut bei 1 begonnen.
+
+% -------------------------------------------------------------------
+\section{Sätze, Lemmata, Definitionen usw.}%
+\index{Anmerkung}%
+\index{Satz}%
+\index{Lemma}%
+
+Außer Beispielen gibt es noch einige weitere Dinge, die durch
+abgesetzte Formatierung hervorgehoben werden können.
+Dazu zählen Sätze, Lemmata, Definitionen usw.
+Sie werden wie Beispiele gesetzt, nur natürlich mit den entsprechenden
+Überschriften.
+Eine eventuelle Nummerierung erfolgt getrennt nach den einzelnen
+Typen.
+
+Häufig möchte man dem Leser weiterführende Informationen geben, die
+nicht unbedingt zum Verständnis des Buches notwendig sind.
+Hier kann es zweckmäßig sein, diese in einer kleineren Schrift
+($\np[pt]{8}$) zu setzen und links und rechts einzurücken, um sie vom
+übrigen Text abzuheben.
+\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}
+
+Wenn man diese Art der Auszeichnung verwendet, muss dringend darauf
+geachtet werden, dass sich der Text sowohl dann sinnvoll und flüssig
+liest, wenn man die Anmerkung mitliest, als auch dann, wenn man sie
+auslässt.
+
+Manche Autoren möchten besonders wichtige Gleichungen und Textpassagen
+durch einen grauen Hintergrund hervorheben.
+Auch dies ist möglich.
+\begin{example}
+ \label{bsp:important}%
+ 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.\footnote{Warum hier zwei graue Kästen gezeigt werden, eine
+ mit Text am Anfang, die andere mit einer abgesetzten Gleichung
+ am Anfang, wird in Abschnitt~\ref{sec:tex:important} deutlich.}
+ \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{example}
+
+Diese grau hinterlegten Boxen sollten kurz gehalten werden, da in
+ihnen normalerweise kein Seitenumbruch auftreten soll.
+
+% -------------------------------------------------------------------
+\section{Aufgaben und Lösungen}%
+\label{sec:aufgaben}%
+\index{Aufgabe}%
+\index{Lösung}%
+
+Für Lehrbücher ist es sinnvoll, im Buch Aufgaben zu stellen, für die
+direkt danach oder an anderer Stelle Lösungen vorhanden sind.
+Es ist dabei möglich, eine globale Aufgabensammlung am Ende des Buches zu
+erstellen oder Aufgabensammlungen am Ende jeden Kapitels zu erstellen.
+Sie sollten sich für eine der beiden Varianten entscheiden.
+
+% -------------------------------------------------------------------
+\subsection{Globale Aufgabensammlung}%
+\label{sec:aufgabensammlung_global}%
+\index{Aufgabensammlung!global}%
+
+Eine globale Aufgabensammlung kann zweckmäßigerweise zwischen dem
+Textteil und dem Anhang des Buches gesetzt werden.
+Dabei ist es denkbar, einen Teil mit dem Titel "`Übungsteil"'
+einzurichten, in dem dann zwei Kapitel enthalten sind, nämlich
+"`Aufgaben"' und "`Lösungen"'.
+Eine andere Möglichkeit besteht darin, einfach als letztes Kapitel das
+Kapitel "`Aufgaben"' zu setzen und dann am Ende des Anhangs das
+Kapitel "`Lösungen"'.
+Schließlich ist es auch denkbar, nur ein Kapitel "`Aufgaben"' zu
+definieren, in dem die Lösungen jeweils direkt auf die entsprechenden
+Aufgaben folgen.
+Auf jeden Fall sollte am Beginn des Kapitels "`Aufgaben"' darauf
+verwiesen werden, an welcher Stelle die Lösungen gefunden werden
+können.
+
+Für eine globale Aufgabensammlung ist es sinnvoll, die Aufgaben
+zu nummerieren, wie es in folgendem Beispiel getan wird:
+\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}
+\bigskip
+
+Da diese Art der Formatierung dafür gedacht ist, dass nur Aufgaben und
+Lösungen aufeinander folgen und kein normaler Text eingemischt ist
+(was an dieser Stelle demnach falsch gemacht wird\footnote{Daher wurde
+ hier nach der Aufgabe ein Abschnittsabstand manuell eingefügt.}),
+ist keine Textauszeichnung durch Einrückungen o.\,ä.\ notwendig.
+Die Überschrift der Aufgabe entspricht Abschnittsüberschriften, ein
+Titel ist obligatorisch.\footnote{Wer partout keinen Titel haben
+ möchte, kann ihn auch leer definieren.
+ Allerdings ist es dann nicht sinnvoll, die Aufgaben ins
+ Inhaltsverzeichnis aufzunehmen oder ein Verzeichnis der Aufgaben zu
+ erstellen.}
+
+Wenn die entsprechende Lösung direkt auf die Aufgabe folgt, kann eine
+Nummerierung der Aufgaben auch entfallen, wie im folgenden Beispiel:
+\begin{exercise*}{Stichwortverzeichnis}
+ Erstellen Sie für Ihr Buch ein Stichwortverzeichnis!
+ Achten Sie darauf, dass es sinnvoll und nicht zu kurz wird!
+\end{exercise*}
+\bigskip
+
+Lösungen werden mit einem kleineren Schriftgrad gesetzt, um Platz zu
+sparen.
+Unnummerierte Lösungen können (wie hier gezeigt), müssen jedoch nicht,
+einen Titel erhalten:
+\begin{answer*}[Stichwortverzeichnis]
+ Die Lösung der Aufgabe kann ich Ihnen leider nicht abnehmen.
+ Lesen Sie aber auf jeden Fall Abschnitt~\ref{sec:tex_index}
+ aufmerksam durch.
+\end{answer*}
+\bigskip
+
+Eine unnummerierte Lösung muss direkt auf die entsprechende Aufgabe
+folgen, da sonst eine Zuordnung nicht möglich ist.
+
+Für nummierierte Lösungen gilt das selbe (hier ohne Titel):
+\begin{answer}{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}
+\bigskip
+
+Bei allen in diesem Abschnitt gezeigten Beispielen besteht das
+Problem, dass der Übergang von Aufgabe bzw.\ Lösung zu normalem Text
+schwierig zu finden ist.
+Aus diesem Grund sind so formatierte Aufgaben auch nur in Aufgaben"=
+und Lösungssammlungen zu verwenden, in denen auf eine Aufgabe nur eine
+weitere Aufgabe oder eine Lösung folgen kann.
+
+% -------------------------------------------------------------------
+\subsection{Aufgaben am Ende jeden Kapitels}%
+\index{Aufgabensammlung!kapitelweise}%
+
+Soll am Ende jeden Kapitels eine Aufgabensammlung erstellt werden, so
+besteht die Aufgabennummer aus der Kapitelnummer und der
+Aufgabennummer.
+Die Aufgabensammlung kann in einem eigenen Abschnitt,
+beispielsweise "`Aufgaben"', zusammengefasst werden.
+
+Einige Beispiele:
+\begin{subexercise}{Buch erstellen}
+ \label{auf:beispiel2}%
+ Erstellen Sie ein Buch zur Veröffentlichung im Teubner Verlag!
+ Dabei sind die Autorenrichtlinien, die sie gerade lesen, zu
+ beachten.
+\end{subexercise}
+\begin{subanswer}{auf:beispiel2}
+ 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{subanswer}
+\begin{subexercise*}{Stichwortverzeichnis}
+ Erstellen Sie für Ihr Buch ein Stichwortverzeichnis!
+ Achten Sie darauf, dass es sinnvoll und nicht zu kurz wird!
+\end{subexercise*}
+\begin{subanswer*}[Stichwortverzeichnis]
+ Die Lösung der Aufgabe kann ich Ihnen leider nicht abnehmen.
+ Lesen Sie aber auf jeden Fall Abschnitt~\ref{sec:tex_index}
+ aufmerksam durch.
+\end{subanswer*}
+
+
+% -------------------------------------------------------------------
+\subsection{Teilaufgaben}%
+\index{Aufgabe!Teil-}%
+
+Häufig ist es zweckmäßig, innerhalb einer Aufgabe Teilaufgaben zu
+definieren.
+Diese werden mit Buchstaben, gefolgt von einer Klammer, bezeichnet,
+wie im folgenden Beispiel:
+\begin{subexercise*}{Mal wieder Buch erstellen}
+ \label{auf:teilaufgaben}%
+ Zur Erstellung eines Buches 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*}
+
+Wie im Beispiel zu sehen, werden die Teilaufgaben innerhalb einer
+Aufgabe fortlaufend nummeriert, auch wenn Text zur Erläuterung
+eingefügt ist.
+Bei jeder Aufgabe beginnt die Nummerierung bei a).
+
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/verzeichnisse.tex b/macros/latex/contrib/bgteubner/doc/src/verzeichnisse.tex
new file mode 100644
index 0000000000..3d5476ba97
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/verzeichnisse.tex
@@ -0,0 +1,351 @@
+%
+% bgteubner class bundle
+%
+% verzeichnisse.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{Verzeichnisse}%
+\index{Verzeichnis}%
+
+Verzeichnisse nehmen im Buch eine gesonderte Stellung ein.
+Sie enthalten keine eigentlichen Inhalte.
+Stattdessen dienen sie zur Orientierung im Buch.
+Da es verschiedene Herangehensweisen beim Konsultieren eines Buches
+gibt, sind auch unterschiedliche Verzeichnisse notwendig.
+
+Die Reihenfolge der einzelnen Verzeichnisse ist nicht exakt
+festgelegt (bis auf das Stichwortverzeichnis, das als letztes
+Verzeichnis gesetzt werden muss).
+Eine mögliche Reihenfolge\index{Verzeichnis!Reihenfolge} ist die
+folgende:
+Literaturverzeichnis, Formelzeichenverzeichnis, Abkürzungsverzeichnis,
+Abbildungsverzeichnis, Tabellenverzeichnis, Verzeichnis der
+Beispiele, Aufgabenverzeichnis, Stichwortverzeichnis.
+
+In den meisten Fällen sind aber einige dieser Verzeichnisse nicht
+nötig.
+So werden die meisten Leser nach einem Sachverhalt nicht im
+Abbildungs"~, Tabellen"~, Aufgaben"~ oder Beispielverzeichnis suchen,
+sondern das Stichwortverzeichnis konsultieren, in dem der im Bild
+o.\,ä.\ verwendete Begriff aufgeführt sein sollte.
+Ein Formelzeichenverzeichnis beispielsweise sollte aber vorhanden
+sein.
+
+% -------------------------------------------------------------------
+\section{Inhaltsverzeichnis}%
+\index{Inhaltsverzeichnis|textbf}%
+
+Das Aussehen des Inhaltsverzeichnisses kann am einfachsten anhand des
+Inhaltsverzeichnisses dieser Anleitung studiert werden.
+
+Einige Hinweise seien jedoch hier gegeben:
+Teil"= und Kapitelüberschriften werden in unterschiedlichen
+Schriftgraden fett gesetzt, dazu rechtsbündig fett die entsprechende
+Seitenzahl.
+Abschnitte sowie Unterabschnitte werden normal gesetzt.
+Bei ihnen wird zusätzlich eine Punktreihe bis zur Seitenzahl gesetzt.
+
+Im Inhaltsverzeichnis sind auch die weiteren
+Verzeichnisse wie Formel"~, Abkürzungs"~,
+\feinschliff{Literatur"=,}{Literatur"~,}{Literatur"~,}{Literatur"~,}
+Abbildungs"~,
+Tabellen"~, sowie Stichwortverzeichnis eingetragen, sofern vorhanden.
+
+Da das Inhaltsverzeichnis automatisch erzeugt wird, wird auf weitere
+Einzelheiten verzichtet.
+
+% -------------------------------------------------------------------
+\section{Literaturverzeichnis}%
+\index{Literaturverzeichnis|textbf}%
+
+Im Literaturverzeichnis werden alle Literaturstellen, auf die im Buch
+verwiesen wird, aufgeführt.
+Es wird eine numerische Bezeichnung der Literaturstellen, jeweils in
+eckigen Klammern, verwendet.
+Titel werden kursiv gesetzt, alles andere normal aufrecht.
+Kapitälchen werden normalerweise nicht verwendet.
+Es wird Flattersatz eingesetzt, da ansonsten ein sehr unruhiges
+Satzbild entstehen würde.
+Da das Literaturverzeichnis automatisch erstellt wird, wird an dieser
+Stelle auf eine genauere Beschreibung verzichtet.
+
+
+% -------------------------------------------------------------------
+\section{Abbildungsverzeichnis und Tabellenverzeichnis}%
+\index{Abbildungsverzeichnis|textbf}%
+\index{Tabellenverzeichnis|textbf}%
+
+Das Abbildungsverzeichnis und das Tabellenverzeichnis werden als
+unnummerierte Kapitel gesetzt, die im Anschluss an den Anhang
+eingefügt werden können.
+
+Im Abbildungsverzeichnis werden alle im Buch vorhandenen Bilder
+aufgelistet.
+Für jedes Bild wird die Bildnummer, die Bildunterschrift und die
+Seitenzahl eingetragen.
+Da die Bildunterschriften mitunter recht lang werden können, sollte
+dann im Verzeichnis nur eine Kurzform der Bildunterschrift verwendet
+werden.
+Für das Tabellenverzeichnis gilt dasselbe wie für das
+Abbildungsverzeichnis.
+
+Ob ein Abbildungsverzeichnis und ein Tabellenverzeichnis überhaupt
+erstellt werden soll, bleibt dem Autoren freigestellt.
+Es müssen aber entweder beide oder keines der beiden Verzeichnisse
+gedruckt werden.
+Das Abbildungsverzeichnis muss direkt vor dem Tabellenverzeichnis
+stehen und am Ende des Anhangs gesetzt werden.
+
+Um Platz zu sparen, werden diese Verzeichnisse in einer
+9~Punkt~Schrift gesetzt.
+
+% -------------------------------------------------------------------
+\section{Verzeichnisse der Beispiele und der Aufgaben usw.}%
+\index{Verzeichnis der Beispiele|textbf}%
+\index{Aufgabenverzeichnis|textbf}%
+
+Diese Verzeichnisse werden wie das Abbildungsverzeichnis gesetzt.
+Sie enthalten die in den Abschnitten~\ref{sec:beispiele} und
+\ref{sec:aufgaben} eingeführten Beispiele, Aufgaben oder andere
+entsprechend gesetzte Umgebungen.
+Auch diese Verzeichnisse sind optional.
+
+Wird eine zentrale Aufgabensammlung für das Buch verwendet, können die
+Aufgaben auch ins Inhaltsverzeichnis statt in ein gesondertes
+Aufgabenverzeichnis aufgenommen werden.
+
+% -------------------------------------------------------------------
+\section{Verwendete Formelzeichen}%
+\label{sec:formelzeichen}%
+\index{Formelzeichenverzeichnis|textbf}%
+
+Im Formelzeichenverzeichnis werden tabellarisch alle wichtigen Formelzeichen
+und Indizierungen des Buches aufgeführt und kurz erklärt oder benannt.
+Dabei bleibt es dem Autoren freigestellt, ob er alle Formelzeichen
+in eine gemeinsame Liste setzt, oder ob er einzelne, nach Themen
+getrennte Listen (z.\,B.\ Skalare, Vektoren, Matrizen, \dots)
+erstellt.
+
+Ein Formelverzeichnis kann etwa so aussehen:
+\begin{theglossary}[\subsection*{Skalare}]%
+ %
+ \item[$\alpha_{\mathrm{k}}$] Kerbformzahl
+ %
+ \item[$\varepsilon$] technische Dehnung
+ %
+ \item[$\varphi$] wahre Dehnung
+ %
+ \item[$\sigma$] Spannung
+ %
+ \item[$a$] Gitterkonstante
+ \item[$a$] Risslänge bei Oberflächenrissen und halbe Risslänge bei inneren
+ Rissen
+ %
+ \item[$c$] Gitterkonstante
+ %
+ \item[$K$] Spannungsintensitätsfaktor
+ %
+ \item[$R_{\mathrm{eH}}$] obere Streckgrenze für Materialien mit ausgeprägter
+ Streckgrenze
+ \item[$R_{\mathrm{eL}}$] untere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{m}}$] Zugfestigkeit
+ \item[$R_{\mathrm{p0,2}}$] Dehngrenze für Materialien ohne ausgeprägte
+ Streckgrenze
+ %
+\end{theglossary}%
+
+Es ist auch möglich, Buchstaben zur Gliederung einzufügen:
+\begin{theglossary}[\subsection*{Skalare}]%
+ \glossarynewchar{Symbole}
+ \item[$\alpha_{\mathrm{k}}$] Kerbformzahl
+ \item[$\varepsilon$] technische Dehnung
+ \item[$\varphi$] wahre Dehnung
+ \item[$\sigma$] Spannung
+ \glossarynewchar{A}
+ \item[$a$] Gitterkonstante
+ \item[$a$] Risslänge bei Oberflächenrissen und halbe Risslänge bei
+ inneren Rissen
+ \glossarynewchar{C}
+ \item[$c$] Gitterkonstante
+ \glossarynewchar{K}
+ \item[$K$] Spannungsintensitätsfaktor
+ \glossarynewchar{R}
+ \item[$R_{\mathrm{eH}}$] obere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{eL}}$] untere Streckgrenze für Materialien mit
+ ausgeprägter Streckgrenze
+ \item[$R_{\mathrm{m}}$] Zugfestigkeit
+ \item[$R_{\mathrm{p0,2}}$] Dehngrenze für Materialien ohne
+ ausgeprägte Streckgrenze
+\end{theglossary}%
+
+Im Formelverzeichnis sollen die Einträge alphabetisch sortiert
+sein.
+Die Symbole, die sich nicht in das lateinische Alphabet einsortieren
+lassen (z.\,B. griechische Zeichen), stehen davor und sind~-- soweit
+möglich~-- untereinander sortiert.
+
+Das griechische Alphabet wird folgendermaßen sortiert:
+$A\alpha$, $B\beta$, $\Gamma\gamma$, $\Delta\delta$,
+\makeatletter
+$E\varepsilon\iftimes{\ifhhcls@mathtime\epsilon\fi}{\epsilon}$,
+\makeatother
+$Z\zeta$, $H\eta$,
+$\Theta\vartheta\theta$, $I\iota$, $K\kappa$, $\Lambda\lambda$,
+$M\mu$, $N\nu$, $\Xi\xi$, $Oo$, $\Pi\pi$,
+\makeatletter
+$P\varrho\iftimes{\ifhhcls@mathtime\rho\fi}{\rho}$,
+\makeatother
+$\Sigma\sigma$, $T\tau$, $Y\upsilon$, $\Phi\varphi\phi$, $X\chi$,
+$\Psi\psi$, $\Omega\omega$.
+
+Ob nur ein Verzeichnis als unnummeriertes Kapitel erstellt wird, das
+alle Formelzeichen enthält, oder ob ein unnummeriertes Kapitel
+verwendet wird, in dem unterschiedliches Verzeichnisse als
+unnummerierte Abschnitte eingefügt werden, die beispielsweise nach
+\emph{Skalaren}, \emph{Vektoren}, \emph{Tensoren} und \emph{Indizes
+ und Operatoren} aufgeteilt sind, bleibt dem Autoren überlassen.
+Die Formelzeichenverzeichnisse werden in einer 8"=Punkt"=Schrift
+gesetzt, um Platz zu sparen.
+Da hier keine längeren Passagen gelesen werden, ist eine so kleine
+Schriftart ausreichend groß.
+
+% -------------------------------------------------------------------
+\section{Abkürzungsverzeichnis bzw.\ Glossar}%
+\label{sec:abkuerzungsverzeichnis}%
+\index{Abkürzungsverzeichnis|textbf}%
+\index{Glossar|see{Abkürzungsverzeichnis}}%
+
+Abkürzungsverzeichnisse und Glossare werden wie
+Formelzeichenverzeichnisse gesetzt.
+Ein Beispiel:
+\begin{theglossary}[\subsection*{Abkürzungsverzeichnis}]
+ %
+ \item[\acro{GEH}] Gestaltänderungsenergiehypothese
+ %
+ \item[hdp] hexagonal dichtest gepackt
+ %
+ \item[kfz] kubisch flächenzentriert
+ \item[krz] kubisch raumzentriert
+ %
+ \item[\acro{SH}] Schubspannungshypothese
+ %
+\end{theglossary}%
+
+
+% -------------------------------------------------------------------
+\section{Stichwortverzeichnis}%
+\index{Stichwortverzeichnis|textbf}%
+
+Das Stichwortverzeichnis wird zweispaltig in einer
+8"~Punkt"=Schrift gesetzt.
+Die Seitenzahlen, auf denen der jeweilige Begriff auftaucht, werden
+durch ein Komma getrennt direkt an den Begriff angehängt.
+Das genaue Aussehen des Stichwortverzeichnisses kann am besten anhand
+des Verzeichnisses am Ende dieser Anleitung studiert werden.
+
+Einige wichtige Dinge beim Aufbau des Verzeichnisses sollen dennoch
+hier beschrieben werden:
+Es sollen nicht alle Stellen, an denen ein Begriff im Buch vorkommt,
+in das Stichwortverzeichnis aufgenommen werden, sondern nur
+diejenigen, an denen der Begriff eingeführt oder maßgeblich verwendet
+wird.
+Auch wenn der Begriff selbst nur in einer Kapitel"= oder
+Abschnittsüberschrift vorkommt, soll er im Stichwortverzeichnis
+vorkommen, sofern er dort wichtig ist.\footnote{Mir ist einmal ein Buch
+ untergekommen, in dem der Begriff \emph{Schweißen} im
+ Stichwortverzeichnis zwar vorkam, aber nur auf eine Seite verwies,
+ auf der der Begriff zwar stand, aber fast nichts über Schweißen
+ geschrieben wurde.
+ Die Seitenzahl des Kapitels über Schweißen war dafür aber nicht im
+ Stichwortverzeichnis enthalten.
+ So etwas darf nicht vorkommen.}
+Die Seitenzahl für einen besonders wichtigen Eintrag kann fett
+gedruckt werden, z.\,B.
+\begin{quotation}
+ \bsptheindex
+ \begin{theindex}
+ \item Stichwortverzeichnis, \textbf{27}, 34, 35
+ \end{theindex}
+\end{quotation}
+
+Existieren für einen Begriff auch andere Beschreibungen, so sollen
+alle möglichen Wörter, unter denen man diesen Begriff suchen könnte,
+im Stichwortverzeichnis aufgeführt werden.
+Es kann dann ein Verweis auf denjenigen Begriff gesetzt werden, der im
+Dokument verwendet wird, z.\,B.
+\begin{quotation}
+ \bsptheindex
+ \begin{theindex}
+ \item Cosinus, \see{Trigonometrische Funktion}{15}
+
+ \indexspace
+ \item Sinus, \see{Trigonometrische Funktion}{15}
+
+ \indexspace
+ \item Tangens, \see{Trigonometrische Funktion}{15}
+ \item Trigonometrische Funktion, 15
+
+ \indexspace
+ \item Winkelfunktion, 23, \seealso{Trigonometrische Funktion}{15}
+ \end{theindex}
+\end{quotation}
+Seien Sie hier nicht zu sparsam. Es ist nichts ärgerlicher, als einen
+Begriff im Stichwortverzeichnis nicht zu finden, nur weil man einen
+etwas anderen Begriff als der Autor des Buches verwendet!
+Meine eigene Erfahrung ist es, dass man in den meisten Fällen über das
+Stichwortverzeichnis nach Inhalten in einem Buch sucht.
+Daher ist es besonders wichtig, dass ein Buch ein gutes
+Stichwortverzeichnis enthält.
+
+Häufig kommt es vor, dass zu einem Überbegriff einige Unterbegriffe
+existieren.
+Diese Tatsache sollte auch beim Setzen des Stichwortverzeichnisses
+berücksichtigt werden, beispielsweise so:
+\begin{quotation}
+ \bsptheindex
+ \begin{theindex}
+ \item Cosinus, 15
+ \subitem Hyperbolicus, 15
+
+ \indexspace
+ \item Sinus, 15
+
+ \indexspace
+ \item Tangens, 16, \seealso{Trignonometrische Funktion\subind
+ Tangens}{16}\label{ind:bsp1}
+ \item Trigonometrische Funktion, 15, 16
+ \subitem Cosinus, 15
+ \subsubitem Hyperbolicus, 15
+ \subitem Sinus, 15
+ \subitem Tangens, 16
+ \end{theindex}
+\end{quotation}
+Wie im Beispiel zu erkennen, gibt es zwei Stufen für Unterbegriffe.
+Dennoch sollten die Unterbegriffe häufig zusätzlich in der Hauptebene
+aufgenommen werden.
+
+Soll ein Verweis auf einen Unterbegriff vorgenommen werden, so wird
+dieser wie im Beispiel bei "`\seealso{Trignonometrische
+ Funktion\subind Tangens}{16}"' mit einem Gedankenstrich vom
+Hauptbegriff getrennt.
+
+% ===================================================================
+% Dateiende
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/doc/src/vorwort.tex b/macros/latex/contrib/bgteubner/doc/src/vorwort.tex
new file mode 100644
index 0000000000..75fac0f09a
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/doc/src/vorwort.tex
@@ -0,0 +1,101 @@
+%
+% bgteubner class bundle
+%
+% vorwort.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.
+% ===================================================================
+\preface{Vorwort zu Version~1.21}%
+
+Als ich gemeinsam mit Prof.\ Joachim Rösler und Dr.\ Martin Bäker das
+im Teubner Verlag erschienene Buch "`Mechanisches Verhalten der
+Werkstoffe"' \cite{roesler2003a} geschrieben habe, war mir keine
+Dokumentklasse für \LaTeX\ zu Erstellung von Büchern für den Teubner
+Verlag bekannt.
+Auch die Autorenrichtlinien kannte ich nicht.
+Daher habe ich selbst ein Layout entwickelt, mit dem ich das
+Manuskript Herrn Dr.\ Feuchte von Teubner Verlag zur Ansicht
+übergeben habe.
+
+Obwohl es Autorenrichtlinien und eine Dokumentklasse für den Teubner
+Verlag gab, bat Herr Dr.\ Feuchte nur um geringfügige Änderungen wie
+z.\,B.\ die Anpassung an den festgelegten Satzspiegel.
+
+Als ich Herrn Dr.\ Feuchte das endgültige Manuskript übergab, bot ich
+ihm an, eine Dokumentklasse für den Teubner Verlag basierend auf dem
+Layout unseres Buches zu entwickeln.
+Das Lektorat des Teubner Verlags hat daraufhin einige weitere
+Veränderungen gegenüber meinem Layout beschlossen (z.\,B.\ Verwendung
+der Times als Brotschrift sowie Kolumnentitel außen) und mir den
+Auftrag erteilt, eine Dokumentklasse zu entwickeln.
+
+Die hier vorliegenden Autorenrichtlinien beschreiben zum einen das
+Layout, das der Dokumentklasse zugrunde liegt, zum anderen, wie
+Autoren die Dokumentklasse verwenden können.
+
+Dieses Dokument ist zwar sehr lang, arbeiten Sie aber wenigstens den
+zweiten Teil ("`Durchführung mit \LaTeX"') ab
+Seite~\pageref{part:latex} durch und beachten Sie die Checkliste ab
+Seite~\pageref{sec:checkliste}.
+Dadurch können Sie viele Probleme vermeiden, die dann entstehen,
+wenn Sie Ihre normale Vorlage mit wenigen Änderungen übernehmen.
+
+Bei diesen Autorenrichtlinien ist genau das aufgetreten, was
+eigentlich nie passieren darf:
+Das Stichwortverzeichnis ist bei weitem nicht ausführlich genug.
+Mir war an dieser Stelle wichtiger, dass alle Dinge korrekt erklärt
+sind und die Dokumentklasse möglichst fehlerfrei ist, als dass der
+letzte Feinschliff an diesen Autorenrichtlinien durchgeführt wurde.
+Durch die laufenden Erweiterungen kann es an einigen Stellen
+vorkommen, dass Übergänge etwas holprig klingen.
+Wenn es dadurch schwer verständliche Dinge geben sollte, bitte ich
+Sie, mir bescheid zu sagen (\url{h.harders@tu-bs.de}).
+
+An dieser Stelle möchte ich Herrn Dr.\ Feuchte danken, zum einen, dass
+er mein Angebot angenommen hat, zum anderen für die sehr gute
+Zusammenarbeit.
+
+\signature{Braunschweig}{im März 2004}{Harald Harders}
+
+
+% ===================================================================
+\preface{Vorwort zu Version~2.02}%
+
+Im Laufe der Zeit sind durch die Benutzung der Klasse durch die
+Autoren immer wieder kleine Mängel zu Tage getreten, und es haben sich
+Verbesserungsmöglichkeiten ergeben.
+
+Ich bitte zu entschuldigen, wenn sich dadurch hin und wieder Umbrüche
+ändern.
+Sofern Sie nicht ein Problem haben, sollten Sie in der Endphase eines
+Projekts lieber bei der laufenden Version bleiben.
+
+Außerdem wurde die mehrmalige Umbenennung des Verlags über
+Vieweg+Teubner in Springer Vieweg berücksichtigt.
+
+\signature{Mülheim an der Ruhr}{im April 2012}{Harald Harders}
+
+% ===================================================================
+\preface{Vorwort zu Version~2.11}%
+
+Aufgrund von Veränderungen anderer Pakete (insbesondere Koma-Script) wurde es
+notwendig, diese Klasse auch anzupassen.
+
+\signature{Mülheim an der Ruhr}{im Mai 2015}{Harald Harders}
+
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: bgteubner.tex
+%%% TeX-master: "bgteubner"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/hhsubfigure/Makefile b/macros/latex/contrib/bgteubner/hhsubfigure/Makefile
new file mode 100644
index 0000000000..3cd64ab755
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/hhsubfigure/Makefile
@@ -0,0 +1,86 @@
+PACKAGE = hhsubfigure
+########################################################################
+## LaTeX2e Makefile
+##
+## Update the following defines for your local configuration,
+##
+CONTRIB = /usr/local/lib/texmf/tex/contrib
+##
+DVIPS = dvips
+GZIP = gzip
+LATEX = latex
+PDFLATEX = pdflatex
+MAKEINDEX = makeindex
+########################################################################
+## make [all] Generates the style (.sty) file and the
+## documentation (.ps). If you don't have the
+## required MAKEINDEX (along with `gglo.ist' and
+## `gind.ist'), then change the first dependency
+## of "all" from "fullps" to "ps" below.
+## make [un]install Install or uninstall the style (.sty) file from
+## the CONTRIB area.
+## make [very]clean Clean out various auxillary files. "veryclean"
+## cleans out more stuff.
+########################################################################
+## make dvi Generate the *.dvi version of the documentation.
+## make [full]ps Generate the documentation. The "fullps" version
+## adds the change log and the cross-references.
+## make idx Generate the change log and the cross-references
+## (for fullps -- requires MAKEINDEX).
+## make sty Generate the style (.sty) file.
+########################################################################
+## make distribtion Builds a distribution (.tar.gz) file.
+########################################################################
+
+all: fullps clean
+
+install: sty
+ cp $(PACKAGE).sty $(CONTRIB)
+uninstall: ; rm $(CONTRIB)/$(PACKAGE).sty
+clean: ; -rm -f *.dvi *.log *.aux *.lof *.lot *.toc
+ -rm -f *.idx *.ind *.glo *.gls *.ilg *.out *~
+veryclean: clean
+ -rm -f *.sty *.cls *.ps *.pdf *.gz *pk ltxdoc.cfg
+
+
+dvi: $(PACKAGE).dvi
+fullps: dvi idx ps
+idx: $(PACKAGE).ind $(PACKAGE).gls
+ $(LATEX) $(PACKAGE).dtx
+ps: $(PACKAGE).ps
+sty: $(PACKAGE).sty
+
+distribution: ; mkdir $(PACKAGE)
+ cp -p README Makefile $(PACKAGE)
+ cp -p $(PACKAGE).dtx $(PACKAGE).ins $(PACKAGE)
+ tar -cvf $(PACKAGE).tar ./$(PACKAGE)
+ rm -rf $(PACKAGE)
+ $(GZIP) -9 $(PACKAGE).tar
+
+
+$(PACKAGE).aux: $(PACKAGE).dtx $(PACKAGE).sty
+ $(LATEX) $(PACKAGE).dtx
+
+$(PACKAGE).dvi: $(PACKAGE).dtx $(PACKAGE).sty $(PACKAGE).aux
+ $(LATEX) $(PACKAGE).dtx
+ $(LATEX) $(PACKAGE).dtx
+ $(LATEX) $(PACKAGE).dtx
+
+$(PACKAGE).glo: $(PACKAGE).dtx $(PACKAGE).sty
+ $(LATEX) $(PACKAGE).dtx
+
+$(PACKAGE).gls: $(PACKAGE).glo
+ $(MAKEINDEX) -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
+
+$(PACKAGE).idx: $(PACKAGE).dtx $(PACKAGE).sty
+ $(LATEX) $(PACKAGE).dtx
+
+$(PACKAGE).ind: $(PACKAGE).idx
+ $(MAKEINDEX) -s gind.ist $(PACKAGE).idx
+
+$(PACKAGE).ps: $(PACKAGE).dvi
+ $(DVIPS) -o $(PACKAGE).ps $(PACKAGE).dvi
+
+$(PACKAGE).sty: $(PACKAGE).dtx $(PACKAGE).ins
+ $(LATEX) $(PACKAGE).ins
+
diff --git a/macros/latex/contrib/bgteubner/hhsubfigure/README b/macros/latex/contrib/bgteubner/hhsubfigure/README
new file mode 100644
index 0000000000..7cb911215d
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/hhsubfigure/README
@@ -0,0 +1,28 @@
+README
+------
+
+This directory contains version 2.1.4a of the hhsubfigure package.
+This is a slightly modified version of the `subfigure' package by
+Steven Douglas Cochran. The origianl package can be downloaded from
+<ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfigure/>.
+
+MANIFEST:
+---------
+Makefile UNIX makefile to extract the subfigure package
+ and related material.
+README This file.
+subfigure.dtx The documented subfigure package.
+subfigure.ins The subfigure package installation file.
+
+For the original package `subfigure' refer to
+<ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfigure/>.
+
+Since the hhsubfigure package is only intended to be used with
+the bgteubner document class, the README file has been shortened.
+When Steven will have distributed the (announced) successor of the
+subfigure package, this package is likely to be deleted from CTAN.
+Thus, please don't use it without the bgteubner document class.
+
+Harald Harders
+h.harders@tu-bs.de
+2003-10-15
diff --git a/macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.dtx b/macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.dtx
new file mode 100644
index 0000000000..cd39eb59cc
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.dtx
@@ -0,0 +1,3913 @@
+% \iffalse % hhsubfigure.dtx
+% Subfigure/subtable macros for use with the LaTeX figure/table environments.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Copyright (C) 2003 Harald Harders.
+%
+% This is a slightly modified version of the `subfigure' package by
+% Steven Douglas Cochran. The origianl package can be downloaded from
+% <ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfigure/>.
+%
+% The hhsubfigure package is free software; it may be distributed under
+% the conditions of the LaTeX Project Public License, either version 1.1
+% of this license or (at your option) any later version. The latest
+% version of this license is in:
+% http://www.latex-project.org/lppl.txt
+% and version 1.1 or later is part of all distributions of LaTeX version
+% 1999/06/01 or later.
+%
+% The captcont package is distributed in the hope that it will be
+% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% LaTeX Project Public License for more details.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% @LaTeX-style-file{
+%% author = "Steven Douglas Cochran (modified by Harald Harders)",
+%% version = "2.1.4",
+%% date = "2003/09/14",
+%% time = "09:34:13",
+%% filename = "hhsubfigure.sty",
+%% email = "h.harders@tu-bs.de",
+%% codetable = "ISO/ASCII",
+%% keywords = "LaTeX, float, figure, table, captcont",
+%% supported = "yes",
+%% abstract = "LaTeX package for providing support for the
+%% inclusion of small, `sub', figures and tables. It
+%% simplifies the positioning, captioning and
+%% labeling of them within a single figure or table
+%% environment. In addition, this package allows
+%% such subcaptions to be written to the List of
+%% Figures or List of tables if desired."
+%% }
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesFile{hhsubfigure.dtx}
+\documentclass{ltxdoc}
+\usepackage[tight,TABTOPCAP]{hhsubfigure}[2002/03/15]
+\setlength\hfuzz{100pt}
+\setlength\vfuzz{100pt}
+\clubpenalty=10000
+\widowpenalty=10000
+\displaywidowpenalty=5000
+\brokenpenalty=5000
+\begin{document}
+ \DocInput{hhsubfigure.dtx}
+\end{document}
+%</driver>
+%
+%<*ltxdoc>
+\AtBeginDocument{
+% \OnlyDescription % comment out for implementation details
+ \EnableCrossrefs
+ \RecordChanges
+ \CodelineIndex}
+\AtEndDocument{
+ \PrintChanges
+ \PrintIndex}
+%</ltxdoc>
+%
+% \fi
+% \catcode`\^=14 ^^A We will use a ^ for a comment rather than ^^A.
+% \newcommand*{\Lopt}[1]{\textsf{#1}} ^ Package options
+% \newcommand*{\Lfile}[1]{\texttt{#1}} ^ File names
+% \newcommand*{\Lpack}[1]{\textsf{#1}} ^ Package names
+% \newcommand*{\Lenv}[1]{\texttt{#1}} ^ Environment names
+% \newcommand*{\Lcount}[1]{\textsl{\small#1}} ^ Counter names
+% \newcommand*{\Lif}[1]{\textsc{\bf#1}} ^ \if names
+% ^ NOTE: Hacks added to make the final format are marked ``^finalhack''.
+%
+% \changes{v1.0}{05 Mar 1986}{Created.}
+%
+% \changes{v1.1}{02 Nov 1988}{Initial revision.}
+%
+% \changes{v1.2}{30 Aug 1989}{Added a separate bottom margin and
+% expanded the comments.}
+%
+% \changes{v1.3}{22 Oct 1990}{Changed test for empty subcaption inside
+% of \cmd{\@subfigure} to compare tokens and not the subcaption vs.\
+% \cmd{\@empty}. The former (incorrect) test caused an error when the
+% first two letters of the subcaption were the same.}
+%
+% \changes{v1.4}{27 Jun 1992}{Added a hack to allow the \cmd{\label}
+% command to be used within the body of the subfigure giving a
+% reference label in the form \cmd{\arabic{thefigure}\thesubfigure}.
+% Added standard file header for style.}
+%
+% \changes{v1.5}{11 Aug 1992}{Fixed a bug which caused a problem with
+% subcaptions that contained expressions like \cmd{\sqrt}; This was
+% pointed out by Tom Scavo (scavo\@cie.uoregon.edu). A separate bug
+% was fixed which caused different sized subcaptions to be misaligned;
+% This problem was pointed out by Simon Marshall
+% (S.Marshal\@Hull.ac.uk). Also cleaned up the code a mite and
+% {\bf changed} the figure spacing so that if no optional section is
+% given, then the figure is only followed by \cmd{\subfigbottomskip}
+% and not that plus $(\cmd{\subfigcapskip}+\cmd{\strut}\hbox{height})$.
+% This should make it easier to adjust spacing as desired.}
+%
+% \changes{v1.6}{13 May 1993}{Changed to use the \cmd{\thefigure}
+% command in building the referenced label. The old form caused a
+% problem when used with the report.sty as pointed out by Andrew
+% Anselmo (anselmo\@cumesb.mech.columbia.edu). Also modified to
+% restrict the scope of the subfigure \cmd{\label} to the body of the
+% subfigure. Added \cmd{\@thesubfigure} to allow a separate labeling
+% of the subfigure in the figure and in the text. By default it is
+% the same as \cmd{\thesubfigure} with space appended. Added some
+% code to print the subfigure captions to the List-of-Figures file
+% if desired. Finally, added the corresponding support for subtables
+% as well as subfigures. NOTE: the optional subcaption is now a moving
+% argument and any fragile commands that appear in the subcaption must
+% be preceded by a \cmd{\protect} (just like that of the \cmd{\caption}
+% command).}
+%
+% \changes{v2.0}{06 Mar 1995}{This version of \cmd{\subfigure} is the
+% first to be ported to \LaTeXe\ (with backward compatibility to
+% \LaTeX2.09). \cmd{\subfigure} and \cmd{\subtable} are now identical
+% and the environment controls internal differences between them. Now,
+% the subcaption setting portion of \cmd{\@subfloat} is broken into the
+% separate commands \cmd{\@makesubfigurecaption} and
+% \cmd{\@makesubtablecaption} to allow a separate hook for the
+% modification of how the subcaption is constructed and to allow the
+% subtable and subfigure captions to be different. In addition, support
+% of the \Lopt{normal}, \Lopt{hang}, \Lopt{center}, \Lopt{centerlast},
+% \Lopt{nooneline}; \Lopt{scriptsize}, \ldots, \Lopt{Large}; \Lopt{up},
+% \Lopt{it}, \Lopt{sl}, \Lopt{sc}, \Lopt{md}, \Lopt{bf}, \Lopt{rm},
+% \Lopt{sf}, and \Lopt{tt} package options were added for compatibility
+% with the caption.sty by H.A. Sommerfeldt.}
+%
+% \changes{v2.1}{23 Jan 2002}{Upgraded to fix a \cmd{\protect} bug that
+% crept in due to changes in \LaTeXe\ and to enhance the interaction
+% with the ``List-of'' files. Backward compatibility with \LaTeX2.09 is
+% \textbf{not} supported. This version allows optional subcaption
+% strings for the ``List-of'' files and the companion captcont.sty
+% allows further extensions. Added check for \Lfile{subfigure.cfg} file
+% for automatic configuration. Added more options for adjustment of the
+% look-and-feel of the subcaption. Added the ability to independently
+% move the float caption and subcaption before or after the figure.
+% Removed extra space from the top of a figure at the top of a page and
+% some accidental whitespace. Reduced the default space around the
+% figure and made it actual skips. Updated the documentation to
+% describe the new changes and to make some points more clear.}
+%
+% \DoNotIndex{\@@@,\@auxout,\@bsphack,\@dottedtocline,\@empty,\@esphack}
+% \DoNotIndex{\@flushglue,\@for,\@gobble,\@ifnextchar,\@ifpackageloaded}
+% \DoNotIndex{\@ifstar,\@ifundefined,\@minipagefalse,\@nameuse,\@ne}
+% \DoNotIndex{\@rightskip,\@tempboxa,\@tempcnta,\@tempdima}
+% \DoNotIndex{\@tempdimb,\@tempskipb,\@xaddvskip,\addcontentsline}
+% \DoNotIndex{\addtolength,\advance,\alph,\arabic,\AtBeginDocument}
+% \DoNotIndex{\AtEndOfPackage,\begingroup,\bfseries,\bgroup,\box}
+% \DoNotIndex{\DeclareOption,\def,\do,\edef,\egroup,\else,\endgroup}
+% \DoNotIndex{\ExecuteOption,\ExecuteOptions,\ext@figure,\ext@table}
+% \DoNotIndex{\familydefault,\fi,\footnotesize,\fontfamily,\fontseries}
+% \DoNotIndex{\fontshape,\gdef,\global,\hbox,\hfil,\hskip,\hss,\if@minipage}
+% \DoNotIndex{\ifcase,\ifdim,\ifnum,\ifx,\ignorespaces,\InputIfFileExists}
+% \DoNotIndex{\itshape,\label,\lastskip,\leftskip,\Large,\large,\leavevmode}
+% \DoNotIndex{\let,\long,\m@ne,\mdseries,\multiply,\NeedsTeXFormat}
+% \DoNotIndex{\newcommand,\newcounter,\newdimen,\newif,\newlabel,\newskip}
+% \DoNotIndex{\noexpand,\normalsize,\numberline,\or,\p@,\par,\parbox}
+% \DoNotIndex{\parfillskip,\parindent,\ProcessOptions,\protect}
+% \DoNotIndex{\protected@write,\protected@edef,\providecommand}
+% \DoNotIndex{\ProvidesPackage,\ref,\refstepcounter,\relax,\renewcommand}
+% \DoNotIndex{\RequirePackage,\rightskip,\rmfamily,\sbox,\scriptsize}
+% \DoNotIndex{\scshape,\selectfont,\seriesdefault,\setbox,\setcounter}
+% \DoNotIndex{\setlength,\sffamily,\shapedefault,\slshape,\small,\space}
+% \DoNotIndex{\string,\strut,\thefigure,\thepage,\thetable,\ttfamily,\tw@}
+% \DoNotIndex{\typeout,\undefined,\upshape,\usebox,\vbox,\vskip,\vspace}
+% \DoNotIndex{\vtop,\wd,\xdef,\z@,\z@skip}
+%
+% \CheckSum{770}%
+% ^ Allow a little more freedom in typesetting floats.
+% \setcounter{topnumber}{8}
+% \def\topfraction{.8}
+% \setcounter{bottomnumber}{8}
+% \def\bottomfraction{.8}
+% \setcounter{totalnumber}{8}
+% \def\textfraction{.2}
+% \def\floatpagefraction{.8}
+% \setcounter{dbltopnumber}{8}
+% \def\dbltopfraction{.8}
+% \def\dblfloatpagefraction{.8}
+%
+% ^ Add some space above any footnotes.
+% \skip\footins=1.5\baselineskip
+%
+% \makeatletter
+%
+% ^ Remove some space above minipage footnotes.
+% \skip\@mpfootins=2.6\p@
+%
+% ^ Define a raggedright for use in tabular's.
+% \newcommand{\rr}{^
+% \@rightskip\@flushglue
+% \rightskip\@rightskip
+% \leftskip\z@
+% \parindent\z@}
+%
+% ^ Turn off any list entries by ``eating'' any \addcontentsline stuff.
+% \newcommand*{\eatthree}[3]{}^
+% \newcommand*{\turnofflistentry}{\let\addcontentsline=\eatthree}
+%
+% ^ Print text (#2) only if reference (r@#1) is defined.
+% \newcommand{\PrintIfDefined}[3]{^
+% \@bsphack
+% \@ifundefined{r@#1}{#3}{#2}^
+% \@esphack}
+%
+% \makeatother
+%
+% \def\docdate{2002/07/02}
+% \def\fileversion{v2.1.4a}
+% \def\filedate{2003/09/14}
+% \def\filename{hhsubfigure.dtx}
+%
+% \title{The \Lpack{hhsubfigure} Package\footnote{This paper documents
+% the \Lpack{hhsubfigure} package \fileversion, last revised \filedate.}}
+% \author{Steven Douglas Cochran\\[5pt]
+% Digital Mapping Laboratory, School of Computer Science \\
+% Carnegie-Mellon University, 5000 Forbes Avenue \\
+% Pittsburgh, PA 15213--3890, USA\\[5pt]
+% \texttt{sdc+@cs.cmu.edu}}
+% \date{\docdate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% \noindent
+% This article documents the \LaTeX\ package `\Lpack{hhsubfigure}', which
+% provides support for the inclusion of small, `sub', figures and
+% tables. It simplifies the positioning, captioning and labeling of
+% such objects within a single \Lenv{figure} or \Lenv{table}
+% environment. In addition, this package allows such subcaptions to be
+% written to a List-of-Figures or List-of-Tables if desired. The
+% `\Lpack{hhsubfigure}' package also cooperates with the `\Lpack{caption}'
+% and `\Lpack{caption2}' packages by H.A. Sommerfeldt
+% \cite{Somm95a,Somm95b}, the `\Lpack{ccaption}' and `\Lpack{tocloft}'
+% packages \cite{Wils01,Wils01B} by Peter Wilson, the `\Lpack{hyperref}'
+% package by Sebastian Rahtz \cite{Raht02}, the `\Lpack{captcont}' package
+% \cite{Coch02}, and should be compatible with all other packages that
+% modify or extend the \Lenv{float} environment or the \cmd{\caption} or
+% \cmd{\label} commands.
+%
+% \end{abstract}
+%
+% \newpage
+% \tableofcontents
+%
+% \newpage
+% \setcounter{lotdepth}{2}^
+% \listoftables
+% \setcounter{lofdepth}{2}^
+% \listoffigures
+%
+% \newpage
+% \section{Introduction}
+% \enlargethispage{24pt}^finalhack
+%
+% This package provides support for the manipulation and reference of
+% small or `sub' figures and tables within a single \Lenv{figure} or
+% \Lenv{table} environment\@.\footnote{Section~\ref{sec:customfloat}
+% describes how to add support for additional \Lenv{float}
+% environments.} It is convenient to use this package when your
+% subfigures are to be separately captioned, referenced, or when such
+% subcaptions are to be included in the List-of-Figures.
+%
+% Before using the \Lpack{hhsubfigure} package, consider the following to
+% see if you really need it. If you simply want to center your figure,
+% then you can use |\centerline|, |\centering| or the \Lenv{center}
+% environment to do so. If your figure has a short width or if you wrap
+% your figure in a |\parbox| or a \Lenv{minipage} of a short width, then
+% you can place multiple figures or tables side-by-side. For example,
+% the following will put two images side-by-side in a single figure as
+% shown in figure~\ref{fig:1figs}:\footnote{You might have to use the
+% optional position arguments `[b]' or `[t]' if the figures are of
+% different heights.}
+%
+% \begin{verbatim}
+% \begin{figure}%
+% \centering
+% \parbox{1.2in}{...figure code...}%
+% \qquad
+% \begin{minipage}{1.2in}%
+% ...figure code...
+% \end{minipage}%
+% \caption{Here are two figures side-by-side.}%
+% \label{fig:1figs}%
+% \end{figure}
+% \end{verbatim}
+% \vspace{-1\baselineskip}
+% \begin{figure}^
+% \abovecaptionskip=6pt^
+% \centering
+% \parbox{1.2in}{^
+% \fboxsep=-\fboxrule
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\null\vfil}\hfil}}}^
+% \qquad
+% \begin{minipage}{1.2in}^
+% \fboxsep=-\fboxrule
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\null\vfil}\hfil}}^
+% \end{minipage}^
+% \caption{Here are two figures side-by-side.}^
+% \label{fig:1figs}^
+% \vspace{-10pt}
+% \end{figure}
+%
+% \noindent
+% Further, if you place the caption inside the |\parbox| or
+% \Lenv{minipage}, then the width of the caption will be limited to the
+% width of the parbox or minipage as shown in figures~\ref{fig:2figsA}
+% and \ref{fig:2figsB}:
+%
+% \begin{verbatim}
+% \begin{figure}%
+% \centering
+% \parbox{1.2in}{%
+% ...figure code...
+% \caption{First.}%
+% \label{fig:2figsA}}%
+% \qquad
+% \begin{minipage}{1.2in}%
+% ...figure code...
+% \caption{Second.}%
+% \label{fig:2figsB}%
+% \end{minipage}%
+% \end{figure}%
+% \end{verbatim}
+% \vspace{-\baselineskip}
+% \begin{figure}^
+% \abovecaptionskip=2pt^
+% \centering
+% \parbox{1.2in}{^
+% \fboxsep=-\fboxrule
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\vfil\null}\hfil}}^
+% \caption{First.}^
+% \label{fig:2figsA}}^
+% \qquad
+% \begin{minipage}{1.2in}^
+% \fboxsep=-\fboxrule
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\vfil\null}\hfil}}^
+% \caption{Second.}^
+% \label{fig:2figsB}^
+% \end{minipage}^
+% \vspace{-10pt}
+% \end{figure}
+%
+% For more information on typesetting figures and tables, see the
+% document ``Using Imported Graphics in \LaTeXe'' by Keith Reckdahl
+% \cite{Reck97}.
+%
+% \section{The User Interface}
+% \vspace{-5pt}^finalhack
+% \enlargethispage{12pt}^finalhack
+%
+% To use this package place
+% \begin{quote}
+% |\usepackage|\oarg{options}\marg{hhsubfigure}
+% \end{quote}
+% in the preamble of your document. The supported options are shown in
+% table~\ref{tab:options}.
+% \DescribeMacro{\subfigure}
+% \DescribeMacro{\subtable}
+% Within a \Lenv{figure} or \Lenv{table}
+% environment, you can use the following commands to create a subfigure
+% or subtable ``box'' with an optional subcaption underneath.
+% \vspace{-2pt}
+% \begin{quote}
+% |\subfigure|\oarg{list\_entry}\oarg{subcaption}\marg{figure}\\
+% |\subtable|\oarg{list\_entry}\oarg{subcaption}\marg{figure}
+% \end{quote}
+% \vspace{-2pt}
+%
+% \noindent
+% If a subcaption argument is given (including the null subcaption
+% `{\ttfamily [$\;$]}') then the subfigure is labeled with a counter
+% formatted by the command `|\thesubfigure|' which returns, by default,
+% `(a)', `(b)', etc. The counter used for labeling the subfigures is
+% \Lcount{hhsubfigure} and is incremented for each subfigure regardless of
+% whether a subcaption was printed. The internals of the |\subtable|
+% command are symmetric to those of the |\subfigure| command. Further,
+% if a List-of-Figures (or List-of-Tables) is generated, then the
+% \meta{list\_entry} argument controls how the caption text is used
+% there. Table~\ref{tab:calling} shows the possibilities.
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the label and caption defaults
+% from \cmd{\rmfamily}\cmd{\mdseries}\cmd{\upshape} to
+% \cmd{\familydefault}\cmd{\seriesdefault} \cmd{\shapedefault}.}
+% \DeleteShortVerb{\|}
+% \begin{table}
+% \def\M#1{\vspace*{#1}}
+% \centering
+% \caption{\Lpack{hhsubfigure} package options.}
+% \label{tab:options}
+% \vspace{8pt}
+% \fbox{\begin{tabular}{|p{0.36\textwidth}|p{0.63\textwidth}|} \hline
+% \multicolumn{1}{|c|}{{\large\bf\strut Option}}
+% & \multicolumn{1}{c|}{{\large\bf Description}}
+% \\ \hline\hline
+% \Lopt{normal} & \rr Provides `normal' subcaptions, this is the
+% default. \\ \hline
+% \raisebox{-1.4ex}{\Lopt{hang}, \Lopt{isu}}
+% & \rr Causes the label to be a hanging
+% indentation to the subcaption paragraph.
+% (\Lopt{isu} is a synonym for \Lopt{hang}.)
+% \\ \hline
+% \raisebox{-1.4ex}{\Lopt{center}}
+% & \rr Causes each line of the paragraph to be
+% separately centered. Overrides
+% \Lopt{centerlast}.\\ \hline
+% \raisebox{-1.4ex}{\Lopt{centerlast}, \Lopt{anne}}
+% & \rr Causes the last line only to be centered.
+% Overrides \Lopt{nooneline}. (\Lopt{anne} is
+% a synonym for \Lopt{centerlast}.) \\ \hline
+% \raisebox{-2.6ex}{\Lopt{nooneline}}
+% & \rr If a subcaption fits on one line it will, by
+% default, be centered. This option
+% treats a single line like a mid-line of a
+% multi-line caption.\\ \hline
+% \raisebox{-1.4ex}{\Lopt{raggedright}}
+% & \rr Causes the subcaption text to be raggedright.
+% Overrides \Lopt{center} and \Lopt{centerlast}.
+% \\ \hline
+% \raisebox{-1.4ex}{\Lopt{RaggedRight}}
+% & \rr Causes the subcaption text to be
+% raggedright with hyphenation (using the
+% ragged2e package).
+% Overrides \Lopt{center} and \Lopt{centerlast}.
+% \\ \hline\hline
+% \Lopt{scriptsize{\rm,} footnotesize{\rm,} small{\rm,}\hfil\null\linebreak
+% normalsize{\rm,} large{\rm,} Large}
+% & \rr Sets the font size of the subcaptions (both
+% the label and the text), \Lopt{footnotesize}
+% is default. \\ \hline
+% \M{1.8ex}
+% \Lopt{rm{\rm,} sf{\rm,} tt{\rm,} md{\rm,} bf{\rm,}\efill
+% up{\rm,} it{\rm,} sl{\rm,} sc{\rm,}}\hfil\null\linebreak
+% \Lopt{RM{\rm,} SF{\rm,} TT{\rm,} MD{\rm,} BF{\rm,}\efill
+% UP{\rm,} IT{\rm,} SL{\rm,} SC}
+% & \rr The lowercase commands set the font attributes
+% of the subcaption label. The capitalized version
+% sets the font attributes of the text. Family,
+% shape and style attributes may be mixed.
+% The default is to set the document defaults for
+% the family, series and shape.\\ \hline\hline
+% \M{4ex}
+% \Lopt{figbotcap}{\rm,} \Lopt{tabbotcap}{\rm,}\hfil\null\linebreak
+% \Lopt{FIGBOTCAP}{\rm,} \Lopt{TABBOTCAP}
+% & \rr Sets the figure or table numbering based on
+% the assumption that the figure or table caption
+% comes after the subfigures or subtables. The
+% capitalized version also places the subcaption
+% after the figure (``\Lopt{FIGBOTCAP}'' and
+% ``\Lopt{TABBOTCAP}'' are the default settings).
+% \\ \hline
+% \M{3.9ex}
+% \Lopt{figtopcap}{\rm,} \Lopt{tabtopcap}{\rm,}\hfil\null\linebreak
+% \Lopt{FIGTOPCAP}{\rm,} \Lopt{TABTOPCAP}
+% & \rr Sets the figure or table numbering based on
+% the assumption that the figure or table caption
+% precedes the subfigures or subtables. The
+% capitalized version also places the subcaption
+% before the figure (``\Lopt{TABTOPCAP}'' is the
+% preferred table setting, see
+% section~\ref{sec:position} for details).
+% \\ \hline\hline
+% \M{2.6ex}
+% \Lopt{loose}{\rm,} \Lopt{tight}
+% & \rr The (default) \Lopt{loose} option sets the
+% historically normal whitespace around the subfloat.
+% The \Lopt{tight} option sets less space around the
+% subfigure (this is the preferred setting).
+% \\ \hline
+% \end{tabular}}%
+% \end{table}
+% \MakeShortVerb{\|}
+%
+% \begin{table}
+% \centering
+% \caption{\cmd{\subfigure} calling arguments.}
+% \label{tab:calling}
+% \begingroup\small
+% \begin{tabular}{llc} \\ \hline
+% {\normalsize Subfigure Command}
+% & {\normalsize LoF/LoT}
+% & \multicolumn{1}{r}{\hbox to .25in{%
+% \hss\normalsize
+% Subfigure Caption}}
+% \\ \hline
+% \cmd{\subfigure}\{\dots fig\dots\}
+% & & \\
+% \cmd{\subfigure}[~]\{\dots fig\dots\}
+% & (b)\ \ . . . . . . . . . .
+% & (b) \\
+% \cmd{\subfigure}[Subcaption.]\{\dots fig\dots\}
+% & (c) Subcaption. . . .
+% & (c) Subcaption. \\
+% \cmd{\subfigure}[\space][Subcaption.]\{\dots fig\dots\}
+% & & (d) Subcaption. \\
+% \cmd{\subfigure}[\space][\space]\{\dots fig\dots\}
+% & & (e) \\
+% \cmd{\subfigure}[List\_entry.][Subcaption.]\{\dots fig\dots\}
+% & (f) List\_entry. . . .
+% & (f) Subcaption. \\
+% \cmd{\subfigure}[List\_entry.][~]\{\dots fig\dots\}
+% & (g) List\_entry. . . .
+% & (g) \\ \hline
+% \end{tabular}
+% \endgroup
+% \vspace{-8pt}
+% \end{table}
+%
+% If you wish to reference a specific subfigure or subtable, you can
+% include a |\label| inside the body of either the \meta{subcaption} or
+% \meta{figure} argument to the command (but not the \meta{list\_entry}
+% argument). If supplied by itself, the \meta{subcaption} is a ``moving
+% argument''\footnote{See \cite[\textsection~4.7 and
+% \textsection~C.1.3]{Lamp94} for a more detailed description of
+% ``moving arguments'' and ``fragile'' commands.} and, therefore, any
+% ``fragile'' commands contained within it must be |\protect|'ed. If
+% the \meta{list\_entry} argument is supplied, then the
+% \meta{subcaption} is not a ``moving argument''; however, the
+% \meta{list\_entry} is.
+%
+% {\bf Note:} since the |\subfigure| and |\subtable| commands have optional
+% arguments, delimited with square brackets, before their required argument,
+% you cannot use the `]' character at the top level of either the
+% \meta{subcaption} or \meta{list\_entry} argument. To overcome this
+% problem, you must wrap the portion of the text containing the `]'
+% character (or the entire argument), in a pair of curly brackets (see
+% \cite[\textsection~C.1.1]{Lamp94} for more detail). For example:
+%
+% \begin{verbatim}
+% \subfigure[This does not $sqrt[3]{8}$ work.]{... figure text ...}
+% \subfigure[This works {$sqrt[3]{8}$} fine.]{... figure text ...}
+% \subfigure[{This also works $sqrt[3]{8}$ fine.}]{... figure text ...}
+% \end{verbatim}
+%
+% One final note, the |\subfigure| and |\subtable| commands are
+% actually identical and it is the surrounding environment that defines
+% actually identical and it is the surrounding environment that defines
+% whether a subtable or subfigure will be generated and not which command
+% is used. At the user level, the choice of names is purely cosmetic
+% (and historical). Therefore you can use |\subfigure| for any float
+% ({\it e.g.\/}, \Lenv{figure}, \Lenv{table}, or other) environment.
+%
+% \subsection{Format Options}
+% \label{sec:format}
+%
+% There are six options for formatting the layout of the caption label
+% and text. The first is \Lopt{normal}, which produces the style shown
+% in figure~\ref{fig:format-01}. The other options may be used in
+% various combinations to produce the layouts shown in
+% figures~\ref{fig:format-02} thru \ref{fig:format-14}. Note that some
+% combinations, like \Lopt{center} and \Lopt{centerlast} do not make
+% sense since \Lopt{center} overrides \Lopt{centerlast}. Also,
+% \Lopt{nooneline}, when combined with either \Lopt{center} or
+% \Lopt{centerlast} has no effect (unless the \Lopt{hang} option is
+% also set); and, \Lopt{raggedright} overrides both \Lopt{center} and
+% \Lopt{centerlast}.
+%
+% \begingroup
+% \def\sc{Short.}
+% \def\lc{This is a long caption of gibberish: Aafas d taed
+% gaihgghn adf irin sadf aets etsd na.}
+% \def\b{\fboxsep=-\fboxrule
+% \fbox{\hbox to 2.0in{\vbox to 2mm{\vfil\null}\hfil}}}
+% \def\g{\hspace{.5in}}
+% \subfigtopskip=20pt
+% \subfigcapskip=-3pt
+% \subfigbottomskip=0pt
+% \abovecaptionskip=5pt
+% \begin{figure}^
+% \centering
+% \turnofflistentry
+% \subcaphangfalse
+% \subcapcenterfalse
+% \subcapcenterlastfalse
+% \subcapnoonelinefalse
+% \subcapraggedrightfalse
+% \subfigure[\sc]{\b}\g\subfigure[\lc]{\b}\\
+% \caption{Format option [\Lopt{normal}].}^
+% \label{fig:format-01}^
+% \subcapnoonelinetrue
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format option [\Lopt{nooneline}].}^
+% \label{fig:format-02}^
+% \subcapcenterlasttrue
+% \subcapnoonelinefalse
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format option [\Lopt{centerlast}]; \Lopt{centerlast} overrides
+% \Lopt{nooneline}.\footnotemark}
+% \label{fig:format-03}^
+% \subcapcentertrue
+% \subcapcenterlastfalse
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format option [\Lopt{center}]; \Lopt{center} overrides
+% \Lopt{nooneline} and \Lopt{centerlast}.}^
+% \label{fig:format-04}^
+% \subcaphangtrue
+% \subcapcenterfalse
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format option [\Lopt{hang}].}
+% \label{fig:format-05}
+% \subcapnoonelinetrue
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format options [\Lopt{hang},\Lopt{nooneline}].}
+% \label{fig:format-06}
+% \subcapcenterlasttrue
+% \subcapnoonelinefalse
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{\Lpack{Hhsubfigure}\ format options [\Lopt{hang},^
+% \Lopt{centerlast}].}
+% \label{fig:format-07}
+% \vspace{2\baselineskip}
+% \begin{minipage}{\linewidth}
+% \footnotetext{\raise1ex\hbox to 0pt{\hss\tiny\thefootnote}^
+% So this is the same as [\Lopt{centerlast},\Lopt{nooneline}]. Only
+% the shortest number of options to achieve an effect is shown.
+% Adding any combination of overridden options has no effect.}
+% \end{minipage}
+% \end{figure}
+%
+% \begin{figure}
+% \turnofflistentry
+% \centering
+% \subcaphangtrue
+% \subcapcenterfalse
+% \subcapcenterlasttrue
+% \subcapnoonelinetrue
+% \subcapraggedrightfalse
+% \subfigure[][\sc]{\label{fig:format-08A}\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format options [\Lopt{hang},\Lopt{centerlast},\Lopt{nooneline}].}
+% \label{fig:format-08}
+% \subcapcentertrue
+% \subcapcenterlastfalse
+% \subcapnoonelinefalse
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format options [\Lopt{hang},\Lopt{center}];
+% \Lopt{center} overrides \Lopt{centerlast}.}
+% \label{fig:format-09}
+% \subcapnoonelinetrue
+% \subfigure[][\sc]{\label{fig:format-10A}\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format options [\Lopt{hang},\Lopt{center},\Lopt{nooneline}];
+% \Lopt{center} overrides \Lopt{centerlast}.}
+% \label{fig:format-10}
+% \subcaphangfalse
+% \subcapcenterfalse
+% \subcapnoonelinefalse
+% \subcapraggedrighttrue
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format option [\Lopt{raggedright}];
+% \Lopt{raggedright} overrides \Lopt{center} and \Lopt{centerlast}.}
+% \label{fig:format-11}
+% \subcapnoonelinetrue
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format options [\Lopt{raggedright},\Lopt{noonelirne}];
+% \Lopt{raggedright} overrides \Lopt{center} and \Lopt{centerlast}.}
+% \label{fig:format-12}
+% \subcaphangtrue
+% \subcapnoonelinefalse
+% \subfigure[][\sc]{\b}\g\subfigure[][\lc]{\b}\\
+% \caption{Format options [\Lopt{hang},\Lopt{raggedright}];
+% \Lopt{raggedright} overrides \Lopt{center} and \Lopt{centerlast}.}
+% \label{fig:format-13}
+% \subcapnoonelinetrue
+% \subfigure[][\sc]{\label{fig:format-14A}\b}\g\subfigure[][\lc]{\b}\\
+% \caption{\Lpack{hhsubfigure}\ format options [\Lopt{hang},\Lopt{raggedright},
+% \Lopt{nooneline}]; \Lopt{raggedright} overrides \Lopt{center}
+% and \Lopt{centerlast}.}
+% \label{fig:format-14}
+% \end{figure}
+% \endgroup
+%
+% \addtocontents{lof}{^
+% \string\contentsline
+% {figure}
+% {\numberline{\ref{fig:format-01}--\ref{fig:format-14}}^
+% {\ignorespaces \Lpack{Hhsubfigure}\ format options.}}^
+% {\pageref{fig:format-01}--\pageref{fig:format-14}}}
+%
+% \subsection{Font Size and Style Options}
+% \label{sec:font}
+%
+% There are twenty-four options for setting the font of the subcaption.
+% The first six set the size of both the subcaption label and text.
+% They are: \Lopt{scriptsize}, \Lopt{footnotesize} (default),
+% \Lopt{small}, \Lopt{normalsize}, \Lopt{large}, and \Lopt{Large}.
+% Their effect is shown in figure~\ref{fig:font1}.
+%
+% The next nine, \Lopt{rm}: \Lopt{sf}, \Lopt{tt}, \Lopt{md}, \Lopt{bf},
+% \Lopt{up}, \Lopt{it}, \Lopt{sl}, and \Lopt{sc}, set the family, series
+% or shape of the subcaption label, as shown in
+% figures~\ref{fig:font2A}--~\ref{fig:font2I}. The last nine:
+% \Lopt{RM}, \Lopt{SF}, \Lopt{TT}, \Lopt{MD}, \Lopt{BF}, \Lopt{UP},
+% \Lopt{IT}, \Lopt{SL}, and \Lopt{SC}, do the same for the text of the
+% subcaption, as shown in figure~\ref{fig:font2J}--\ref{fig:font2R}.
+% These size and style options may be combined in 3456 ways to set the
+% label and text of the subcaption (as long as the selected font
+% combination exists\@!) The font family for the text and label may be
+% set as roman (\Lopt{rm}/\Lopt{RM}), sans serif (\Lopt{sf}/\Lopt{SF}),
+% and typewriter (\Lopt{tt}/\Lopt{TT}). These may be combined with
+% those for the font series, medium (\Lopt{md}/\Lopt{MD}) and bold
+% (\Lopt{bf}/\Lopt{BF}); and the font shape, upright
+% (\Lopt{up}/\Lopt{UP}), italic (\Lopt{it}/\Lopt{IT}), slanted
+% (\Lopt{sl}/\Lopt{SL}), and small caps (\Lopt{sc}/\Lopt{SC}).
+%
+% \begin{figure}^
+% \def\b{\fboxsep=-\fboxrule
+% \fbox{\hbox to 2.0in{\vbox to 2mm{\vfil\null}\hfil}}}^
+% \subfigtopskip=8pt^
+% \subfigcapskip=0pt^
+% \subfigbottomskip=4pt^
+% \centering
+% {\renewcommand{\subcapsize}{\scriptsize}^
+% \subfigure[][Font option {[scriptsize]}.]{\b}}\qquad
+% {\renewcommand{\subcapsize}{\footnotesize}^
+% \subfigure[][Font option {[footnotesize]}.]{\b}}\\
+% {\renewcommand{\subcapsize}{\small}^
+% \subfigure[][Font option {[small]}.]{\b}}\qquad
+% {\renewcommand{\subcapsize}{\normalsize}^
+% \subfigure[][Font option {[normalsize]}.]{\b}}\\
+% {\renewcommand{\subcapsize}{\large}^
+% \subfigure[][Font option {[large]}.]{\b}}\qquad
+% {\renewcommand{\subcapsize}{\Large}^
+% \subfigure[][Font option {[Large]}.]{\b}}%
+% \caption[\Lpack{Hhsubfigure} font size options.]{%
+% \Lpack{Hhsubfigure} font size options. (Default:
+% \Lopt{footnotesize}).}^
+% \label{fig:font1}^
+% \end{figure}
+%
+% \begin{figure}^
+% \def\b{\fboxsep=-\fboxrule
+% \fbox{\hbox to 2.0in{\vbox to 2mm{\vfil\null}\hfil}}}^
+% \subfigtopskip=8pt^
+% \subfigcapskip=0pt^
+% \subfigbottomskip=4pt^
+% \centering
+% \begin{minipage}{2.0in}^
+% {\renewcommand{\subcaplabelfont}{\rmfamily}^
+% \subfigure[][Subcaption label font option {[\Lopt{rm}]}.]{\b^
+% \label{fig:font2A}}}\\
+% {\renewcommand{\subcaplabelfont}{\sffamily}^
+% \subfigure[][Subcaption label font option {[\Lopt{sf}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\ttfamily}^
+% \subfigure[][Subcaption label font option {[\Lopt{tt}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\mdseries}^
+% \subfigure[][Subcaption label font option {[\Lopt{md}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\bfseries}^
+% \subfigure[][Subcaption label font option {[\Lopt{bf}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\upshape}^
+% \subfigure[][Subcaption label font option {[\Lopt{up}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\itshape}^
+% \subfigure[][Subcaption label font option {[\Lopt{it}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\slshape}^
+% \subfigure[][Subcaption label font option {[\Lopt{sl}]}.]{\b}}\\
+% {\renewcommand{\subcaplabelfont}{\scshape}^
+% \subfigure[][Subcaption label font option {[\Lopt{sc}]}.]{^
+% \label{fig:font2I}\b}}\\
+% \end{minipage}^
+% \qquad
+% \begin{minipage}{2.0in}^
+% {\renewcommand{\subcapfont}{\rmfamily}^
+% \subfigure[][Subcaption font option {[\Lopt{RM}]}.]{^
+% \label{fig:font2J}\b}}\\
+% {\renewcommand{\subcapfont}{\sffamily}^
+% \subfigure[][Subcaption font option {[\Lopt{SF}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\ttfamily}^
+% \subfigure[][Subcaption font option {[\Lopt{TT}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\mdseries}^
+% \subfigure[][Subcaption font option {[\Lopt{MD}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\bfseries}^
+% \subfigure[][Subcaption font option {[\Lopt{BF}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\upshape}^
+% \subfigure[][Subcaption font option {[\Lopt{UP}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\itshape}^
+% \subfigure[][Subcaption font option {[\Lopt{IT}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\slshape}^
+% \subfigure[][Subcaption font option {[\Lopt{SL}]}.]{\b}}\\
+% {\renewcommand{\subcapfont}{\scshape}^
+% \subfigure[][Subcaption font option {[\Lopt{SC}]}.]{^
+% \label{fig:font2R}\b}}^
+% \end{minipage}^
+% \caption[\Lpack{Hhsubfigure} font style options.]{%
+% \Lpack{Hhsubfigure} font style options. (Default:
+% \Lopt{rm,md,up,RM,MD,UP}). Note: The above single options
+% are loaded after the default settings and multiple options are
+% allowed, see the text, section~\ref{sec:font}.}^
+% \label{fig:font2}^
+% \end{figure}
+%
+% \subsection{Caption Position Options}
+% \enlargethispage{12pt}^finalhack
+% \label{sec:position}
+%
+% There are eight options that control the {\em position\/} of the
+% subcaption and how the subcaption {\em numbering\/} is related to the
+% ``containing'' figure or table's caption. The following shows only
+% the subfigure-related options, but the subtable options are symmetric.
+%
+% The first option, \Lopt{figbotcap} tells the subfigure command that
+% the ``containing'' figure's |\caption| occurs {\bf after} the
+% subfigures. This information is needed to decide if the current
+% figure counter shows the number for the last figure (\Lopt{figbotcap})
+% or for the current one (\Lopt{figtopcap}, see below).
+%
+% The second option, \Lopt{figtopcap} tells the subfigure command that
+% the ``containing'' figure's |\caption| occurs {\bf before} the
+% subfigures. The subcaption is automatically placed below the figure
+% for each of these options.
+%
+% The third option, \Lopt{FIGBOTCAP}, is similar to \Lopt{figbotcap},
+% except that it also forces the subcaption to be placed under the
+% figure. This is the default setting for figures (and \Lopt{TABBOTCAP}
+% for tables) and is shown in figure~\ref{fig:position1}.
+%
+% The fourth option, \Lopt{FIGTOPCAP}, is similar to \Lopt{figtopcap},
+% except that it forces the subcaption to be placed above the figure
+% box. (While not the default, it is the preferred format for tables,
+% which uses the option \Lopt{TABTOPCAP}\@.) An example of this option
+% is shown in figure~\ref{fig:position2}. Note that the baseline of the
+% subfigure is along the top of the two subfigures. See
+% section~\ref{sec:custom-position} for another way of positioning the
+% caption when captions are placed above the figure or table.
+%
+% \begin{figure}^
+% \subfigtopskip=8pt^
+% \subfigcapskip=0pt^
+% \subfigbottomskip=4pt^
+% \abovecaptionskip=5pt^
+% \centering
+% \subfigure[First caption.]{^
+% \fbox{\hbox to 1.5in{\vbox to 15mm{\vfil\null}\hfil}}}^
+% \hspace{0.2in}^
+% \subfigure[Second long, long, long, long, long, long, caption.]{^
+% \fbox{\hbox to 1.5in{\vbox to 10mm{\vfil\null}\hfil}}}^
+% \caption{Subcaption position option [\Lopt{FIGBOTCAP}].}
+% \label{fig:position1}^
+% \end{figure}
+%
+% \begin{figure}^
+% \subfigtopskip=8pt^
+% \subfigcapskip=0pt^
+% \subfigbottomskip=0pt^
+% \belowcaptionskip=5pt^
+% \caption{Subcaption position option: [\Lopt{FIGTOPCAP}].}^
+% \label{fig:position2}^
+% \centering
+% \figuretopcaptrue
+% \subfiguretopcaptrue
+% \subfigure[First caption.]{^
+% \fbox{\hbox to 1.5in{\vbox to 15mm{\vfil\null}\hfil}}}^
+% \hspace{0.2in}^
+% \subfigure[Second long, long, long, long, long, long caption.]{^
+% \fbox{\hbox to 1.5in{\vbox to 10mm{\vfil\null}\hfil}}}^
+% \setcounter{subfigure}{0}^
+% \vspace{-18pt}
+% \end{figure}
+%
+% \subsection{Recent Changes and Backward Compatibility}
+% \enlargethispage{24pt}^finalhack
+% \label{sec:back-compat}
+%
+% There are some significant changes in this version of the
+% \Lpack{hhsubfigure} package. One of them was to pack the subfigure
+% tighter together by removing the space at the top of the subfigure at
+% the beginning of a page, or minipage, and to reduce the spacing around
+% the subfigure, see table~\ref{tab:spacing}. If you have been using an
+% older version of the \Lpack{hhsubfigure} package ({\it i.e.\/}, version
+% 2.0 or eariler) than the default (\Lopt{loose}) setting will not cause
+% any change in your existing documents.\footnote{If you have been using
+% a beta release version of \Lpack{subfigure} 2.1, than you will need to
+% use the \Lopt{tight} option in order to maintain the ``look-and-feel''
+% that you are used to.}
+%
+% If you want to use the new and preferred, \Lopt{tight} option, your
+% subfigures will take up less space and should provide a more balanced
+% visual appearance for your paper.
+%
+% The second significant change is the ability to make the text on the
+% List-of-Figures page different than that in the subcaption. The use
+% of a second optional argument to the |\subfigure| command is shown in
+% table~\ref{tab:calling}. This should not cause any compatibility
+% problems.
+%
+% The third significant change is the it is now possible to have the
+% captions and subcaptions come before or after the corresponding
+% figure/table portion. While the default settings support the old view
+% of the subcaptions following the figure/table and, in turn, followed
+% by the main caption. The preferred format is for figures to retain
+% that layout and for tables to have both their subcaption and main
+% captions come before the table portion. This preferred setting may be
+% specified by adding the option \Lopt{TABTOPCAP} when loading the
+% \Lpack{hhsubfigure} package.
+%
+% The fourth update is that the font style options have been generalized
+% so that an option from each of the family, series and shape, may be
+% combined, as long as that combination exists; and you can set the font
+% of the label and text separately. In addition, the the |\space| that
+% separated the label from the text in the subcaption has been replaced
+% with a horizontal skip of |\subfiglabelskip| which has the default
+% value of |0.33em plus 0.07em minus 0.03em|. This extension should not
+% cause any compatibility problems.
+%
+% The last major change is that there is now a |\subref| command that
+% allows a reference to the subfigure without the figure number. An
+% example of the use of this command is shown later in
+% section~\ref{sec:ex3}. Associated with this change is that the
+% |\label| command will accept an optional argument, for use with the
+% \Lpack{hyperref} package, when used within the scope of the
+% |\subfigure| or |\subtable|, see section~\ref{sec:hyperref} for details.
+%
+% \DeleteShortVerb{\|}
+% \MakeShortVerb{\/}
+% \begin{table}^
+% \def\pz{\phantom{0}}^
+% \centering
+% \caption{\Lpack{hhsubfigure} spacing changes.}^
+% \label{tab:spacing}^
+% \vspace{4pt}^
+% \begin{tabular}{|l|c|c|c|} \hline
+% \multicolumn{1}{|c|}{\bf{\Lpack{hhsubfigure}}}
+% & \multicolumn{1}{c|}{{\bf Old (v2.0)}}
+% & \multicolumn{1}{c|}{\bf\Lopt{loose}}
+% & \multicolumn{1}{c|}{\bf\Lopt{tight}} \\
+% \multicolumn{1}{|c|}{{\bf Constant}}
+% & \multicolumn{1}{c|}{{\bf Value}}
+% & \multicolumn{1}{c|}{{\bf Option}}
+% & \multicolumn{1}{c|}{{\bf Option}}
+% \\ \hline
+% /\subfigtopskip/ & 10 pt & 10 pt & 5 pt \\
+% /\subfigcapskip/ & 10 pt & 10 pt & 0 pt \\
+% /\subfigcaptopadj/ & | &\pz0 pt & 3 pt \\
+% /\subfigbottomskip/ & 10 pt & 10 pt & 5 pt \\
+% /\subfigcapmargin/ & 10 pt & 10 pt & 0 pt \\
+% /\subfiglabelskip/ & | & 0.33 em &
+% \vtop{\hbox to 1.2in{0.33 em plus 0.07 em}
+% \hbox to 1.2in{\hfill minus 0.03 em}}
+% \\[8pt] \hline
+% \end{tabular}^
+% \end{table}
+% \DeleteShortVerb{\/}
+% \MakeShortVerb{\|}
+%
+% The \Lpack{hhsubfigure} package checks for and loads a configuration
+% file called \Lfile{subfigure.cfg} which is placed anywhere that \LaTeX\
+% will look for classes or packages (see
+% section~\ref{sec:customization}). By default, the \Lfile{subfigure.sty}
+% file tries to look unchanged from older versions. In order to
+% have it automatically use the preferred settings, you can add a
+% configuration file containing the options \Lopt{tight} to reduce the
+% extra whitespace around the subfigures and \Lopt{TABTOPCAP} to show
+% that table captions will come before the table and the the subcaptions
+% for tables should be set above the subtable. The following line is all
+% you need in your configuration file:
+%
+% \iffalse
+%<*newconf>
+% \fi
+% \begin{macrocode}
+\ExecuteOptions{tight,TABTOPCAP}
+% \end{macrocode}
+% \iffalse
+%</newconf>
+% \fi
+%
+% You could also load the subfigure package with the options with the
+% following in your \LaTeX\ preamble:
+% \begin{quote}
+% |\usepackage[tight,TABTOPCAP]{hhsubfigure}|
+% \end{quote}
+%
+% \subsection{Frequently Asked Questions}
+% \label{sec:faq}
+%
+% The four most frequently asked questions about the \Lpack{hhsubfigure}
+% package are:
+%
+% \begin{enumerate}
+% \item ``My subfigures are not aligned along their bottoms. Why?''
+%
+% Remember! The \Lpack{hhsubfigure} package aligns subfigure along
+% their baselines with the subcaption (if any) sticking out above or
+% below. The above problem is usually due to using a \Lenv{minipage},
+% \Lenv{tabular} or \Lenv{array} environment that, by default,
+% places the baseline at the center of the box that it generates.
+% If the two subfigures are different sizes, or if one subfigure is
+% generated in some other way with its baseline not at the expected
+% place (perhaps an |\includegraphics|), then the subfigures will be
+% misaligned. One solution is to use the environment options `[t]'
+% or `[b]' to move the baseline to the top or bottom rather than the
+% center.
+%
+% \item ``How can I get my figures/subfigures to line up the way I want?''
+%
+% A similar question, but this one is caused by extra whitespace in
+% the source text generating spaces next to the figures, and |\par|'s
+% generated by blanklines. The main thing is {\it be aware\/} that
+% extra whitespace can move figures and subfigures around, sometimes
+% a lot and sometimes just a little so that they look ``wrong''.
+% Placing too many `\%'s at the end of the lines is better than too
+% few in the figure and table environments. (See the discussion of
+% ``white space'' in section~\ref{sec:examples}.)
+%
+% \item ``I have too many subfigures for one page, How can I spread
+% them over two or more pages and continue the numbering?''
+% \begin{description}
+% \item[Option 1:] Adjust the \Lcount{figure} and \Lcount{subfigure}
+% counters (or the \Lcount{table} and
+% \Lcount{subtable} counters) as needed before and
+% after each figure (or table) See, for example
+% \emph{Using Imported Graphics in \LaTeXe}
+% \cite[\textsection~30]{Reck97}.
+% \item[Option 2:] Use the \Lpack{ccaption} package by Peter Wilson
+% \cite{Wils01}.
+% \item[Option 3:] Use the simpler \Lpack{captcont} package by
+% Steven Cochran \cite{Coch02}.
+% \end{description}
+% All of these options work well. Of the packages, the
+% \Lpack{ccaption} package is bigger and offers more control over
+% what is done (and things to do) at the expense of being a little
+% harder to use. The \Lpack{captcont} package is easier to use,
+% but only provides for continued floats.
+% \newpage^finalhack
+% \item ``Why do I get a garbled caption or an error when I use
+% square brackets?''
+% \vspace{-2pt}
+% \begin{verbatim}
+% \subfigure[SHIFT: ``register[3] $<<=$ 3;'']{... figure text ...}
+% \end{verbatim}
+% \vspace{-12pt}
+% Since the |\subfigure| and |\subtable| commands have optional
+% arguments, delimited with square brackets, before their required
+% argument, you cannot use the `]' character at the top level of
+% either the \meta{subcaption} or \meta{list\_entry} argument. To
+% overcome this problem, you must wrap all or the portion of the text
+% containing the `]' character, in a pair of curly brackets
+% (see \cite[\textsection~C.1.1]{Lamp94} for more detail). For example:
+% \begin{verbatim}
+% \subfigure[SHIFT: ``register{[3]} $<<=$ 3;'']{... figure text ...}
+% \end{verbatim}
+% \vspace{-16pt}
+% \noindent
+% or
+% \vspace{-4pt}
+% \begin{verbatim}
+% \subfigure[{SHIFT: ``register[3] $<<=$ 3;''}]{... figure text ...}.
+% \end{verbatim}
+% \vspace{-12pt}
+% \end{enumerate}
+%
+% \section{Three Examples}
+% \label{sec:examples}
+%
+% The easiest way to show the use of this package is to give a few
+% examples. The two most important things to remember when working
+% with the \Lpack{hhsubfigure} package are that (1) the subfigures are
+% aligned along their baselines (see figure~\ref{fig:layout} and
+% section~\ref{sec:customlayout}) and (2) that whitespace in the
+% \Lenv{figure} environment are significant and affect the layout.
+%
+% The baseline of the subfigure is usually at the bottom of the
+% subfigure or (when the subcaption appears at the top) at the bottom of
+% the subcaption {\em and\/} the |\subfigcapskip| space---which is usually
+% the same as the top of the subfigure. However sometimes, especially
+% when using the \Lenv{tabular}, \Lenv{array}, or \Lenv{minipage}
+% environments to build the figure, the baseline appears elsewhere. The
+% above environments are all aligned at their center by default but that
+% may be changed with the optional `{\bf [t]}' or `{\bf [b]}' arguments.
+% As a last resort you can wrap all of your figures in a |\vtop| box with
+% a |\vbox to 0pt{\null}| at the top followed by the figure.
+%
+% If your figure is not quite centered or where you want it to be, the
+% problem is often a space character being placed to one side or the
+% other of the figure. Some general rules of thumb are:\footnote{See
+% chapters 7 and 8 of ``The \TeX book'' \cite{Knut86} for details.}
+% \begin{itemize}\itemsep0pt
+% \item Two end-of-lines following each other (ignoring any
+% whitespace) are turned into a |\par| or paragraph break.
+% \item Multiple whitespace (including the end-of-line) are
+% compressed into a single space.
+% \item The spaces after a macro command name ({\it e.g.\/}, |\foo|)
+% are ignored.
+% \item A `\%' character at the end of the line suppresses the
+% end-of-line and all of the spaces (if any) at the
+% beginning of the next line.
+% \end{itemize}
+%
+% To suppress significant extra whitespace, you can add some `\%'
+% characters at the end of each line that doesn't end with a command name.
+% This is more than is required, but extra `\%' usually don't cause a
+% problem.
+%
+% The other case where things are not correctly centered is when the
+% subfigure uses only the label for the subcaption. This is often the
+% case when the description for each subfigure is given in the figure
+% caption rather than in each subcaption. In this case, the default
+% label has the form `(a)\ \ ' where the trailing space is defined by
+% |\subfiglabelskip|. In this case the style should redefine this space
+% as `0pt' so that the label is perfectly centered (see
+% section~\ref{sec:ex3}, below for an example).
+%
+% \subsection{A Simple Example}
+% \enlargethispage{12pt}
+%
+% The first example, shown in figure~\ref{3figs}, specifies |\centering|
+% \DescribeMacro{\subfigure}
+% to horizontally center the set of subfigures, and uses |\\| and
+% some horizontal space (using |\qquad|) to control the placement of
+% the subfigures. Note that the alignment of the top two subfigures
+% is along the bottom of the figure portion of each.
+%
+% \begin{figure}^
+% \centering
+% \fboxsep=-\fboxrule
+% \fbox{^
+% \begin{minipage}{4.0in}^
+% \vspace{10pt}^
+% \centering
+% \begin{minipage}{3.5in}^
+% \subfigtopskip=3pt^
+% \subfigcapskip=-2pt^
+% \subfigbottomskip=5pt^
+% \subfigcapmargin=3pt^
+% \abovecaptionskip=5pt^
+% \centering
+% \subfigure[First.]{^
+% \fbox{\hbox to 20mm{\vbox to 15mm{\vfil\null}\hfil}}}\qquad
+% \subfigure[Second figure.]{^
+% \fbox{\hbox to 20mm{\vbox to 10mm{\vfil\null}\hfil}}}\\[6pt]
+% \subfigure[Third.]{\label{3figs-c}^
+% \fbox{\hbox to 20mm{\vbox to 10mm{\vfil\null}\hfil}}}\\
+% \caption{Three subfigures.}^
+% \label{3figs}^
+% \rr
+% \vspace{15pt}^
+% Figure~\ref{3figs} contains two top `subfigures' and
+% figure~\ref{3figs-c}.$\!$\footnotemark
+% \end{minipage}^
+% \vspace{4pt}^
+% \end{minipage}}
+% \vspace{-5pt}^
+% \end{figure}
+% \footnotetext{In this and later boxed figures, the boxes are intended to
+% represent a portion of the page in which the figure occurs. This is
+% usually to show the figure along with some text or to show the effect
+% of some option on multiple pages.}
+%
+% \begin{verbatim}
+% \begin{figure}%
+% \centering
+% \subfigure[First.]{...}\qquad
+% \subfigure[Second figure.]{...}\\
+% \subfigure[Third.]{\label{3figs-c}...}%
+% \caption{Three subfigures.}
+% \label{3figs}
+% \end{figure}
+% ...
+% Figure~\ref{3figs} contains two top `subfigures' and
+% figure~\ref{3figs-c}.
+% \end{verbatim}
+%
+% \subsection{A More Advanced Example}
+%
+% A second example, shown in figure~\ref{fig:ex2}, demonstrates how to
+% change the subfigure labels and have the subfigure captions printed in
+% the List-of-Figures.
+%
+% The first |\renewcommand| changes the reference to |\thesubfigure| to
+% return both the figure number and the subfigure number separated with
+% a period. The next two |\renewcommand|'s turn off the |\p@subfigure|
+% (since it is now included in |\thesubfigure| and adds the colon and
+% space to the subfigure label. Later in the file, the
+% \Lcount{lofdepth} is set to ``2'' so allow the subfigure captions to
+% show and the |\listoffigures| is loaded. Finally, the \Lenv{figure}
+% is defined and a little following text is given that refers to it.
+%
+% \begin{verbatim}
+% \renewcommand{\thesubfigure}{\thefigure.\arabic{subfigure}}
+% \makeatletter
+% \renewcommand{\p@subfigure}{}
+% \renewcommand{\@thesubfigure}{\thesubfigure:\hskip\subfiglabelskip}
+% \makeatother
+% ...
+% \setcounter{lofdepth}{2}
+% \listoffigures
+% ...
+% \begin{figure}%
+% \centering
+% \subfigure[First.]{%
+% \label{fig:first}%
+% ...}%
+% \qquad
+% \subfigure[Second.]{%
+% \label{fig:second}%
+% ...}%
+% \caption{Two subfigures.}
+% \end{figure}
+% ...
+% See figures~\ref{fig:first} and \ref{fig:second}.
+% \end{verbatim}%
+%
+% \begin{figure}^
+% \centering
+% \fboxsep=-\fboxrule
+% \renewcommand{\thesubfigure}{\thefigure.\arabic{subfigure}}^
+% \makeatletter
+% \renewcommand{\p@subfigure}{}^
+% \renewcommand{\@thesubfigure}{\thesubfigure:\hskip\subfiglabelskip}^
+% \makeatother
+% \fbox{^
+% \begin{minipage}{4.0in}^
+% \centering
+% \begin{minipage}{3.5in}^
+% \setcounter{lofdepth}{2}^
+% \vspace{.1in}^
+% \section*{ List of Figures}^
+% \vspace{-15pt}^
+% \hspace{40pt}\dots
+% \vspace{3pt}^
+% \contentsline{figure}{\numberline{\ref{fig:ex2}}^
+% {\ignorespaces Two subfigures.}}{\pageref{fig:ex2}}^
+% \contentsline{subfigure}{\numberline{\ref{fig:first}}^
+% {\ignorespaces First.}}{\pageref{fig:first}}^
+% \contentsline{subfigure}{\numberline{\ref{fig:second}}^
+% {\ignorespaces Second.}}{\pageref{fig:second}}^
+% \hspace{40pt}\dots
+% \vspace{8pt}^
+% \end{minipage}^
+% \end{minipage}}\\
+% \fbox{^
+% \begin{minipage}{4.0in}^
+% \centering
+% \begin{minipage}{3.5in}^
+% \subfigtopskip=3pt^
+% \subfigcapskip=-2pt^
+% \abovecaptionskip=5pt^
+% \vspace{10pt}^
+% \centering
+% \subfigure[First.]{^
+% \label{fig:first}^
+% \fbox{\hbox to 22mm{\vbox to 15mm{\vfil\null}\hfil}}}^
+% \hspace{14pt}^
+% \subfigure[Second.]{^
+% \label{fig:second}^
+% \fbox{\hbox to 22mm{\vbox to 15mm{\vfil\null}\hfil}}}\\
+% \caption{Two subfigures.}^
+% \label{fig:ex2}^
+% \rr
+% \vspace{15pt}^
+% See figures~\ref{fig:first} and \ref{fig:second}.
+% \vspace{4pt}^
+% \end{minipage}^
+% \end{minipage}}^
+% \vspace{-8pt}
+% \end{figure}
+% \vspace{-12pt}^finalhack
+%
+% \subsection{An Example Without Subcaption Text}
+% \label{sec:ex3}
+%
+% The last example, shown in figure~\ref{fig:ex3}, demonstrates a
+% \DescribeMacro{\subref}
+% \DescribeMacro{\Subref}
+% \enlargethispage{12pt}
+% commonly required format where the subfigure are just labeled and the
+% description occurs in the main caption. This is easy to do by using
+% the ``empty'' optional caption arguments ``[\space ][\space ]''. This
+% creates a label for the subfigure in the text, but it does not show on
+% the List-of-Figures page. However, by default the caption may not be
+% perfectly centered, so |\subfiglabelskip| is reduced to zero points to
+% ensure that there is not any extra space hidden in the subcaption. To
+% refer to the subfigure label within the text or the main caption, you
+% can use the |\subref| command, which is similar to the |\ref| command,
+% but does not carry the figure number. (The |\Subref| command is the
+% same but sets it with |\subcaplabelfont|).
+%
+% \begin{figure}^
+% \centering
+% \fboxsep=-\fboxrule
+% \subfiglabelskip=0pt
+% \fbox{^
+% \begin{minipage}{4.0in}^
+% \centering
+% \begin{minipage}{3.5in}^
+% \setcounter{lofdepth}{2}^
+% \vspace{.1in}^
+% \section*{ List of Figures}^
+% \vspace{-15pt}^
+% \hspace{40pt}\dots
+% \vspace{3pt}^
+% \contentsline{figure}{\numberline{\ref{fig:ex3}}^
+% {\ignorespaces A set of four subfigures.}}^
+% {\pageref{fig:ex3}}^
+% \hspace{40pt}\dots
+% \vspace{8pt}^
+% \end{minipage}^
+% \end{minipage}}\\
+% \fbox{^
+% \begin{minipage}{4.0in}^
+% \centering
+% \begin{minipage}{3.5in}^
+% \subfigtopskip=3pt^
+% \subfigcapskip=-2pt^
+% \subfigbottomskip=3pt^
+% \abovecaptionskip=5pt^
+% \vspace{7pt}^
+% \centering
+% \makeatletter
+% \subfigure[][]{^
+% \label{fig:ex3-a}^
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\null\vfil}\hfil}}}%
+% \hspace{8pt}%
+% \subfigure[][]{^
+% \label{fig:ex3-b}^
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\null\vfil}\hfil}}}\\
+% \subfigure[][]{^
+% \label{fig:ex3-c}^
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\null\vfil}\hfil}}}%
+% \hspace{8pt}%
+% \subfigure[][]{^
+% \label{fig:ex3-d}^
+% \fbox{\hbox to 1.2in{\vbox to 15mm{\null\vfil}\hfil}}}%
+% \caption[A set of four subfigures.]{A set of four subfigures:
+% \subref{fig:ex3-a} describes the first subfigure;
+% \subref{fig:ex3-b} describes the second subfigure;
+% \subref{fig:ex3-c} describes the third subfigure; and,
+% \subref{fig:ex3-d} describes the last subfigure.}^
+% \label{fig:ex3}^
+% \rr
+% \vspace{15pt}^
+% The text references the main figure as figure~\ref{fig:ex3}
+% or part of it as figures~\ref{fig:ex3-a}--\subref{fig:ex3-c}.
+% \vspace{4pt}^
+% \end{minipage}^
+% \end{minipage}}^
+% \vspace{-12pt}
+% \end{figure}
+%
+% \enlargethispage{12pt}
+% \begin{verbatim}
+% \subfiglabelskip=0pt
+% ...
+% \listoffigures
+% ...
+% \begin{figure}%
+% \centering
+% \subfigure[][]{%
+% \label{fig:ex3-a}%
+% ...figure code...}%
+% \hspace{8pt}%
+% \subfigure[][]{%
+% \label{fig:ex3-b}%
+% ...figure code...}\\
+% \subfigure[][]{%
+% \label{fig:ex3-c}%
+% ...figure code...}%
+% \hspace{8pt}%
+% \subfigure[][]{%
+% \label{fig:ex3-d}%
+% ...figure code...}%
+% \caption[A set of four subfigures.]{A set of four subfigures:
+% \subref{fig:ex3-a} describes the first subfigure;
+% \subref{fig:ex3-b} describes the second subfigure;
+% \subref{fig:ex3-c} describes the third subfigure; and,
+% \subref{fig:ex3-d} describes the last subfigure.}%
+% \label{fig:ex3}%
+% \end{figure}
+% ...
+% The text references the main figure as figure~\ref{fig:ex3} or part
+% of it as figures~\ref{fig:ex3-a}--\subref{fig:ex3-c}.
+% \end{verbatim}%
+%
+% \section{Customization}
+% \label{sec:customization}
+%
+% The following sections describe the internal parameters used by the
+% \Lpack{hhsubfigure} package to define the layout of the subfigures
+% or tables, as well as the labels and captions the accompany them.
+% In addition, adjustments to the entries on a ``List-of'' page and
+% the addition of new \Lenv{float} environments are described.
+%
+% Adjusting these values allows extensive customization of the
+% \Lpack{hhsubfigure} package. If you want to customize the package, an
+% alternative to actually changing the code is to create a a file called
+% \Lfile{subfigure.cfg} and place it anywhere that \LaTeX\ will look for
+% classes or packages. Any changes placed in the file will affect the
+% predefined parameters and you can override the default settings. Any
+% user options will be processed after this file is loaded.
+%
+% In order to change the major commands in the \Lpack{hhsubfigure} package
+% with this configure file, you will need to use the |\AtEndOfPackage|
+% command to defer that portion of your changes until the end of the
+% package.
+%
+% \subsection{Changing the Layout}
+% \enlargethispage{15pt}^finalhack
+% \label{sec:customlayout}
+%
+% \noindent
+% The layout of the |\subfigure| or |\subtable| is defined by several
+% internal values which may be changed to customize appearance of the
+% object. The following illustration shows the relationship of these
+% values. Figure~\ref{fig:layout-A} shows the standard layout with the
+% caption following the figure. The figure is vertically centered with
+% |\subfigtopskip| of space added above, then |\subfigcapskip| of
+% space is added below the figure followed by the subcaption and,
+% finally, |\subfigbottomskip| of space added at the bottom. The baseline
+% is located at the bottom of the figure. It is along this baseline that
+% adjacent subfigure boxes are aligned. Figure~\ref{fig:layout-C} shows
+% the case where the caption precedes the figure ({\it ie.\/},
+% |\subfiguretopcaptrue| or |\subtabletopcaptrue|). In this case the
+% various boxes and glue are reversed,$\!$\footnote{The \cmd{\subfigtopskip}
+% and \cmd{\subfigbottomskip} actually follow the \Lif{figuretopcap}
+% and \Lif{tabletopcap} flags, so that the actual top spacing used is
+% \cmd{\subfigtopskip} when the flags are {\bf false} and
+% \cmd{\subfigbottomskip} when they are {\bf true}.}
+% except that the |\subfigcapskip| is increased by |\subfigcaptopadj|.
+% The other two cases, figures~\ref{fig:layout-B} and
+% \subref{fig:layout-D}, show the cases where there is no caption. Note
+% that the |\subfigcapskip| is left out when there is no caption.
+% Note also, for all of these cases, that the space at the top of the
+% subfigure is automatically removed for items that are the first box
+% in a vertical list or other than the first box in a horizontal list.
+% This allows tighter packing of the subfigures and the full use of
+% the page or \Lenv{minipage}.
+%
+% Each of these values |\subfigtopskip|, |\subfigcapskip|, and
+% |\subfigbottomskip|; as well as |\subfigcapmargin| and
+% |\subfiglabelskip| (the latter not shown in figure~\ref{fig:layout})
+% may be changed from their defaults (see
+% table~{\PrintIfDefined{tab:defaults}{\ref{tab:defaults}}{\ref{tab:spacing}}})
+% to adjust the subfigure for the current layout style. In addition,
+% they may all assume negative values, which in some cases may solve
+% problems with the layout. Even though these constants are ``skips'',
+% only the last two (|\subfigcapmargin| and |\subfiglabelskip|) will
+% shrink or expand since the others assume their natural size in the
+% subfigure box and are fixed at that size.
+%
+% \begin{figure}[p]
+% \subfigtopskip=10pt^
+% \subfigcapskip=4pt^
+% \subfigbottomskip=12pt^
+% \abovecaptionskip=3pt^
+% \centering
+% \fboxsep=-\fboxrule
+% \newbox{\tempbox}
+% \newdimen{\tempdima}
+% \newdimen{\tempdimb}
+% \setbox\tempbox\hbox{
+% $\stackrel{\longleftrightarrow}{\cs{subfigcapmargin}}$}
+% \setbox\tempbox\hbox{\cs{subfigcapmargin}}
+% \tempdimb \wd\tempbox
+% \setbox\tempbox\hbox to \tempdimb{^
+% \kern -.5mm\hbox{$\leftarrow$}\kern -.5mm^
+% \leaders\hrule width1pt height2.6pt depth-2.2pt\hfill
+% \kern -.13mm$\rightarrow$}
+% \tempdima \wd\tempbox
+% \advance\tempdima 1mm
+% \tempdimb \tempdima
+% \multiply\tempdimb -2
+% \advance\tempdimb 4.5in
+% \advance\tempdimb -4mm
+% \subfigure[Standard layout {[FIGBOTCAP] or [TABBOTCAP]}.]{
+% \label{fig:layout-A}
+% \fbox{\parbox{4.5in}{
+% \vspace{1pt}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% (\cs{subfigtopskip})
+% \hfil}
+% \fbox{\vbox to 45pt{
+% \vskip1pt
+% \vskip\baselineskip
+% \vfil
+% \hbox to 4.5in{
+% \hfil
+% {\scshape subfigure} or {\scshape subtable}
+% \hfil}
+% \vfil
+% \vbox to 0pt{%
+% \vss
+% \hbox to 4.5in{
+% \hspace{9pt}
+% {\small Baseline}
+% \hfil}}
+% \vspace{1pt}}}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% \cs{subfigcapskip}
+% \hfil}
+% \hbox to 4.5in{
+% \hbox to\tempdima{
+% \vbox to 20pt{
+% \vfil
+% \copy\tempbox
+% \vfil
+% \hbox{\kern .5mm\cs{subfigcapmargin}}
+% \vfil}}
+% \fbox{\vbox to 20pt{
+% \vfil
+% \hbox to\tempdimb{
+% \hfil
+% {\scshape subcaption}
+% \hfil}
+% \vfil}}
+% \hbox to\tempdima{
+% \vbox to 20pt{
+% \vfil
+% \copy\tempbox
+% \vfil
+% \hbox{\kern .5mm\cs{subfigcapmargin}}
+% \vfil}}
+% \hfill}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% \cs{subfigbottomskip}
+% \hfil}}}}
+%
+% \subfigure[Standard layout {[FIGBOTCAP] or [TABBOTCAP]} with no
+% caption present.]{
+% \label{fig:layout-B}
+% \fbox{\parbox{4.5in}{
+% \vspace{1pt}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% (\cs{subfigtopskip})
+% \hfil}
+% \fbox{\vbox to 45pt{
+% \vskip1pt
+% \vskip\baselineskip
+% \vfil
+% \hbox to 4.5in{
+% \hfil
+% {\scshape subfigure} or {\scshape subtable}
+% \hfil}
+% \vfil
+% \hbox to 4.5in{
+% \hspace{9pt}
+% {\small Baseline}
+% \hfil}
+% \vspace{1pt}}}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% \cs{subfigbottomskip}
+% \hfil}}}}
+%
+% \subfigure[Reversed layout {[FIGTOPCAP] or [TABTOPCAP]}.]{
+% \label{fig:layout-C}
+% \fbox{\parbox{4.5in}{
+% \vspace{1pt}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% (\cs{subfigbottomskip})
+% \hfil}
+% \hbox to 4.5in{
+% \hbox to\tempdima{
+% \vbox to 20pt{
+% \vfil
+% \copy\tempbox
+% \vfil
+% \hbox{\kern -.5mm\cs{subfigcapmargin}}
+% \vfil}}
+% \fbox{\vbox to 20pt{
+% \vfil
+% \hbox to\tempdimb{
+% \hfil
+% {\scshape subcaption}
+% \hfil}
+% \vfil}}
+% \hbox to\tempdima{
+% \vbox to 20pt{
+% \vfil
+% \box\tempbox
+% \vfil
+% \hbox{\kern -.5mm\cs{subfigcapmargin}}
+% \vfil}}
+% \hfill}
+% \hbox to 4.5in{
+% \hbox to 0pt{
+% \hspace{9pt}
+% \smash{\raisebox{-6.5pt}{\small Baseline}}
+% \hss}
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% \cs{subfigcapskip}$+$\cs{subfigcaptopadj}
+% \hfil}
+% \fbox{\vbox to 45pt{
+% \vfil
+% \hbox to 4.5in{
+% \hfil
+% {\scshape subfigure} or {\scshape subtable}
+% \hfil}
+% \vfil}}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% \cs{subfigtopskip}
+% \hfil}}}}
+%
+% \subfigure[Reversed layout {[FIGTOPCAP] or [TABTOPCAP]} with no
+% caption present.]{
+% \label{fig:layout-D}
+% \fbox{\parbox{4.5in}{
+% \vspace{1pt}
+% \hbox to 4.5in{
+% \hbox to 0pt{
+% \hspace{9pt}
+% \smash{\raisebox{-6.5pt}{\small Baseline}}
+% \hss}
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% (\cs{subfigbottomskip})
+% \hfil}
+% \fbox{\vbox to 45pt{
+% \vfil
+% \hbox to 4.5in{
+% \hfil
+% {\scshape subfigure} or {\scshape subtable}
+% \hfil}
+% \vfil}}
+% \hbox to 4.5in{
+% \hspace{1.5in}
+% $\left\updownarrow\vrule width0pt height11pt depth1pt\right.$
+% \cs{subfigtopskip}
+% \hfil}}}}
+% \caption{Subfigure and subtable layout.}
+% \label{fig:layout}
+% \end{figure}
+%
+% \subsection{Adjusting the Subcaption}
+% \label{sec:customlabel}
+%
+% The subfigure label has three forms. The first is the one that
+% \DescribeMacro{\subref}
+% \DescribeMacro{\Subref}
+% appears in the text when you use the |\ref| command; the second is the
+% one that appears on the List-of-Figures page and may be used to
+% reference individual subfigures within the figure and subfigure captions,
+% using the |\subref| or |\Subref| commands; and the third is the fully
+% formatted version used under the subfigure as the label part of the caption.
+%
+% The |\ref| command yields the string, saved by the |\label| command,
+% composed by concatenating the value of |\p@subfigure| to
+% |\thesubfigure|. By default these are defined by: ``|\thefigure|''
+% and ``|(\alph{subfigure})|'', respectively, which produces a reference
+% of the figure number followed by the subfigure letter in parentheses.
+%
+% The label used on the List-of-Figures page may be retrieved with the
+% |\subref| command (this value is saved by the |\label| command when
+% the |\label| command is used within the scope of the subfigure. This is
+% the string defined by |\@@thesubfigure|, which, by default, is the
+% value ``|\thesubfigure|'' (or ``|(\alph{subfigure})|'').
+%
+% The label used with the subcaption text is defined by the internal
+% value |\@thesubfigure|, which, by default, has the
+% value\hfil\null\linebreak
+% \centerline{``\cmd{\thesubfigure}\cmd{\hskip}\cmd{\subfiglabelskip}''.}
+% It is prefixed by |\subcapsize\subcaplabelfont| and followed by the
+% subcaption text which is set with |\subcapfont|.
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the label and caption defaults
+% from \cmd{\rmfamily}\cmd{\mdseries}\cmd{\upshape} to
+% \cmd{\familydefault}\cmd{\seriesdefault} \cmd{\shapedefault}.}
+% Note that by default |\subcaplabelfont| has the default value
+% ``|{\familydefault| |\seriesdefault\shapedefault}|''. The package
+% options described in table~\ref{tab:options} allow you to set these
+% values for your paper. If you update the |\@subfigure| command, you
+% should include any separator character or spacing between the label
+% and the start of the subcaption text. The default is
+% |\hskip\subfiglabelskip| placed after the label.
+%
+% Finally, the text of the subcaption is prefixed by |\subcapfont| which
+% may be changed using the set of nine lower-case font options described
+% in table~\ref{tab:options}\@.$\!$\footnote{It is also prefixed by
+% \cmd{\subcapsize} as part of the overall label and caption.} \ One other
+% way of changing the layout of the lapel and caption is by replacing
+% the |\@makesubfigurecaption| or |\@makesubtablecaption| command (which
+% by default are identical).
+%
+% \subsection{Adjusting the Subfigure and Subtable Counters}
+% \label{sec:counters}
+%
+% To create some special effects, such as continuing the subfigure
+% \DescribeMacro{\c@figure}
+% \DescribeMacro{\c@table}
+% numbering across several pages as part of one long continued figure,
+% you can back off the number change from a caption with the command:
+% \begin{quote}
+% |\addtocounter{|\Lcount{figure}|}{|-1|}|
+% \end{quote}
+% within the \Lenv{figure} environment. In addition, you can adjust for
+% previous subfigures or subtables with one of the following (here
+% we assume that two subfigures or subtables appeared in the previous
+% pages:
+% \begin{quote}
+% |\addtocounter{|\Lcount{subfigure}|}{|2|}|
+% \end{quote}
+% \vspace{-5pt}
+% \noindent
+% or
+% \vspace{-5pt}
+% \begin{quote}
+% |\addtocounter{|\Lcount{subtable}|}{|2|}|.
+% \end{quote}
+%
+% Two other things that may be necessary, if you switch between figures
+% and tables in the same \Lenv{figure} environment ({\it e.g.\/}, by
+% changing |\@captype|, see section~\ref{sec:float_env}), is to add the
+% command |\listsubcaptions| following the last subfigure when the
+% subfigure is using the \Lopt{TOPCAP} or \Lopt{topcap} option. This is
+% necessary to flush the list of subcaptions before the next
+% \Lenv{subfigure} or \Lenv{subtable}. This also may be necessary if
+% you switch between |\figuretopcaptrue| and |\figuretopcapfalse|. The
+% other thing that may be required in some cases, is to reset the
+% subfigure counter by entering:
+% \begin{quote}
+% |\setcounter{|\Lcount{subfigure}|}{|0|}|
+% \end{quote}
+% \noindent
+% This should only be necessary if you are dynamically switching between
+% different \Lpack{hhsubfigure} options, or changing the |\@captype|,
+% within a float environment.
+%
+% \subsection{Modifying the List-of-Figures and List-of-Tables}
+% \label{sec:listof}
+%
+% To generate a List-of-Figures, or List-of-Tables, page you need to
+% \DescribeMacro{\l@subfigure}
+% \DescribeMacro{\@dottedxxxline}
+% add a |\listoffigures| or |\listoftables| command where
+% you want the list to appear. These
+% commands also cause the appropriate captions and subcaptions to be
+% written to a file with the extensions \Lfile{lof} (\Lfile{lot}). If
+% you want the subcaption text to appear in the List-of-Figures or
+% List-of-Tables page, you need to change the value of the counter
+% \Lcount{lofdepth} (\Lcount{lotdepth}) counter from its default of `1'.
+% For example, to have the \Lpack{hhsubfigure} subcaptions to appear on
+% the List-of-Figures, add the following to the preamble of your
+% paper:
+% \begin{quote}
+% |\setcounter{|\Lcount{lofdepth}|}{2}|
+% \end{quote}
+%
+% If you want to change how the subcaption appears on the ``List-of''
+% pages you can change its format by redefining the |\l@subfigure|
+% or |\l@subtable| command. Usually you will want to use the
+% |\@dottedxxxline| command
+% \PrintIfDefined{sec:dl}{(section~\ref{sec:dl},
+% page~\pageref{sec:dl})\space}{} to help with the formatting. For
+% instance the default value of |\l@subfigure| is:
+%
+% \begin{verbatim}
+% \newcommand{\l@subfigure}{%
+% \@dottedxxxline{\ext@subfigure}{2}{3.8em}{2.5em}}
+% \end{verbatim}
+% \vspace{-10pt}
+%
+% \noindent
+% The arguments of the |\@dottedxxxline| command are:
+% \begin{quote}
+% \begin{enumerate}
+% \itemsep -\parsep
+% \item \underline{\smash{\textsf{Type}}}. The usual values are
+% : \Lfile{lof} or \Lfile{lot}. The internal
+% values |\ext@subfigure| and |\ext@subtable| stand for
+% these extensions.
+% \item \underline{\textsf{Level}}. By default this is `2'
+% for the \Lcount{subfigure} and \Lcount{subtable}. If the level
+% is greater than \Lcount{\meta{Type}depth} (where
+% \underline{\smash{\meta{Type}}} is the first argument, above),
+% then no line is produced.
+% \item \underline{\textsf{Indent}}. Total indentation
+% from the left margin.
+% \item \underline{\textsf{Numwidth}}. Width of box for the
+% label number if the \underline{\textsf{Title}} has a
+% |\numberline| command. This is also the amount of extra
+% indentation added to second and later lines of a multiple
+% line entry.
+% \item \underline{\textsf{Title}}. Contents of entry ({\it e.g.\/} the
+% \meta{list\_entry} or \meta{subcaption}).
+% \item \underline{\smash{\textsf{Page}}}. The page number of the
+% figure or table.
+% \end{enumerate}
+% \end{quote}
+%
+% \noindent
+% The final two arguments, \underline{\textsf{title}} and
+% \underline{\smash{\textsf{page}}}, are automatically appended to the
+% value of |\l@subfigure| (and symmetrically for |\l@subtable|).
+%
+% For example, to change the amount of space reserved for the label
+% (if, for instance, you have a lot of figures and the and you need extra
+% space for the figure number) you could widen the
+% \texttt{2.5em} space for the label to \texttt{4.0em}:
+% \begin{verbatim}
+% \makeatletter
+% \renewcommand{\l@subfigure}{%
+% \@dottedxxxline{\ext@subfigure}{2}{3.8em}{4.0em}}
+% \makeatother
+% \end{verbatim}
+%
+% \subsection{Aligning Captions Above the Figure}
+% \label{sec:custom-position}
+%
+% \begin{figure}^
+% \figuretopcaptrue
+% \subfigtopskip=-5pt^
+% \subfigcapskip=-3pt^
+% \subfigbottomskip=2pt^
+% \centering
+% \caption{Caption position option: [\Lopt{figtopcap}] with changing
+% settings of \cmd{\subfiguretopcap}.}^
+% \label{fig:position3}^
+% \subfiguretopcapfalse
+% \subfigure[First caption.]{\hbox to 1.5in{\hfil\null}}^
+% \hspace{0.2in}^
+% \subfigure[Second long, long, long, long,
+% long, long, long, long caption.]{^
+% \hbox to 1.5in{\hfil\null}}\\[5pt]
+% \subfiguretopcaptrue
+% \subfigure{\fbox{\hbox to 1.5in{\vbox to 15mm{\vfil\null}\hfil}}}^
+% \hspace{0.2in}^
+% \subfigure{\fbox{\hbox to 1.5in{\vbox to 10mm{\vfil\null}\hfil}}}^
+% \setcounter{subfigure}{0}
+% \end{figure}
+%
+% \noindent
+% For unbalanced sets of captions placed, above the figures or tables,
+% \DescribeMacro{\subfiguretopcaptrue}
+% \DescribeMacro{\subfiguretopcapfalse}
+% \DescribeMacro{\figuretopcaptrue}
+% the caption portion looks unbalanced, such as the ones in
+% figure~\ref{fig:position2}. If you prefer to have the caption portion
+% aligned along the top rather than the bottom, as shown in
+% figure~\ref{fig:position3}, you can use the
+% \Lopt{figtopcap} option as in figure~\ref{fig:position2}, but use
+% two ``empty'' subfigures to position the captions followed by
+% two more containing the figures, but without captions. The code
+% to produce this example is:
+%
+% \begin{verbatim}
+% \begin{figure}%
+% \centering
+% \caption{Caption position option: [\Lopt{figtopcap}] with changing
+% settings of \subfiguretopcap.}%
+% \label{fig:position3}%
+% \subfiguretopcapfalse
+% \subfigure[First caption.]{\hbox to 1.5in{\hfil\null}}%
+% \hspace{0.2in}%
+% \subfigure[Second long, long, long, long,
+% long, long, long, long caption.]{%
+% \hbox to 1.5in{\hfil\null}}\\[5pt]
+% \subfiguretopcaptrue
+% \subfigure{\fbox{\hbox to 1.5in{\vbox to 15mm{\vfil\null}\hfil}}}%
+% \hspace{0.2in}%
+% \subfigure{\fbox{\hbox to 1.5in{\vbox to 10mm{\vfil\null}\hfil}}}%
+% \end{figure}
+% \end{verbatim}
+%
+% This example makes use of one of the four flags that control how the
+% caption labels are numbered and where the subcaption appears. Two are
+% for |\subfigure| and two for |\subtable|. The first of each set tell
+% the |\subfigure| or |\subtable| command that the related main caption
+% appears before or after the set of subfloats. |\figuretopcaptrue| and
+% |\tabletopcaptrue| indicate that the caption appears before and
+% |\figureotopcapfalse| and |\tabletopcapfalse| indicate that the it
+% appears after. The other two flags force the subcaption to be placed
+% before (|\subfiguretopcaptrue| and |\subtabletopcaptrue|) or after the
+% actual subfigure or subtable (|\subfiguretopcapfalse| and
+% |\subtabletopcapfalse|).
+%
+% There are two difficulties with this approach, first, you need to keep
+% changing the setting of |\subfiguretopcap|, and second, if you have
+% more than one row of subfigures or subtables, then you will need to
+% fiddle with the counter (see section~\ref{sec:counters} to keep the
+% numbers straight. The reason that this format is not supported by the
+% \Lpack{hhsubfigure} package is that you need information about all of
+% the subfigure or subtables on a row to box the figures correctly and
+% this information is not available locally.
+%
+% \subsection{Adding Subfloats to New Environments}
+% \enlargethispage{15pt}^finalhack
+% \label{sec:customfloat}
+%
+% It is easy to add a \Lenv{subfloat} command to a new environment. For
+% instance, let us assume we have a new \Lenv{float}
+% environment\footnote{For information on creating new float
+% environments, see any of the following: \cite{Lamp01}, \cite{Wils01}
+% or \cite{Ling01}.} called ``\Lenv{map}'' in which various maps are
+% displayed and for which a List-of-Maps is to be generated in the
+% contents section. If we wanted to have \Lenv{submaps}, then we could
+% define the following:
+%
+% \vspace{-4pt}
+% \begin{verbatim}
+% \makeatletter
+% \newcounter{submap}[map]
+% \newif\ifmaptopcap
+% \newif\ifsubmaptopcap
+% \newcommand{\p@submap}{\themap}
+% \newcommand{\thesubmap}{(\alph{submap})}
+% \newcommand{\@thesubmap}{\themap\hskip\subfiglabelskip}
+% \newcommand{\@@thesubmap}{\themap}
+% \newcommand{\ext@submap}{\ext@map}
+% \newcommand{\l@submap}{\@dottedxxxline{\ext@submap}{2}{3.8em}{2.5em}}
+% \newcounter{lomdepth}
+% \setcounter{lomdepth}{1}
+% \newcommand{\submap}{\subfigure}
+% \newcommand{\@makesubmapcaption}{\@makesubfigurecaption}
+% \ifhyperrefloaded
+% \newcommand\theHsubmap{\themap.\arabic{submap}}
+% \newcommand{\toclevel@submap}{1}
+% \fi
+% \makeatother
+% \end{verbatim}
+% \vspace{-14pt}
+%
+% The first and last lines make the character `@' act like a letter
+% between them and therefore it may be part of a command name used there.
+% First a new counter for the \Lpack{submap} is created along with two
+% conditionals that define where the position ({\i.e.\/}, above or
+% below) of the main caption and subcaption is with respect to the
+% submap. Then the four commands that define the \Lpack{submap} label
+% are created. The first two, |\p@submap| and |\thesubmap| define the
+% standard label returned by |\ref|. The next, |\@thesubmap| gives the
+% label as shown under or over the submap with the subcaption and the
+% last, |\@@thesubmap| shows how the label is displayed on the List-of-Maps
+% and/or referenced with the |\subref| command.
+%
+% The next four lines show where and how to print to the List-of-Maps
+% page: |\ext@submap| gives the List-of-Maps file extension; |\l@submap|
+% shows how to print the submap line on the List-of-Maps page; and the last
+% two lines show how to create and set the counter \Lcount{lomdepth}, which
+% controls how many caption levels are shown on the page when it is printed.
+%
+% The next two lines create the |\submap| and |\@makesubmapcaption|
+% commands by making them the same as the |\subfigure| and
+% |\@makesubfigurecaption| commands.
+%
+% The last four lines conditionally create the |\theHsubmap| and
+% |\toclevel@submap| commands which are used by the \Lpack{hyperref}
+% Package to name the item and to control the presence of the item
+% bookmark.
+%
+% Of course, this is where the \Lpack{ccaption} package \cite{Wils01}
+% comes in handy since it will do all of the above with one command:
+%
+% \vspace{-4pt}
+% \begin{verbatim}
+% \newsubfloat{map}
+% \end{verbatim}
+% \vspace{-10pt}
+%
+%
+% \subsection{Interaction with Other Parts of \LaTeX}
+% In the following sections, the interaction of the \Lpack{hhsubfigure}
+% package with other parts of \LaTeX\ is documented. These ``other
+% parts'' may be either part of the the \LaTeX\ base or contributed
+% packages or classes.
+%
+% \subsubsection{\TeX 's ``Mouth''}
+% The most important thing to remember when laying out your figures
+% within a \Lenv{float} environment is that spaces take room. If you
+% have an extra space between two figures, then they will be separated
+% by a little bit.
+%
+% \TeX 's state varies as it reads a line of text from a file. It
+% ignores some spaces and carriage-returns and converts others to
+% |\space|'s or |\par|'s. You can use a `|%|' to insure that you only
+% have real spaces where you want them. To understand which spaces
+% are significant, you should read chapters~7 and 8 of the \TeX book
+% \cite{Knut86}. However, the main source of unexpected
+% extra spacing is carriage-returns which are turned in to |\space|'s.
+% As a general rule: if in doubt, then add a `|%|' immediately after
+% the last significant character of the line.
+%
+% \subsubsection{The Float Environment}
+% \label{sec:float_env}
+%
+% Although the \Lpack{hhsubfigure} package was designed to work within a
+% \Lenv{float} environment ({\it e.g.\/}, \Lenv{figure} or
+% \Lenv{table}), it can be used outside with the following two caveats:
+% \begin{enumerate}\itemsep=5pt
+% \item You need to define |\@captype|. This is usually either
+% \Lenv{figure} or \Lenv{table}. For example add the following
+% to the preamble of your document:
+% \begin{verbatim}
+% \makeatletter
+% \newcommand{\change_cap_type}[1]{%
+% \renewcommand{\@captype}{#1}}
+% \makeatother
+% \end{verbatim}\vspace{-15pt}
+% Then use the new command to switch in the middle of a given
+% \Lenv{float} environment, say from ``figure'' to ``table'' with
+% the command |\change_cap_type{table}|.
+% \item If you want to define references using |\label|, then you also
+% need to redefine the \LaTeX\ internal |\@currentlabel|. For
+% example:
+% \begin{verbatim}
+% \makeatletter
+% \edef\@currentlabel{\p@subfigure\thesubfigure}
+% \makeatother
+% \end{verbatim}\vspace{-15pt}
+% before using the |\label| command. NOTE: Many other commands change
+% |\@currentlabel|, including all of the ``section'' commands,
+% |\caption|, \Lenv{equation}'s, and \Lenv{theorem}'s.
+% \end{enumerate}
+%
+% \subsubsection{Interaction with Other Packages}
+%
+% \changes{v2.1}{22 Jan 2001}{Added \Lpack{ccaption} reference.}
+%
+% \changes{v2.1}{11 Oct 1996}{Revised subsubsection on use with
+% the caption package and extended this section to talk about the
+% \Lpack{captcont} package.}
+%
+% \noindent
+% The only packages that directly interact with the \Lpack{hhsubfigure}
+% package are the \Lpack{caption}/\Lpack{caption2} packages by
+% H.A. Sommerfeldt \cite{Somm95a,Somm95b}, the \Lpack{ccaption} package
+% and \Lpack{tocloft} packages by Peter Wilson \cite{Wils01,Wils01B},
+% and the \Lpack{captcont} package by S.D. Cochran \cite{Coch02}.
+%
+% \paragraph{\Lpack{caption}}
+%
+% If you load the \Lpack{hhsubfigure} package {\bf before} the
+% \Lpack{caption} package, then the \Lpack{caption} package will detect
+% that fact and will change the |\subcapsize| when the options
+% \Lopt{scriptsize}, \ldots, \Lopt{Large} are specified (overriding such
+% options used when loading the \Lpack{hhsubfigure} package). In
+% addition, it redefines |\@thesubfigure| and |\@thesubtable| to use
+% |\captionlabelfont|. It also uses an older layout of
+% |\@thesubsubfigure| and |\@thesubtable|.
+%
+% The best plan is to load the \Lpack{caption} package {\bf before} the
+% \Lpack{hhsubfigure} package. In addition, you should try to coordinate
+% the ``look and feel'' of the two packages. This limits you a little
+% since, although the two packages have similar options, the options in
+% the \Lpack{caption} package do not combine the same way. You can pick
+% one from each column:\par\null
+%
+% \DeleteShortVerb{\|}
+% \noindent\hfil\begin{tabular}{*{4}{p{17mm}|}p{17mm}}
+% \rr \Lopt{normal}, \Lopt{hang}, \Lopt{center}, \Lopt{centerlast} &
+% \rr \Lopt{nooneline} &
+% \rr \Lopt{scriptsize}, \Lopt{footnotesize}, \Lopt{small},
+% \Lopt{normalsize}, \Lopt{large}, \Lopt{Large} &
+% \rr \Lopt{up}, \Lopt{it}, \Lopt{sl}, \Lopt{sc}, \Lopt{md},
+% \Lopt{bf}, \Lopt{rm}, \Lopt{sf}, \Lopt{tt} &
+% \rr (Other options---see package.)
+% \end{tabular}
+% \MakeShortVerb{\|}
+% \vskip14pt
+%
+% \paragraph{\Lpack{caption2}}
+%
+% This package acts similarly to the \Lpack{caption} package. If you
+% specify the \Lopt{subfigure} it will try to support the subfigure
+% package, if you specify \Lopt{nosubfigure} than it will not. If
+% neither option is specified, than load order matters. If loaded
+% {\bf before} the \Lpack{hhsubfigure} package, than it will not try to
+% support the package and if loaded {\bf after} it will.
+%
+% Again, the best plan is to load the \Lpack{caption2} package
+% {\bf before} the \Lpack{hhsubfigure} package, and specify the
+% \Lopt{nosubfigure} option. In addition, you should try to coordinate
+% the ``look and feel'' of the two packages. This limits you a little
+% since, although the two packages have similar options, they are not
+% exactly the same; however, most of the good looking combinations are
+% easily available. You can pick one from each column:\par\null
+%
+% \DeleteShortVerb{\|}
+% \noindent\hfil\begin{tabular}{*{5}{p{17mm}|}p{17mm}}
+% \rr \Lopt{nosubfigure}, \Lopt{subfigure} &
+% \rr \Lopt{normal}, \Lopt{hang}, \Lopt{center}, \Lopt{centerlast}
+% \Lopt{flushleft}, \Lopt{indent} &
+% \rr \Lopt{oneline}, \Lopt{nooneline} &
+% \rr \Lopt{scriptsize}, \Lopt{footnotesize}, \Lopt{small},
+% \Lopt{normalsize}, \Lopt{large}, \Lopt{Large} &
+% \rr \Lopt{up}, \Lopt{it}, \Lopt{sl}, \Lopt{sc}, \Lopt{md},
+% \Lopt{bf}, \Lopt{rm}, \Lopt{sf}, \Lopt{tt}^,
+%^ \Lopt{UP}, \Lopt{IT}, \Lopt{SL}, \Lopt{SC}, \Lopt{MD},
+%^ \Lopt{BF}, \Lopt{RM}, \Lopt{SF}, \Lopt{TT}
+% &
+% \rr (Other options---see package.)
+% \end{tabular}
+% \MakeShortVerb{\|}
+%
+% \paragraph{\Lpack{ccaption}}
+%
+% The \Lpack{ccaption} package provides for all sorts of extensions and
+% style options for \Lenv{float} |\captions|. It also provides for the
+% use of the |\caption| command outside of a \Lenv{float} environment and
+% a mechanism for creating new types of \Lenv{float} environments.
+%
+% In order to use it with the \Lpack{hhsubfigure} package, you need to
+% pass the \Lopt{subfigure} option when loading it:
+%
+% \begin{quote}
+% |\usepackage|[subfigure]\{ccaption\}
+% \end{quote}
+%
+% \paragraph{\Lpack{tocloft}}
+%
+% The \Lpack{tocloft} package gives the user the ability to easily
+% configure the ``List-of'' pages. It takes a \Lopt{subfigure} option
+% so it doesn't matter which package is loaded first.
+%
+% \begin{quote}
+% |\usepackage|[subfigure]\{tocloft\}
+% \end{quote}
+%
+% \paragraph{\Lpack{hyperref}}
+% \label{sec:hyperref}
+%
+% \changes{v2.1.2}{26 Mar 2002}{Improved coordination with the hyperref
+% package.}
+%
+% \changes{v2.1.1}{15 Mar 2002}{Added coordination with the hyperref
+% package. There is some interaction with the \cmd{label} command as
+% pointed out by Martin.Bernreuther@po.uni-stuttgart.de.}
+%
+% The \Lpack{hyperref} package extends the functionality of all of the
+% \LaTeX\ cross-referencing commands to produce hypertext links. In
+% addition, it provides new commands to allow the user to insert
+% hypertext links. When used with the \Lpack{hhsubfigure} package, they
+% may be loaded in any order; however, it might be better if the
+% \Lpack{hhsubfigure} package is loaded {\bf first}.
+%
+% To more fully support the \Lpack{hyperref} package, the |\label|
+% \DescribeMacro{\subfloat@label}
+% command, when used within the scope of the |\subfigure| or |\subtable|
+% commands takes an optional argument (note the parentheses rather than
+% square brackets):
+% \vspace{-2pt}
+% \begin{quote}
+% |\label|\parg{bookmark}\marg{key}
+% \end{quote}
+% \vspace{-2pt}
+%
+% \noindent
+% We would like to use the subcaption as the bookmark text, but the
+% |\label| command is often processed before the subcaption. Therefore,
+% this optional argument may be used to supply this information if
+% desired. By default a bookmark field of the form
+% ``Subfigure\textvisiblespace 1(a)'' will be generated.
+% \footnote{If the document class is \Lpack{report} or other class that
+% defines \cmd{\thechapter}, than the default bookmark field will be of the
+% form ``Subfigure\textvisiblespace 1 \textvisiblespace 1(a)''.}
+%
+%
+% \paragraph{\Lpack{captcont}}
+%
+% This package may be used with or without the \Lpack{hhsubfigure} package
+% \DescribeMacro{\caption}
+% \DescribeMacro{\caption*}
+% \DescribeMacro{\captcont}
+% \DescribeMacro{\captcont*}
+% to extend figure or table numbering across multiple pages. This
+% package knows about how the \Lpack{hhsubfigure} package interacts with
+% the List-of-Figures and List-of-Tables and does the right thing when
+% used with \Lenv{subfigure}'s and \Lenv{subtable}'s.
+%
+% The \Lpack{captcont} package may be loaded either {\bf before} or
+% {\bf after} the \Lpack{hhsubfigure} and it has four options:
+% \Lopt{figbotcap} or \Lopt{figtopcap} and \Lopt{tabbotcap} or
+% \Lopt{tabtopcap}. These are the same as the \Lpack{hhsubfigure}
+% options. When the \Lpack{captcont} package is used with the
+% \Lpack{hhsubfigure} package, only the \Lpack{hhsubfigure} options matter.
+% Any given with the \Lpack{captcont} package are ignored.
+%
+% The thing to remember about the \Lpack{captcont} package is that if
+% you normally place the |\caption| {\bf before} your subfigures or
+% subtables ({\it i.e.\/}, \Lopt{figtopcap} or \Lopt{tabtopcap}
+% respectively), then you start a series of continued \Lenv{figure}'s
+% with the |\caption[*]| and use |\contcapt[*]| in each of the rest of
+% the figures. If you {\bf follow} your subfigures or subtables with a
+% caption ({\it i.e.\/}, \Lopt{figbotcap} or \Lopt{tabbotcap}
+% respectively), then you start the series with the |\contcapt[*]| in
+% the first \Lenv{figure} environment and all but the last where you use
+% the |\caption[*]|.
+%
+% \subsubsection{Creating a \Lenv{subfigure} Environment}
+%
+% \changes{v2.1.4}{24 Apr 2002}{Added \cmd{\label} command handling
+% example in the \Lenv{subfloat} environment, thanks to Lars Clausen.}
+%
+% Some people have wanted to use the \Lenv{verbatim} environment within
+% \DescribeEnv{subfloat}
+% the \cmd{\subfigure} command and run into the restriction that the
+% \Lenv{verbatim} environment cannot be nested. To include verbatim text in
+% a subfigure, you can define a new environment, in which verbatim
+% text may be enclosed, and which calls the \cmd{\subfigure} command.
+% \vspace{-2pt}
+% \begin{verbatim}
+% \newbox\subfigbox % Create a box to hold the subfigure.
+% \makeatletter
+% \newenvironment{subfloat}% % Create the new environment.
+% {\def\caption##1{\gdef\subcapsave{\relax##1}}%
+% \let\subcapsave=\@empty % Save the subcaption text.
+% \let\sf@oldlabel=\label
+% \def\label##1{\xdef\sublabsave{\noexpand\label{##1}}}%
+% \let\sublabsave\relax % Save the label key.
+% \setbox\subfigbox\hbox
+% \bgroup}% % Open the box...
+% {\egroup % ... close the box and call \subfigure.
+% \let\label=\sf@oldlabel
+% \subfigure[\subcapsave]{\box\subfigbox}}%
+% \makeatother
+% \end{verbatim}
+% \enlargethispage{12pt}^finalhack
+% \noindent
+% The following is an example of this \Lenv{subfloat} environment begin
+% used to produce figure~\ref{fig:verbatim}. Note that you need to
+% supply the width of the \Lenv{verbatim}; here we use a section using a
+% \Lenv{minipage}).
+% \begingroup
+% \newbox\subfigbox
+% \makeatletter
+% \newenvironment{subfloat}^
+% {\def\caption##1{\gdef\subcapsave{\relax##1}}^
+% \let\subcapsave=\@empty
+% \let\sf@oldlabel=\label
+% \def\label##1{\xdef\sublabsave{\noexpand\label{##1}}}^
+% \let\sublabsave\relax
+% \setbox\subfigbox\hbox
+% \bgroup}^
+% {\egroup
+% \let\label=\sf@oldlabel
+% \subfigure[\subcapsave]{\box\subfigbox\sublabsave}}^
+% \makeatother
+% \begin{figure}
+% \centering
+% \subfigtopskip=0pt^
+% \subfigcapskip=0pt^
+% \subfigbottomskip=0pt^
+% \begin{subfloat}^
+% \begin{minipage}{2.1in}
+% \begin{verbatim}
+% This text should be
+% verbatim. And not
+% messed with in any way !
+% \end{verbatim}
+% \end{minipage}^
+% \caption{First subcaption.}^
+% \label{fig:verbone}
+% \end{subfloat}^
+% \hspace{10pt}^
+% \begin{subfloat}^
+% \begin{minipage}{2.1in}
+% \begin{verbatim}
+% This text (also)should be
+% verbatim. And not
+% messed with in any way !
+% \end{verbatim}
+% \end{minipage}^
+% \caption{Second subcaption.}^
+% \label{fig:verbtwo}
+% \end{subfloat}
+% \caption{Subfigures~\subref{fig:verbone} and \subref{fig:verbtwo}
+% show examples of using verbatim text in a subfigure.}
+% \label{fig:verbatim}
+% \end{figure}
+% \endgroup
+% \begin{quote}\
+% |\begin{figure}| \\
+% | \centering|
+% | \begin{subfloat}%| \\
+% | \begin{minipage}{2.1in}| \\
+% | \begin{verbatim}| \\
+% | This text should be| \\
+% |verbatim. And not| \\
+% | messed with in any way !| \\
+% | \end{verbatim}| \\
+% | \end{minipage}%| \\
+% | \caption{First subcaption.}%| \\
+% | \label{fig:verbone}| \\
+% | \end{subfloat}%| \\
+% | \qquad| \\
+% | \begin{subfloat}%| \\
+% | \begin{minipage}{2.1in}| \\
+% | \begin{verbatim}| \\
+% | This text (also)should be| \\
+% |verbatim. And not| \\
+% | messed with in any way !| \\
+% | \end{verbatim}| \\
+% | \end{minipage}%| \\
+% | \caption{Second subcaption.}%| \\
+% | \label{fig:verbtwo}| \\
+% | \end{subfloat}| \\
+% | \caption{Subfigures~\subref{fig:verbone} and \subref{fig:verbtwo}| \\
+% | show examples of using verbatim text in a subfigure.}| \\
+% | \label{fig:verbatim}| \\
+% |\end{figure}|
+% \end{quote}
+%
+%
+% \StopEventually{^
+% \section{Acknowledgements}
+%
+% This package was originally written to automatically line up some
+% figure boxes and place labels under them for a paper that I was
+% writing. I thought it useful and uploaded it to the internet
+% community and later to CTAN. Many people have asked questions or
+% given comments which collectively have changed and improved the
+% usefulness of this package.
+%
+% A few people have contributed more than most and I want to thank
+% them publicly, but in no particular order:
+%
+% \begin{itemize}\itemsep=-2pt^finalhack
+% \item{\bf Harald Axel Sommerfeldt} for the work that he did to adjust
+% his \Lpack{caption} and \Lpack{caption2} packages as necessary to
+% support the \Lpack{hhsubfigure} package when they are loaded together.
+% \item {\bf Peter Wilson} for the work that he did to adjust his
+% \Lpack{ccaption} package (and other packages) as necessary to support
+% the \Lpack{hhsubfigure} package when they are loaded together.
+% \item {\bf William `bil' L. Kleb} for his extensive list of errors and
+% suggestions to this documentation.
+% \item{\bf Axel Reichert} for his request for a `hang' caption style
+% since the subcaptions tend to have a short width. And, for his
+% request for some way of referencing the individual subfigures in
+% the main caption without the figure number.
+% \item{\bf Harald Harders} for his suggestion of the \cmd{\subref}
+% command and modifying \cmd{\label} within the \Lpack{hhsubfigure}
+% package to save local references to the subfigures that are often
+% needed.
+% \item{\bf Heiko Oberdiek} and {\bf James A. Bednar} for their help
+% with coexisting with the \Lpack{hyperref} and \Lpack{html} packages.
+% Also, {\bf Ingele Roelens} for pointing out some further compatibility
+% problems when using the \Lpack{hyperref} package with PDF\LaTeX.
+% \item{\bf Frederic Darboux} for searching out and finding several
+% incompatibilities with other packages.
+%
+% \end{itemize}
+%
+% \newpage^finalhack
+%
+% \begin{thebibliography}{6}^\itemsep=-2pt^finalhack
+% \itemsep=0.8pt
+% \bibitem{Somm95a}^
+% Harald Axel Sommerfeldt,
+% \emph{The \Lpack{caption} Package},
+% Version 1.4b, 1995/04/05.
+% (Available from CTAN as file \texttt{caption.dtx}.)
+% \bibitem{Somm95b}^
+% Harald Axel Sommerfeldt,
+% \emph{The \Lpack{caption} Package},
+% Version 2.0(beta), 1995/10/09.
+% (Available from CTAN as file \texttt{caption2.dtx}.)
+% \bibitem{Wils01}^
+% Peter Wilson,
+% \emph{The \Lpack{ccaption} Package},
+% Version 1.0a, 2001/08/15.
+% (Available from CTAN as file \texttt{ccaption.dtx}.)
+% \bibitem{Wils01B}^
+% Peter Wilson,
+% \emph{The \Lpack{tocloft} Package},
+% Version 2.2, 2001/14/17.
+% (Available from CTAN as file \texttt{ccaption.dtx}.)
+% \bibitem{Raht02}^
+% Sebastian Rahtz,
+% \emph{Hypertext marks in \LaTeX},
+% 2002/04/05/.
+% (Available from CTAN as file \texttt{hyperref.dtx}.)
+% \bibitem{Coch02}^
+% Steven Douglas Cochran,
+% \emph{The \Lpack{captcont} Package},
+% 2002/02/14/.
+% (Available from CTAN as file \texttt{captcont.dtx}.)
+% \bibitem{Reck97}^
+% Keith Reckdahl,
+% \emph{Using Imported Graphics in \LaTeXe},
+% 1997/12/15.
+% (Available from CTAN as file \texttt{epslatex.pdf})
+% \bibitem{Lamp94}^
+% Leslie Lamport,
+% \emph{LaTeX User's Guide and Reference Manual}, 2nd edition,
+% Addison-Wesley, Reading, Massachusetts,
+% 1994.
+% \bibitem{Knut86}^
+% Donald Ervin Knuth,
+% \emph{The \TeX book},
+% Addison-Wesley, Reading, Massachusetts,
+% 1986.
+% \bibitem{Lamp01}^
+% Leslie Lamport, Frank Mittelbach, and Johannes Braams,
+% \emph{Standard Document Classes for \LaTeX\ version 2e}
+% Version 1.4e, 2001/04/01.
+% (Available from CTAN as file \texttt{classes.dtx}.)
+% \bibitem{Ling01}^
+% Anselm Lingnau,
+% \emph{An Improved Environment for Floats.}
+% Version 1.3d, 2001/11/08.
+% (Available from CTAN as file \texttt{float.dtx}.)
+% \end{thebibliography}}
+%
+% \section{The Code}
+% \iffalse
+%<*package>
+% \fi
+% \subsection{Identification}
+%
+% \changes{v2.1}{23 Jan 2002}{Updated the release date.}
+%
+% \changes{v2.1}{11 Oct 1996}{Removed compatibility with \LaTeX2.09.}
+%
+% Announce the \Lpack{hhsubfigure} package.
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{hhsubfigure}[2003/09/14 v2.1.4a (hh)subfigure package]
+% \end{macrocode}
+%
+% \subsection{Check for the \Lpack{hyperref} Package}
+%
+% \changes{v2.1.4}{02 Jul 2002}{Added the \cmd{\theHsubfigure} and
+% \cmd{\theHsubtable} commands to avoid duplicate names in a PDF
+% file when using the \Lpack{hyperref} Package.}
+%
+% \changes{v2.1.3}{17 Apr 2002}{Changed \cmd{\newcommand} to
+% \cmd{\providecommand} to allow other packages to set the
+% \cmd{\toclevel@subfigure} and \cmd{\toclevel@subtable}.}
+%
+% \changes{v2.1.2}{26 Mar 2002}{Changed to simplify the interaction
+% with the hyperref package and avoid loading nameref.}
+%
+% \changes{v2.1.1}{15 Mar 2002}{Added coordination with the hyperref
+% package.}
+%
+% \begin{macro}{\toclevel@subfigure}
+% \begin{macro}{\toclevel@subtable}
+%
+% After every package is loaded, check to see if the \Lpack{hyperref}
+% package was among them, if so, then make sure that the |\ifhyperrefloaded|
+% switch is set so that the |\subfloat@label| command will write the correct
+% form of the |\newlabel| to the \Lfile{aux} file. Also define the
+% ``TOC level'' of the subfigure and subtable. We fix these at one since
+% the default figure and table levels are zero. Finally, we add definitions
+% for |\theHsubfigure| and |\theHsubtable| to avoid duplicate names in
+% the PDF file when using the \Lpack{hyperref} Package.
+%
+% \begin{macrocode}
+\newif\ifhyperrefloaded
+\AtBeginDocument{%
+ \@ifpackageloaded{hyperref}{%
+ \hyperrefloadedtrue
+ \providecommand\theHsubfigure{\thefigure.\arabic{subfigure}}%
+ \providecommand\theHsubtable{\thetable.\arabic{subtable}}%
+ \providecommand{\toclevel@subfigure}{1}%
+ \providecommand{\toclevel@subtable}{1}}{}}
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Initialization and Shared Constants}
+% \begin{macro}{\ifsubcaphang}
+% \begin{macro}{\ifsubcapcenter}
+% \begin{macro}{\ifsubcapcenterlast}
+% \begin{macro}{\ifsubcapnooneline}
+% \begin{macro}{\ifsubcapraggedright}
+%
+% \changes{v2.1}{23 Jan 2002}{Added.}
+%
+% These five flags control how the style in which the subfloat label and
+% caption are printed. The \Lif{subcaphang} flag is first checked and
+% if true, causes the subcaption label to be typeset separately and
+% placed to the upper left of the space available for the subcaption.
+% The \Lif{subcapcenter} flag centers each line of the subcaption. The
+% \Lif{subcapcenterlast} centers the last line of the subcaption (this
+% is a {\sc nop} if the \Lif{subcapcenter} flag is true. If the
+% \Lif{subcapnooneline} is false, then the label plus the text of the
+% subcaption are centered. If it is true, than the other flags may
+% cause something different to happen. The purpose of this flag,
+% generally, is to cause a single line to be left justified when there
+% is a very short caption. The last flag is the \Lif{subcapraggedright}
+% which typsets its text without lining up the right side. This is
+% useful for the subcaptions since they are usually short and prone to
+% generating hyphenated words unless allowed to be ragged.
+%
+% \begin{macrocode}
+\newif\ifsubcaphang
+\newif\ifsubcapcenter
+\newif\ifsubcapcenterlast
+\newif\ifsubcapnooneline
+\newif\ifsubcapraggedright
+\newif\ifsubcapRaggedRight
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \noindent
+% Table~\ref{tab:defaults} gives the initial (default) values of the
+% internals that are used to control the placement and printing of the
+% subfloats.
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the label and caption defaults
+% from \cmd{\rmfamily}\cmd{\mdseries}\cmd{\upshape} to
+% \cmd{\familydefault}\cmd{\seriesdefault} \cmd{\shapedefault}.}
+% \DeleteShortVerb{\|}
+% \MakeShortVerb{\/}
+% \begin{table}^
+% \def\pz{\phantom{0}}^
+% \def\M#1{\vspace*{#1}}
+% \caption[Default values of the Subfigure constants.]%
+% {Default values of the Subfigure constants. These
+% values are set during the options processing (see
+% section~\ref{sec:startup}).}^
+% \label{tab:defaults}^
+% \vspace{5pt}^
+% \begin{minipage}{4.8in}^
+% \setlength\tabcolsep{5pt}^
+% \rr
+% \begin{tabular}{|l|c|p{1.3in}|p{1.963in}|}\hline
+% \multicolumn{1}{|c|}{\raisebox{-1.5ex}{\bf Command}}
+% & \multicolumn{1}{c|}{\bf \Lopt{loose}}
+% & \multicolumn{1}{c|}{\bf \Lopt{tight}}
+% &
+% \multicolumn{1}{c|}{\raisebox{-1.5ex}{\bf Description}}
+% \\
+% & \multicolumn{1}{c|}{\bf Option}
+% & \multicolumn{1}{c|}{\bf Option}
+% & \\ \hline
+% \raisebox{-2.1ex}{\cmd{\subfigtopskip}}
+% & \raisebox{-2.1ex}{10 pt}
+% & \M{0.6ex}\hfil 5 pt
+% & \rr Length from the top of the subfloat
+% box to the beginning of the figure.
+% \\ \hline
+% \raisebox{-1.5ex}{\cmd{\subfigcapskip}}
+% & \raisebox{-1.5ex}{10 pt}
+% & \M{0.0ex}\hfil 0 pt
+% & \rr Length between the baseline of the
+% subcaption and the figure.
+% \\ \hline
+% \raisebox{-2.1ex}{\cmd{\subfigcaptopadj}}
+% & \raisebox{-2.1ex}{\pz0 pt}
+% & \M{0.4ex}\hfil 3 pt
+% & \rr Length added to /\subfigcapskip/
+% when the caption is above the figure.
+% \\ \hline
+% \raisebox{-2.1ex}{\cmd{\subfigbottomskip}}
+% & \raisebox{-2.1ex}{10 pt}
+% & \M{0.7ex}\hfil 5 pt
+% & \rr Length from the bottom of the
+% subcaption to the bottom of the
+% subfloat.
+% \\ \hline
+% \raisebox{-3.5ex}{\cmd{\subfigcapmargin}}
+% & \raisebox{-3.5ex}{10 pt}
+% & \M{2.0ex}\hfil 0 pt
+% & \rr Indentation of the subcaption from
+% the sides of the subfloat box. (This
+% should always be positive or zero.)
+% \\ \hline
+% \raisebox{-1.5ex}{\cmd{\subfiglabelskip}}
+% & \raisebox{-1.5ex}{0.33 em}
+% & \raggedleft 0.33 em plus 0.07 em minus 0.03 em
+% & \rr Space between the label and the
+% text of the subcaption.
+% \\ \hline
+% \raisebox{-1.5ex}{\cmd{\subcapsize}}
+% & \multicolumn{2}{c|}{\raisebox{-1.5ex}{footnotesize}}
+% & \rr Size for the text portion of the
+% subcaption font.
+% \\ \hline
+% \raisebox{-1.5ex}{\cmd{\subcaplabelfont}}
+% & \multicolumn{2}{c|}{\raisebox{-1.5ex}{(Default family, series and shape)}}
+% & \rr Font for the label portion of the
+% subcaption.
+% \\ \hline
+% \raisebox{-1.5ex}{\cmd{\subcapfont}}
+% & \multicolumn{2}{c|}{\raisebox{-1.5ex}{(Default family, series and shape)}}
+% & \rr Font for the text portion of the
+% subcaption.
+% \\ \hline
+% \end{tabular}
+% \end{minipage}
+% \end{table}
+% \DeleteShortVerb{\/}
+% \MakeShortVerb{\|}
+%
+% \begin{macro}{\subfigtopskip}
+% \begin{macro}{\subfigcapskip}
+% \begin{macro}{\subfigcaptopadj}
+% \begin{macro}{\subfigbottomskip}
+%
+% \changes{v2.1}{22 Jan 1997}{Reduced the space to the values separating
+% subfloat caption and figure box and its top and bottom. Added
+% \cmd{\subfigcaptopadj} in case it is needed in styles that with figure
+% subcaptions on the bottom and table subcaptions on the top.}
+%
+% See figure~\ref{fig:layout} for details of where these take effect.
+% Generally the |\subfigtopskip| appears between the figure or table and
+% the edge of the box. |\subfigbottomskip| appears between the
+% subcaption and the edge of the box. If the subcaption follows the
+% figure or table, then |\subfigcapskip| is placed before it along with
+% ({\it i.e.\/}, in addition to) a |\baselineskip|. If the subcaption
+% comes before the figure or table then |\subfigcapskip| is placed
+% after it along with |\subfigcaptopadj|. Although several of the above
+% are {\tt skip}'s they are typset at their base size and will not
+% shrink or expand.
+%
+% \begin{macrocode}
+\newskip\subfigtopskip \subfigtopskip = 5\p@
+\newskip\subfigcapskip \subfigcapskip = 0\p@
+\newdimen\subfigcaptopadj \subfigcaptopadj = 3\p@
+\newskip\subfigbottomskip \subfigbottomskip = 5\p@
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\subfigcapmargin}
+%
+% \changes{v2.1}{22 Jan 1997}{Reduced \cmd{\subfigcapmargin} to zero.}
+% \begin{macro}{\subfiglabelskip}
+%
+% \changes{v2.1}{23 Jan 2002}{Added to replace the space between the
+% subcaption label and text.}
+%
+% These two values are used to typeset the subcaption The width of the
+% subcaption is the same as that of its associated figure or table
+% width. |\subfigcapmargin| is placed on either side of the caption and
+% |\subfiglabelskip| is placed between the subcaption label and the
+% subcaption text. Depending on the manner of typesetting the
+% subcaption, this may shrink or expand. By default, the
+% |\subfigcapmargin| is zero to allow as much room of the subcaption as
+% possible.
+%
+% \begin{macrocode}
+\newdimen\subfigcapmargin \subfigcapmargin = \z@
+\newskip\subfiglabelskip \subfiglabelskip = 0.33em plus 0.07em minus 0.03em
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\subcapsize}
+%
+% |\subcapsize| is used to set the size of both the subcaption label and
+% the subcaption text. The options allow it to be set to any of the
+% following: |\scriptsize|, |\footnotesize|, |\small|, |\normalsize|,
+% |\large|, |\Large|. It may also be set to |\tiny|, |\LARGE|, |\huge|
+% or |\HUGE| by hand if need be for special instances.
+%
+% \begin{macrocode}
+\newcommand*{\subcapsize}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subcaplabelfont}
+% \begin{macro}{\subcaplabelfont@f}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the \cmd{\subcaplabelfont@f}
+% default value to \cmd{\familydefault}.}
+%
+% \begin{macro}{\subcaplabelfont@c}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the \cmd{\subcaplabelfont@c}
+% default value to \cmd{\seriesdefault}.}
+%
+% \begin{macro}{\subcaplabelfont@s}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the \cmd{\subcaplabelfont@s}
+% default value to \cmd{\shapedefault}.}
+%
+% The |\subcaplabelfont| is composed of three parts, the font family,
+% such as roman, san serif or typewriter; the font series, such as
+% medium or bold; and the font shape, such as italic, slanted, small
+% caps or upright. These are combined along with the |\subcapsize| to
+% select the font for the subcaption label.
+%
+% \begin{macrocode}
+\newcommand*{\subcaplabelfont}{%
+ \subcaplabelfont@f\subcaplabelfont@c\subcaplabelfont@s}
+\newcommand*{\subcaplabelfont@f}{\fontfamily{\familydefault}\selectfont}
+\newcommand*{\subcaplabelfont@c}{\fontseries{\seriesdefault}\selectfont}
+\newcommand*{\subcaplabelfont@s}{\fontshape{\shapedefault}\selectfont}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\subcapfont}
+%
+% \changes{v2.1}{11 Dec 1996}{Added.}
+%
+% \begin{macro}{\subcapfont@f}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the \cmd{\subcapfont@f} default
+% value to \cmd{\familydefault}.}
+%
+% \begin{macro}{\subcapfont@c}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the \cmd{\subcapfont@s} default
+% value to \cmd{\seriesdefault}.}
+%
+% \begin{macro}{\subcapfont@s}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the \cmd{\subcapfont@s} default
+% value to \cmd{\shapedefault}.}
+%
+% The |\subcapfont| is the same as the |\subcaplabelfont| except that it
+% is applied to the subcaption text rather than the label.
+%
+% \begin{macrocode}
+\newcommand*{\subcapfont}{%
+ \subcapfont@f\subcapfont@c\subcapfont@s}
+\newcommand*{\subcapfont@f}{\fontfamily{\familydefault}\selectfont}
+\newcommand*{\subcapfont@c}{\fontseries{\seriesdefault}\selectfont}
+\newcommand*{\subcapfont@s}{\fontshape{\shapedefault}\selectfont}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ifsf@tight}
+%
+% Create an `if' to control whether the check for the top-of-page is
+% performed in the |\@subfloat| command. This is necessary to preserve
+% the look-and-feel of the older versions of this package. The
+% \Lopt{loose} option turns this flag off (no check) and the
+% \Lopt{tight} option turns it on (do the check).
+%
+% \begin{macrocode}
+\newif\ifsf@tight \sf@tighttrue
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Subfigure Constants}
+% \label{sec:fig_constants}
+% \begin{macro}{\c@subfigure}
+% Subfigure counter.
+%
+% \begin{macrocode}
+\newcounter{subfigure}[figure]
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\iffiguretopcap}
+%
+% \changes{v2.1}{23 Jan 2002}{Added check for existing
+% \cmd{\figuretopcaptrue} so that this package will work with the
+% captcont package.}
+%
+% \changes{v2.1}{22 Jan 1997}{Added to control label numbering for
+% captions at the top vs.\ at the bottom.}
+%
+% \begin{macro}{\ifsubfiguretopcap}
+%
+% \changes{v2.1}{15 Nov 1997}{Added to control placement of the
+% subcaption at the top vs.\ at the bottom.}
+%
+% These control how the \Lpack{hhsubfigure} \Lcount{caption} numbering is
+% obtained and where the figure caption and subcaption should appear
+% relative to the body of the \Lenv{subfigure}. The boolean
+% |\iffiguretopcap| indicates that the \Lcount{caption} counter is
+% current and there is no need to increment it. The boolean
+% |\ifsubfiguretopcap| indicates that the subcaption will be printed
+% above the body portion of the \Lpack{subfigure}.
+%
+% \begin{macrocode}
+\@ifundefined{figuretopcaptrue}{\newif\iffiguretopcap}{}
+\newif\ifsubfiguretopcap
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\p@subfigure}
+% \begin{macro}{\thesubfigure}
+% \begin{macro}{\@thesubfigure}
+% \begin{macro}{\@@thesubfigure}
+%
+% \changes{v2.1}{23 Jan 2002}{Added.}
+%
+% The |\thesubfigure| command defines the label for text references
+% (prefixed by |\p@subfigure|). This is the value saved by the |\label|
+% and retrieved by the |\ref| commands. In the case of a
+% conflict between this package and a prior one over the definition
+% of |\thesubfigure|, this package will win. This is insured by first
+% specifying the |\providecommand| for the |\thesubfigure| and then
+% |\renewcommand|. This is necessary because some packages incorrectly
+% insert this command.
+%
+% The |\@thesubfigure| value defines the the caption label complete
+% offset from the beginning of the caption text. It is used in the
+% subfigure caption and normally takes the label portion as defined
+% by |\thesubfigure|.
+%
+% Finally, the value defined by |\@@thesubfigure| is also saved by the
+% |\label| command and may be retrieved with the |\subref| command. This is
+% often useful in the subcaption or caption text when referring to the
+% individual subfigures. This value is also the one that is used in
+% the List-of-Figures.
+%
+% These multiple ``views'' of the \Lcount{subfigure} counter allow a
+% style to define the way the label looks in the figure, for example
+% ``{\bf (a)}\textvisiblespace''. Then references to it with |\ref|
+% have the form ``2.1a'', and with |\subref| ``(a)'' (This latter form
+% is also used to label references in the List-of-Figures section).
+%
+% \begin{macrocode}
+\let\p@subfigure=\thefigure
+\providecommand*{\thesubfigure}{(\alph{subfigure})}
+\renewcommand*{\thesubfigure}{(\alph{subfigure})}
+\newcommand*{\@thesubfigure}{\thesubfigure\hskip\subfiglabelskip}
+\newcommand*{\@@thesubfigure}{\thesubfigure}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ext@subfigure}
+% \begin{macro}{\l@subfigure}
+%
+% \changes{v2.1}{11 Oct 1996}{Changed the indentation of the
+% List-of-Figures line from 2.3em to 2.5em.}
+%
+% \begin{macro}{\c@lofdepth}
+%
+% These values define how and if the subfigure caption will appear in a
+% List-of-Figures file. |\ext@subfigure| defines the default subfigure
+% file extension (which is the same as |\ext@figure| --- the
+% List-of-Figures file, \Lcount{lof}). |\l@subfigure|
+% shows how to print an \Lfile{lof} subfigure line and defines that line
+% at level two. |\c@lofdepth| is an extension of the Table-of-Contents
+% depth value and controls the depth to which captions in the file are
+% printed to the actual page. By default, the subcaptions are not.
+%
+% \begin{macrocode}
+\let\ext@subfigure=\ext@figure
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\l@subfigure}{%
+ \@dottedxxxline{\ext@subfigure}{2}{3.8em}{2.5em}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcounter{lofdepth}
+\setcounter{lofdepth}{1}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Subtable Constants}
+% This section is symmetric to section~\ref{sec:fig_constants}.
+% \begin{macro}{\c@subtable}
+% Subtable counter.
+%
+% \begin{macrocode}
+\newcounter{subtable}[table]
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\iftabletopcap}
+%
+% \changes{v2.1}{23 Jan 2002}{Added check for existing
+% \cmd{\tabeltopcaptrue} so that this package will work with the
+% captcont package.}
+%
+% \changes{v2.1}{22 Jan 1997}{Added to control label numbering for
+% captions at the top vs.\ at the bottom.}
+%
+% \begin{macro}{\ifsubtabletopcap}
+% \changes{v2.1}{15 Nov 1997}{Added to control placement of the
+% subcaption at the top vs.\ at the bottom.}
+%
+% These define the form that the subcaption prefix is generated. The
+% boolean |\iftabletopcap| works with the numbering of the subcaption
+% label and uses the current \Lcount{table} counter value if true and
+% the next value if false. The boolean |\ifsubtabletopcap| sets the
+% subcaption before the main body of the subfigure, if true; and, after
+% it, if false.
+%
+% \begin{macrocode}
+\@ifundefined{tabletopcaptrue}{\newif\iftabletopcap}{}
+\newif\ifsubtabletopcap
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\p@subtable}
+% \begin{macro}{\thesubtable}
+% \begin{macro}{\@thesubtable}
+% \begin{macro}{\@@thesubtable}
+%
+% \changes{v2.1}{23 Jan 2002}{Added.}
+%
+% The |\thesubtable| command defines the label for text references
+% (prefixed by |\p@subtable|), while the |\@thesubtable| command defines
+% what appears in the subcaption under or over the subtable. The
+% |\@@thesubtable| command defines an alternative reference to the label
+% for use in the subcaption and caption of the table (see the discussion
+% above for the equivalent figure values). The latter form is also used
+% for the List-of-Tables label. As above, the |\thesubtable| command is
+% twice specified
+%
+% \begin{macrocode}
+\let\p@subtable=\thetable
+\providecommand*{\thesubtable}{(\alph{subtable})}
+\renewcommand*{\thesubtable}{(\alph{subtable})}
+\newcommand*{\@thesubtable}{\thesubtable\hskip\subfiglabelskip}
+\newcommand*{\@@thesubtable}{\thesubtable}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ext@subtable}
+% \begin{macro}{\l@subtable}
+%
+% \changes{v2.1}{11 Oct 1996}{Changed the indentation of the
+% List-of-Tables line from 2.3em to 2.5em.}
+%
+% \begin{macro}{\c@lotdepth}
+%
+% These define how and if the subtable caption will appear in a
+% List-of-Tables file. |\ext@subtable| defines the default subtable
+% file extension (which is the same as |\ext@table| --- the
+% List-of-Tables file, \Lcount{lot}). |\l@subtable| shows how to print
+% an \Lfile{lot} subtable line and defines that line at level two.
+% |\c@lotdepth| is an extension of the table-of-contents depth value and
+% controls the depth to which captions in the file are printed to the
+% actual page. By default, the subcaptions are not printed.
+%
+% \begin{macrocode}
+\let\ext@subtable=\ext@table
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\l@subtable}{%
+ \@dottedxxxline{\ext@subtable}{2}{3.8em}{2.5em}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcounter{lotdepth}
+\setcounter{lotdepth}{1}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Declaration of Options}
+%
+% The following options allow general compatibility with the
+% \Lpack{caption} and \Lpack{caption2} packages by H.A. Sommerfeldt
+% \cite{Somm95a}. There are six different subcaption layout options
+% supported: \Lopt{normal}, \Lopt{hang} (or \Lopt{isu}), \Lopt{center},
+% \Lopt{centerlast} (or \Lopt{anne}), \Lopt{nooneline} and
+% \Lopt{raggedright}. The \Lopt{hang} subcaption may be combined with
+% the \Lopt{center} or \Lopt{centerlast} options. The \Lopt{nooneline}
+% may be combined with any of the other options (but it's effect is
+% negated or looks bad with either of \Lopt{center} or \Lopt{centerlast}
+% unless the \Lopt{hang} option is also used). \Lopt{raggedright}
+% overrides the \Lopt{center} or \Lopt{centerlast} options.
+%
+% \begin{macrocode}
+\DeclareOption{normal}{%
+ \subcaphangfalse
+ \subcapcenterfalse
+ \subcapcenterlastfalse
+ \subcapnoonelinefalse
+ \subcapraggedrightfalse
+ \subcapRaggedRightfalse}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{hang}{\subcaphangtrue}
+\DeclareOption{center}{\subcapcentertrue}
+\DeclareOption{centerlast}{\subcapcenterlasttrue}
+\DeclareOption{nooneline}{\subcapnoonelinetrue}
+\DeclareOption{raggedright}{\subcapraggedrighttrue}
+\DeclareOption{RaggedRight}{\subcapRaggedRighttrue}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{isu}{\ExecuteOption{hang}}
+\DeclareOption{anne}{\ExecuteOption{centerlast}}
+% \end{macrocode}
+%
+% \newpage^finalhack
+%
+% \noindent
+% There are options for six different font sizes available.
+%
+% \begin{macrocode}
+\DeclareOption{scriptsize}{\renewcommand*{\subcapsize}{\scriptsize}}
+\DeclareOption{footnotesize}{\renewcommand*{\subcapsize}{\footnotesize}}
+\DeclareOption{small}{\renewcommand*{\subcapsize}{\small}}
+\DeclareOption{normalsize}{\renewcommand*{\subcapsize}{\normalsize}}
+\DeclareOption{large}{\renewcommand*{\subcapsize}{\large}}
+\DeclareOption{Large}{\renewcommand*{\subcapsize}{\Large}}
+% \end{macrocode}
+%
+% \noindent
+% There are eighteen options available to set the font attributes of the
+% subcaptions. The first nine affect only the subcaption label
+% The last nine affect only the subcaption text.
+%
+% \changes{v2.1}{22 Jan 1997}{Changed order of font options.}
+%
+% \changes{v2.1}{15 Nov 1997}{Added nine new options to set the format
+% of the caption text separately from the caption label.}
+%
+% \begin{macrocode}
+\DeclareOption{rm}{\renewcommand*{\subcaplabelfont@f}{\rmfamily}}
+\DeclareOption{sf}{\renewcommand*{\subcaplabelfont@f}{\sffamily}}
+\DeclareOption{tt}{\renewcommand*{\subcaplabelfont@f}{\ttfamily}}
+\DeclareOption{md}{\renewcommand*{\subcaplabelfont@c}{\mdseries}}
+\DeclareOption{bf}{\renewcommand*{\subcaplabelfont@c}{\bfseries}}
+\DeclareOption{up}{\renewcommand*{\subcaplabelfont@s}{\upshape}}
+\DeclareOption{it}{\renewcommand*{\subcaplabelfont@s}{\itshape}}
+\DeclareOption{sl}{\renewcommand*{\subcaplabelfont@s}{\slshape}}
+\DeclareOption{sc}{\renewcommand*{\subcaplabelfont@s}{\scshape}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{RM}{\renewcommand*{\subcapfont@f}{\rmfamily}}
+\DeclareOption{SF}{\renewcommand*{\subcapfont@f}{\sffamily}}
+\DeclareOption{TT}{\renewcommand*{\subcapfont@f}{\ttfamily}}
+\DeclareOption{MD}{\renewcommand*{\subcapfont@c}{\mdseries}}
+\DeclareOption{BF}{\renewcommand*{\subcapfont@c}{\bfseries}}
+\DeclareOption{IT}{\renewcommand*{\subcapfont@s}{\itshape}}
+\DeclareOption{SL}{\renewcommand*{\subcapfont@s}{\slshape}}
+\DeclareOption{SC}{\renewcommand*{\subcapfont@s}{\scshape}}
+\DeclareOption{UP}{\renewcommand*{\subcapfont@s}{\upshape}}
+% \end{macrocode}
+%
+% \noindent
+% There are eight options available to control the caption placement
+% and the proper numbering in association with the figure or table
+% caption placement. The first four affect only the caption numbering
+% by informing the internals that the associated figure or table
+% caption appears before or after the subfloat. The second four do
+% this and, in addition, shift the subfloat caption to the bottom or
+% top of the subfloat. The |\subfigure| and |\subtable| commands each
+% have a set of flags since it is often the case that a document style
+% requires that figure captions follow the figure and table captions
+% precede the table.
+%
+% \begin{macrocode}
+\DeclareOption{figbotcap}{\figuretopcapfalse}
+\DeclareOption{figtopcap}{\figuretopcaptrue}
+\DeclareOption{tabbotcap}{\tabletopcapfalse}
+\DeclareOption{tabtopcap}{\tabletopcaptrue}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareOption{FIGBOTCAP}{\ExecuteOptions{figbotcap}\subfiguretopcapfalse}
+\DeclareOption{FIGTOPCAP}{\ExecuteOptions{figtopcap}\subfiguretopcaptrue}
+\DeclareOption{TABBOTCAP}{\ExecuteOptions{tabbotcap}\subtabletopcapfalse}
+\DeclareOption{TABTOPCAP}{\ExecuteOptions{tabtopcap}\subtabletopcaptrue}
+% \end{macrocode}
+%
+% \newpage^finalhack
+%
+% \begin{macro}{\subfigtopskip}
+% \begin{macro}{\subfigcapskip}
+% \begin{macro}{\subfigcaptopadj}
+% \begin{macro}{\subfigbottomskip}
+% \begin{macro}{\subfigcapmargin}
+% \begin{macro}{\subfiglabelskip}
+%
+% \noindent
+% The last two options control the overall ``look-and-feel'' of the
+% subfloat. The \Lopt{loose} option is the default and makes the
+% subfloat look like it always has with lots of extra room around the
+% subfigure and subcaption.
+%
+% \begin{macrocode}
+\DeclareOption{loose}{%
+ \subfigtopskip = 10\p@
+ \subfigcapskip = 10\p@
+ \subfigcaptopadj = 0\p@
+ \subfigbottomskip = 10\p@
+ \subfigcapmargin = 10\p@
+ \subfiglabelskip = 0.33em
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@thesubfigure}
+% \begin{macro}{\@thesubtable}
+% Next, it replaces the glue at the end of the subcaption label with a
+% |\space| like the older version of the \Lpack{subfigure} package.
+%
+% \begin{macrocode}
+ \renewcommand*{\@thesubfigure}{\thesubfigure\space}
+ \renewcommand*{\@thesubtable}{\thesubtable\space}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ifsf@tight}
+%
+% Finally, set the \Lif{sf@tight} flag to make the |\@subfloat| command
+% skip its check for the top of a page or minipage and to always add
+% its topmost vertical spacing. (For more details about the
+% |\@subfloat| command, see section~\ref{sec:mainmacros}.)
+%
+% \begin{macrocode}
+ \sf@tightfalse}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\subfigtopskip}
+% \begin{macro}{\subfigcapskip}
+% \begin{macro}{\subfigcaptopadj}
+% \begin{macro}{\subfigbottomskip}
+% \begin{macro}{\subfigcapmargin}
+% \begin{macro}{\subfiglabelskip}
+%
+% The \Lopt{tight} option is the is the preferred version and has less white
+% space around the subfloat. It also will omit the space above the subfloat
+% at the top of the page or minipage.
+%
+% \begin{macrocode}
+\DeclareOption{tight}{%
+ \subfigtopskip = 5\p@
+ \subfigcapskip = 0\p@
+ \subfigcaptopadj = 3\p@
+ \subfigbottomskip = 5\p@
+ \subfigcapmargin = \z@
+ \subfiglabelskip = 0.33em plus 0.07em minus 0.03em
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@thesubfigure}
+% \begin{macro}{\@thesubtable}
+% Next, it keeps the glue at the end of the subcaption label to allow
+% better subcaption fitting.
+%
+% \begin{macrocode}
+ \renewcommand*{\@thesubfigure}{\thesubfigure\hskip\subfiglabelskip}
+ \renewcommand*{\@thesubtable}{\thesubtable\hskip\subfiglabelskip}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ifsf@tight}
+%
+% Finally, set the \Lif{sf@tight} flag to make the |\@subfloat| command
+% check for the top of a page or minipage and to skip adding any vertical
+% space there. (For more details about the |\@subfloat| command, see
+% section~\ref{sec:mainmacros}.)
+%
+% \begin{macrocode}
+ \sf@tighttrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Execution of Options}
+% \label{sec:startup}
+%
+% \changes{v2.1}{11 Oct 1996}{Added a check for a local configuration file.}
+%
+% \changes{v2.1}{15 Nov 1997}{Added the \Lopt{FIGBOTCAP} and
+% \Lopt{TABBOTCAP} options.}
+%
+% \changes{v2.1.4}{30 Apr 2002}{Changed the subcaption label defaults
+% to be hard coded above and no longer in the options list.}
+%
+% The \Lopt{normal} type of subcaption is preselected, the standard
+% subcaption size is set to \Lopt{footnotesize}, and the font for both
+% the subcaption label and text is set above to the global defaults for
+% family, series, and shape. Also, the subcaptions for the subfigure
+% and subtable are placed after the figure box and it is assumed that
+% the figure or table caption follows all of the associated subfloats.
+% Finally, the \Lopt{loose} form is selected in order to cause minimal
+% change to existing papers using the \Lpack{subfigure} package.
+%
+% The preferred form would be to have the \Lopt{TABTOPCAP} and
+% \Lopt{tight} be the defaults, but this would adversely affect the
+% existing papers that have used the official releases of this package.
+%
+% \begin{macrocode}
+\ExecuteOptions{normal,footnotesize,FIGBOTCAP,TABBOTCAP,loose}
+\InputIfFileExists{subfigure.cfg}{%
+ \typeout{****************************************^^J%
+ * Local config file subfigure.cfg used *^^J%
+ ****************************************}}{}
+\ProcessOptions
+% \end{macrocode}
+%
+% \subsection{The Subfigure and Subtable Commands}
+% \label{sec:mainmacros}
+%
+% \changes{v2.1}{23 Jan 2002}{Added setting \cmd{\label} to
+% \cmd{\subfloat@label}.}
+%
+% \changes{v2.1}{11 Oct 1996}{Added command lines. The subfigure
+% command was updated to allow a second optional argument. This
+% causes changes all the way down to the \cmd{\@subcaption} command.}
+%
+% \begin{macro}{\subfigure}
+% \label{sec:subfigure}
+%
+% \changes{v2.1.2}{26 Mar 2002}{Added check to see if \cmd{\subfig@oldlabel}
+% is defined and if not to save the current definition.}
+%
+% \changes{v2.1}{22 Jan 1997}{Changed the counter advance to occur
+% only if the related boolean is false. This allows \cmd{\caption}'s
+% to occur before the subfloats rather than after.}
+%
+% \changes{v2.1}{07 Mar 1997}{Moved \cmd{\leavevmode} to \cmd{\@subfloat}.}
+%
+% The |\subfigure| command acts as cover function for the |\@subfloat|
+% command. It locally changes the |\label| command to our special version
+% that supports the |\subref|'s (see section~\ref{sec:patches}). It
+% insures that the proper counter is used and has the correct value.
+% Since the caption is usually generated later, we must locally
+% anticipate the future value of its counter by adding one to it within
+% a local group. Upon leaving |\subfigure|, the old value is restored.
+%
+% \begin{macrocode}
+\newcommand*{\subfigure}{%
+ \bgroup
+ \let\subfig@oldlabel=\label
+ \let\label=\subfloat@label
+ \@nameuse{if\@captype topcap}\else
+ \advance\@nameuse{c@\@captype}\@ne
+ \fi
+ \refstepcounter{sub\@captype}%
+ \@ifnextchar [%
+ {\@subfigure}%
+ {\@subfigure[\@empty]}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subtable}
+%
+% The |\subtable| command is identical to |\subfigure|. The of names
+% at the user level is purely cosmetic (and historical).
+%
+% \begin{macrocode}
+\let\subtable=\subfigure
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \enlargethispage{-24pt}^finalhack
+%
+% \begin{macro}{\@subfigure}
+% \changes{v2.1.4}{07 Jun 2002}{Added curly brackets around the
+% argument when passing it on as an optional argument.}
+%
+% Here we are still setting up for the main |\@subfloat| command. We
+% check for a second optional argument. If one is not found, than any
+% optional argument from the last |\subfigure| or |\subtable| becomes
+% the main caption and we give |\@empty| as the default list-entry
+% caption. If we see another optional argument, then we make that one
+% the main caption and use any prior optional argument as the list-entry
+% caption. See Table~\ref{tab:calling} for how this looks to the user.
+%
+% \begin{macrocode}
+\def\@subfigure[#1]{%
+ \@ifnextchar [%
+ {\@subfloat{sub\@captype}[{#1}]}%
+ {\@subfloat{sub\@captype}[\@empty{#1}][{#1}]}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@subfloat}
+%
+% \changes{v2.1.4}{24 Apr 2002}{Changed \cmd{\@subfloat} to globally
+% reset the figure/table counter if it was incremented so that any
+% subfloat body that resets the counters globally will not cause
+% errors ({\it e.g.\/}, the \Lpack{tabularx} package}
+%
+% \changes{v2.1}{23 Jan 2002}{Now using \cmd{\@nameuse} to build names.
+% Made the \cmd{\def} a \cmd{\long}\cmd{\def}.}
+%
+% \changes{v2.1}{22 Apr 1998}{Added some percents to keep out whitespace}
+%
+% \changes{v2.1}{07 Mar 1997}{Changed the addition of the
+% \cmd{\subfigtopskip} to be added only if not at the top of the
+% float and only in vertical mode. Moved \cmd{\leavevmode} from
+% \cmd{\subfigure} to after the topskip addition.}
+%
+% \changes{v2.1}{17 Jan 1997}{Added swap of the top and bottom space
+% when in TOPCAP mode.}
+%
+% This is the common code for setting up the subfloat box and drawing
+% the subcaption under it. The two skips are used only here to keep
+% track of what vertical space is to be placed before and after the
+% figure.
+%
+% The first argument is the type of object being generated: that is,
+% a |subfigure| or a |subtable|. The second and third are the
+% \texttt{subcaption} and \texttt{subfigure} arguments from the
+% calling |\subfigure| or |\subtable| command.
+%
+% \begin{macrocode}
+\newskip\subfig@top
+\newskip\subfig@bottom
+% \end{macrocode}
+%
+% If \Lif{ifsf@tight} is true, then the |\@subfloat| command checks to
+% see if it is at the top of a page or a minipage and will suppress the
+% top vertical space in that case; otherwise, it always adds the space.
+%
+% \begin{macrocode}
+\long\def\@subfloat#1[#2][#3]#4{%
+ \@tempcnta=1
+ \ifsf@tight
+ \if@minipage
+ \@tempcnta=\z@
+ \else\ifdim \lastskip=\z@ \else
+ \@tempcnta=2
+ \fi\fi
+ \fi
+% \end{macrocode}
+%
+% Based on the |\iffiguretopcap| or |\iftabletopcap| flags we
+% select which vertical space is to be placed above and below the figure
+% or table and save it in |\subfig@top| and |\subfig@bottom|.
+%
+% \begin{macrocode}
+ \@nameuse{if\@captype topcap}%
+ \subfig@top=\subfigbottomskip
+ \subfig@bottom=\subfigtopskip
+ \else
+ \subfig@top=\subfigtopskip
+ \subfig@bottom=\subfigbottomskip
+ \fi
+% \end{macrocode}
+%
+% The |\leavevmode| is here to inhibit any \LaTeX\ errors that the
+% surreounding environment might generate if we stay in vertical mode.
+% Then it determines the width of the figure or table by placing it in a
+% box and testing the box.
+%
+% \begin{macrocode}
+ \leavevmode
+ \setbox\@tempboxa \hbox{#4}%
+ \@tempdima=\wd\@tempboxa
+% \end{macrocode}
+%
+% Finally we put the figure together in a vertical box. At the very top
+% goes any vertical space, but only if we are not at the top of the page
+% or minipage as determined above.
+%
+% \begin{macrocode}
+ \vtop\bgroup
+ \vbox\bgroup
+ \ifcase\@tempcnta
+ \@minipagefalse
+ \or
+ \vspace{\subfig@top}%
+ \or
+ \ifdim \lastskip=\z@ \else
+ \@tempskipb\subfig@top\relax\@xaddvskip
+ \fi
+ \fi
+% \end{macrocode}
+%
+% Next, based on the `topcap' flags, we check if the subcaption or the
+% figure goes next. If it is the subcaption, then we add some extra
+% |\subfigcaptopadj| space between the subcaption and the figure and
+% table in addtion to the regular |\subfigcapskip| space. This finishes
+% off the top box and establishes our baseline.
+%
+% After that we add in either the figure or subcaption (whichever we
+% have not typeset yet and follow it with the bottom vertical space.
+% (see figure~\ref{fig:layout-C} for a diagram of this layout).
+%
+% Finally, we globally ({\bf !}) reset the \Lcount{figure} or
+% \Lcount{table} counter, if we incremented it at the beginning of the
+% |\subfigure| or |\subtable| command so that any functions used inside
+% the command body which globally sets the counters ({\it e.g.\/}, the
+% \Lpack{tabularx} package) will not cause problems.
+%
+% \begin{macrocode}
+ \@nameuse{if#1topcap}%
+ \ifx \@empty#3\relax \else
+ \@subcaption{#1}{#2}{#3}%
+ \vskip\subfigcapskip
+ \vskip\subfigcaptopadj
+ \fi\egroup
+ \box\@tempboxa
+ \else
+ \box\@tempboxa\egroup
+ \ifx \@empty#3\relax \else
+ \vskip\subfigcapskip
+ \@subcaption{#1}{#2}{#3}%
+ \fi
+ \fi
+ \vspace{\subfig@bottom}%
+ \egroup
+ \@nameuse{if\@captype topcap}\else
+ \global\advance\@nameuse{c@\@captype}\m@ne
+ \fi
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@subfigcaptionlist}
+%
+% \begin{macro}{\@subcaption}
+%
+% \changes{v2.1}{23 Jan 2002}{Now using \cmd{\@nameuse} to build names.
+% Also use \@@thesubfigure and \@@thesubtable stored label.}
+%
+% \begin{macro}{\listsubcaptions}
+%
+% \changes{v2.1.4}{09 Jul 2002}{Changed \cmd{\@tempa} to \cmd{\sf@temp}
+% at the request of Donald Arseneau to remove the potential of problems
+% with others using the same variable.}
+% \changes{v2.1}{22 Oct 1996}{Added to allow the user to cause a dump
+% of the currently queued subcaptions to the ``List-of'' page. This
+% is necessary when the \cmd{caption} is placed before the subfloats
+% as is often the case for subtables.}
+%
+% \changes{v2.1}{11 Oct 1996}{Fixed \cmd{\protect} related bug caused by
+% a change in \LaTeX3.}
+% \begin{macro}{\@listsubcaptions}
+%
+% \changes{v2.1}{23 Jan 2002}{Added checks for undefined \cmd{\@captype}
+% and \cmd{ext@<\@captype>} just in case the \cmd{caption} is called
+% outside the \Lenv{float} or the current float type does not support
+% subfigures.}
+%
+% \changes{v2.1}{11 Oct 1996}{Added to print the queued subcaptions.
+% This is also used by the \Lpack{captcont} package to correctly print
+% the subcaptions.}
+%
+% \changes{v2.1}{17 Jan 1997}{Changed the source of the label for the
+% ``List-of'' pages to use the \cmd{\thesubfigure} or \cmd{\thesubtable}
+% value rather than the \cmd{\@currentlabel}. This usually will be
+% cleaner since the figure number won't be repeated.}
+%
+% \changes{v2.1}{05 Jan 1998}{Changed \cmd{\edef} to \cmd{\def} and added
+% back the \cmd{\protect} due to changes in the use of the
+% \cmd{\@subcaption}.}
+%
+% The following series of commands control exactly how the subcaption is
+% typeset. The |\@subcaption| command adds the subcaption to the current
+% list of subcaptions to be added to the ``List-of'' page as soon as
+% the major caption is declared (see |\@caption| below).
+% ({\scshape Note}: only one list is kept because that seems right;
+% if there is a mix of tables and figures, they will be grouped
+% under the next |\caption|\@.) Next |\@subcaption| calls the
+% appropriate float-type specific command to decide how to size and shape
+% the subcaption text.
+%
+% \begin{macrocode}
+\newcommand*{\@subfigcaptionlist}{}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand{\@subcaption}[3]{%
+ \ifx \relax#2\relax \else
+ \bgroup
+ \let\label=\@gobble
+ \let\protect=\string
+ \def\@subcaplabel{\@nameuse{@@the#1}}%
+ \xdef\@subfigcaptionlist{%
+ \@subfigcaptionlist,%
+ {\protect\numberline{\@subcaplabel}\noexpand{\ignorespaces #2}}}%
+ \egroup
+ \fi
+ \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#3}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\listsubcaptions}{%
+ \@ifstar
+ {\gdef\@subfigcaptionlist{}}%
+ {\@listsubcaptions{\@captype}}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\@listsubcaptions}[1]{%
+ \@ifundefined{@captype}{}{%
+ \@ifundefined{ext@sub#1}{}{%
+ \@for \sf@temp:=\@subfigcaptionlist \do {%
+ \ifx \@empty\sf@temp\relax \else
+ \addcontentsline
+ {\@nameuse{ext@sub#1}}%
+ {sub#1}%
+ {\sf@temp}%
+ \fi}}}%
+ \gdef\@subfigcaptionlist{}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@makesubfigurecaption}
+% \begin{macro}{\@makesubtablecaption}
+%
+% \changes{v2.1}{17 Jan 1997}{Added the new font control.}
+%
+% By default, the |\@subfigurecaption| and |\@subtablecaption|
+% commands are identical. Unlike the standard |\@makecaption| command,
+% we assume that the first argument (the label number produced by
+% the |\@thesubfigure| or the |\@thesubtable|) contains any trailing
+% separator characters or spacing (which makes it easier to customize).
+%
+% \newpage^finalhack
+%
+% The |\@makesubfigurecaption| command first checks the size of the
+% caption typeset as a single line. It knocks off twice the
+% |\subfigcapmargin| (at it's regular size) to determine the with of the
+% caption and label.
+%
+% \begin{macrocode}
+\newcommand{\@makesubfigurecaption}[2]{%
+ \setbox\@tempboxa\hbox{%
+ \subcapsize
+ {\subcaplabelfont #1}%
+ {\subcapfont\ignorespaces #2}}%
+ \@tempdimb=-\subfigcapmargin
+ \multiply\@tempdimb\tw@
+ \advance\@tempdimb\@tempdima
+% \end{macrocode}
+%
+% Next it creates a horizontal box of that width and if the label plus
+% the text was too wide or if the \Lif{subcapnooneline} flag is true,
+% then it sends off the label and subcaption to |\subfig@caption| to
+% typset as a paragraph. NOTE: |\subfig@caption| assumes that
+% |\@tempbdimb| has the calculated width for the paragraph.
+%
+% If the label plus the text will fit and the \Lif{subcapnooneline} flag
+% is false, then we just return them (from box |\@tempboxa|).
+%
+% \begin{macrocode}
+ \hbox to\@tempdima{%
+ \hss
+ \ifdim \wd\@tempboxa >\@tempdimb
+ \subfig@caption{#1}{#2}%
+ \else\ifsubcapnooneline
+ \subfig@caption{#1}{#2}%
+ \else
+ \box\@tempboxa
+ \fi\fi
+ \hss}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\@makesubtablecaption=\@makesubfigurecaption
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\subfig@caption}
+%
+% \changes{v2.1}{23 Jan 2002}{Added \cmd{\subcapfont} and
+% \cmd{\ignorespaces} before the caption text. So that it does not
+% interfere with the label font settings. This fixes a bug found by
+% Axel Sommerfeldt.}
+%
+% \begin{macro}{\subfig@captionpar}
+%
+% \changes{v2.1}{23 Jan 2002}{Simplified by removing the font settings.
+% It is up to the caller to enforce these! This fixes a bug found by
+% Axel Sommerfeldt.}
+%
+% \changes{v2.1}{17 Jan 1997}{Added the new font control.}
+%
+% These commands are called to typeset a multiple-line subcaption (or a
+% single line when \Lif{subcapnooneline} is true). Depending on the
+% \Lif{subcapcenter} and \Lif{subcapcenterlast} flags, the text will be
+% justified (both false), centered (\Lif{subcapcenter} true), or
+% justified with the last line centered (only the flag
+% \Lif{subcapcenterlast} set true).
+%
+% \begin{macrocode}
+\newcommand{\subfig@caption}[2]{%
+ \ifsubcaphang
+ \sbox{\@tempboxa}{\subcapsize\subcaplabelfont #1}%
+ \addtolength{\@tempdimb}{-\wd\@tempboxa}%
+ \usebox{\@tempboxa}%
+ \subfig@captionpar{\@tempdimb}{%
+ {\subcapfont\ignorespaces #2}}%
+ \else
+ \subfig@captionpar{\@tempdimb}{%
+ {\subcaplabelfont #1}%
+ {\subcapfont\ignorespaces #2}}%
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\subfig@captionpar}[2]{%
+ \parbox[t]{#1}{%
+ \subcapsize
+ \ifsubcapraggedright
+ \setlength{\leftskip}{\z@}%
+ \setlength{\@rightskip}{\@flushglue}%
+ \setlength{\rightskip}{\@rightskip}%
+ \setlength{\parindent}{\z@}%
+ \else\ifsubcapRaggedRight
+ \setlength{\leftskip}{\z@}%
+ \setlength{\@rightskip}{\z@ plus \tw@ em}%
+ \setlength{\rightskip}{\@rightskip}%
+ \setlength{\parfillskip}{\z@ plus \@ne fil}%
+ \setlength{\parindent}{\z@}%
+ \else\ifsubcapcenter
+ \setlength{\leftskip}{\@flushglue}%
+ \setlength{\rightskip}{\@flushglue}%
+ \setlength{\parfillskip}{\z@skip}%
+ \else\ifsubcapcenterlast
+ \addtolength{\leftskip}{\z@ plus 1fil}%
+ \addtolength{\rightskip}{\z@ plus -1fil}%
+ \setlength{\parfillskip}{\z@ plus 2fil}%
+ \fi\fi\fi\fi
+ #2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Patches to the Standard Environment}
+% \label{sec:patches}
+%
+% The following adjust the standard environment for the
+% \Lpack{subfigure} package. They are designed as wrappers to the
+% current definition of the standard commands to minimize any chance of
+% conflict with other packages or to extend \LaTeX.
+%
+% \begin{macro}{\@dottedxxxline}
+% \label{sec:dl}
+% This is a generalized wrapper for the |\@dottedtocline| command.
+% It checks for the level based on the output file (first argument)
+% and not using only |\@tocdepth|. (See section~\ref{sec:listof}
+% for a description of the arguments.)
+%
+% \begin{macrocode}
+\newcommand*{\@dottedxxxline}[6]{%
+ \ifnum #2>\@nameuse{c@#1depth}\else
+ \@dottedtocline{0}{#3}{#4}{#5}{#6}
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subfig@end@float}
+% \begin{macro}{\subfig@end@dblfloat}
+% \begin{macro}{\end@float}
+% \begin{macro}{\end@dblfloat}
+%
+% \changes{v2.1}{05 Jan 1998}{Added this section to minimize the need
+% for \cmd{\listofcaptions}.}
+%
+% These commands patch the end of the \Lenv{float} environment so that it will
+% dump out the subcaptions if any remain at this point. This can occur
+% when using the \Lopt{TOPCAP} options.
+% \begin{macrocode}
+\let\subfig@end@float=\end@float
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewcommand*{\end@float}{%
+ \@listsubcaptions{\@captype}%
+ \subfig@end@float}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\subfig@end@dblfloat=\end@dblfloat
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewcommand*{\end@dblfloat}{%
+ \@listsubcaptions{\@captype}%
+ \subfig@end@dblfloat}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \newpage^finalhack
+%
+% \begin{macro}{\subfig@oldcaption}
+% \begin{macro}{\@caption}
+%
+% \changes{v2.1}{23 Jan 2002}{Now using \cmd{\@nameuse} to build names.
+% Added a check for topcap flag. If it is not defined, we assume that
+% this float type does not support subfigures.}
+%
+% \changes{v2.1}{05 Jan 1998}{Changed to print the subcaptions before
+% or after the caption, depending on the TOPCAP setting of the current
+% environment.}
+%
+% Next, we redefine the current |\@caption| command to dump any
+% subcaptions saved. First the `old' caption command is called to
+% add the line to the ``List-of'' file and then the list of
+% subcaptions, |\@subfigcaptionlist| is written to the same file.
+% Lastly, the |\@subfigcaptionlist| is reinitialized.
+%
+% \begin{macrocode}
+\let\subfig@oldcaption=\@caption
+% \end{macrocode}
+%
+% \begin{macrocode}
+\long\def\@caption#1[#2]#3{%
+ \@ifundefined{if#1topcap}%
+ {\subfig@oldcaption{#1}[{#2}]{#3}}%
+ {\@nameuse{if#1topcap}%
+ \@listsubcaptions{#1}%
+ \subfig@oldcaption{#1}[{#2}]{#3}%
+ \else
+ \subfig@oldcaption{#1}[{#2}]{#3}%
+ \@listsubcaptions{#1}%
+ \fi}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\subfig@oldlabel}
+%
+% To support the redefinition of the |\label| command within the body of
+% the subfloats, we will use |\subfig@oldlabel| to save the current
+% definition of |\label| and create the |\subfloat@label| command to take its
+% place during the processing of the |\subfigure| command. Since the
+% definition of |\label| may change as packages are loaded, we save the
+% definition each time that |\label| is replaced with |\sub@label|
+% (see \ref{sec:subfigure} above).
+%
+% \begin{macrocode}
+\let\subfig@oldlabel=\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\subfloat@label}
+% \begin{macro}{\sub@label}
+%
+% \changes{v2.1.4}{02 Jul 2002}{Added reference to this command via
+% the name \cmd{subfloat@label} to avoid packages that replace the
+% name without the support of the optional argument. The old name
+% is still here to decoy the other packages. Added chapter number
+% in the automatically generated label to increase uniqueness.}
+%
+% One difference from the regular |\label| command is that there is an
+% optional argument (note with parentheses rather than square brackets)
+% that is only used with the \Lpack{hyperref} package to define the
+% {\em bookmark\/} argument to the label. Typically, this would be a
+% copy or paraphrase of the subcaption text. If this is not given and
+% the \Lpack{hyperref} package is being used, then the {\em bookmark\/}
+% argument is of the form ``Subfigure\textvisiblespace 1(a)''.
+%
+% \begin{macrocode}
+\newcommand*{\subfloat@label}{%
+ \@ifnextchar(
+ {\sf@sub@label}
+ {\sf@sub@label(Sub\@captype\space
+ \@ifundefined{thechapter}{}{%
+ \@nameuse{thechapter}\space}%
+ \@nameuse{p@sub\@captype}%
+ \@nameuse{thesub\@captype}.)}}
+% \end{macrocode}
+% \begin{macrocode}
+\let\sub@label\subfloat@label
+% \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+%
+% \newpage^finalhack
+%
+% \begin{macro}{\sf@sub@label}
+%
+% \changes{v2.1.4}{02 Jul 2002}{Moved \cmd{\relax} from the
+% \cmd{\sf@@sub@label} to here.}
+%
+% \changes{v2.1.1}{15 Mar 2002}{Added coordination with the hyperref
+% package.}
+%
+% The |\sf@sub@label| parses the optional argument and (if the
+% \Lpack{hyperref} Package is loaded) saves the {\em bookmark\/} text
+% as |\@currentlabelname|. It then calls the |\sf@@sub@label| command
+% to the real processing of the label.
+%
+% \begin{macrocode}
+\def\sf@sub@label(#1)#2{%
+ \ifhyperrefloaded
+ \protected@edef\@currentlabelname{%
+ \expandafter\strip@period #1\relax.\relax\@@@}%
+ \fi
+ \sf@@sub@label{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\sf@@sub@label}
+%
+% \changes{v2.1.4}{02 Jul 2002}{Moved \cmd{\relax} from here to the
+% \cmd{\sf@sub@label}.}
+%
+% \changes{v2.1.2}{26 Mar 2002}{Changed to simplify the operation and
+% to avoid a bug in the hyperref package.}
+%
+% \changes{v2.1.1}{15 Mar 2002}{Added coordination with the hyperref
+% package.}
+%
+% In order to support the \Lpack{hyperref} package we check if it was
+% loaded and use the proper form of the |\newlabel| command. |\sf@@sub@label|
+% operates by first calling the old |\label| definition (which adds a
+% |\newlabel| command to the \Lfile{*.aux} file) and then adds another
+% |\newlabel| command to the \Lfile{*.aux} file with a similar reference
+% name (with `sub@' prepended) and the value of |\@@thesubfigure| or
+% |\@@thesubtable|.
+%
+% If the |\ifhyperrefloaded| flag is set, then the |\newlabel| command
+% has three extra fields, the first is the value of |\@currentlabelname|,
+% which is either of the form ``Subfigure\textvisiblespace1(a)'' or
+% was defined by the optional argument to |\label| (actually
+% |\sub@label|). The second extra field is the hypertext anchor name
+% and the third is unused. Otherwise, the we us the standard |\newlabel|
+% form to write the sub-reference.
+%
+% \begin{macrocode}
+\newcommand*{\sf@@sub@label}[1]{%
+ \@bsphack
+ \subfig@oldlabel{#1}%
+ \ifhyperrefloaded
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}%
+ {\expandafter\strip@period\@currentlabelname\relax.\relax\@@@}%
+ {\@currentHref}%
+ {}}}%
+ \else
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}}}%
+ \fi
+ \@esphack}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \enlargethispage{24pt}^finalhack
+% \vspace{-10pt}^finalhack
+%
+% \begin{macro}{\subref}
+%
+% The |\subref| command is the same as the |\ref| command except that
+% |\@@thesubtable| instead of |\p@subfigure\thesubfigure| or
+% |\p@subtable\thesubtable|. This is often of use for local references
+% within the figure where the figure number may be assumed; or, for ease
+% in constructing a range of references within a figure with many
+% subfigures.
+%
+% \begin{macrocode}
+\newcommand\subref[1]{%
+ \ref{sub@#1}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\Subref}
+%
+% \changes{v2.1.2}{26 Mar 2002}{Changed \cmd{\subref*} to \cmd{\Subref} to
+% avoid problems in writing to the \Lfile{aux} file.}
+%
+% \changes{v2.1}{23 Jan 2002}{Added \cmd{\subref*} at the request of Benoit
+% Hudson (bhudson\@cs.cmu.edu).}
+%
+% The |\Subref| command is the same as |\subref|, except that it adds
+% |\subcaplabelfont| before the reference so that it uses the same font
+% (except that the current font size is maintained).
+%
+% \begin{macrocode}
+\newcommand\Subref[1]{%
+ {\subcaplabelfont
+ \ref{sub@#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+%
+\endinput
diff --git a/macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.ins b/macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.ins
new file mode 100644
index 0000000000..7fc286f190
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/hhsubfigure/hhsubfigure.ins
@@ -0,0 +1,77 @@
+%%
+%% This is file `hhsubfigure.ins', the installation file for the
+%% `hhsubfigure' package.
+%%
+%% Copyright (C) 2003 Harald Harders.
+%%
+%% This is a slightly modified version of the `subfigure' package by
+%% Steven Douglas Cochran. The origianl package can be downloaded from
+%% <ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfigure/>.
+%%
+%% The hhsubfigure package is free software; it may be distributed under
+%% the conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version. The latest
+%% version of this license is in:
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX version
+%% 1999/09/03 or later.
+%%
+%% The hhsubfigure package is distributed in the hope that it will be
+%% useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LaTeX
+%% Project Public License for more details.
+%%
+%% Please use the hhsubfigure package only in conjunction with the
+%% document class bgteubner.cls. Steven has announced a successor for
+%% this package that will make hhsubfigure unnecessary.
+%%
+\def\batchfile{hhsubfigure.ins}
+\input docstrip.tex
+
+\keepsilent
+\generateFile{ltxdoc.cfg}{t}{\from{hhsubfigure.dtx}{ltxdoc}}
+
+\preamble
+
+Copyright (C) 2003 Harald Harders.
+
+This is a slightly modified version of the `subfigure' package by
+Steven Douglas Cochran. The origianl package can be downloaded from
+<ftp://ftp.dante.de/tex-archive/macros/latex/contrib/subfigure/>.
+
+This file is NOT the source for hhsubfigure, because almost all comments
+have been stripped from it. It is NOT the preferred form of hhsubfigure
+for making modifications to it.
+
+Therefore you can NOT redistribute and/or modify THIS file. You can
+however redistribute the complete source (hhsubfigure.dtx and
+hhsubfigure.ins) and/or modify it under the terms of the LaTeX Project
+Public License, either version 1.2 of this license or (at your option)
+any later version. The latest version of this license is in:
+ http://www.latex-project.org/lppl.txt
+and version 1.2 or later is part of all distributions of LaTeX version
+1999/09/03 or later.
+
+The hhsubfigure package is distributed in the hope that it will be
+useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LaTeX
+Project Public License for more details.
+
+Please use the hhsubfigure package only in conjunction with the
+document class bgteubner.cls. Steven has announced a successor for
+this package that will make hhsubfigure unnecessary.
+
+\endpreamble
+\generateFile{hhsubfigure.sty}{t}{\from{hhsubfigure.dtx}{package}}
+
+\Msg{***********************************************************}
+\Msg{* To finish the installation you have to move the file}
+\Msg{* `hhsubfigure.sty' into a directory searched by TeX.}
+\Msg{*}
+\Msg{* To have the newer look-and-feel (but with different}
+\Msg{* spacing than the old version) move the file}
+\Msg{* `hhsubfigure.cfg' into a directory searched by TeX.}
+\Msg{*}
+\Msg{* To produce the documentation run the file `hhsubfigure.dtx'}
+\Msg{* through LaTeX.}
+\Msg{***********************************************************}
diff --git a/macros/latex/contrib/bgteubner/manifest.txt b/macros/latex/contrib/bgteubner/manifest.txt
new file mode 100644
index 0000000000..efd27bc142
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/manifest.txt
@@ -0,0 +1,93 @@
+This file contains the list of files that have to be distributed
+together with the bgteubner class bundle.
+
+If you have got a CD by the Teubner Verlag, you will get some
+additional files.
+
+LIESMICH
+README
+manifest.txt
+usefiles.txt
+doc/bgteubner-17x24-times.pdf
+doc/src/Makefile
+doc/src/anhang.tex
+doc/src/befehlsreferenz.tex
+doc/src/beispiel1.tex
+doc/src/bgteubner-17x24-cm.tex
+doc/src/bgteubner-17x24-mathtime.tex
+doc/src/bgteubner-17x24-times.tex
+doc/src/bgteubner-a5-cm.tex
+doc/src/bgteubner-a5-times.tex
+doc/src/bgteubner.tex
+doc/src/bilder.tex
+doc/src/bilder/01b.png
+doc/src/bilder/02b.png
+doc/src/bilder/bild4c.png
+doc/src/bilder/bild_ganz.eps
+doc/src/bilder/bild_ganz.fig
+doc/src/bilder/bild_ganz.pdf
+doc/src/bilder/bild_mitte.eps
+doc/src/bilder/bild_mitte.fig
+doc/src/bilder/bild_mitte.pdf
+doc/src/bilder/bild_oben.eps
+doc/src/bilder/bild_oben.fig
+doc/src/bilder/bild_oben.pdf
+doc/src/bilder/bild_oben_unten.eps
+doc/src/bilder/bild_oben_unten.fig
+doc/src/bilder/bild_oben_unten.pdf
+doc/src/bilder/bild_umflossen.eps
+doc/src/bilder/bild_umflossen.fig
+doc/src/bilder/bild_umflossen.pdf
+doc/src/bilder/bild_unten.eps
+doc/src/bilder/bild_unten.fig
+doc/src/bilder/bild_unten.pdf
+doc/src/bilder/bild_zu_lang.eps
+doc/src/bilder/bild_zu_lang.fig
+doc/src/bilder/bild_zu_lang.pdf
+doc/src/bilder/bild_zu_lang2.eps
+doc/src/bilder/bild_zu_lang2.fig
+doc/src/bilder/bild_zu_lang2.pdf
+doc/src/bilder/seiten/umbruch1.pdf
+doc/src/bilder/seiten/umbruch1.tex
+doc/src/bilder/seiten/umbruch1a.pdf
+doc/src/bilder/seiten/umbruch1a.tex
+doc/src/bilder/seiten/umbruch2.pdf
+doc/src/bilder/seiten/umbruch2.tex
+doc/src/bilder/seiten/umbruch2a.pdf
+doc/src/bilder/seiten/umbruch2a.tex
+doc/src/bilder/seiten/umbruch3.pdf
+doc/src/bilder/seiten/umbruch3.tex
+doc/src/bilder/seiten/umbruch3a.pdf
+doc/src/bilder/seiten/umbruch3a.tex
+doc/src/bilder/times-ja2.png
+doc/src/bilder/times-nein2.png
+doc/src/checkliste.tex
+doc/src/einleitung.tex
+doc/src/formelzeichen.tex
+doc/src/globales.tex
+doc/src/hyphenation.tex
+doc/src/index.tex
+doc/src/installation.tex
+doc/src/kapitel2.tex
+doc/src/literatur.bib
+doc/src/literatur.tex
+doc/src/optionen-advanced.tex
+doc/src/testtimes.tex
+doc/src/tex_aufruf.tex
+doc/src/tex_bilder.tex
+doc/src/tex_globales.tex
+doc/src/tex_textelemente.tex
+doc/src/tex_typographie.tex
+doc/src/tex_verzeichnisse.tex
+doc/src/textelemente.tex
+doc/src/verzeichnisse.tex
+doc/src/vorwort.tex
+hhsubfigure/Makefile
+hhsubfigure/README
+hhsubfigure/hhsubfigure.dtx
+hhsubfigure/hhsubfigure.ins
+source/ChangeLog
+source/Makefile
+source/bgteucls.dtx
+source/bgteucls.ins
+source/ptmxcomp.sty
diff --git a/macros/latex/contrib/bgteubner/source/ChangeLog b/macros/latex/contrib/bgteubner/source/ChangeLog
new file mode 100644
index 0000000000..beed690436
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/ChangeLog
@@ -0,0 +1,172 @@
+2015/05/17 v2.11 Harald Harders (harald.harders@gmx.de)
+- Make sure that \LaTeX\ also compiles if recent changes in scrbook are
+ present.
+- Remove \ifpdfoutput before loading pdfcprot.sty
+
+2015/05/15 v2.10 Harald Harders (harald.harders@gmx.de)
+- Adapt class to support hyperref and imakeidx
+- Fix PDF string issue if hyperref is loaded
+- Adapt class to current scrbook version
+- Fix bug in title page which made footnotes to disappear
+
+2012/04/07 v2.02 Harald Harders (harald.harders@gmx.de)
+- Adapted to Springer Vieweg Verlag
+
+2011/12/29 v2.01 Harald Harders (harald.harders@gmx.de)
+- Only define \subtitle if not present already
+- Fix later redefinition of \d for usage in math mode
+- Added macro \emphindex for important index entryies
+
+2008/05/04 v2.00 Harald Harders (harald.harders@gmx.de)
+- Adapted to Vieweg+Teubner Verlag
+
+2008/04/27 v1.40 Harald Harders (harald.harders@gmx.de)
+- Adapted \signature for multiline texts
+
+2008/04/15 v1.39 Harald Harders (harald.harders@gmx.de)
+- Indentation after the preface title fixed
+
+2006/04/20 v1.38 Harald Harders (harald.harders@gmx.de)
+- Bug in BibTeX styles (format.crossref.editor) fixed
+
+2005/10/31 v1.37 Harald Harders (h.harders@tu-bs.de)
+- Typeset abbreviated forenames with small space between them.
+- Add new BiBTeX style with abbreviated forenames and long keywords.
+
+2005/10/28 v1.36 Harald Harders (h.harders@tu-bs.de)
+- Fix bug using crossref with books in biliography.
+- Fix sorting problem in the biliography.
+- Introduce \btxlastname for formatting lastnames.
+
+2005/04/16 v1.35 Harald Harders (h.harders@tu-bs.de)
+- Allow to number \paragraph and \subparagraph.
+
+2005/01/07 v1.34 Harald Harders (h.harders@tu-bs.de)
+- Remove wasysym integrals before amsmath is loaded.
+
+2004/11/19 v1.33 Harald Harders (h.harders@tu-bs.de)
+- Avoid to use the calc package since it causes problems with many
+ other packages.
+
+2004/08/19 v1.32 Harald Harders (h.harders@tu-bs.de)
+- Move \ifhhcls@times outside definition of \appendixmore.
+- Remove \rmfamily from pagehead since \normalfont does that already.
+
+2004/05/09 v1.31 Harald Harders (h.harders@tu-bs.de)
+- Minor buxfix for titlepage.
+- Do not compile cdcover if cd-cover.sty is not available.
+- Fix documentation of \pdfoutput=0.
+
+2004/04/09 v1.30 Harald Harders (h.harders@tu-bs.de)
+- Set PDF information only if PDF is produced.
+- Write info file containing the same information as the PDF-info entries.
+- Ignore class option `epsfigures'.
+- Enable usage of \includegraphics with DVI output.
+- Print error message when using ordinary latex (Use pdflatex with
+ \pdfoutput=0 for producing DVI).
+- Redefine quotation marks to allow math mode and kerning.
+- Use bold instead of bold extended with Times.
+- Error rather than a warning for using not existing bold math.
+- answer environment: Remove \begingroup and \endgroup because they
+ removed the correct linespacing.
+- Make font in exercises adjustable.
+- Improve spacing after title of theorem-like environment, subexercises,
+ and subanswers.
+- Subanswers can have another linespacing than answers.
+- Start prefaces on odd and even pages.
+- Change from LPPL 1.2 to LPPL 1.3.
+
+2004/03/25 v1.21 Harald Harders (h.harders@tu-bs.de)
+- Better top skip for important and longimportant when starting with
+ a theorem-like environment. Unfortunately, this does not work with
+ equations.
+- Use correct framed.sty style if available, otherwise use workaround.
+ (At the moment, only an inoffical framed.sty version is available that
+ does not have the bug.)
+
+2004/03/07 v1.20 Harald Harders (h.harders@tu-bs.de)
+- Enable use of the MathTime and MathTimePlus fonts if available (package
+ option "mathtime").
+- Bugfix: the mathcomp symbols (e.g., \tccelsius, \tcohm, \tcperthousand)
+ now use the correct fonts.
+- With Times, many textcomp symbols are not available. Define substitutions
+ (sometimes with minor quality, then with a warning). This is done by the
+ package ptmxcomp.sty which someday may be available seperately.
+- Bugfix: Avoid page break after title in theorem-like environments,
+ exercises, and answers.
+- Warnings when using \oldstylenums.
+- The titlepage now only types out how many figures, tables, and exercises
+ are used, if they really are used.
+- Bugfix: The adjustment of many margins inside the important(*) and
+ longimportant environments is fixed again.
+- Bugfix: Workaround for bug in framed.sty which caused a wrong margin
+ if only a theorem was inside longimportant.
+- New environment longimportant* as important*.
+
+2003/12/17 v1.14 Harald Harders (h.harders@tu-bs.de)
+- Avoid usage of \bgteubnerfileversion and \bgteubnerfiledate.
+- New command \GetFileInfo (from url.sty).
+- New abbreviated Bib styles (bgteuabbr.bst and bgteuabbr2.bst).
+
+2003/12/16 v1.13 Harald Harders (h.harders@tu-bs.de)
+- Second Bib style with different name format (bgteupln2.bst).
+- Use variable margins for theorem-like environments.
+- Make delimiter for theorems configurable.
+- Avoid negative margins of theorems grey boxes.
+- Reduce margins of advanced and exercises in grey boxes.
+
+2003/11/13 v1.12 Harald Harders (h.harders@tu-bs.de)
+- Problem with float.sty solved.
+- Lists for new floats get the same layout as other lists.
+- Redeclare captions of user-defined floats when using float.sty.
+
+2003/10/30 v1.10 Harald Harders (h.harders@tu-bs.de)
+- Add proof environment.
+- Smaller indentation for quote, quotation, example, etc.
+- Spacing around important(*) and theorem-like environments improved.
+- Limits for integrals below and above the sign in displayed equations.
+- Command \qed for proofs introduced.
+- Font size in theorem-like environments adjustable (global switch,
+ default is normalsize, now).
+- Line break in ISBN prohibited.
+- Use the same format for ISSN and ISBN.
+- Class option `layoutraster' removed.
+
+2003/10/15 v1.07 Harald Harders (h.harders@tu-bs.de)
+- Copyright changed to LPPL.
+- Extended German LIESMICH file and new English README file.
+- Distribution prepared for upload to CTAN (thus changed language in
+ ChangeLog to English).
+- hhsubfigure package included.
+
+2003/10/12 v1.06 Harald Harders (h.harders@tu-bs.de)
+- Paket hfoldsty statt hfo laden.
+- Paket ginpenc statt hhinputenc laden.
+- Befehl \tensor in \tens umbenannt.
+
+2003/09/25 v1.05 Harald Harders (h.harders@tu-bs.de)
+- Auch ältere subfloat-Versionen erlaubt, die Unterschiede sind nur
+ marginal.
+
+2003/09/23 v1.04 Harald Harders (h.harders@tu-bs.de)
+- CD-Hülle in die Hauptdistribution aufgenommen.
+- Rücksetzen der Schreibmaschinenschrift auf Original cmtt nicht mehr
+ nötig.
+
+2003/09/18 v1.03 Harald Harders (h.harders@tu-bs.de)
+- ifthen-Paket explizit laden.
+- Times hat keine kursiven Kapitälchen, daher slantsc.sty dann nicht
+ laden.
+
+2003/09/17 v1.02 Harald Harders (h.harders@tu-bs.de)
+- In allen englischen Dialekten \frenchspacing verwenden.
+- \normalfont in Bildunterschriften und Fußnoten aufrufen.
+
+2003/09/16 v1.01 Harald Harders (h.harders@tu-bs.de)
+- Befehl \acro für European Computer Modern serifenlos sowie kursive
+ Schreibmaschinenschrift mit \textsmaller statt \textsc.
+- Römische Seitenzahlen (\frontmatter) für European Computer Modern in
+ Kapitälchen statt Versalien.
+
+2003/09/16 v1.00 Harald Harders (h.harders@tu-bs.de)
+- Erste offizielle Version, an den Teubner Verlag geliefert.
diff --git a/macros/latex/contrib/bgteubner/source/Makefile b/macros/latex/contrib/bgteubner/source/Makefile
new file mode 100644
index 0000000000..ca8c1400ee
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/Makefile
@@ -0,0 +1,139 @@
+## bgteubner class bundle
+##
+## Makefile
+## Copyright 2003--2017 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.
+
+SRCDIR=bgteubner
+INSTALLDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/tex/latex/bgteubner
+PTMXCOMPDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/tex/latex/ptmxcomp
+DOCDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/doc/latex/bgteubner
+IDXDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/makeindex/bgteubner
+BSTDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/bibtex/bst/bgteubner
+VERSION=`latex getversion | grep '^VERSION' | sed 's/^VERSION \\(.*\\)\\.\\(.*\\)/\\1_\\2/'`
+
+.SUFFIXES: .sty .ins .dtx .dvi .ps .pdf .cls .bst .ist
+
+.ins.cls:
+ latex $<
+
+.dtx.pdf:
+ pdflatex $<
+ pdflatex $<
+ makeindex -s gind.ist $(*D)/$(*F)
+ makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo
+ pdflatex $<
+ cp $(*D)/$(*F).pdf ../doc/
+
+.dvi.ps:
+ dvips -o $(*D)/$(*F).ps $(*D)/$(*F)
+
+
+all: bgteubner.cls bgteucls.pdf cdcover.pdf
+
+bgteubner.cls: bgteucls.ins bgteucls.dtx
+ latex bgteucls.ins
+
+bgteucls.pdf: bgteucls.dtx bgteucls.ins
+
+cdcover.pdf: cdcover.tex
+ @if [ "`kpsewhich cd-cover.sty`" ]; then pdflatex cdcover; fi
+
+clean:
+ @-rm -f bgteucls.glo bgteucls.gls bgteucls.idx bgteucls.ilg
+ @-rm -f bgteucls.ind bgteucls.aux bgteucls.log bgteucls.toc
+ @-rm -f bgteucls.dvi getversion.log
+ @-rm -f *~
+
+distclean: clean
+ @-rm -f bgteucls.pdf
+ @-rm -f bgteubner.cls bgteubner.ist bgteuversion.tex
+ @-rm -f bgteuglo.ist bgteuglochar.ist bgteu*.bst
+ @-rm -f cdcover.aux cdcover.log cdcover.tex cdcover.pdf
+
+tar: all clean
+ if [ ! -f "../bgteubner" ]; then (cd .. ; ln -s source bgteubner ); fi
+ echo Generate bgteubner-$(VERSION).tar.gz
+ -rm -f bgteubner-$(VERSION).tar.gz
+ tar czCf .. bgteubner-$(VERSION).tar.gz \
+ $(SRCDIR)/Makefile \
+ $(SRCDIR)/bgteucls.dtx \
+ $(SRCDIR)/bgteucls.ins \
+ $(SRCDIR)/ptmxcomp.sty \
+ $(SRCDIR)/ChangeLog \
+ $(SRCDIR)/getversion.tex
+ rm -f getversion.log ../bgteubner
+
+install: all
+ if [ ! -d $(INSTALLDIR) ]; then mkdirhier $(INSTALLDIR); fi
+ if [ ! -d $(PTMXCOMPDIR) ]; then mkdirhier $(PTMXCOMPDIR); fi
+ if [ ! -d $(DOCDIR) ]; then mkdirhier $(DOCDIR); fi
+ if [ ! -d $(IDXDIR) ]; then mkdirhier $(IDXDIR); fi
+ if [ ! -d $(BSTDIR) ]; then mkdirhier $(BSTDIR); fi
+ install -m644 bgteubner.cls $(INSTALLDIR)
+ install -m644 ptmxcomp.sty $(PTMXCOMPDIR)
+ install -m644 bgteucls.pdf $(DOCDIR)
+ install -m644 ../doc/bgteubner-17x24-mathtime.pdf $(DOCDIR)/bgteubner.pdf
+ install -m644 bgteubner.ist $(IDXDIR)
+ install -m644 bgteuglo.ist $(IDXDIR)
+ install -m644 bgteuglochar.ist $(IDXDIR)
+ install -m644 bgteu*.bst $(BSTDIR)
+ texhash
+
+tds: all
+ -@rm -f bgteubner-$(VERSION)-tds.zip
+ -@rm -f ../pakete/bgteubner-v*-tds.zip
+ mkdirhier tex/latex/bgteubner
+ mkdirhier tex/latex/ptmxcomp
+ mkdirhier makeindex/bgteubner
+ mkdirhier bibtex/bst/bgteubner
+ mkdirhier doc/latex/bgteubner
+ mkdirhier source/latex/bgteubner
+ cp bgteubner.cls tex/latex/bgteubner/
+ cp ptmxcomp.sty tex/latex/ptmxcomp/
+ cp bgteubner.ist bgteuglo.ist bgteuglochar.ist makeindex/bgteubner/
+ cp bgteu*.bst bibtex/bst/bgteubner/
+ cp bgteucls.pdf ChangeLog doc/latex/bgteubner/
+ cp ../doc/bgteubner-17x24-cm.pdf doc/latex/bgteubner/bgteubner-cm.pdf
+ cp ../doc/bgteubner-17x24-mathtime.pdf doc/latex/bgteubner/bgteubner.pdf
+ cp Makefile bgteucls.ins bgteucls.dtx getversion.tex source/latex/bgteubner/
+ zip -r bgteubner-$(VERSION)-tds.zip tex makeindex bibtex doc source
+ rm -rf tex makeindex bibtex doc source
+ cp bgteubner-$(VERSION)-tds.zip ../pakete
+ rm -f getversion.log
+
+ctan: all
+ -@rm -f bgteubner-$(VERSION)-ctan.zip
+# -@rm -f ../pakete/bgteubner-v*-ctan.zip
+ mkdir bgteubner
+ mkdir bgteubner/source
+ mkdir bgteubner/hhsubfigure
+ mkdir bgteubner/doc
+ mkdir bgteubner/doc/mathtime
+ mkdir bgteubner/doc/src
+ mkdir bgteubner/doc/src/bilder
+ mkdir bgteubner/doc/src/bilder/seiten
+ cp ../LIESMICH ../README ../ToDo ../manifest.txt ../usefiles.txt bgteubner/
+ cp ChangeLog Makefile bgteucls.dtx bgteucls.ins getversion.tex bgteubner/source/
+ cp ptmxcomp.sty testquick.tex bgteubner/source/
+ cp ../hhsubfigure/hhsubfigure.dtx ../hhsubfigure/hhsubfigure.ins bgteubner/hhsubfigure/
+ cp ../hhsubfigure/README ../hhsubfigure/Makefile bgteubner/hhsubfigure/
+ cp ../doc/bgteubner-17x24-mathtime.pdf bgteubner/doc/bgteubner.pdf
+ cp ../doc/bgteubner-17x24-cm.pdf bgteubner/doc/bgteubner-cm.pdf
+ cp bgteucls.pdf bgteubner/doc/
+ cp ../doc/src/*.tex ../doc/src/*.sty ../doc/src/*.bib ../doc/src/Makefile bgteubner/doc/src/
+ cp ../doc/src/bilder/*.* bgteubner/doc/src/bilder/
+ cp ../doc/src/bilder/seiten/* bgteubner/doc/src/bilder/seiten/
+ cp ../doc/mathtime/*.tex ../doc/mathtime/*.pdf bgteubner/doc/mathtime/
+ zip -r bgteubner-$(VERSION)-ctan.zip bgteubner
+ rm -rf bgteubner
+ rm -f getversion.log
diff --git a/macros/latex/contrib/bgteubner/source/bgteucls.dtx b/macros/latex/contrib/bgteubner/source/bgteucls.dtx
new file mode 100644
index 0000000000..eb4e28defb
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/bgteucls.dtx
@@ -0,0 +1,7004 @@
+% \iffalse meta comment
+%
+% bgteubner class bundle
+%
+% bgteucls.dtx
+% Copyright 2003--2015 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.
+%
+% Additional conditions to the license:
+%
+% If you modify a renamed copy of the files `bgteubner.cls' or
+% `bgteucls.dtx', you have to preserve some information in the
+% PDF /Creator entry. The following data have to remain:
+% - The name `bgteubner.cls',
+% - a hint that this class has been developed for the `Springer
+% Vieweg Verlag, Wiesbaden, Germany (now Springer Vieweg Verlag)'.
+%
+% This program consists of all files listed in manifest.txt.
+%
+% \section{Gemeinsame Daten}
+%
+% \begin{macrocode}
+%<class>\NeedsTeXFormat{LaTeX2e}
+%<class>\ProvidesClass{bgteubner}
+%<version>\ProvidesFile{bgteuversion.tex}
+%<cdcover>\ProvidesFile{cdcover.tex}
+%<driver>\ProvidesFile{bgteucls.dtx}
+%<class|version|cdcover|driver> [2015/05/17 v2.11 Springer Vieweg Verlag]
+% \end{macrocode}
+%
+%<*driver>
+\documentclass[english,ngerman,a4paper]{ltxdoc}
+\usepackage{babel}
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage{numprint}
+\usepackage[num]{isodate}
+\usepackage{longtable}
+\newlength{\tempdima}%
+\makeatletter
+\renewenvironment{table}[1][]{%
+ \@float{table}[#1]%
+ \centering%
+ \setlength{\tempdima}{\abovecaptionskip}%
+ \setlength{\abovecaptionskip}{\belowcaptionskip}%
+ \setlength{\belowcaptionskip}{\tempdima}%
+ }{%
+\end@float
+}
+\makeatother
+\EnableCrossrefs
+\CodelineIndex
+\DoNotIndex{\',\.,\@M,\@@input,\@Alph,\@alph,\@addtoreset,\@arabic}
+\DoNotIndex{\@badmath,\@centercr,\@cite}
+\DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue}
+\DoNotIndex{\@input,\@ixpt,\@m,\@minus,\@mkboth}
+\DoNotIndex{\@ne,\@nil,\@nomath,\@plus,\roman,\@set@topoint}
+\DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
+\DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
+\DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
+\DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace}
+\DoNotIndex{\advance,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
+\DoNotIndex{\bullet,\MessageBreak}
+\DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption}
+\DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass}
+\DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist}
+\DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
+\DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter}
+\DoNotIndex{\fbox,\csname,\endcsname,\def,\edef,\empty,\ ,\@tempa}
+\DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef}
+\DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
+\DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi}
+\DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi}
+\DoNotIndex{\input,\@tempb,\n}
+\DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark}
+\DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright}
+\DoNotIndex{\month,\newcommand,\newcounter,\newenvironment}
+\DoNotIndex{\NeedsTeXFormat,\newdimen}
+\DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number}
+\DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@}
+\DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip}
+\DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
+\DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
+\DoNotIndex{\refstepcounter,\relax,\renewcommand}
+\DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily}
+\DoNotIndex{\secdef,\selectfont,\setbox,\setcounter,\setlength}
+\DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space}
+\DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase}
+\DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt}
+\DoNotIndex{\viipt,\vipt,\vskip,\vspace}
+\DoNotIndex{\wd,\xiipt,\year,\z@}
+\DoNotIndex{\string,\",\def,\newcommand,\renewcommand,\DeclareRobustCommand}
+\DoNotIndex{\DeclareMathOperator,\multiput,\put,\value,\thispagestyle}
+\DoNotIndex{\tiny,\footnotesize,\small,\normalfont,\large,\Large,\LARGE}
+\DoNotIndex{\huge,\Huge,\RequirePackageWithOptions,\write}
+\DoNotIndex{\textheight,\textwidth}
+\CodelineNumbered
+\RecordChanges
+\CheckSum{4924}
+\input{bgteuversion}
+\GetFileInfo{bgteuversion.tex}
+\begin{document}
+ \title{Die \texttt{bgteubner}"=Dokumentklasse\thanks{Diese Datei hat die
+ Versionsnummer \fileversion\ mit der letzten Änderung am
+ \filedate.}}
+ \author{Harald Harders\\\texttt{harald.harders@gmx.de}}
+ \date{Dateidatum \filedate, übersetzt am \today}
+ \DocInput{bgteucls.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \maketitle
+% \begin{abstract}
+% \noindent
+% Diese Dokumentklasse bietet die notwendige Umgebung für Bücher des
+% Springer Vieweg Verlags (vormals Vieweg+Teubner Verlags bzw. B.\,G.\
+% Teubner Verlag).
+% Ihre Verwendung wird in einem gesonderten Dokument, das unter den
+% Namen \verb|bgteubner.pdf| bzw.\
+% \verb|bgteubner-cm.pdf| verfügbar ist, beschrieben.
+% Hier wird nur die Implementierung erläutert.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section*{Copyright (in der englischen Originalformulierung)}
+%
+% Copyright 2003--2015 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
+% \begin{verbatim}
+%http://www.latex-project.org/lppl.txt\end{verbatim}
+% and version~1.3 or later is part of all distributions of \LaTeX\
+% version 1999/12/01 or later.
+%
+% Additional conditions to the license:
+%
+% If you modify a renamed copy of the files ``|bgteubner.cls|'' or
+% ``|bgteucls.dtx|'', you have to preserve some information in the
+% PDF |/Creator| entry. The following data have to remain:
+% \begin{itemize}
+% \item The name ``|bgteubner.cls|'',
+% \item a hint that this class has been developed for the ``Springer
+% Vieweg Verlag, Wiesbaden, Germany''.
+% \end{itemize}
+%
+% This program consists of all files listed in |manifest.txt|.
+%
+% \StopEventually{\PrintChanges \PrintIndex}
+%
+% \changes{2.11}{2015/05/17}{Make sure that \LaTeX\ also compiles if
+% recent changes in scrbook are present.}%
+% \changes{2.10}{2015/05/15}{Adapt class to support hyperref and imakeidx}%
+% \changes{2.10}{2015/05/15}{Fix PDF string issue if hyperref is loaded}%
+% \changes{2.10}{2015/05/15}{Adapt class to current scrbook version}%
+% \changes{2.10}{2015/05/15}{Fix bug in title page which made footnotes to
+% disappear}%
+% \changes{2.02}{2012/04/07}{Use autolanguage feature of numprint.sty}%
+% \changes{2.02}{2012/04/07}{Adapted to Springer Vieweg Verlag}%
+% \changes{2.01}{2011/12/29}{Added macro \cs{emphindex} for important index
+% entryies}%
+% \changes{2.00}{2008/05/04}{Adapted to Vieweg+Teubner Verlag}%
+% \changes{1.40}{2008/04/27}{Adapted \cs{signature} for multiline texts}%
+% \changes{1.39}{2008/04/15}{Indentation after the preface title fixed}%
+% \changes{1.38}{2006/04/20}{Bug in Bib\TeX\ styles
+% (format.crossref.editor) fixed}%
+% \changes{1.37}{2005/10/31}{Typeset abbreviated forenames with small
+% space between them}%
+% \changes{1.37}{2005/10/31}{Add new BiB\TeX\ style with abbreviated
+% forenames and long keywords}%
+% \changes{1.36}{2005/10/28}{Fix bug using crossref with books in
+% biliography}%
+% \changes{1.36}{2005/10/28}{Fix sorting problem in the biliography}%
+% \changes{1.36}{2005/10/28}{Introduce \cs{btxlastname} for formatting
+% lastnames}%
+% \changes{1.35}{2005/04/16}{Allow to number \cs{paragraph} and
+% \cs{subparagraph}}%
+% \changes{1.33}{2004/11/19}{Avoiod to use the \texttt{calc} package
+% since it causes problems with many other packages}%
+% \changes{1.14}{2003/12/17}{Avoid usage of \cs{bgteubnerfileversion}
+% and \cs{bgteubnerfiledate}}%
+% \changes{1.10}{2003/10/30}{Einige Meldungen in englisch}%
+% \changes{1.10}{2003/10/30}{Alle eingerückten Umgebungen mit
+% geringerem Einzug}%
+%
+% \section{Bekannte Probleme}
+%
+% \begin{itemize}
+% \item Vertikal spacings in |important|, |important*|,
+% |longimportant|, and |longimportant*| environments is not
+% optimal. When using environments as |align|, |example|,
+% |subexercise| at the begin or end of the environment, unwanted,
+% additional space is added. I don't know how to solve this
+% problem.
+% \end{itemize}
+%
+% \section{Dateikopf}
+%
+% \begin{macrocode}
+%<*class>
+\typeout{^^J^^JDokumentklasse zum Erstellen von Buechern fuer den
+ Springer Vieweg Verlag, Wiesbaden}%
+\typeout{(vormals Vieweg+Teubner Verlag, B. G. Teubner Verlag).}%
+\typeout{Erstellt im Auftrag des B. G. Teubner Verlags von}%
+\typeout{Harald Harders (harald.harders@gmx.de).^^J}%
+\typeout{Beachten Sie die Dokumentation in den unterschiedlichen
+ Versionen:}%
+\typeout{\space\space bgteubner.pdf (Times, 17cm x 24cm)}%
+\typeout{\space\space
+ bgteubner-cm.pdf (European Computer Modern, 17cm x 24cm).}%
+\typeout{^^JDocument class to produce books for the Springer Vieweg
+ Verlag, Wiesbaden, Germany}%
+\typeout{(formerly Vieweg+Teubner Verlag, B. G. Teubner Verlag).}%
+\typeout{Made by Harald Harders (harald.harders@gmx.de).}%
+\typeout{Documentation is available in German only.^^J^^J}%
+% \end{macrocode}
+%
+% \section{Fehler statt Warnung bei alten Paketen}
+%
+% Weil fast alle Nutzer Warnungen nicht beachten, soll bei alten
+% Paketen ein Fehler statt einer Warnung ausgegeben werden.
+% Diese Warnung wird im Befehl \cs{@onefilewithoptions} erzeugt.
+% Bei Paketen, die der Autor selbst lädt, soll wieder nur eine Warnung
+% erzeugt werden.
+%
+% \begin{macro}{\@onefilewithoptions}
+% Den Originalbefehl sichern und am Ende der Klasse wieder
+% restaurieren.
+% \begin{macrocode}
+\newcommand\hhcls@onefilewithoptions{}
+\let\hhcls@onefilewithoptions\@onefilewithoptions
+\AtEndOfClass{\let\@onefilewithoptions\hhcls@onefilewithoptions}
+% \end{macrocode}
+% Die Definition von \cs{@onefilewithoptions} aus |latex.ltx|, nur mit
+% einem Fehler statt einer Warnung.
+% \begin{macrocode}
+\def\@onefilewithoptions#1[#2][#3]#4{%
+ \@pushfilename
+ \xdef\@currname{#1}%
+ \global\let\@currext#4%
+ \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
+ \let\CurrentOption\@empty
+ \@reset@ptions
+ \makeatletter
+ \def\reserved@a{%
+ \@ifl@aded\@currext{#1}%
+ {\@if@ptions\@currext{#1}{#2}{}%
+ {\@latex@error
+ {Option clash for \@cls@pkg\space #1}%
+ {The package #1 has already been loaded
+ with options:\MessageBreak
+ \space\space[\@ptionlist{#1.\@currext}]\MessageBreak
+ There has now been an attempt to load it
+ with options\MessageBreak
+ \space\space[#2]\MessageBreak
+ Adding the global options:\MessageBreak
+ \space\space
+ \@ptionlist{#1.\@currext},#2\MessageBreak
+ to your \noexpand\documentclass declaration may fix this.%
+ \MessageBreak
+ Try typing \space <return> \space to proceed.}}}%
+ {\@pass@ptions\@currext{#2}{#1}%
+ \global\expandafter
+ \let\csname ver@\@currname.\@currext\endcsname\@empty
+ \InputIfFileExists
+ {\@currname.\@currext}%
+ {}%
+ {\@missingfileerror\@currname\@currext}%
+ \let\@unprocessedoptions\@@unprocessedoptions
+ \csname\@currname.\@currext-h@@k\endcsname
+ \expandafter\let\csname\@currname.\@currext-h@@k\endcsname
+ \@undefined
+ \@unprocessedoptions}
+ \@ifl@ter\@currext{#1}{#3}{}%
+ {\@latex@error
+ {You have requested,\on@line,
+ version\MessageBreak
+ `#3' of \@cls@pkg\space #1,\MessageBreak
+ but only version\MessageBreak
+ `\csname ver@#1.\@currext\endcsname'\MessageBreak
+ is available}{%
+ The bgteubner class is more restrictive with old packages than^^J%
+ standard LaTeX. Please update the specified package. New^^J%
+ packages may be downloaded from CTAN, e.g., ftp://ftp.dante.de.}}%
+ \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
+ \@popfilename
+ \@reset@ptions}%
+ \reserved@a}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Global festgelegte Klassenoptionen}
+%
+% Weiterreichen der notwendigen Optionen an die Dokumentklasse
+% |scrbook|, die als Basis für die |bgteubner|"=Klasse dient.
+%
+% Einstellen der Größen für Kapitel"= und Abschnittsüberschriften:
+% \begin{macrocode}
+\PassOptionsToClass{headings=small}{scrbook}
+% \end{macrocode}
+% Literaturverzeichnis, Stichwortverzeichnis, Abbildungs"= und
+% Tabellenverzeichnis erscheinen im Inhaltsverzeichnis:
+% \begin{macrocode}
+\PassOptionsToClass{bibliography=totoc,index=totoc,listof=totoc}{scrbook}
+% \end{macrocode}
+% Formeln linksbündig mit Einzug:
+% \begin{macrocode}
+\PassOptionsToClass{fleqn}{scrbook}
+\PassOptionsToPackage{fleqn}{amsmath}
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{Integralgrenzen ober- und unterhalb des
+% Symbols}%
+% Grenzen an Integralen in abgesetzten Formeln ober- und unterhalb des
+% Symbols.
+% \begin{macrocode}
+\PassOptionsToPackage{intlimits}{amsmath}
+% \end{macrocode}
+% Kapitel"= und Abschnittsnummern ohne Punkt am Ende:
+% \begin{macrocode}
+\PassOptionsToClass{numbers=noenddot}{scrbook}
+% \end{macrocode}
+% Leere Seiten sollen ganz leer sein, auch keine Seitenzahl:
+% \begin{macrocode}
+\PassOptionsToClass{cleardoublepage=empty}{scrbook}
+% \end{macrocode}
+% Keine Linie unter dem Kolumnentitel:
+% \begin{macrocode}
+\PassOptionsToClass{headsepline=false}{scrbook}
+% \end{macrocode}
+% Kein Präfix vor Kapitelnummern im Anhang:
+% \begin{macrocode}
+\PassOptionsToClass{appendixprefix=false}{scrbook}
+% \end{macrocode}
+% Tabellen erhalten Über"= anstatt Unterschriften:
+% \begin{macrocode}
+\PassOptionsToClass{captions=tableheading}{scrbook}
+% \end{macrocode}
+% Optionen an Typearea weiterreichen. Kolumnentitel ist in Satzspiegel
+% enthalten.
+% \begin{macrocode}
+\PassOptionsToPackage{pagesize,headinclude}{typearea}
+% \end{macrocode}
+%
+% \section{Optionale Parameter beim Aufruf der \texttt{bgteubner}"=Klasse}
+%
+% Definition von möglichen Optionen, die vom Benutzer angegeben werden
+% können.
+%
+% \subsection{Globale Einstellungen des Buchlayouts}
+%
+% Wahl der Seitengröße:
+% \begin{macrocode}
+\newif\ifhhcls@dinafuenf
+\DeclareOption{a5paper}{\hhcls@dinafuenftrue}
+\DeclareOption{a5}{\hhcls@dinafuenftrue}
+\DeclareOption{17x24paper}{\hhcls@dinafuenffalse}
+\DeclareOption{17x24}{\hhcls@dinafuenffalse}
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Allow Y\,\&\,Y MathTime to be used}%
+% Schriftfamilie wählen:
+% \begin{macrocode}
+\newif\ifhhcls@times
+\newif\ifhhcls@mathtime
+\DeclareOption{times}{\hhcls@timestrue}
+\DeclareOption{mathtime}{\hhcls@timestrue\hhcls@mathtimetrue}
+\DeclareOption{cm}{\hhcls@timesfalse}
+% \end{macrocode}
+% Kolumnentitel außen oder innen auf den Seiten?
+% \begin{macrocode}
+\newif\ifhhcls@headingoutside
+\DeclareOption{headingoutside}{\hhcls@headingoutsidetrue}
+\DeclareOption{headinginside}{\hhcls@headingoutsidefalse}
+% \end{macrocode}
+% Inhaltsverzeichnis einrücken?
+% \begin{macrocode}
+\newif\ifhhcls@tocindent
+\DeclareOption{tocindent}{\hhcls@tocindenttrue}
+\DeclareOption{tocleft}{\hhcls@tocindentfalse}
+% \end{macrocode}
+% Vektoren normal, fett oder unterstrichen?
+% \begin{macrocode}
+\DeclareOption{arrowvec}{\PassOptionsToPackage{arrow}{hhtensor}}
+\DeclareOption{boldvec}{\PassOptionsToPackage{bold}{hhtensor}}
+\DeclareOption{ulinevec}{\PassOptionsToPackage{uline}{hhtensor}}
+% \end{macrocode}
+% Soll es grau hinterlegte Boxen für wichtige Formeln geben?
+% \begin{macrocode}
+\newif\ifhhcls@greybox
+\DeclareOption{greybox}{\hhcls@greyboxtrue}
+\DeclareOption{graybox}{\hhcls@greyboxtrue}
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{Schriftgröße in theoremartigen Umgebungen
+% einstellbar}%
+% Schriftgröße in theoremartigen Umgebungen:
+% \begin{macrocode}
+\newif\ifhhcls@theoremsmall
+\DeclareOption{smalltheorem}{\hhcls@theoremsmalltrue}
+\DeclareOption{normaltheorem}{\hhcls@theoremsmallfalse}
+% \end{macrocode}
+%
+% \subsection{Entwurfsstadium}
+%
+% \changes{1.10}{2003/10/30}{Layoutraster entfernt}%
+% Angabe des Übersetzungsdatums in der Fußzeile und Markierung von
+% überfüllten Zeilen für Entwurfskontrollen:
+% \begin{macrocode}
+\newif\ifhhcls@entwurf
+\newif\ifhhcls@titlepage
+\DeclareOption{draft}{\hhcls@entwurftrue\hhcls@titlepagetrue}
+\DeclareOption{titlepage}{\hhcls@titlepagetrue}
+% \end{macrocode}
+% \changes{1.30}{2004/04/10}{Ignore class option `epsfigures'}%
+% The option |epsfigures| that enabled to include eps figures for dvi
+% output is not necessary anymore.
+% \begin{macrocode}
+%\newif\ifhhcls@epsfigures
+%\hhcls@epsfiguresfalse
+%\DeclareOption{epsfigures}{\hhcls@epsfigurestrue}
+\DeclareOption{epsfigures}{%
+ \ifpdf
+ \ClassWarning{bgteubner}{Class option `epsfigures' ignored
+ for pdf output}%
+ \else
+ \ClassWarning{bgteubner}{Class option `epsfigures' ignored for dvi
+ output. eps figures are now included without this option}%
+ \fi
+}
+% \end{macrocode}
+%
+% \subsection{Aufgaben und Lösungen}
+%
+% Fügt die Aufgaben, die mit der Umgebung |aufgabe| erzeugt wurden, in
+% das Inhaltsverzeichnis ein:
+% \begin{macrocode}
+\newif\if@exercisetotoc
+\DeclareOption{exercisetotoc}{\@exercisetotoctrue}
+% \end{macrocode}
+% Fügt die Aufgaben und Lösungen, die mit den Umgebungen |exercise|,
+% bzw.\ |answer| erzeugt wurden, in das Inhaltsverzeichnis ein:
+% \begin{macrocode}
+\newif\if@answertotoc
+\DeclareOption{answertotoc}{\@exercisetotoctrue\@answertotoctrue}
+% \end{macrocode}
+% Which publisher?
+% \begin{macrocode}
+\newcommand\hhcls@publisher{}
+\DeclareOption{springervieweg}{\def\hhcls@publisher{%
+ Springer Vieweg Verlag\quad Wiesbaden%
+}}
+\DeclareOption{viewegteubner}{\def\hhcls@publisher{%
+ Vieweg+Teubner\quad Stuttgart $\cdot$ Leipzig $\cdot$ Wiesbaden%
+}}
+\DeclareOption{bgteubner}{\def\hhcls@publisher{%
+ B.~G.\ Teubner\quad Stuttgart $\cdot$ Leipzig $\cdot$ Wiesbaden%
+}}
+% \end{macrocode}
+%
+% \subsection{Defaulteinstellungen und Ausführen der Klassenoptionen}
+%
+% Defaulteinstellungen:
+% \begin{macrocode}
+\ExecuteOptions{times,headingoutside,17x24,tocindent,%
+ normaltheorem,springervieweg}
+% \end{macrocode}
+% Optionen ausführen:
+% \begin{macrocode}
+\ProcessOptions\relax
+% \end{macrocode}
+% Schriftgröße 10\,pt:
+% \begin{macrocode}
+\PassOptionsToClass{fontsize=10pt}{scrbook}
+% \end{macrocode}
+%
+% \section{Laden der Klasse und der Pakete}
+%
+% Die |scrbook|"=Klasse laden.
+% Es muss eine Version vom angegebenen Datum oder neuer sein, da
+% ältere Versionen noch nicht alle notwendigen Funktionen unterstützen.
+% \begin{macrocode}
+\LoadClass{scrbook}[2011/06/16]
+% \end{macrocode}
+% Warnung bei der Änderung der Schrift für die Kopf- und Fußzeile
+% ausschalten.
+% \begin{macrocode}
+\let\scr@fnt@wrn@pagehead=\@undefined
+\let\scr@fnt@wrn@pagefoot=\@undefined
+% \end{macrocode}
+% Bugs in \LaTeXe\ beheben:
+% \begin{macrocode}
+\RequirePackage{fixltx2e}[2000/09/24]
+% \end{macrocode}
+% Weitere Zeichen im Mathe"= und im Textmodus:
+% \begin{macrocode}
+\RequirePackage{wasysym}[2003/05/31]
+% \end{macrocode}
+% Die Integralzeichen von wasysym wieder löschen, damit
+% \verb|amsmath.sty| sie wieder vernünftig definieren kann.
+% This has to be done before the first call of the |amsmath| package since
+% it will be loaded only once.
+% \changes{1.34}{2005/01/07}{Remove \texttt{wasysym} integrals before
+% \texttt{amsmath} is loaded}%
+% \begin{macrocode}
+\let\iint=\@undefined
+\let\iiint=\@undefined
+\let\iiiint=\@undefined
+% \end{macrocode}
+% Erweiterte Mathematikbefehle:
+% \begin{macrocode}
+\RequirePackage{amsmath}[2000/07/18]
+\RequirePackage{amsfonts}[2001/10/25]
+\RequirePackage{amssymb}[2002/01/22]
+% \end{macrocode}
+% Pakete, die gutes Tabellenlayout erlauben:
+% \begin{macrocode}
+\RequirePackage{booktabs}[2003/03/28]
+\RequirePackage{array}[1998/05/13]
+\RequirePackage{longtable}[2000/10/22]
+% \end{macrocode}
+% T1"=Schriftkodierung. Führt zu besserer Silbentrennung und erlaubt
+% die Verwendung einiger zusätzlicher Schriftschnitte und "~größen.
+% \begin{macrocode}
+\RequirePackage[T1]{fontenc}[2001/06/05]
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Allow Y\,\&\,Y MathTime to be used}%
+% \changes{1.30}{2004/04/10}{Use bold instead of bold extended with Times}%
+% Times ist als Schrift gewählt:
+% \begin{macrocode}
+\ifhhcls@times
+ \ifhhcls@mathtime
+ \RequirePackage[slantedgreek,mtbold]{mathtime}[1999/03/29]
+ \else
+ \RequirePackage[slantedGreek]{mathptmx}[2003/03/02]
+ \fi
+ \RequirePackage[scaled=0.92]{helvet}[2003/03/02]
+ \RequirePackage{courier}[2003/03/02]
+ \renewcommand\bfdefault{b}
+% \end{macrocode}
+% Dummybefehl definieren, um Übersetzungsfehler zu vermeiden.
+% \begin{macrocode}
+ \newcommand\newstylenums{}
+% \end{macrocode}
+% \cs{,} im Mathemodus restaurieren.
+% \begin{macrocode}
+ \thinmuskip=3mu
+% \end{macrocode}
+% Computer Modern ist gewählt:
+% \begin{macrocode}
+\else
+% \end{macrocode}
+% \changes{1.06}{2003/10/12}{Paket \texttt{hfoldsty} statt
+% \texttt{hfo} laden}%
+% Minuskelziffern (\oldstylenums{0123456789}) im Textmodus. Verwendung
+% des Pakets |hfoldsty.sty|, das ein besseres Kerning als |eco.sty|
+% für die französischen Anführungszeichen hat.
+% \begin{macrocode}
+ \RequirePackage[origtt]{hfoldsty}[2003/10/12]
+% \end{macrocode}
+% \changes{1.04}{2003/09/23}{Rücksetzen der Schreibmaschinenschrift
+% auf Original nicht mehr nötig}%
+% Bei Schreibmaschinenschrift (Monospaced) dennoch keine
+% Minuskelziffern und keine Ligaturen (nicht mehr nötig mit der neuen
+% |hfoldsty|"=Version).
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Generate warning in case of using
+% \cs{oldstylenums}}%
+% Der Befehl \cs{oldstylenums} ist in jedem Fall Quatsch:
+% \begin{macrocode}
+\renewcommand*\oldstylenums{%
+ \ClassWarning{bgteubner}{\string\oldstylenums\space is ignored}%
+}
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Rearrange \texttt{textcomp} and
+% \texttt{mathcomp}}%
+% \changes{1.20}{2004/03/07}{Switch \texttt{mathcomp} glyphs to the
+% same font as text is}%
+% Additional glyphs in math and in text mode.
+% |mathcomp| has to be loaded after switching to the text fonts, i.e.,
+% |mathptmx| etc.
+% \begin{macrocode}
+\RequirePackage{textcomp}[2001/06/05]
+\RequirePackage[rmdefault]{mathcomp}[2001/01/07]
+\ifhhcls@times
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Substitute Text and Math Companion
+% symbols by using \texttt{ptmxcomp.sty}}%
+% Many Text and Math Companion symbols have to be replaced or
+% corrected.
+% \begin{macrocode}
+ \RequirePackage{ptmxcomp}[2004/03/07]
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Warning for not existing bold math}%
+% \changes{1.30}{2004/04/10}{Error rather than a warning for using not
+% existing bold math}%
+% If using Times without MathTime, bold math is undefined. Redefine
+% \cs{boldmath} to generate a warning.
+% \begin{macrocode}
+ \ifhhcls@mathtime
+ \else
+ \renewcommand*\boldmath{%
+ \ClassError{bgteubner}{With the base font Times, bold math is
+ undefined\MessageBreak
+ (when not using MathTime math extensions)}{%
+ Avoid using bold math or buy the MathTime and MathTimePlus
+ fonts by Y\&Y.}%
+ }
+ \fi
+\fi
+% \end{macrocode}
+% Teilbilder mit Nummerierung a, b, c\dots:
+% \begin{macrocode}
+\RequirePackage[hang,RaggedRight]{hhsubfigure}[2003/09/14]
+% \end{macrocode}
+% Trennungen teilweise auch im Flattersatz ermöglichen:
+% \begin{macrocode}
+\RequirePackage{ragged2e}[2003/01/26]
+% \end{macrocode}
+% Integralzeichen usw.\ in mehr Größen, ist bei der Verwendung von
+% \verb|mathptmx| nicht nötig:
+% \begin{macrocode}
+\ifhhcls@times
+\else
+ \RequirePackage{exscale}[1997/06/16]
+\fi
+% \end{macrocode}
+% Befehle zum Einbinden von Grafiken:
+% \begin{macrocode}
+\RequirePackage{graphicx}[1999/02/16]
+% \end{macrocode}
+% Falls graue Kästen zugelassen sind, muss auch Farbe ins Spiel
+% kommen. Aus Konsistenzgründen wird das Paket immer geladen.
+% \begin{macrocode}
+\RequirePackage{color}[1999/02/16]
+% \end{macrocode}
+% Ebenso für lange Kisten.
+% \begin{macrocode}
+\RequirePackage{framed}[2003/07/19]
+% \end{macrocode}
+% Tensorbefehle:
+% \begin{macrocode}
+\RequirePackage{hhtensor}[2003/10/09]
+% \end{macrocode}
+% Befehle zur Erzeugung eines Stichwortverzeichnisses:
+% \begin{macrocode}
+\RequirePackage{makeidx}[2000/03/29]
+% \end{macrocode}
+% Kompakte Aufzählungen:
+% \begin{macrocode}
+\RequirePackage{mdwlist}[1996/05/02]
+\RequirePackage{paralist}[2002/03/18]
+% \end{macrocode}
+% \changes{1.03}{2003/09/18}{\texttt{ifthen}-Paket explizit laden}%
+% Das \verb|ifthen|"=Paket explizit laden.
+% \begin{macrocode}
+\RequirePackage{ifthen}[2001/05/26]
+% \end{macrocode}
+% Herausfinden, ob PDF oder DVI erzeugt wird:
+% \begin{macrocode}
+\RequirePackage{ifpdf}[2001/06/14]
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Redeclare uppercase Greek letters for
+% MathTime font}%
+% Normalerweise schreibt \LaTeX\ große griechische Buchstaben im
+% mathematischen Modus aufrecht, was aber im mathematischen Satz
+% inkonsistent ist.
+% Das Paket |fixmath| behebt dieses Problem.
+% Dadurch wird aber auch das große Delta $\Delta$ kursiv
+% gedruckt.
+% Wenn es als Differenz verwendet wird, soll es aufrecht sein.
+% Dies wird durch Verwendung von \cs{D} ($\Delta$) erreicht.
+%
+% With |mathptmx|, |fixmath| is not necessary.
+% With |mathtime|, the letters have to be redefined ``by hand''.
+% \begin{macrocode}
+\ifhhcls@times
+ \ifhhcls@mathtime
+ \DeclareMathSymbol\Gamma {\mathalpha}{letters}{0}
+ \DeclareMathSymbol\Delta {\mathalpha}{letters}{1}
+ \DeclareMathSymbol\Theta {\mathalpha}{letters}{2}
+ \DeclareMathSymbol\Lambda {\mathalpha}{letters}{3}
+ \DeclareMathSymbol\Xi {\mathalpha}{letters}{4}
+ \DeclareMathSymbol\Pi {\mathalpha}{letters}{5}
+ \DeclareMathSymbol\Sigma {\mathalpha}{letters}{6}
+ \DeclareMathSymbol\Upsilon {\mathalpha}{letters}{7}
+ \DeclareMathSymbol\Phi {\mathalpha}{letters}{8}
+ \DeclareMathSymbol\Psi {\mathalpha}{letters}{9}
+ \DeclareMathSymbol\Omega {\mathalpha}{letters}{10}
+ \DeclareMathSymbol\upGamma {\mathord}{letters}{48}
+ \DeclareMathSymbol\upDelta {\mathord}{letters}{49}
+ \DeclareMathSymbol\upTheta {\mathord}{letters}{50}
+ \DeclareMathSymbol\upLambda {\mathord}{letters}{51}
+ \DeclareMathSymbol\upXi {\mathord}{letters}{52}
+ \DeclareMathSymbol\upPi {\mathord}{letters}{53}
+ \DeclareMathSymbol\upSigma {\mathord}{letters}{54}
+ \DeclareMathSymbol\upUpsilon{\mathord}{letters}{55}
+ \DeclareMathSymbol\upPhi {\mathord}{letters}{56}
+ \DeclareMathSymbol\upPsi {\mathord}{letters}{57}
+ \DeclareMathSymbol\upOmega {\mathord}{letters}{127}
+ \fi
+\else
+ \RequirePackage{fixmath}[2000/04/11]
+\fi
+% \end{macrocode}
+% Internationale Unterstützung laden.
+% Es muss eine Version vom angegebenen Datum oder neuer sein,
+% da ältere Versionen |\frenchspacing| noch nicht im deutschen Text
+% eingeschaltet haben.
+% \begin{macrocode}
+\RequirePackage{babel}[2001/03/01]
+% \end{macrocode}
+% Zeilenabstand in der |advanced|"=Umgebung erhöhen:
+% \begin{macrocode}
+\RequirePackage{setspace}[2000/12/01]
+% \end{macrocode}
+% Paket für relative Schriftgrößenveränderungen laden.
+% \begin{macrocode}
+\RequirePackage{relsize}[1999/11/01]
+% \end{macrocode}
+% \changes{1.03}{2003/09/18}{\texttt{slantsc} bei Times nicht laden}%
+% Paket für kursive Kapitälchen.
+% Allerdings nur, wenn European Computer Modern verwendet wird, weil
+% für Times keine kursiven Kapitälchen zur Verfügung stehen, sonst
+% einen Ersatzbefehl für \cs{noscshape} definieren.
+% Dieser schaltet allerdings von Kapitälchen immer auf aufrechte
+% Schrift um, da es ja nur aufrechte Kapitälchen gibt.
+% \begin{macrocode}
+\ifhhcls@times
+ \DeclareRobustCommand\noscshape{%
+ \not@math@alphabet\noscshape\relax
+ \ifthenelse{\equal{\f@shape}{\scdefault}}{%
+ \fontshape\updefault
+ }{%
+ }%
+ \selectfont
+ }
+\else
+ \RequirePackage{slantsc}[2003/09/17]
+\fi
+% \end{macrocode}
+% \changes{1.06}{2003/10/12}{Paket \texttt{ginpenc} statt
+% \texttt{hhinputenc} laden}%
+% Einen Befehl definieren, der den Eingabezeichensatz bestimmt.
+% Das wird gemacht, da Babel ansonsten die Standarddefinitionen für
+% Umlaute (|\"a| usw.) verwendet.
+% Das Paket setzt diese für deutsche Sprache auf |"a| usw.,
+% wodurch Makeindex eine korrekte Sortierung erreicht:
+% \begin{macrocode}
+\RequirePackage{ginpenc}[2003/09/29]
+% \end{macrocode}
+% Warnungen ganz am Ende der Logdatei ausgeben:
+% \begin{macrocode}
+\RequirePackage{warning}[2001/08/17]
+% \end{macrocode}
+% Verbieten, die Umgebungen |eqnarray|, |eqnarray*| und |$$| zu
+% verwenden:
+% \begin{macrocode}
+\RequirePackage[all]{onlyamsmath}[2001/10/04]
+% \end{macrocode}
+% Zahlen automatisch nach jeweils drei Stellen sperren und automatisch
+% Exponentialteile sowie korrekte Dezimalzeichen erzeugen:
+% \begin{macrocode}
+\RequirePackage[sepfour,autolanguage]{numprint}[2003/11/09]
+% \end{macrocode}
+% Kolumnentitel umstellen können:
+% \begin{macrocode}
+\RequirePackage{scrpage2}[2002/11/01]
+% \end{macrocode}
+% Internationale Unterstützung für Literaturverzeichnisse:
+% \begin{macrocode}
+\RequirePackage[fixlanguage]{babelbib}[2003/07/28]
+% \end{macrocode}
+% Warnung für Fußnoten, die umbrochen werden, ausgeben:
+% \begin{macrocode}
+\RequirePackage{fnbreak}[2003/04/03]
+% \end{macrocode}
+% \changes{1.05}{2003/09/25}{Ältere \texttt{subfloat}"=Version
+% erlaubt, die Unterschiede sind nur marginal}%
+% Mehrere Fließumgebungen mit der gleichen Nummer erlauben:
+% \begin{macrocode}
+\RequirePackage[countmax]{subfloat}[2002/12/16]
+% \end{macrocode}
+% Für die Verzeichnisse wird |multicol| benötigt.
+% \begin{macrocode}
+\RequirePackage{multicol}[2000/07/10]
+% \end{macrocode}
+% Optischen Randausgleich aktivieren.
+%
+% \changes{2.11}{2015/05/17}{Remove \cs{ifpdfoutput} before loading
+% pdfcprot}%
+% Since both \verb|scrbook| and \verb|pdfcprot| define \cs{ifpdfoutput} remove
+% this macro first (according to hint in log file).
+% \begin{macrocode}
+\let\ifpdfoutput\relax
+\RequirePackage[activate]{pdfcprot}[2002/02/27]
+% \end{macrocode}
+%
+% \section{Prüfen, ob \textsc{pdf}\LaTeX\ verwendet wird}
+%
+% \changes{1.30}{2004/04/10}{Test if \textsc{pdf}\LaTeX\ is used}%
+% Test if \textsc{pdf}\LaTeX\ is used.
+% \begin{macrocode}
+\ifpdftex{}{%
+ \ClassError{bgteubner}{Ordinary latex used to compile this
+ document.\MessageBreak
+ Please use pdflatex. If you need dvi output\MessageBreak
+ use pdflatex and include `\string\pdfoutput=0' as first
+ line\MessageBreak
+ of your document}{The execution of latex is stopped immediately.}%
+ \stop
+}
+% \end{macrocode}
+% \changes{1.30}{2004/04/10}{Do not redefine \cs{includegraphics}}%
+% Print a warning if dvi output is used.
+% \begin{macrocode}
+\ifpdf
+\else
+ \addglobalwarning{%
+ \ClassWarningNoLine{bgteubner}{%
+ Output format is DVI, not PDF.\MessageBreak
+ If possible, use PDF output}%
+ }%
+\fi
+% \end{macrocode}
+% \begin{macro}{\iftimes}
+% \begin{macro}{\ifmathtime}
+% \changes{1.20}{2004/03/07}{Command to test on MathTime}%
+% Befehl definieren, der sagt, ob Times oder MathTime verwendet wird.
+% If MathTime is used, both, \cs{iftimes} and \cs{ifmathtime} are
+% true.
+% \begin{macrocode}
+\newcommand\iftimes[2]{\ifhhcls@times #1\else #2\fi}
+\newcommand\ifmathtime[2]{%
+ \ifhhcls@times
+ \ifhhcls@mathtime
+ #1%
+ \else%
+ #2%
+ \fi
+ \else
+ #2%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \changes{1.12}{2003/11/13}{Problem with \texttt{float.sty} solved}%
+% Da das |float|"=Paket erwartet, dass der Befehl
+% \cs{float@addtolists} noch nicht definiert ist.
+% Mit diesem Trick wird der Befehl vor dem Laden des Pakets gelöscht
+% und danach wieder vervollständigt.
+% \begin{macrocode}
+\BeforePackage{float}{%
+ \newcommand*\hhcls@float@addtolists{}%
+ \let\hhcls@float@addtolists=\float@addtolists
+ \let\float@addtolists=\undefined}
+\AfterPackage{float}{%
+ \let\hhclsflt@float@addtolists=\float@addtolists
+ \renewcommand\float@addtolists[1]{%
+ \hhclsflt@float@addtolists{#1}%
+ \hhcls@float@addtolists{#1}%
+ }%
+% \end{macrocode}
+% \begin{macro}{\listof}
+% \changes{1.12}{2003/11/13}{Lists for new floats get the same layout
+% as other lists, using \texttt{float.sty}}%
+% Redefine the \cs{listof} command in order to get the same layout as
+% other lists.
+% \begin{macrocode}
+ \renewcommand*\listof[2]{%
+ \begingroup%
+ \@ifundefined{ext@#1}{%
+ \float@error{#1}%
+ }{%
+ \@namedef{l@#1}{\@dottedtocline{1}{0em}{2.9em}}%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \float@listhead{#2}%
+ \small
+ \setlength{\parskip}{\z@}%
+ \@starttoc{\@nameuse{ext@#1}}%
+ \if@restonecol\twocolumn\fi
+ }%
+ \endgroup
+ }%
+% \end{macrocode}
+% \end{macro}
+% \changes{1.12}{2003/11/13}{Redeclare captions of user-defined floats
+% when using \texttt{float.sty}}%
+% Use the same style for the captions of user-defined floats.
+% \begin{macrocode}
+ \floatstyle{komabelow}
+}
+% \end{macrocode}
+%
+% \section{Das Aussehen des Dokuments gestalten}
+%
+% \subsection{Papiergröße einstellen}
+%
+% \begin{macro}{\paperwidth}
+% \begin{macro}{\paperheight}
+% Papiergröße, Satzspiegel und Bindungskorrektur einstellen:
+% \begin{macrocode}
+\ifhhcls@dinafuenf
+ \setlength{\paperwidth}{148mm}
+ \setlength{\paperheight}{210mm}
+ \areaset[7mm]{115mm}{174mm}
+\else
+ \setlength{\paperwidth}{170mm}
+ \setlength{\paperheight}{240mm}
+ \areaset[7mm]{135mm}{200mm}
+\fi
+% \end{macrocode}
+% Befehl definieren, der sagt, ob DIN-A\,5 verwendet wird:
+% \begin{macrocode}
+\newcommand\ifafive[2]{\ifhhcls@dinafuenf #1\else #2\fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% Der \cs{areaset}"=Befehl erzeugt Texthöhen, die nicht unbedingt
+% einem Vielfachen des Zeilenabstandes betragen.
+% Das wird hier korrigiert.
+% Die Zeilenzahl wird gerundet, wobei die Grenze zum Aufrunden bei 0,4
+% statt normalerweise 0,5 liegt.
+% Es funktioniert so, dass solange \cs{baselineskip} zu
+% \cs{textheight} addiert wird, bis es größer als der alte Wert minus
+% 0,6\cs{baselineskip} ist.
+% \begin{macrocode}
+\begingroup
+\newdimen\gammel
+\gammel=\textheight
+\advance\gammel by -0.6\baselineskip
+\textheight0mm
+\@whiledim\textheight<\gammel
+ \do{\global\advance\textheight by \baselineskip}
+\endgroup
+% \end{macrocode}
+% Daten nochmal ausgeben (kopiert aus typearea.sty).
+% \begin{macrocode}
+\ClassInfo{bgteubner}{%
+ These are the values describing the layout:\MessageBreak
+ BCOR\space=\space\the\ta@bcor\MessageBreak
+ \string\paperwidth\space\space\space\space\space\space=%
+ \space\the\paperwidth\MessageBreak
+ \space\string\textwidth\space\space\space\space\space\space=%
+ \space\the\textwidth\MessageBreak
+ \space\string\evensidemargin\space=%
+ \space\the\evensidemargin\MessageBreak
+ \space\string\oddsidemargin\space\space=%
+ \space\the\oddsidemargin\MessageBreak
+ \string\paperheight\space\space\space\space\space=%
+ \space\the\paperheight\MessageBreak
+ \space\string\textheight\space\space\space\space\space=%
+ \space\the\textheight\MessageBreak
+ \space\string\topmargin\space\space\space\space\space\space=%
+ \space\the\topmargin\MessageBreak
+ \space\string\headheight\space\space\space\space\space=%
+ \space\the\headheight\MessageBreak
+ \space\string\headsep\space\space\space\space\space\space\space\space=%
+ \space\the\headsep\MessageBreak
+ \space\string\topskip\space\space\space\space\space\space\space\space=%
+ \space\the\topskip\MessageBreak
+ \space\string\footskip\space\space\space\space\space\space\space=%
+ \space\the\footskip\MessageBreak
+ \space\string\baselineskip\space\space\space=%
+ \space\the\baselineskip\MessageBreak
+ }
+% \end{macrocode}
+%
+% \subsection{Umbrucheinstellungen und Abstände}
+%
+% Schusterjungen und Hurensöhne:
+% \begin{macrocode}
+\clubpenalty=100
+\widowpenalty=400
+% \end{macrocode}
+% Nur eine Zeile über abgesetzten Formeln (Standard: 50)
+% \begin{macrocode}
+\displaywidowpenalty=50
+% \end{macrocode}
+% Seitenumbruch in Trennung (Standard: 100)
+% \begin{macrocode}
+\brokenpenalty=400
+% \end{macrocode}
+% Strafe in Textformeln nach Relation (Standard: 500)
+% \begin{macrocode}
+\relpenalty=700
+% \end{macrocode}
+% Strafe in Textformeln nach binären Operatoren (+,-,...) (Standard: 700)
+% \begin{macrocode}
+\binoppenalty=2000
+% \end{macrocode}
+% \begin{macro}{\parindent}
+% Absatzeinzug auf den Zeilenabstand setzen:
+% \begin{macrocode}
+\setlength{\parindent}{\baselineskip}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\frenchspacing}
+% \changes{1.02}{2003/09/17}{In allen englischen Dialekten
+% \cs{frenchspacing} verwenden}%
+% Auch in englischen Texten kein zusätzlicher Abstand nach
+% Satzendezeichen.
+% \begin{macrocode}
+\addto\extrasamerican{\frenchspacing}%
+\addto\noextrasamerican{\nonfrenchspacing}%
+\addto\extrasbritish{\frenchspacing}%
+\addto\noextrasbritish{\nonfrenchspacing}%
+\addto\extrasbritish{\frenchspacing}%
+\addto\noextrasbritish{\nonfrenchspacing}%
+\addto\extrascanadian{\frenchspacing}%
+\addto\noextrascanadian{\nonfrenchspacing}%
+\addto\extrasUKenglish{\frenchspacing}%
+\addto\noextrasUKenglish{\nonfrenchspacing}%
+\addto\extrasUSenglish{\frenchspacing}%
+\addto\noextrasUSenglish{\nonfrenchspacing}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Kapitel- und Abschnittsüberschriften formatieren}
+%
+% Für jede Ebene eine Länge definieren:
+% \begin{macrocode}
+\newlength{\hhcls@chapterindent}%
+\newlength{\hhcls@sectionindent}%
+\newlength{\hhcls@subsectionindent}%
+\newlength{\hhcls@subsubsectionindent}%
+\newlength{\hhcls@paragraphindent}%
+\newlength{\hhcls@subparagraphindent}%
+% \end{macrocode}
+% Für die Kapitelüberschrift den Einzug festlegen.
+% Vor |\begin{document}| kann das durch den Nutzer noch verändert
+% werden (sollte aber nicht).
+% \begin{macrocode}
+\setlength{\hhcls@chapterindent}{3.9199em}%
+% \end{macrocode}
+% Am |\begin{document}| den Einzug für die anderen Ebenen kopieren:
+% \begin{macrocode}
+\AtBeginDocument{%
+ \setlength{\hhcls@sectionindent}{\hhcls@chapterindent}%
+ \setlength{\hhcls@subsectionindent}{\hhcls@chapterindent}%
+ \setlength{\hhcls@subsubsectionindent}{\hhcls@chapterindent}%
+ \setlength{\hhcls@paragraphindent}{\hhcls@chapterindent}%
+ \setlength{\hhcls@subparagraphindent}{\hhcls@chapterindent}%
+}
+% \end{macrocode}
+% Schriftart der Kapitel- und Abschnittsüberschriften, mathematische
+% Zeichen werden passend fett gedruckt, falls nicht Vektoren und
+% Matrizen fett ausgezeichnet werden.
+% \begin{macrocode}
+\setkomafont{sectioning}{\normalcolor\normalfont\bfseries
+ \iftensor@bold\else\mathversion{bold}\fi}
+% \end{macrocode}
+% \begin{macro}{\chapterformat}
+% Formatierung der Kapitelüberschriften mit dem oben angegebenen
+% Einzug. Die Zahl wird in eine Box fester breite linksbündig
+% geschrieben:
+% \begin{macrocode}
+\renewcommand*\chapterformat{%
+ \makebox[\hhcls@chapterindent][l]{%
+ \chapappifchapterprefix{\ }\thechapter\autodot}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\othersectionlevelsformat}
+% Formatierung der Abschnittsüberschriften mit dem oben angegebenen
+% Einzug sowie mit definierbaren Pre"= und Postfixen für die
+% Abschnittsnummer.
+% Die Pre- und Postfixe werden normalerweise nur für andere
+% Überschriften wie z.\,B.\ für Beispiele, Aufgaben oder Lösungen
+% benötigt.
+% Die allgemeine Deklaration ist aber am einfachsten und praktischsten:
+% \begin{macrocode}
+\DeclareRobustCommand*\othersectionlevelsformat[1]{%
+ \makebox[\csname hhcls@#1indent\endcsname][l]{%
+ \csname prefix#1\endcsname\csname the#1\endcsname\autodot
+ \csname postfix#1\endcsname}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\prefixsection}
+% \begin{macro}{\prefixsubsection}
+% \begin{macro}{\prefixsubsubsection}
+% \begin{macro}{\prefixparagraph}
+% \begin{macro}{\prefixsubparagraph}
+% Definition leerer Prefixe zu den Überschriften.
+% Das wäre nicht notwendig, da das Konstrukt mit |\csname| und
+% |\endcsname| unbekannte Befehle ignoriert.
+% Die Definition macht den Code aber sauberer.
+% \begin{macrocode}
+\def\prefixsection{}%
+\def\prefixsubsection{}%
+\def\prefixsubsubsection{}%
+\def\prefixparagraph{}%
+\def\prefixsubparagraph{}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Inhaltsverzeichnis}
+%
+% Einzüge im Inhaltsverzeichnis festlegen:
+% \begin{macrocode}
+\ifhhcls@tocindent
+ \newlength{\hhcls@tocindentlength}
+ \settowidth{\hhcls@tocindentlength}{0.}
+ \renewcommand*\l@section{%
+ \@dottedtocline{1}{1\hhcls@tocindentlength}{2.3em}}
+ \renewcommand*\l@subsection{%
+ \@dottedtocline{2}{2\hhcls@tocindentlength}{3.2em}}
+ \renewcommand*\l@subsubsection{%
+ \@dottedtocline{3}{3\hhcls@tocindentlength}{4.1em}}
+ \renewcommand*\l@paragraph{%
+ \@dottedtocline{4}{4\hhcls@tocindentlength}{5.0em}}
+ \renewcommand*\l@subparagraph{%
+ \@dottedtocline{5}{5\hhcls@tocindentlength}{5.9em}}
+\else
+ \renewcommand*\l@section{\@dottedtocline{1}{0em}{2.3em}}
+ \renewcommand*\l@subsection{\@dottedtocline{2}{0em}{3.2em}}
+ \renewcommand*\l@subsubsection{\@dottedtocline{3}{0em}{4.1em}}
+ \renewcommand*\l@paragraph{\@dottedtocline{4}{0em}{5.0em}}
+ \renewcommand*\l@subparagraph{\@dottedtocline{5}{0em}{5.9em}}
+\fi
+% \end{macrocode}
+%
+% \subsection{Anhang}
+%
+% \begin{macro}{\appendixmore}
+% Falls Mediävalziffern verwendet werden, sollen die Anhangsbuchstaben
+% etwas kleiner gedruckt werden.
+% Außerdem automatische Erzeugung der Überschrift \emph{Anhang} am
+% Anfang des Anhangs.
+% \changes{1.32}{2004/08/19}{Move \cs{ifhhcls@times} outside
+% definition of \cs{appendixmore}}%
+% \begin{macrocode}
+\ifhhcls@times
+ \def\appendixmore{%
+ \addpart{\appendixname}%
+ }
+\else
+ \def\appendixmore{%
+ \renewcommand*\thechapter{\textsc{\@alph\c@chapter}}%
+ \addpart{\appendixname}%
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Description-Umgebung}
+%
+% Schriftart für description-Umgebung:
+% \begin{macrocode}
+\setkomafont{descriptionlabel}{\normalcolor\normalfont\rmfamily\bfseries
+ \iftensor@bold\else\mathversion{bold}\fi}
+% \end{macrocode}
+% \begin{macro}{\headfont}
+%
+% \subsection{Kolumnentitel}
+%
+% Schriftart für die Kolumnentitel festlegen (nicht kursiv):
+% \changes{1.32}{2004/08/19}{Remove \cs{rmfamily} from pagehead since
+% \cs{normalfont} does that already}%
+% \begin{macrocode}
+\setkomafont{pagehead}{\normalfont\normalcolor\small}
+% \end{macrocode}
+% \end{macro}
+% Kolumnentitel formatieren:
+% \begin{macrocode}
+\pagestyle{scrheadings}
+\renewcommand*\partpagestyle{empty}
+\renewcommand*\chapterpagestyle{empty}
+\renewcommand*\indexpagestyle{empty}
+\clearscrheadfoot
+\ifhhcls@headingoutside
+ \rohead[\pagemark]{\headmark\makebox[\hhcls@chapterindent][r]{\pagemark}}
+ \lehead[\pagemark]{\makebox[\hhcls@chapterindent][l]{\pagemark}\headmark}
+\else
+ \ohead[\pagemark]{\pagemark}
+ \ihead{\headmark}
+\fi
+% \end{macrocode}
+%
+% \subsection{Guillemets als Anführungszeichen}
+%
+% \begin{macro}{\flqq}
+% \begin{macro}{\frqq}
+% \begin{macro}{\flq}
+% \begin{macro}{\frq}
+% \changes{1.30}{2004/04/10}{Redefine quotation marks to allow math
+% mode and kerning}%
+% Redefine quotation marks in order to allow kerning (fix bug in
+% babel.sty).
+% \begin{macrocode}
+\ProvideTextCommand{\flqq}{T1}{%
+ \textormath{\guillemotleft}{\mbox{\guillemotleft}}}
+\ProvideTextCommand{\flqq}{OT1}{%
+ \textormath{\guillemotleft}{\mbox{\guillemotleft}}}
+\ProvideTextCommandDefault{\flqq}{\UseTextSymbol{OT1}\flqq}
+\ProvideTextCommand{\frqq}{T1}{%
+ \textormath{\guillemotright}{\mbox{\guillemotright}}}
+\ProvideTextCommand{\frqq}{OT1}{%
+ \textormath{\guillemotright}{\mbox{\guillemotright}}}
+\ProvideTextCommandDefault{\frqq}{\UseTextSymbol{OT1}\frqq}
+\ProvideTextCommand{\flq}{T1}{%
+ \textormath{\guilsinglleft}{\mbox{\guilsinglleft}}}
+\ProvideTextCommand{\flq}{OT1}{%
+ \textormath{\guilsinglleft}{\mbox{\guilsinglleft}}}
+\ProvideTextCommandDefault{\flq}{\UseTextSymbol{OT1}\flq}
+\ProvideTextCommand{\frq}{T1}{%
+ \textormath{\guilsinglright}{\mbox{\guilsinglright}}}
+\ProvideTextCommand{\frq}{OT1}{%
+ \textormath{\guilsinglright}{\mbox{\guilsinglright}}}
+\ProvideTextCommandDefault{\frq}{\UseTextSymbol{OT1}\frq}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\glqq}
+% \begin{macro}{\grqq}
+% \begin{macro}{\glq}
+% \begin{macro}{\grq}
+% Französische Anführungsstriche als Anführungszeichen verwenden.
+% \begin{macrocode}
+ \let\glqq=\frqq
+ \let\grqq=\flqq
+ \let\glq=\frq
+ \let\grq=\flq
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \section{Literaturverweise}
+%
+% \begin{environment}{thebibliography}
+% Flattersatz im Literaturverzeichnis und kleine Schrift:
+% \begin{macrocode}
+\renewenvironment{thebibliography}[1]{%
+ \setchapterpreamble{\bibpreamble}%
+ \bib@heading%
+ \list{\@biblabel{\@arabic\c@enumiv}}{%
+ \settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand*\theenumiv{\@arabic\c@enumiv}%
+ }%
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \setlength\RaggedRightRightskip{\z@\@plus 6em}%
+ \small\RaggedRight
+ \sfcode`\.=\@m
+}{
+ \def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist
+}
+% \end{macrocode}
+% \end{environment}
+% Im Literaturverzeichnis die Blöcke nur durch ein einfaches
+% Leerzeichen trennen.
+% Dadurch wird das weite Auseinanderziehen verhindert.
+% \begin{macrocode}
+\renewcommand*\newblock{\ }
+% \end{macrocode}
+% \begin{macro}{\@bibitem}
+% \begin{macro}{\@lbibitem}
+% Literaturangaben sollen in Majuskelziffern geschrieben werden:
+% \begin{macrocode}
+\def\@bibitem#1{\stepcounter{\@listctr}%
+\item[{[\newstylenums{\the\value{\@listctr}}]}]\if@filesw
+ \immediate\write\@auxout
+ {\string\bibcite{#1}{%
+ \string\newstylenums{\the\value{\@listctr}}}}\fi\ignorespaces}
+\def\@lbibitem[#1]#2{\item[\@biblabel{\newstylenums{#1}}\hfill]\if@filesw
+ {\let\protect\noexpand
+ \immediate\write\@auxout{%
+ \string\bibcite{#2}{\protect\newstylenums{#1}}}}\fi\ignorespaces}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Literaturverweise nicht umbrechbar:
+% \begin{macrocode}
+\def\@citex[#1]#2{%
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{,\,}%
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\hbox{\csname b@\@citeb\endcsname}}}}{#1}%
+}
+% \end{macrocode}
+% \begin{macro}{\btxISBN}
+% \begin{macro}{\btxISSN}
+% Die Zeichenketten ISBN und ISSN etwas kleiner schreiben:
+% \begin{macrocode}
+\renewcommand\btxISBN{\acro{ISBN}}
+\renewcommand\btxISSN{\acro{ISSN}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\printISBN}
+% \changes{1.10}{2003/10/30}{Umbruch in ISBN verhindern}%
+% \begin{macrocode}
+\ifhhcls@times
+% \end{macrocode}
+% Umbruch verhindern für Times:
+% \begin{macrocode}
+ \newcommand\printISBN[1]{\mbox{#1}}
+\else
+% \end{macrocode}
+% Falls Mediävalziffern verwendet werden, Ausgabe der ISBN mit
+% verkleinertem X und verhindertem Umbruch:
+% \begin{macrocode}
+ \newcommand\printISBN[1]{%
+ \mbox{\expandafter\hhcls@printISBN#1\@empty\@empty}%
+ }
+% \end{macrocode}
+% \end{macro}
+% Drucken eines "`X"' in einer ISBN, in Kapitälchen.
+% \begin{macrocode}
+ \newcommand\hhcls@printISBNx[1]{\acro{#1}}
+% \end{macrocode}
+% Dieser Befehl durchsucht die ISBN nach ``x'' oder ``X'' und druckt
+% diese gesondert:
+% \begin{macrocode}
+ \def\hhcls@printISBN#1#2\@empty{%
+ \begingroup
+ \edef\hhcls@argeins{#1}%
+ \edef\hhcls@argzwei{#2}%
+ \def\hhcls@argX{X}%
+ \def\hhcls@argx{x}%
+ \ifx\hhcls@argeins\hhcls@argX
+ \hhcls@printISBNx{#1}%
+ \else
+ \ifx\hhcls@argeins\hhcls@argx
+ \hhcls@printISBNx{#1}%
+ \else
+ #1%
+ \fi
+ \fi
+ \ifx\hhcls@argzwei\@empty
+ \else
+ \hhcls@printISBN#2\@empty
+ \fi
+ \endgroup
+ }
+\fi
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{ISSN formatieren}%
+% In der Bibliographie umschalten:
+% \begin{macrocode}
+\setbibliographyfont{ISBN}{\printISBN}
+\setbibliographyfont{ISSN}{\printISBN}
+% \end{macrocode}
+%
+% \section{Tabellen}
+%
+% Irgendein Spaltentyp mit Ausrichtung am Dezimalzeichen:
+% \begin{macrocode}
+\newcolumntype{d}[1]{D{.}{,}{#1}}
+% \end{macrocode}
+%
+% \section{Fließumgebungen}
+%
+% \subsection{Platzierung}
+%
+% Bilder und Tabellen nur oben auf der Seite oder auf gesonderten Seiten:
+% \begin{macrocode}
+\renewcommand\fps@figure{tp}
+\renewcommand\fps@table{tp}
+% \end{macrocode}
+%
+% \begin{macro}{\floatpagefraction}
+% Fließumgebungen erst auf eine eigene Seite packen, wenn sie
+% mindestens 75\,\%\ der Seite in Anspruch nehmen:
+% \begin{macrocode}
+\renewcommand{\floatpagefraction}{0.75} % Default: 0.5
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\topfraction}
+% Bildplatzierung oben bis 75\,\%\ der Seite zulassen:
+% \begin{macrocode}
+\renewcommand{\topfraction}{0.75} % Default: 0.7
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\bottomfraction}
+% Bildplatzierung unten bis 35\,\%\ der Seite zulassen:
+% \begin{macrocode}
+\renewcommand{\bottomfraction}{0.35} % Default: 0.3
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\textfraction}
+% Textanteil muss mindestens 20\,\%\ betragen:
+% \begin{macrocode}
+\renewcommand{\textfraction}{0.2} % Default: 0.2
+% \end{macrocode}
+% \end{macro}
+% Höchstens zwei Bilder oben:
+% \begin{macrocode}
+\setcounter{topnumber}{2} % Default: 2
+% \end{macrocode}
+% Höchstens ein Bild unten:
+% \begin{macrocode}
+\setcounter{bottomnumber}{1} % Default: 1
+% \end{macrocode}
+% Höchstens drei Bilder insgesamt:
+% \begin{macrocode}
+\setcounter{totalnumber}{3} % Default: 3
+% \end{macrocode}
+%
+% \subsection{Bugfix für Platzierung im Text}
+%
+% Fließumgebungen verhindern eine Silbentrennung im folgenden Wort.
+% Diese Definition behebt das Problem
+% (von Heiko Oberdiek, oberdiek@uni-freiburg.de):
+% \begin{macrocode}
+\g@addto@macro\end@float{%
+ \ifnum\@floatpenalty<\z@
+ \ifnum\@floatpenalty<-\@Mii
+ \else
+ \ifhmode
+ \if@ignore
+ \penalty\@M
+ \hskip\z@skip
+ \fi
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+%
+% \subsection{Abstände}
+%
+% Abstand zwischen zwei Fließumgebungen:
+% \begin{macrocode}
+\setlength\floatsep{18\p@ \@plus 10\p@ \@minus 2\p@}
+% \end{macrocode}
+% Abstand zwischen einer Fließumgebung und dem Text:
+% \begin{macrocode}
+\setlength\textfloatsep{14\p@ \@plus 20\p@ \@minus 4\p@}
+% \end{macrocode}
+% Abstände auf Fließumgebungsseiten:
+% \begin{macrocode}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{18\p@ \@plus 1fil}
+\setlength\@fpbot{0\p@ \@plus 2fil}
+% \end{macrocode}
+%
+% \subsection{Bildunter"= und Tabellenüberschriften}
+%
+% Hängender Einzug:
+% \begin{macrocode}
+\setcaphanging
+% \end{macrocode}
+% Schriftart für Bildunterschriften:
+% \begin{macrocode}
+\setkomafont{caption}{\normalfont\normalcolor\small\RaggedRight}
+% \end{macrocode}
+% \begin{macro}{\germanfigurename}
+% Definition eines Befehls, der den Namen der Bildunterschriften ändert:
+% \begin{macrocode}
+\newcommand*\germanfigurename[1]{\gdef\hhcls@germanfigurename{#1}}
+% \end{macrocode}
+% \end{macro}
+% Setzen der Bildunterschriften auf "`Bild"':
+% \begin{macrocode}
+\germanfigurename{Bild}
+% \end{macrocode}
+% Dem Paket |babel.sty| erzählen, dass für die deutsche Sprache immer
+% |\hhcls@germanfigurename| als Bildunterschrift dienen soll:
+% \begin{macrocode}
+\addto\captionsgerman{\renewcommand*\figurename{\hhcls@germanfigurename}}%
+\addto\captionsngerman{\renewcommand*\figurename{\hhcls@germanfigurename}}%
+\addto\captionsaustrian{\renewcommand*\figurename{\hhcls@germanfigurename}}%
+\addto\captionsnaustrian{\renewcommand*\figurename{\hhcls@germanfigurename}}%
+% \end{macrocode}
+%
+% \subsection{Schriftart in Bildern}
+%
+% Schriftbefehle einrichten, die in der Art von KOMA"=Script mit
+% \cs{setkomafont} verändert werden können.
+% \begin{macrocode}
+\newcommand*\@floatfont{\normalfont\normalcolor\normalsize}
+\newcommand*\scr@fnt@float{\@floatfont}
+% \end{macrocode}
+% Einen Befehl umdefinieren, der am Anfang jeder Fließumgebung
+% ausgeführt wird. Leider definiert schon |setspace| daran herum.
+% \begin{macrocode}
+\@ifpackageloaded{setspace}{%
+ \def\@xfloat #1[#2]{%
+ \latex@xfloat #1[#2]%
+ \def\baselinestretch{\setspace@singlespace}%
+ \scr@fnt@float
+ }%
+}{%
+ \def\@floatboxreset{%
+ \reset@font
+ \scr@fnt@float
+ \@setminipage
+ }%
+}%
+% \end{macrocode}
+% Schriftgröße in Fließumgebungen verringern.
+% \begin{macrocode}
+\setkomafont{float}{\normalfont\normalcolor\small}%
+% \end{macrocode}
+% Auch in |longtable|"=Umgebungen kleinere Schrift:
+% \begin{macrocode}
+\newcommand\hhcls@longtable{}
+\let\hhcls@longtable\longtable
+\renewcommand\longtable{\small\hhcls@longtable}
+% \end{macrocode}
+%
+% \subsection{Verzeichnisse}
+%
+% \begin{macrocode}
+\renewcommand*\l@figure{\@dottedtocline{1}{0em}{2.9em}}
+% \end{macrocode}
+% \begin{macrocode}
+\let\l@table\l@figure
+% \end{macrocode}
+%
+%
+% \subsection{Subfigures}
+%
+% \begin{macro}{\subfigtopskip}
+% \begin{macro}{\subfigbottomskip}
+% \begin{macro}{\subfigcapmargin}
+% Keine Abstände um Subfigures. Die müssen dann von Hand gemacht werden:
+% \begin{macrocode}
+\renewcommand{\subfigtopskip}{0pt}
+\renewcommand{\subfigbottomskip}{0pt}
+\renewcommand{\subfigcapmargin}{0pt}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\subcapsize}
+% Bei Subfigures die gleiche Schriftgröße wie bei normalen
+% Bildunterschriften:
+% \begin{macrocode}
+\renewcommand{\subcapsize}{\small}
+% \end{macrocode}
+% \end{macro}
+% Abstand zwischen Bild und Bildunterschrift:
+% \begin{macrocode}
+\setlength{\subfigcapskip}{8pt}
+% \end{macrocode}
+% \begin{macro}{\subcapfont}
+% Schriftart der Bildunterunterschriften. Zusätzlich Flattersatz.
+% \begin{macrocode}
+\renewcommand{\subcapfont}{\rmfamily\RaggedRight}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subcaplabelfont}
+% Schriftart für die Labels:
+% \begin{macrocode}
+\renewcommand{\subcaplabelfont}{\rmfamily}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\thesubfigure}
+% Formatierung der Subfigure"=Nummer in Verweisen:
+% \begin{macrocode}
+\renewcommand*{\thesubfigure}{\,\alph{subfigure}}
+\renewcommand*{\@@thesubfigure}{\alph{subfigure}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@thesubfigure}
+% Formatierung der Subfigure"=Nummer in Bildunterschriften:
+% \begin{macrocode}
+\renewcommand{\@thesubfigure}{%
+ {\subcapsize\subcaplabelfont\alph{subfigure}:}\space}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Subfloats}
+%
+% Nummerierung bei wiederholten Bildern und Tabellen:
+% \begin{macrocode}
+\renewcommand*\thesubfloatfigure{%
+ \themainfigure\,(\arabic{subfloatfigure}/\arabic{subfloatfiguremax})}
+\renewcommand*\thesubfloattable{%
+ \themaintable\,(\arabic{subfloattable}/\arabic{subfloattablemax})}
+% \end{macrocode}
+%
+% \subsection{Bilder und Tabellen zählen}
+%
+% Bilder zählen:
+% \begin{macrocode}
+\newcounter{bilderzahl}%
+\g@addto@macro\endfigure{%
+ \stepcounter{bilderzahl}%
+}%
+% \end{macrocode}
+% Tabellen zählen:
+% \begin{macrocode}
+\newcounter{tabellenzahl}%
+\g@addto@macro\endtable{%
+ \stepcounter{tabellenzahl}%
+}%
+% \end{macrocode}
+% Ausgabe der Werte:
+% \begin{macrocode}
+\AtEndDocument{%
+ \immediate\write\@auxout{%
+ \string\gdef\string\hhclsbilderzahl{\thebilderzahl}^^J%
+ \string\gdef\string\hhclstabellenzahl{\thetabellenzahl}^^J%
+ \string\gdef\string\hhclsaufgabenzahl{\theaufgabenzahl}}%
+}
+\addglobalwarning{%
+ \typeout{^^JNumber of figures: \thebilderzahl}%
+ \typeout{Number of tables: \thetabellenzahl}%
+ \typeout{Number of exercises: \theaufgabenzahl^^J}%
+}%
+% \end{macrocode}
+%
+% \subsection{Verzeichnisse}
+%
+% \begin{macro}{\listoffigures}
+% Verzeichnis der Bilder (kleinere Schrift):
+% \begin{macrocode}
+\@ifundefined{BeforeStartingTOC}{%
+ \ClassWarningNoLine{bgteubner}{Koma-Script macro
+ \string\BeforeStartingTOC\space not defined.\MessageBreak
+ Using workaround for \string\listoffigures. \MessageBreak
+ You should consider updating Koma-Script.}%
+ \renewcommand*\listoffigures{%
+ \begingroup%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \lof@heading%
+ \small
+ \@parskipfalse\@parskip@indent%
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+ \endgroup
+ }
+}{%
+ \BeforeStartingTOC[lof]{\small}
+}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\listoftables}
+% Verzeichnis der Tabellen (kleinere Schrift):
+% \begin{macrocode}
+\@ifundefined{BeforeStartingTOC}{%
+ \ClassWarningNoLine{bgteubner}{Koma-Script macro
+ \string\BeforeStartingTOC\space not defined.\MessageBreak
+ Using workaround for \string\listoftables.\MessageBreak
+ You should consider updating Koma-Script.}%
+ \renewcommand*\listoftables{%
+ \begingroup
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \lot@heading%
+ \small
+ \@parskipfalse\@parskip@indent%
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+ \endgroup
+ }
+}{%
+ \BeforeStartingTOC[lot]{\small}
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Index}
+%
+% Schreiben, wie Index erzeugt wird.
+% \begin{macrocode}
+\newcommand\hhcls@makeindex{}
+\let\hhcls@makeindex=\makeindex
+\renewcommand\makeindex{%
+ \hhcls@makeindex
+ \addglobalwarning{%
+ \typeout{^^JGenerate index by using^^J%
+ \space\space`makeindex -c -g -s bgteubner.ist \jobname'.^^J%
+ Have a look to the log file `\jobname.ilg'.^^J}%
+ }%
+}
+% \end{macrocode}
+% \begin{macro}{\hhcls@germanindexname}
+% Name des Index:
+% \begin{macrocode}
+\newcommand*\hhcls@germanindexname{Stichwortverzeichnis}
+% \end{macrocode}
+% \end{macro}
+% Dem Paket |babel.sty| erzählen, dass für die deutsche Sprache immer
+% |\hhcls@germanindexname| als Titel für das Sachwortverzeichnis dienen soll:
+% \begin{macrocode}
+\addto\captionsgerman{\renewcommand*\indexname{\hhcls@germanindexname}}%
+\addto\captionsngerman{\renewcommand*\indexname{\hhcls@germanindexname}}%
+\addto\captionsaustrian{\renewcommand*\indexname{\hhcls@germanindexname}}%
+\addto\captionsnaustrian{\renewcommand*\indexname{\hhcls@germanindexname}}%
+% \end{macrocode}
+% Am Ende ein Sachwortverzeichnis erstellen:
+% \begin{macrocode}
+\AtEndDocument{\printindex}
+% \end{macrocode}
+% Set size for lists.
+% \begin{macrocode}
+\newcommand\listsfont{\footnotesize}
+% \end{macrocode}
+% \begin{environment}{theindex}
+% Indexumgebung redefinieren, damit Flattersatz und kleinere Schrift
+% verwendet werden. Außerdem gegenüber |\RaggedRight| eine größere
+% "`Flatterung"' zulassen, um Overful hboxes zu vermeiden:
+% \begin{macrocode}
+\renewenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 20\p@
+ \setchapterpreamble{\index@preamble}%
+ \idx@heading%
+ \thispagestyle{\indexpagestyle}%
+ \par
+ \parindent\z@
+ \setlength{\parskip}{\z@ \@plus .3\p@}%
+ \setlength{\parfillskip}{\z@ \@plus 1fil}%
+ \let\item\@idxitem
+ \setlength\RaggedRightRightskip{\z@\@plus 4em}%
+% \end{macrocode}
+% Boolean einführen, der prüfen hilft, ob der richtige Indexstil
+% verwendet wurde.
+% \begin{macrocode}
+ \newif\ifhhclsiscorrectindex
+ \RaggedRight\listsfont}
+ {\ifhhclsiscorrectindex
+ \else
+% \end{macrocode}
+% Der Autor hat einen nicht zulässigen Indexstil verwendet:
+% \begin{macrocode}
+ \ClassError{bgteubner}{You have not used the correct index
+ style\MessageBreak
+ `bgteubner.ist' for the class `bgteubner.cls'}{%
+ You have to use the style bgteubner.ist:^^J%
+ Generate index by using^^J%
+ \space\space`makeindex -c -g -s bgteubner.ist \jobname'.^^J%
+ Have a look to the log file `\jobname.ilg'.}%
+ \fi
+ \if@restonecol\onecolumn\else\clearpage\fi}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\@idxitem}
+% Hängender Einzug mit 30\,pt:
+% \begin{macrocode}
+\renewcommand*\@idxitem{\par\hangindent 24\p@}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subitem}
+% Ein "`--"' vor Untereinträgen:
+% \begin{macrocode}
+\renewcommand*\subitem{\@idxitem \quad --\;}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subsubitem}
+% Zwei "`--"' vor Unter"=Untereinträgen:
+% \begin{macrocode}
+\renewcommand*\subsubitem{\@idxitem \quad --\;--\;}
+% \end{macrocode}
+% \end{macro}
+%
+% Befehle für Seitenbereiche, Verwendung z.\,B.\ \verb_\index{Moin|ff}_.
+%
+% \begin{macro}{\f}
+% Ein einfaches "`f"' angehängt:
+% \begin{macrocode}
+\newcommand*\f[1]{#1\,f}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ff}
+% Ein einfaches "`ff"' angehängt:
+% \begin{macrocode}
+\newcommand*\ff[1]{#1\,ff}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\textbff}
+% \begin{macro}{\textbfff}
+% Die beiden Befehle in fett:
+% \begin{macrocode}
+\newcommand*\textbff[1]{\textbf{#1\,f}}%
+\newcommand*\textbfff[1]{\textbf{#1\,ff}}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\subind}
+% Wenn mit \verb_|see_ auf andere Indexeinträge mit Unterpunkten
+% verwiesen wird, soll \cs{subind} statt einem Komma verwendet werden:
+% \begin{macrocode}
+\newcommand\subind{\,--\,\hskip\z@skip}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\emphindex}
+% \changes{2.01}{2011/12/25}{Added macro \cs{emphindex} for important index
+% entryies}%
+% Macro for generating bold page references in the index. May be
+% redefined if hyperref is used.
+% \begin{macrocode}
+\newcommand*\emphindex[1]{\textbf{#1}}%
+% \end{macrocode}
+% \end{macro}
+% In case the package \verb|imakeidx.sty| is loaded, prevent it from changing
+% the theindex environment.
+% \begin{macrocode}
+\BeforePackage{imakeidx}{%
+ \PassOptionsToPackage{original}{imakeidx}
+}
+% \end{macrocode}
+%
+% \section{Fußnoten}
+%
+% Formatierung der Fußnoten. Hängender Einzug, Fußnotenmarkierung
+% nicht hochgestellt, Versalziffern:
+% \begin{macrocode}
+\deffootnote{1.5em}{1.5em}{\normalfont\newstylenums{\thefootnotemark}\enspace}
+% \end{macrocode}
+% \changes{1.02}{2003/09/17}{\cs{normalfont} in Fußnoten aufrufen}%
+% Fußnoten im Flattersatz:
+% \begin{macrocode}
+\addtokomafont{footnote}{\normalfont\RaggedRight}
+% \end{macrocode}
+% Fußnotenmarkierung im Text in Versalziffern:
+% \begin{macrocode}
+\deffootnotemark{\textsuperscript{\newstylenums{\thefootnotemark}}}
+% \end{macrocode}
+% Abstand der Fußnoten vom Text?
+% \begin{macrocode}
+\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
+% \end{macrocode}
+%
+% \section{Zusätzliche Textbefehle}
+%
+% \begin{macro}{\acro}
+% \changes{1.01}{2003/09/16}{\cs{acro} für European Computer Modern
+% serifenlos sowie kursive Schreibmaschinenschrift mit
+% \cs{textsmaller} statt \cs{textsc}}%
+% Großbuchstabige Abkürzungen in Kapitälchen setzen:
+% \begin{macrocode}
+\ifhhcls@times
+ \DeclareRobustCommand\acro[1]{\textsmaller{\MakeUppercase{#1}}}
+\else
+ \DeclareRobustCommand\acro[1]{%
+ \ifthenelse{\equal{\f@family}{hfor}\or\equal{\f@family}{cmr}}{%
+ \textsc{\MakeLowercase{#1}}%
+ }{%
+ \ifthenelse{\(\equal{\f@family}{hfott}\or\equal{\f@family}{cmtt}\)%
+ \and\equal{\f@shape}{n}}{%
+ \textsc{\MakeLowercase{#1}}%
+ }{%
+ \textsmaller{\MakeUppercase{#1}}%
+ }%
+ }%
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\person}
+% Personennamen:
+% \begin{macrocode}
+\newcommand\person{}%
+\let\person=\emph
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\new}
+% Neu eingeführte Begriffe:
+% \begin{macrocode}
+\newcommand\new{}%
+\let\new=\emph
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\engl}
+% Englische Begriffe:
+% \begin{macrocode}
+\newcommand\engl{}%
+\let\engl=\emph
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\qed}
+% \changes{1.10}{2003/10/30}{Befehl \cs{qed} eingeführt}%
+% Ende eines Beweises:
+% \begin{macrocode}
+\newcommand*\qed{%
+ \hskip 1em plus 1fill\rule{0pt}{1ex}\hskip\z@skip
+ \hglue 0pt plus 1fill\mbox{\qedname}}
+% \hskip 1em plus 1fill\rule{0.05mm}{1ex}\hskip\z@skip
+% \rule{0.05mm}{1ex}\hglue 0pt plus 1fill\qedname}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\qedname}
+% Text, der von \cs{qed} gesetzt wird:
+% \begin{macrocode}
+\newcommand*\qedname{\rule{1ex}{1ex}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \section{Mathematik}
+%
+% \subsection{Zusätzliche mathematische Befehle}
+%
+% \begin{macro}{\tr}
+% Spur (tr):
+% \begin{macrocode}
+\newcommand*\tr{\mathop{\operator@font tr}\nolimits}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\e}
+% Eulerkonstante:
+% \begin{macrocode}
+\newcommand*\e{\mathop{\operator@font e}\nolimits}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\d}
+% Differentialoperator:
+%
+% For some reason, since texlive 2011, the original \cs{d} macro is
+% redefined later again. This can be overcome by redefining \cs{d} at
+% \cs{begin{document}}.
+% \changes{2.01}{2011/12/29}{Fix later redefinition of \cs{d} for
+% usage in math mode}%
+% \begin{macrocode}
+\let\origd=\d
+\AtBeginDocument{
+ \renewcommand*\d{%
+% \end{macrocode}
+% Das |\relax| ist notwendig, weil |\ifmmode| sonst nicht in der
+% |align|"=Umgebung funktionieren würde.
+% \begin{macrocode}
+ \relax\ifmmode
+ \mathrm{d}%
+ \else
+ \expandafter\origd
+ \fi
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\D}
+% Differenzenoperator:
+% \begin{macrocode}
+\newcommand*\D{\ensuremath{\upDelta}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\grad}
+% Gradient:
+% \begin{macrocode}
+\newcommand*\grad{\mathop{\operator@font grad}\nolimits}
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{cases*}
+% Fallunterscheidung mit schließender Klammer:
+% \begin{macrocode}
+\newenvironment{cases*}{%
+ \matrix@check\cases\env@cases
+}{%
+ \endarray\right\rbrace%
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\equivalent}
+% Entspricht-Zeichen:
+% \begin{macrocode}
+\newcommand*\equivalent{\ensuremath{\mathrel{\widehat{=}}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{nomathindent}
+% Innerhalb dieser Umgebung ist der mathematische Einzug verringert
+% oder gelöscht.
+% \begin{macrocode}
+%\newcommand*\nomathindent[1][1.0]{\rule{-#1\mathindent}{0mm}}
+\newenvironment{nomathindent}[1][1.0]{%
+ \addtolength{\mathindent}{-#1\mathindent}%
+ \ignorespaces
+}{\ignorespacesafterend}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\vec}
+% \begin{macro}{\matr}
+% \begin{macro}{\tens}
+% \changes{1.06}{2003/10/12}{Befehl \cs{tensor} in \cs{tens} umbenannt}%
+% \changes{1.20}{2004/03/07}{MathTime font has original bold math. Use
+% if available}%
+% Befehl für Matrizen und Vektoren.
+% Falls Fettdruck bei Times, gibt es keine richtige fette Schrift.
+% "`Poor Man's Bold als Ersatz"'.
+% \begin{macrocode}
+\iftensor@bold
+ \ifhhcls@times
+ \ifhhcls@mathtime
+ \else
+ \addglobalwarning{%
+ \ClassWarningNoLine{bgteubner}{The combination of the main font
+ Times\MessageBreak
+ with bold vectors (option <boldvec>)\MessageBreak
+ leads to ugly results in some cases}}%
+ \renewcommand*\vec[1]{\ensuremath{\pmb{#1}}}
+ \renewcommand*\matr[1]{\ensuremath{\pmb{#1}}}
+ \renewcommand*\tens[2]{\ensuremath{\pmb{#1}}}
+ \fi
+ \fi
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\tensor}
+% Einen Befehl \cs{tensor} erzeugen, der dem Nutzer sagt, dass der
+% Befehl in \cs{tens} umbenannt wurde.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \providecommand*\tensor{%
+ \ClassError{bgteubner}{\string\tensor\space command used instead
+ of \string\tens\space command (see help by pressing h)}{%
+ Because of some name clashes, the \string\tensor\space command
+ had to be renamed to \string\tens. Please change all calls
+ inside your document.}%
+ \tens
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Formatierung}
+%
+% Zeilenumbrüche zwischen Zeilen in abgesetzten Formeln erlauben:
+% \begin{macrocode}
+\allowdisplaybreaks
+% \end{macrocode}
+% Bug von |amsmath| beheben, der Labels auf Normalschrift zwingt:
+% \begin{macrocode}
+\def\maketag@@@#1{\hbox{\m@th#1}}
+% \end{macrocode}
+%
+% Komma im Mathemodus als Dezimalzeichen verwenden, von
+% Donald Arseneau (asnd@triumf.ca):
+% \begin{macrocode}
+\mathchardef\mathcomma\mathcode`\,
+\mathcode`\,=32768 % "8000
+%
+\begingroup
+\catcode`\_=12
+\catcode`\,=\active
+\@firstofone{%
+\endgroup
+%
+ \edef\DC@char{\meaning_}
+ \def\DC@parse#1 _{\def\DC@parse##1#1 ##2##3\delimiter{##2}}
+ \expandafter\DC@parse\DC@char
+ \toks@={\expandafter\DC@parse\meaning\DC@char}
+ \edef\DC@test{9<2\the\toks@ \DC@char.\delimiter}
+%
+ \DeclareRobustCommand\ActiveComma{\futurelet\DC@char\DC@docomma}
+ \def\DC@docomma{%
+ \ifnum\DC@test \mathord \fi
+ \mathcomma
+ }
+ \let,\ActiveComma
+}
+% \end{macrocode}
+%
+% \section{Glossar, Abkürzungs- und Formelverzeichnisse}%
+%
+% Die Behandlung von solchen Verzeichnissen wurde aus dem
+% |nomencl|"=Paket, Version~v3.1a vom 13.\,12.~2000,
+% weiterentwickelt.
+%
+% Zunächst werden Befehle definiert, die das At"=Zeichen (@) in
+% Argumenten finden und verarbeiten können.
+% Da in der Klassendatei das @ eine besondere Bedeutung hat, muss dies
+% zunächst auf den Standardwert wie im Text umgeschaltet werden.
+% \begin{macrocode}
+\makeatother
+% \end{macrocode}
+% \begin{macro}{\ifhasat}
+% Dieser Befehl hat drei Argumente, wenn das erste ein @ enthält, wird
+% das zweite Argument ausgeführt, andernfalls das dritte.
+% \begin{macrocode}
+\newcommand*\ifhasat[1]{%
+ \expandafter\csname @ifhasat\expandafter\endcsname#1@\end
+}
+% \end{macrocode}
+% Routine, die die Arbeit für \cs{ifhasat} erledigt.
+% \begin{macrocode}
+\expandafter\def\csname @ifhasat\endcsname#1@#2\end{%
+ \ifx\relax#2\relax
+ \expandafter\csname @secondoftwo\expandafter\endcsname
+ \else
+ \expandafter\csname @firstoftwo\expandafter\endcsname
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\beforeat}
+% Ähnlich wie \cs{ifhasat}, übernimmt aber nur ein Argument und gibt
+% den Teil vor dem @ zurück.
+% \begin{macrocode}
+\newcommand*\beforeat[1]{%
+ \expandafter\csname @beforeat\expandafter\endcsname#1@\end
+}
+\expandafter\def\csname @beforeat\endcsname#1@#2\end{#1}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\afterat}
+% Ähnlich wie \cs{ifhasat}, übernimmt aber nur ein Argument und gibt
+% den Teil nach dem @ zurück.
+% \begin{macrocode}
+\newcommand*\afterat[1]{%
+ \ifhasat{#1}{\expandafter\csname hh@afterat\expandafter\endcsname#1\end}{}%
+}
+\expandafter\def\csname hh@afterat\endcsname#1@#2\end{#2}
+% \end{macrocode}
+% \end{macro}
+% Zurückschalten des @ auf den Wert innerhalb der Klassendefinition.
+% \begin{macrocode}
+\makeatletter
+% \end{macrocode}
+% Prefix vor Einträge, um die Sortierung korrekt zu gestalten. Siehe
+% dazu die Dokumentation zu |nomencl.sty|. Standardmäßig
+% ausgeschaltet, um |makeindex| zu ermöglichen, Zeichen einzufügen.
+% \begin{macrocode}
+\def\hhcls@gloprefix{}
+% \end{macrocode}
+% Lösche die von der Formatdatei erzeugten Glossar"=Befehle.
+% \begin{macrocode}
+\let\glossary=\@undefined
+\let\makeglossary=\@undefined
+% \end{macrocode}
+% \begin{macro}{\makeglossary}
+% Definiere einen Befehl \cs{makeglossary}, der einen neuen Typ
+% Glossar einrichtet.\sloppypar
+% Standardmäßig wird ein Glossar erzeugt, für den neue Einträge mit
+% \cs{glossary\{\meta{Eintrag}\}\{\meta{Erklärung}\}} generiert
+% werden. Dann werden die Dateien \cs{\meta{\cs{jobname}}.glo} und
+% \cs{jobname.gls} verwendet.
+% Wird ein optionales Argument mit \cs{makeglossary[\meta{Name}]}
+% übergeben, wird ein neuer Glossartyp eingerichtet, für den Einträge
+% mit dem Befehl
+% \cs{glossary\meta{Name}\{\meta{Eintrag}\}\{\meta{Erklärung}\}}
+% generiert werden. Es werden die Dateien
+% \cs{jobname.\meta{Name}} und
+% \cs{jobname.\meta{Name}s} verwendet.
+% \begin{macrocode}
+\newcommand*\makeglossary[1][\@empty]{%
+% \end{macrocode}
+% Speicher die Dateiendungen für die von \LaTeX und die von makeindex
+% erzeugten Dateien in den Makros \cs{hhcls@gloname} und
+% \cs{hhcls@\meta{Name}glsname}.
+% \begin{macrocode}
+ \edef\hhcls@gloname{glo#1}%
+ \expandafter\edef\csname hhcls@#1glsname\endcsname{gls#1}%
+% \end{macrocode}
+% Ein paar Ausgaben zur Information.
+% \begin{macrocode}
+ \typeout{^^JNew glossary type \string\glossary#1 with file
+ extensions `\hhcls@gloname' and `\csname hhcls@#1glsname\endcsname'.}%
+ \typeout{Writing glossary file `\jobname.\hhcls@gloname'.^^J}%
+% \end{macrocode}
+% Am Ende des Übersetzungslaufs wird dem Anwender mitgeteilt, wie er
+% die Glossare erzeugen kann.
+% \begin{macrocode}
+ \addglobalwarning{%
+ \typeout{^^JGenerate glossary type \string\glossary#1 by using^^J%
+ \space\space`makeindex -c -g -s bgteuglo.ist -o
+ \jobname.\csname hhcls@#1glsname\endcsname\space
+ -t \jobname.\hhcls@gloname lg \jobname.\hhcls@gloname'^^J%
+ or^^J%
+ \space\space`makeindex -c -g -s bgteuglochar.ist -o
+ \jobname.\csname hhcls@#1glsname\endcsname\space
+ -t \jobname.\hhcls@gloname lg \jobname.\hhcls@gloname'.^^J%
+ Have a look to the log file `\jobname.\hhcls@gloname lg'^^J.}%
+ }%
+% \end{macrocode}
+% Überprüfen, ob es den Befehl schon gibt, damit nicht doppelt
+% definiert wird.
+% \begin{macrocode}
+ \@ifundefined{glossary#1}{%
+% \end{macrocode}
+% \begin{macro}{\glossary}
+% Definition des Befehls, der im Text verwendet wird, also
+% \cs{glossary} oder \cs{glossary\meta{Name}}. Dieser Befehl ist
+% zerbrechlich, darf also nicht in Bildunterschriften etc.\ verwendet
+% werden. Dies ist aber keine Einschränkung, da ja im Glossar keine
+% Verweise auf Seiten oder andere Dinge gemacht werden.
+% Wird als erstes Argument ein zusätzliches optionales Arguemnt
+% angegeben, wird der Inhalt dem Eintrag statt des normalerweise
+% verwendeten "`a"' vorangestellt, um die Sortierung zu
+% beeinflussen. Ebenso ist aber auch die Verwendung von |blah@fasel|
+% wie beim Index möglich.
+% \begin{macrocode}
+ \expandafter\def\csname glossary#1\endcsname{%
+% \end{macrocode}
+% Den Ausgabekanal an \cs{@hhcls@glossary} weiterreichen.
+% \begin{macrocode}
+ \def\hhcls@tmpoutputfile{\csname hhcls@glossaryfile#1\endcsname}%
+% \end{macrocode}
+% Die eigentliche Arbeit wird von \cs{@hhcls@glossary} übernommen.
+% \begin{macrocode}
+ \protect\@hhcls@glossary
+ }%
+% \end{macrocode}
+% \end{macro}
+% Festlegen und öffnen der Ausgabedatei.
+% \begin{macrocode}
+ \expandafter\newwrite\csname hhcls@glossaryfile#1\endcsname
+ \immediate\openout\csname hhcls@glossaryfile#1\endcsname=%
+ \jobname.\hhcls@gloname%
+% \end{macrocode}
+% \begin{macro}{\glossarypreamble}
+% Definieren der Präambel des Glossars. Per Default wird ein neues,
+% unnummeriertes Kapitel mit der Überschrift
+% \cs{glossary\meta{Name}name} angefangen. Für den normalen Glossar
+% \cs{glossary} ist diese durch |babel.sty| definiert. Bei anderen
+% Glossartypen \cs{glossary\meta{Name}} muss der Anwender dies selbst
+% erledigen, indem er mit
+% \cs{newcommand}\cs{glossary\meta{Name}name\{\meta{Titel}\}} einen
+% Befehl erzeugt.
+% Der Anwender kann auch den Befehl \cs{glossary\meta{Name}preamble}
+% umdefinieren, um beispielsweise nur einen Abschnitt zu beginnen oder
+% zusätzlichen Text zu platzieren.
+% \begin{macrocode}
+ \expandafter\def\csname glossary#1preamble\endcsname{%
+ \@ifundefined{glossary#1name}{%
+% \end{macrocode}
+% Wenn \cs{glossary\meta{Name}name} nicht definiert ist, einen Fehler
+% ausgeben und \emph{\bfseries ????} als Titel verwenden.
+% \begin{macrocode}
+ \ClassError{bgteubner}{No title for glossary type `#1'
+ defined}{You have to define a title for the glossary type by
+ doing^^J%
+ \space\space\space\space%
+ \string\newcommand\string\glossary #1name{<Name>}.}%
+ \addchap{\itshape ????}%
+ }{%
+% \end{macrocode}
+% Titel als Kapitelnamen ausgeben.
+% \begin{macrocode}
+ \addchap{\csname glossary#1name\endcsname}}%
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\printglossary}
+% Befehl \cs{printglossary\meta{Name}}, der ein automatisch erzeugtes
+% Glossar ausgibt. Wird ein optionales Argument angegeben, verändert
+% sich die Spaltenbreite der Einträge.
+% \begin{macrocode}
+ \expandafter\def\csname printglossary#1\endcsname{%
+ \@ifnextchar[%
+ {\csname @printglossary#1\endcsname}%
+ {\csname @printglossary#1\endcsname[\glossarylabelwidth]}%
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@printglossary}
+% Der interne Befehl, der von \cs{printglossary\meta{Name}} aufgerufen
+% wird.
+% \begin{macrocode}
+ \expandafter\def\csname @printglossary#1\endcsname[##1]{%
+ \begingroup
+% \end{macrocode}
+% Breite aus dem Argument setzen.
+% \begin{macrocode}
+ \setlength{\glossarylabelwidth}{##1}%
+% \end{macrocode}
+% Preambel umkopieren.
+% \begin{macrocode}
+ \def\hhcls@glossarypreamble{\csname glossary#1preamble\endcsname}%
+% \end{macrocode}
+% Die erzeugte Datei mit der enthaltenen |theglossary|"=Umgebung laden.
+% \begin{macrocode}
+ \@input@{\jobname.\csname hhcls@#1glsname\endcsname}%
+ \endgroup
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+ }{%
+% \end{macrocode}
+% Ist der Glossartyp schon definiert, eine Fehlermeldung ausgeben.
+% \begin{macrocode}
+ \ClassError{bgteubner}{Glossary type `#1' already defined}{You
+ have tried to define the glossary type `#1' twice}}%
+}
+\@onlypreamble\makeglossary
+% \end{macrocode}
+% \end{macro}
+% Defaulteinstellung für diejenigen, die nicht mit automatisch
+% erzeugten Verzeichnissen arbeiten und direkt in den Quelltext eine
+% |theglossary|"=Umgebung schreiben.
+% \begin{macrocode}
+\def\hhcls@glossarypreamble{\addchap{\glossaryname}}%
+% \end{macrocode}
+% Ein Befehl aus dem |nomencl|"=Paket, bei dem ich nicht weiß, was er
+% genau tut. Behalte ich lieber, wie es ist.
+% \begin{macrocode}
+\def\hhcls@glo@verb{\expandafter\strip@prefix\meaning}
+% \end{macrocode}
+% Dieser Befehl stellt fest, ob ein Präfix zur Sortierung angegeben
+% wurde oder nicht.
+% \begin{macrocode}
+\def\@hhcls@glossary{%
+ \@bsphack
+ \begingroup
+ \@sanitize
+ \@ifnextchar[%
+ {\@@@hhcls@glossary}{\@@@hhcls@glossary[\hhcls@gloprefix]}%
+}%
+% \end{macrocode}
+% \begin{macro}{\@@@hhcls@glossary}
+% Das eigentliche Schreiben des Eintrags in die Ausgabedatei.
+% \begin{macrocode}
+\def\@@@hhcls@glossary[#1]#2#3{%
+ \def\@tempa{#2}\def\@tempb{#3}%
+% \end{macrocode}
+% Wenn das Argument ein @ enthält, eine andere Behandlung verwenden.
+% \begin{macrocode}
+ \ifhasat{#2}{%
+% \end{macrocode}
+% Ist ein @ enthalten, den Eintrag fast unverändert in die Ausgabedatei
+% schreiben. Es wird nur der Präfix vorgeschaltet und der Teil nach
+% dem @ in geschweifte Klammern gesetzt, um Probleme zu verhindern,
+% wenn eine eckige Klammer enthalten ist.
+% \begin{macrocode}
+ \protected@write\hhcls@tmpoutputfile{}%
+ {\string\glossaryentry{#1\beforeat{#2}@{\afterat{#2}}]
+% \hhcls@glo@verb\@tempb
+ \@tempb
+ |glossarypage}{\thepage}%
+ }%
+ }{%
+% \end{macrocode}
+% Ist kein @ enthalten, wird der Eintrag verdoppelt und mit @ in die
+% Datei geschrieben.
+% \begin{macrocode}
+ \protected@write\hhcls@tmpoutputfile{}%
+ {\string\glossaryentry{%
+ #1\@tempa @{\@tempa}]
+ \@tempb
+% #1\hhcls@glo@verb\@tempa @{\hhcls@glo@verb\@tempa}]
+% \hhcls@glo@verb\@tempb
+ |glossarypage}{\thepage}%
+ }%
+ }%
+ \endgroup
+ \@esphack}
+% \end{macrocode}
+% \end{macro}
+% Breite der Einträge in den Verzeichnissen definieren.
+% \begin{macrocode}
+\newlength{\glossarylabelwidth}
+\setlength{\glossarylabelwidth}{3em}
+% \end{macrocode}
+% Einträge linksbündig.
+% \begin{macrocode}
+\def\glossarylabel#1{#1\hfil}
+% \end{macrocode}
+% \begin{environment}{theglossary}
+% Die Umgebung, die die Ausgabe der Verzeichnisse vornimmt.
+% Im optionalen Argument kann der Defaultwert der Präambel
+% überschrieben werden. Das ist nützlich, wenn man |theglossary|
+% direkt verwendet.
+% \begin{macrocode}
+\newenvironment{theglossary}[1][\@empty]{%
+ \def\tuetel{#1}%
+ \def\tueteluet{\@empty}%
+% \end{macrocode}
+% Verzeichnisse zweispaltig setzen.
+% \begin{macrocode}
+ \begin{multicols}{2}[%
+% \end{macrocode}
+% Schriftgrößen umstellen.
+% \begin{macrocode}
+ \let\size@section\normalsize
+ \let\size@subsection\small
+ \let\size@subsubsection\small
+ \small
+% \end{macrocode}
+% Präambel ausgeben.
+% \begin{macrocode}
+ \ifx\tuetel\tueteluet
+ \hhcls@glossarypreamble
+ \else
+ #1%
+ \fi
+ ]%
+% \end{macrocode}
+% Layout innerhalb der Liste.
+% \begin{macrocode}
+ \setlength{\columnsep}{20pt}%
+ \listsfont
+% \end{macrocode}
+% Liste beginnen. Falls ein \cs{item} ohne Argument in eckigen
+% Klammern verwendet wird, einen Fehler ausgeben, denn das macht hier
+% wirklich keinen Sinn.
+% \begin{macrocode}
+ \begin{list}{\ClassError{bgteubner}{No symbol given for
+ \string\item}{In the `theglossary' environment, you have to
+ specify a symbol^^J%
+ for each \string\item\space using \string\item[<symbol>], e.g.^^J%
+ \space\space\space\space
+ \string\item[{$\string\sigma_{\string\mathrm{max}}$}] Maximal
+ stress^^J%
+ \space\space\space\space
+ \string\item[DIN] Deutsches Institut f"ur Normung}}{%
+ \setlength{\labelwidth}{\glossarylabelwidth}%
+ \leftmargin\labelwidth
+ \advance\leftmargin by \labelsep
+ \let\makelabel\glossarylabel%
+% \end{macrocode}
+% Absatzabstand nicht dehnbar, um nicht die Zeilen zu weit auseinander
+% zu ziehen.
+% \begin{macrocode}
+ \parsep\z@%
+ \parskip\z@%
+% \parsep\z@ \@plus\p@%
+% \parskip\z@ \@plus\p@%
+ \setlength{\itemsep}{0pt}%
+ \newif\ifhhclsiscorrectglossary
+ \RaggedRight
+ }%
+ }{%
+% \end{macrocode}
+% Ende der Liste.
+% \begin{macrocode}
+% \ifhhclsiscorrectglossary
+% \else
+% \ClassError{bgteubner}{You have not used the correct glossary
+% style\MessageBreak
+% `bgteuglo.ist' or `bgteuglochar.ist' for the class
+% `bgteubner.cls'}{%
+% You have to use one of the style `bgteuglo.ist' or
+% `bgteuglochar.ist'.^^J%
+% Have a look to the file \jobname.log to learn which command
+% line to use.}%
+% \fi
+ \end{list}%
+ \end{multicols}%
+ \ignorespacesafterend
+ \noindentnextpar\par
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\glossarypage}
+% Befehl, der die Seitenzahlen in den theoremartigen Verzeichnissen
+% ignoriert.
+% \begin{macrocode}
+\def\glossarypage#1{}
+\def\glossarypagedelim{}
+\def\glossarypagerange{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\glossarynewchar}
+% Zeichen für einen neuen Buchstaben im Glossar:
+% \begin{macrocode}
+\newcommand\glossarynewchar[1]{%
+ \indexspace
+ \item [\textbf{#1}]\strut
+ \@nobreaktrue\nopagebreak
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Anderer Kram}
+%
+% Testen, ob beidseitig (zu Debug"=Zwecken):
+% \begin{macrocode}
+\if@twoside
+\else
+ \ClassError{bgteubner}{One-side format chosen}{You may not print a
+ book with one-side format.}
+\fi
+% \end{macrocode}
+% \changes{1.14}{2003/12/17}{New command \cs{GetFileInfo} (from
+% \texttt{url.sty})}%
+% \begin{macro}{\GetFileInfo}
+% Get file version and date (from |doc.sty|).
+% \begin{macrocode}
+\providecommand*\GetFileInfo[1]{%
+ \def\filename{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\filedate{##1}%
+ \def\fileversion{##2}%
+ \def\fileinfo{##3}}%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\version}
+% Überprüfung, ob das Dokument mit der geforderten Version übersetzt wird:
+% \begin{macrocode}
+\newcommand*\version[1]{%
+ \begingroup
+ \GetFileInfo{bgteubner.cls}%
+ \ifx\hhcls@tmp\fileversion
+ \typeout{^^JVersion of the class `bgteubner.cls'
+ (\fileversion) is identical^^J%
+ with the wanted version.^^J}%
+ \else
+ \typeout{^^JVersion of the class `bgteubner.cls'
+ (\fileversion) differs from wanted version (#1).^^J}%
+ \addglobalwarning{\ClassWarningNoLine{bgteubner}{The version, wanted in
+ the document (#1),\MessageBreak
+ differs from the used version of the
+ `bgteubner.cls'\MessageBreak
+ class (\fileversion)}}%
+ \fi
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\frontmatter}
+% \changes{1.01}{2003/09/16}{Römische Seitenzahlen für European
+% Computer Modern in Kapitälchen statt Versalien}%
+% Buch fängt mit Seite~5 an:
+% \begin{macrocode}
+\newcommand\hhcls@frontmatter{}
+\let\hhcls@frontmatter=\frontmatter
+\renewcommand\frontmatter[1][5]{%
+ \hhcls@frontmatter
+ \ifhhcls@times
+ \pagenumbering{Roman}%
+ \else
+ \renewcommand\thepage{\textsc{\roman{page}}}%
+ \fi
+ \setcounter{page}{5}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\backmatter}
+% \cs{backmatter} ignorieren.
+% \begin{macrocode}
+\renewcommand*\backmatter{\ClassWarning{bgteubner}{The
+ \string\backmatter\space command is ignored}}
+% \end{macrocode}
+% \end{macro}
+% Dinge, die im Entwurfsmodus getan werden:
+% \begin{macrocode}
+\ifhhcls@entwurf
+% \end{macrocode}
+% Warnung am Ende, dass man nicht vergisst, den Entwurfsmodus
+% auszuschalten:
+% \begin{macrocode}
+ \addglobalwarning{%
+ \ClassWarningNoLine{bgteubner}{Leave out the class option
+ <draft>\MessageBreak
+ for the final version}%
+ }
+% \end{macrocode}
+% \begin{macro}{\now}
+% Zeit berechnen (aus time.sty):
+% \begin{macrocode}
+ \newcommand*\now{{%
+ \def\Time{3}%
+ \def\Hour{4}%
+ \def\Minute{5}%
+ \count\Time=\time\relax
+ \count\Hour=\count\Time\relax
+ \divide\count\Hour by 60\relax%%hours past midnight
+ \count\Minute=\count\Hour\relax
+ \multiply\count\Minute by -60\relax
+ \advance\count\Minute by \count\Time\relax %%minutes past hour
+ \the\count\Hour\relax:%
+ \ifnum\count\Minute<10
+ 0%
+ \fi
+ \the\count\Minute\relax
+ }}
+% \end{macrocode}
+% \end{macro}
+% Fußzeilen anpassen:
+% \begin{macrocode}
+ \ifoot[{\rmfamily \"Ubersetzt: \today, \now}]{%
+ {\rmfamily \"Ubersetzt: \today, \now}}
+% \end{macrocode}
+% Warnung bei übervollen Zeilen anschalten:
+% \begin{macrocode}
+ \overfullrule5mm
+\fi
+% \end{macrocode}
+%
+% \begin{macro}{\noindentnextpar}
+% Dieser Befehl löscht im nächsten Absatz den Absatzeinzug:
+% \begin{macrocode}
+\newcommand*\noindentnextpar{%
+ \global\everypar{%
+% \end{macrocode}
+% Einzug auf Null setzen:
+% \begin{macrocode}
+ \setbox0\lastbox
+% \end{macrocode}
+% Für die folgenden Absätze diese Einstellung wieder löschen:
+% \begin{macrocode}
+ \global\everypar{}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bigskip}
+% Befehl |\bigskip| für Abschnittswechsel so ändern, dass danach kein
+% Einzug gesetzt wird. Außerdem den Abstand anpassen:
+% \begin{macrocode}
+\newcommand\hhcls@bigskip{}
+\let\hhcls@bigskip=\bigskip
+\renewcommand\bigskip{\par\hhcls@bigskip\noindentnextpar}
+\setlength{\bigskipamount}{18.0pt plus 6.0pt minus 6.0pt}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\medskip}
+% Befehl |\medskip| für Abschnittswechsel so ändern, dass danach kein
+% Einzug gesetzt wird. Außerdem den Abstand anpassen:
+% \begin{macrocode}
+\newcommand*\hhcls@medskip{}
+\let\hhcls@medskip\medskip
+\renewcommand{\medskip}{\par\hhcls@medskip\noindentnextpar}
+\setlength{\medskipamount}{9.0pt plus 3.0pt minus 3.0pt}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\smallskip}
+% Befehl |\smallskip| für Abschnittswechsel so ändern, dass danach kein
+% Einzug gesetzt wird. Außerdem den Abstand anpassen:
+% \begin{macrocode}
+\newcommand*\hhcls@smallskip{}
+\let\hhcls@smallskip\smallskip
+\renewcommand{\smallskip}{\par\hhcls@smallskip\noindentnextpar}
+\setlength{\smallskipamount}{4.5pt plus 1.5pt minus 1.5pt}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\gliederungsfehler}
+% Fehlerausgaben in den Umgebungen, wenn Gliederungsbefehle verboten sind:
+% \begin{macrocode}
+\newcommand*\gliederungsfehler[1]{%
+ \renewcommand{\part}{\ClassError{bgteubner}{\string\part\space
+ used inside #1 environment}{%
+ Inside the #1 environment,^^J\string\part,
+ \string\addpart, \string\chapter, \string\addchap,
+ \string\section\space, and \string\subsection\space
+ ^^Jmay not be used.
+ ^^J\string\subsubsection\space and \string\paragraph\space
+ are allowed.}}%
+ \renewcommand{\addpart}{\ClassError{bgteubner}{\string\addpart\space
+ used inside #1 environment}{%
+ Inside the #1 environment,^^J\string\part,
+ \string\addpart, \string\chapter, \string\addchap,
+ \string\section\space, and \string\subsection\space
+ ^^Jmay not be used.
+ ^^J\string\subsubsection\space and \string\paragraph\space
+ are allowed.}}%
+ \renewcommand{\chapter}{\ClassError{bgteubner}{\string\chapter\space
+ used inside #1 environment}{%
+ Inside the #1 environment,^^J\string\part,
+ \string\addpart, \string\chapter, \string\addchap,
+ \string\section\space, and \string\subsection\space
+ ^^Jmay not be used.
+ ^^J\string\subsubsection\space and \string\paragraph\space
+ are allowed.}}%
+ \renewcommand{\addchap}{\ClassError{bgteubner}{\string\addchap\space
+ used inside #1 environment}{%
+ Inside the #1 environment,^^J\string\part,
+ \string\addpart, \string\chapter, \string\addchap,
+ \string\section\space, and \string\subsection\space
+ ^^Jmay not be used.
+ ^^J\string\subsubsection\space and \string\paragraph\space
+ are allowed.}}%
+ \renewcommand{\section}{\ClassError{bgteubner}{\string\section\space
+ used inside #1 environment}{%
+ Inside the #1 environment,^^J\string\part,
+ \string\addpart, \string\chapter, \string\addchap,
+ \string\section\space, and \string\subsection\space
+ ^^Jmay not be used.
+ ^^J\string\subsubsection\space and \string\paragraph\space
+ are allowed.}}%
+ \renewcommand{\subsection}{\ClassError{bgteubner}{\string\subsection\space
+ used inside #1 environment}{%
+ Inside the #1 environment,^^J\string\part,
+ \string\addpart, \string\chapter, \string\addchap,
+ \string\section\space, and \string\subsection\space
+ ^^Jmay not be used.
+ ^^J\string\subsubsection\space and \string\paragraph\space
+ are allowed.}}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{hhcls@quotation}
+% Eine eigene quotation-Umgebung für interne Belange:
+% \begin{macrocode}
+\newlength{\hhcls@leftmargin}%
+\newlength{\hhcls@rightmargin}%
+\newenvironment{hhcls@quotation}[3][\@empty]{%
+ \edef\hhcls@tmpa{#1}%
+ \ifx\hhcls@tmpa\@empty
+ \setlength{\hhcls@rightmargin}{#2}%
+ \else
+ \setlength{\hhcls@rightmargin}{#1}%
+ \fi
+ \setlength{\hhcls@leftmargin}{#2}%
+ \begin{list}{}{%
+ \listparindent\parindent%
+ \itemindent0em%
+ \leftmargin\hhcls@leftmargin%
+ \rightmargin\hhcls@rightmargin
+ \parsep\z@ \@plus\p@}%
+ \begin{spacing}{#3}%
+ \item\relax
+ }{%
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{Abstände am Ende der Umgebung korrigiert}%
+% \begin{macrocode}
+ \end{spacing}%
+ \removelastskip
+ \end{list}%
+ }%
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{quotation}
+% \changes{1.10}{2003/10/30}{\texttt{quotation}"=Umgebung angepasst}%
+% \changes{1.20}{2004/03/07}{\texttt{quotation} environment with
+% correct margins}%
+% |quotation|"=Umgebung ohne Einrückung im ersten Absatz, größerer
+% Absatzeinzug.
+% \begin{macrocode}
+\renewenvironment{quotation}{%
+ \list{}{%
+ \listparindent \parindent
+ \itemindent \z@
+ \leftmargin \hhcls@leftmargin
+ \rightmargin \hhcls@rightmargin
+ \parsep \z@ \@plus\p@}%
+ \item\relax
+}{%
+ \endlist
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{quote}
+% \changes{1.20}{2004/03/07}{\texttt{quote} environment with
+% correct margins}%
+% |quote| environment with correct margins in |important| environment.
+% \begin{macrocode}
+\renewenvironment{quote}{%
+ \list{}{%
+ \leftmargin \hhcls@leftmargin
+ \rightmargin \hhcls@rightmargin
+ }%
+ \item\relax
+}{%
+ \endlist
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\setmargin}
+% Befehl zum Setzen von Einrücken bei den vielen Umgebungen:
+% \begin{macrocode}
+\newcommand*\setmargin[1]{%
+ \edef\@setmarginname{#1}%
+ \@setmargin}
+\newcommand*\@setmargin[2][\@empty]{%
+ \edef\hhcls@tmp{#1}%
+ \ifx\hhcls@tmp\@empty
+ \setlength{%
+ \expandafter\csname\@setmarginname @lmargin\endcsname}{#2}%
+ \else
+ \setlength{%
+ \expandafter\csname\@setmarginname @lmargin\endcsname}{#1}%
+ \fi
+ \setlength{%
+ \expandafter\csname\@setmarginname @rmargin\endcsname}{#2}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\leftmargin}
+% Einrückung aller eingerückten Umgebungen.
+% \changes{1.10}{2003/10/30}{Einrückung aller Umgebungen angepasst}%
+% \changes{1.09}{2003/10/28}{Einrückung aller Umgebungen erneut
+% angepasst}%
+% \begin{macrocode}
+\setlength{\leftmargini}{1.75\parindent}
+\setlength{\leftmargin}{\leftmargini}
+\setlength{\hhcls@leftmargin}{\leftmargini}
+\setlength{\labelwidth}{\leftmargini}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Advanced"=Umgebung}
+%
+% Einzüge, standardmäßig links und rechts auf |\leftmargin|:
+% \begin{macrocode}
+\newlength{\advanced@lmargin}
+\newlength{\advanced@rmargin}
+\setmargin{advanced}{\leftmargini}
+% \end{macrocode}
+% \begin{macro}{\advancedfont}
+% Schriftart innerhalb der advanced"=Umgebung:
+% \begin{macrocode}
+\newcommand\advancedfont{\footnotesize}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\advancedspacing}
+% Zeilenabstand innerhalb advanced"=Umgebung:
+% \begin{macrocode}
+\ifhhcls@times
+ \newcommand\advancedspacing{1.18}
+\else
+ \newcommand\advancedspacing{1.12}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\advancednamefont}
+% \begin{macro}{\noadvancedname}
+% \begin{macro}{\advancedname}
+% Name der Umgebung, falls nicht definiert, wird nichts angezeigt:
+% \begin{macrocode}
+\newcommand*\advancednamefont{\bfseries%
+ \iftensor@bold\else\mathversion{bold}\fi}
+\newcommand*\noadvancedname{\gdef\advancedname{}}
+\noadvancedname
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{environment}{advanced}
+% Definition der Advanced"=Umgebung:
+% \begin{macrocode}
+\newenvironment{advanced}{%
+% \end{macrocode}
+% Kapitel"= und Abschnittsüberschriften bis |\subsection| verbieten:
+% \begin{macrocode}
+ \gliederungsfehler{advanced}%
+% \end{macrocode}
+% Schriftarten für kleine Abschnittsüberschriften festlegen:
+% \begin{macrocode}
+ \let\size@subsubsection\advancedfont
+ \let\size@paragraph\advancedfont
+ \let\size@subparagraph\advancedfont
+% \end{macrocode}
+% Die eigentliche Umgebung starten:
+% \begin{macrocode}
+% \bigskip
+ \begin{hhcls@quotation}[\advanced@rmargin]{\advanced@lmargin}{%
+ \advancedspacing}%
+% \end{macrocode}
+% Schriftart in der Advanced"=Umgebung
+% \begin{macrocode}
+ \advancedfont
+% \end{macrocode}
+% Falls vorhanden, die Inline"=Überschrift anzeigen:
+% \begin{macrocode}
+ \ifx\advancedname\empty
+ \else
+ {\advancednamefont\advancedname}~%
+ \fi
+% \end{macrocode}
+% Leerzeichen am Anfang ignorieren:
+% \begin{macrocode}
+ \ignorespaces
+ }{%
+% \end{macrocode}
+% Ende der Umgebung:
+% \begin{macrocode}
+ \end{hhcls@quotation}%
+% \bigskip
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken. Damit das funktioniert, muss die
+% |hhcls@quotation|"=Umgebung zwingend mit
+% \cs{begin\{hhcls@quotation\}}\ldots\cs{end\{hhcls@quotation\}}
+% aufgerufen werden, da sonst die Änderung lokal bleibt.
+% \begin{macrocode}
+ \noindentnextpar\par
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \section{Beliebige theoremartige Umgebungen}
+%
+% \changes{1.10}{2003/10/30}{Schriftgröße in theoremartigen Umgebungen
+% einstellbar}%
+% Sollen Theoreme kleine oder normale Schrift haben?
+% \begin{macrocode}
+\ifhhcls@theoremsmall
+% \end{macrocode}
+% \begin{macro}{\theoremfont}
+% Schriftgröße in Theoremen, einheitlich:
+% \begin{macrocode}
+ \def\theoremfont{\small}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\theoremspacing}
+% Zeilenabstand innerhalb der Theoreme, einheitlich:
+% \begin{macrocode}
+ \ifhhcls@times
+ \newcommand\theoremspacing{1.12}
+ \else
+ \newcommand\theoremspacing{1.06}
+ \fi
+\else
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\theoremfont}
+% Schriftgröße in Theoremen, einheitlich:
+% \begin{macrocode}
+ \def\theoremfont{\normalsize}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\theoremspacing}
+% Zeilenabstand innerhalb der Theoreme, einheitlich:
+% \begin{macrocode}
+ \newcommand\theoremspacing{1.0}
+\fi
+% \end{macrocode}
+% \end{macro}
+% Einzug der Theoreme links und rechts, einheitlich:
+% \changes{1.13}{2003/12/16}{Use variable margins for theorem-like
+% environments}%
+% \begin{macrocode}
+\newlength{\theorem@lmargin}
+\newlength{\theorem@rmargin}
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{Einrückung der Theoremüberschriften
+% automatisch erhöhen, fall nötig}%
+% Einrückung der Theoremsüberschrift.
+% Die unterschiedlichen Maße sind nötig, um die Einrückung automatisch
+% erhöhen zu können, falls eine Überschrift zu lang ist.
+% \cs{theorem@indent@min} ist das Minimalmaß und der Default,
+% \cs{theorem@indent} ist die aktuell verwendete Länge, und
+% \cs{theorem@indent@max} ist die maximal auftretende Breite.
+% \begin{macrocode}
+\newlength{\theorem@indent@min}
+\setlength{\theorem@indent@min}{7.8398em}
+\newlength{\theorem@indent}
+\setlength{\theorem@indent}{\theorem@indent@min}
+\newlength{\theorem@indent@max}
+% \end{macrocode}
+% Nach dem Übersetzungslauf wird kontrolliert, ob eine
+% Theoremsüberschrift zu lang war, so dass beim nächsten Lauf die
+% korrekte Länge verwendet werden kann.
+% \begin{macrocode}
+\AtEndDocument{%
+% \end{macrocode}
+% Die maximal auftretende Breite ist größer als das definierte
+% Minimum.
+% \begin{macrocode}
+ \ifdim\theorem@indent@max>\theorem@indent@min
+% \end{macrocode}
+% Im nächsten Lauf muss dann die aktuell größte Breite verwendet
+% werden.
+% \begin{macrocode}
+ \immediate\write\@auxout{%
+ \string\global\string\theorem@indent=\the\theorem@indent@max}%
+% \end{macrocode}
+% Die größte Breite ist größer als der aktuell verwendete Wert.
+% Die Breite hat sich also erhöht $\longrightarrow$ Warnung.
+% \begin{macrocode}
+ \ifdim\theorem@indent@max>\theorem@indent
+ \addglobalwarning{%
+ \ClassWarningNoLine{bgteubner}{Indentation for theorem
+ titles has been increased.\MessageBreak
+ Rerun to adjust the indentation}%
+ }%
+ \else
+% \end{macrocode}
+% Die größte Breite ist kleiner als der aktuell verwendete Wert.
+% Die Breite hat sich also verringert $\longrightarrow$ Warnung.
+% \begin{macrocode}
+ \ifdim\theorem@indent@max<\theorem@indent
+ \addglobalwarning{%
+ \ClassWarningNoLine{bgteubner}{Indentation for theorem
+ titles has been decreased.\MessageBreak
+ Rerun to adjust the indentation}%
+ }%
+ \fi
+ \fi
+ \else
+% \end{macrocode}
+% Die größte Breite ist kleiner als das Minimum.
+% Zusätzlich ist der aktuell verwendete Wert aber noch größer.
+% Die Breite hat sich also verringert $\longrightarrow$ Warnung.
+% \begin{macrocode}
+ \ifdim\theorem@indent>\theorem@indent@min
+ \addglobalwarning{%
+ \ClassWarningNoLine{bgteubner}{Indentation for theorem
+ titles has been decreased.\MessageBreak
+ Rerun to adjust the indentation}%
+ }%
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \begin{macro}{\float@addtolists}
+% \begin{macro}{\hhcls@theoremlist}
+% Dieser Befehl wird vom \cs{chapter}"=Befehl aufgerufen, wenn
+% ein neues Kapitel begonnen wird.
+% Dadurch soll in allen Verzeichnissen der Theoremumgebungen ein
+% Zwischenraum eingefügt werden.
+% Der Umweg mit \cs{hhcls@theoremskip} wird gewählt, weil
+% \cs{float@addtolists} ein Argument besitzt, die Definition der Liste
+% \cs{hhcls@theoremlist} nur ohne Argumente funktioniert.
+% \begin{macrocode}
+\newcommand\float@addtolists[1]{%
+ \def\hhcls@theoremskip{#1}%
+ \hhcls@theoremlist}
+\newcommand\hhcls@theoremlist{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\hhcls@theoremzahl}
+% Funktion, die am Ende die Anzahl des Auftretens der einzelnen
+% Theorem"=Umgebungen in die PDF"=Datei schreibt:
+% \begin{macrocode}
+\newcommand\hhcls@theoremanzahl{}
+\newsavebox{\hhcls@@@theoremtitlewidth}
+% \end{macrocode}
+% \end{macro}
+% Boolean, ob Theoremumgebung mit Sternvariante aufgerufen wird.
+% \begin{macrocode}
+\newif\iftheorem@starvariant
+% \end{macrocode}
+% \begin{macro}{\newtheorem}
+% Befehl zum Einrichten beliebiger Theoreme, z.\,B.\ von Beispielen,
+% Sätzen usw. Erster Parameter: Name der Umgebung; zweiter Parameter:
+% Gedruckter Präfix zur Nummer.
+% \begin{macrocode}
+\def\newtheorem#1#2{%
+% Name des Theorems in der Überschrift:
+% \begin{macrocode}
+ \expandafter\def\csname theorem@#1name\endcsname{#2}%
+% \end{macrocode}
+% \changes{1.13}{2003/12/16}{Make delimiter for theorems configurable}%
+% Postfix (colon) after theorem name and number:
+% \begin{macrocode}
+ \expandafter\def\csname theorem@#1postfix\endcsname{:}%
+% \end{macrocode}
+% Set margins.
+% \begin{macrocode}
+ \expandafter\newlength\expandafter{\csname theorem@#1@lmargin\endcsname}%
+ \expandafter\newlength\expandafter{\csname theorem@#1@rmargin\endcsname}%
+ \setmargin{theorem@#1}{\leftmargini}%
+% \end{macrocode}
+% Zähler dieser Theoremart:
+% \begin{macrocode}
+ \newcounter{theorem@#1}[chapter]%
+% \end{macrocode}
+% Zählen der Anzahl des Auftretens:
+% \begin{macrocode}
+ \newcounter{theorem@#1zahl}%
+% \end{macrocode}
+% Zählen der Anzahl des Auftretens:
+% \begin{macrocode}
+ \g@addto@macro\hhcls@theoremanzahl{%
+ ; #2: \csname thetheorem@#1zahl\endcsname}%
+% \end{macrocode}
+% Labelformat: "`Kapitel.Theorem"':
+% \begin{macrocode}
+ \expandafter\def\csname thetheorem@#1\endcsname{%
+ \thechapter.\@arabic\csname c@theorem@#1\endcsname}%
+% \end{macrocode}
+% Befehl für die Theoremüberschrift:
+% \begin{macrocode}
+ \expandafter\def\csname theorem@#1title\endcsname##1{%
+% \end{macrocode}
+% Zähler anpassen.
+% \begin{macrocode}
+ \iftheorem@starvariant
+ \else
+ \refstepcounter{theorem@#1}%
+ \fi
+% \end{macrocode}
+% Überschrift erzeugen.
+% \begin{macrocode}
+ {%
+ \raggedsection\normalfont\normalsize\sectfont\nobreak
+% \end{macrocode}
+% \changes{1.13}{2003/12/16}{Make delimiter for theorems configurable}%
+% Den Anfang der Überschrift in eine Box speichern.
+% \begin{macrocode}
+ \savebox{\hhcls@@@theoremtitlewidth}{%
+ \csname theorem@#1name\endcsname%
+ \iftheorem@starvariant
+ \else
+ ~\csname thetheorem@#1\endcsname
+ \fi
+ \csname theorem@#1postfix\endcsname~}%
+% \end{macrocode}
+% Prüfen, ob die aktuelle Überschrift breiter als alle vorherigen ist.
+% \begin{macrocode}
+ \settowidth{\@tempdima}{\usebox{\hhcls@@@theoremtitlewidth}}%
+ \ifdim\@tempdima>\theorem@indent@max
+ \global\theorem@indent@max=\@tempdima
+ \fi
+% \end{macrocode}
+% Überschrift ausgeben.
+% \changes{1.20}{2004/03/07}{Avoid page break after title in
+% theorem-like enverionment}%
+% \changes{1.30}{2004/04/10}{Improve spacing after title of
+% theorem-like environment}%
+% \begin{macrocode}
+ \normalfont\normalsize\sectfont
+ \makebox[\theorem@indent][l]{\usebox{\hhcls@@@theoremtitlewidth}}%
+ \setlength\@tempdima{1pt}%
+ \settoheight\@tempdimb{D}%
+ \addtolength\@tempdima{\@tempdimb}%
+ \settoheight\@tempdimb{\theoremfont D}%
+ \addtolength\@tempdima{-\@tempdimb}%
+ ##1\nobreak\par\nobreak\vspace{\@tempdima}\nobreak}\nobreak
+ \@afterheading}%
+% \end{macrocode}
+% Dieser Befehl wird von \cs{chapter} aufgerufen, um in der
+% Liste der Theoreme einen Platz einzufügen.
+% \begin{macrocode}
+ \g@addto@macro\hhcls@theoremlist{%
+ \addtocontents{#1}{\hhcls@theoremskip}%
+ }%
+% \end{macrocode}
+% Den Startbefehl der Sternvariante (unnummeriert) definieren:
+% \begin{macrocode}
+ \expandafter\def\csname #1*\endcsname{%
+% \end{macrocode}
+% Schalter anschalten.
+% \begin{macrocode}
+ \theorem@starvarianttrue
+% \end{macrocode}
+% Jetzt die Theorem"=Umgebung aufrufen:
+% \begin{macrocode}
+ \csname #1\endcsname
+ }%
+% \end{macrocode}
+% Ende der Sternvariante:
+% \begin{macrocode}
+ \expandafter\def\csname end#1*\endcsname{\csname end#1\endcsname}%
+% \end{macrocode}
+% Den Startbefehl der eigentlichen Umgebung definieren:
+% \begin{macrocode}
+ \expandafter\def\csname #1\endcsname{%
+ \@ifnextchar[{%
+ \csname hhcls@@#1\endcsname
+ }{%
+ \csname hhcls@@#1\endcsname[\empty]%
+ }}%
+% \end{macrocode}
+% Initialisierung durchführen:
+% \begin{macrocode}
+ \expandafter\def\csname hhcls@@#1\endcsname[##1]{%
+% \end{macrocode}
+% \changes{1.13}{2003/12/16}{Use variable margins for theorem-like
+% environments}%
+% Set margins.
+% \begin{macrocode}
+ \setlength{\theorem@lmargin}{\csname theorem@#1@lmargin\endcsname}%
+ \setlength{\theorem@rmargin}{\csname theorem@#1@rmargin\endcsname}%
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Reintroduce lost adaption of margins for
+% theorem-like environments inside important environment}%
+% Set margins.
+% \begin{macrocode}
+ \ifhhcls@inimportant
+ \addtolengthminzero{\theorem@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\theorem@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\theorem@indent}{-\fboxsep}%
+ \fi
+% \end{macrocode}
+% Zur Sicherheit einen Absatz (z.\,B.\ damit im vorherigen Absatz die
+% Zeilenabstände korrekt bleiben).
+% \begin{macrocode}
+ \par
+% \end{macrocode}
+% Die eigentliche Umgebung starten:
+% \begin{macrocode}
+ \begin{list}{}{%
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{Linker Abstand eingestellt}%
+% Abstände einstellen.
+% \begin{macrocode}
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemindent-\theorem@lmargin
+ \listparindent\parindent
+ \leftmargin\theorem@lmargin
+ \rightmargin\theorem@rmargin
+ \parsep\z@ \@plus\p@
+% \end{macrocode}
+% Anzahl zählen:
+% \begin{macrocode}
+ \stepcounter{theorem@#1zahl}%
+% \end{macrocode}
+% Gliederungsbefehle ausschalten
+% \begin{macrocode}
+ \gliederungsfehler{#1}%
+% \end{macrocode}
+% Schriftart einstellen:
+% \begin{macrocode}
+ \let\size@subsubsection\theoremfont
+ \let\size@paragraph\theoremfont
+ \let\size@subparagraph\theoremfont
+% \end{macrocode}
+% Schriftart:
+% \begin{macrocode}
+ \theoremfont
+ }%
+% \end{macrocode}
+% Zeilenabstand anpassen.
+% \begin{macrocode}
+ \begin{spacing}{\theoremspacing}%
+% \end{macrocode}
+% Eine List"=Umgebung fängt immer mit \cs{item} an.
+% \begin{macrocode}
+ \item\relax
+% \end{macrocode}
+% Überschrift.
+% \begin{macrocode}
+ \csname theorem@#1title\endcsname{##1}\nobreak%
+% \end{macrocode}
+% Eintrag in das Verzeichnis der Sätze schreiben (aber nur, wenn
+% das Theorem benannt ist):
+% \begin{macrocode}
+ \edef\hhtmp{##1}%
+ \ifx\hhtmp\empty
+ \else
+ \iftheorem@starvariant
+ \addcontentsline{#1}{#1}{##1}%
+ \else
+ \addcontentsline{#1}{#1}{%
+ \protect\numberline {\csname thetheorem@#1\endcsname}##1}%
+ \fi
+ \fi
+% \end{macrocode}
+% Leerzeichen am Anfang ignorieren:
+% \begin{macrocode}
+ \nobreak\ignorespaces
+ }%
+% \end{macrocode}
+% Ende der Umgebung:
+% \begin{macrocode}
+ \expandafter\def\csname end#1\endcsname{%
+% \end{macrocode}
+% Ende der Umgebung:
+% \changes{1.10}{2003/10/30}{Abstände am Ende der Umgebung korrigiert}%
+% \begin{macrocode}
+ \end{spacing}%
+ \removelastskip
+ \end{list}%
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar
+ \par
+ }%
+% \end{macrocode}
+% Erzeugen einer Liste der Satze:
+% \begin{macrocode}
+ \expandafter\def\csname l@#1\endcsname{\@dottedtocline{1}{0em}{2.9em}}%
+% \end{macrocode}
+% \begin{macrocode}
+ \addglobalwarning{%
+ \typeout{#2: \csname thetheorem@#1zahl\endcsname\space times used}%
+ }
+% \end{macrocode}
+% \begin{macrocode}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\listoftheorems}
+% \begin{macrocode}
+\@ifundefined{BeforeStartingTOC}{%
+ \ClassWarningNoLine{bgteubner}{Koma-Script macro
+ \string\BeforeStartingTOC\space not defined.\MessageBreak
+ Using workaround for \string\listoftheorems.\MessageBreak
+ You should consider updating Koma-Script}%
+ \newcommand*\listoftheorems[2]{%
+ \begingroup%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \float@listhead{#2}%
+ \small
+ \setlength{\parskip}{\z@}%
+ \@starttoc{#1}%
+ \if@restonecol\twocolumn\fi
+ \endgroup
+ }
+}{%
+ \newcommand*\listoftheorems[2]{%
+ \expandafter\def\csname listof#1name\endcsname{#2}%
+ \BeforeStartingTOC[#1]{\small}%
+ \listoftoc{#1}%
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{theoremdelimiter}
+% \changes{1.13}{2003/12/16}{Make delimiter for theorems configurable}%
+% This environment takes two arguments, the first is the name of the
+% theorem-like environment that shall get another delimiter after the
+% number.
+% The second argument is the new delimiter that is valid inside the
+% environment.
+% \begin{macrocode}
+\newenvironment{theoremdelimiter}[2]{%
+ \expandafter\def\csname theorem@#1postfix\endcsname{#2}%
+ \ignorespaces
+}{%
+ \ignorespacesafterend
+}%
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\settheoremmargin}
+% \changes{1.13}{2003/12/16}{Use variable margins for theorem-like
+% environments}%
+% Befehl zum Setzen von Einrücken theoremartiger Umgebungen:
+% \begin{macrocode}
+\newcommand*\settheoremmargin[1]{%
+ \edef\@setmarginname{#1}%
+ \@settheoremmargin}
+\newcommand*\@settheoremmargin[2][\@empty]{%
+ \edef\hhcls@tmp{#1}%
+ \ifx\hhcls@tmp\@empty
+ \setlength{%
+ \expandafter\csname theorem@\@setmarginname @lmargin\endcsname}{#2}%
+ \else
+ \setlength{%
+ \expandafter\csname theorem@\@setmarginname @lmargin\endcsname}{#1}%
+ \fi
+ \setlength{%
+ \expandafter\csname theorem@\@setmarginname @rmargin\endcsname}{#2}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Beispiele}
+%
+% \begin{environment}{example}
+% Beispiel"=Umgebung einrichten:
+% \begin{macrocode}
+\newtheorem{example}{\examplename}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\listofexamples}
+% Verzeichnis der Beispiele:
+% \begin{macrocode}
+\newcommand*\listofexamples{\listoftheorems{example}{\listexamplename}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\examplename}
+% \begin{macro}{\listexamplename}
+% Überschriften für Beispiele und deren Verzeichnisse:
+% \begin{macrocode}
+\newcommand*\examplename{}
+\newcommand*\listexamplename{}
+\addto\captionsgerman{%
+ \renewcommand*\examplename{Beispiel}%
+ \renewcommand*\listexamplename{Verzeichnis der Beispiele}%
+}
+\addto\captionsngerman{%
+ \renewcommand*\examplename{Beispiel}%
+ \renewcommand*\listexamplename{Verzeichnis der Beispiele}%
+}
+\addto\captionsaustrian{%
+ \renewcommand*\examplename{Beispiel}%
+ \renewcommand*\listexamplename{Verzeichnis der Beispiele}%
+}
+\addto\captionsnaustrian{%
+ \renewcommand*\examplename{Beispiel}%
+ \renewcommand*\listexamplename{Verzeichnis der Beispiele}%
+}
+\addto\captionsenglish{%
+ \renewcommand*\examplename{Example}%
+ \renewcommand*\listexamplename{List of Examples}%
+}
+\addto\captionsamerican{%
+ \renewcommand*\examplename{Example}%
+ \renewcommand*\listexamplename{List of Examples}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Definitionen}
+%
+% \begin{environment}{definition}
+% Definition"=Umgebung einrichten:
+% \begin{macrocode}
+\newtheorem{definition}{\definitionname}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\listofdefinitions}
+% Verzeichnis der Definitionen:
+% \begin{macrocode}
+\newcommand*\listofdefinitions{%
+ \listoftheorems{definition}{\listdefinitionname}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\definitionname}
+% \begin{macro}{\listdefinitionname}
+% Überschriften für Definitionen und deren Verzeichnisse:
+% \begin{macrocode}
+\newcommand*\definitionname{}
+\newcommand*\listdefinitionname{}
+\addto\captionsgerman{%
+ \renewcommand*\definitionname{Definition}%
+ \renewcommand*\listdefinitionname{Verzeichnis der Definitionen}%
+}
+\addto\captionsngerman{%
+ \renewcommand*\definitionname{Definition}%
+ \renewcommand*\listdefinitionname{Verzeichnis der Definitionen}%
+}
+\addto\captionsaustrian{%
+ \renewcommand*\definitionname{Definition}%
+ \renewcommand*\listdefinitionname{Verzeichnis der Definitionen}%
+}
+\addto\captionsnaustrian{%
+ \renewcommand*\definitionname{Definition}%
+ \renewcommand*\listdefinitionname{Verzeichnis der Definitionen}%
+}
+\addto\captionsenglish{%
+ \renewcommand*\definitionname{Definition}%
+ \renewcommand*\listdefinitionname{List of Definitions}%
+}
+\addto\captionsamerican{%
+ \renewcommand*\definitionname{Definition}%
+ \renewcommand*\listdefinitionname{List of Definitions}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Beweise}
+%
+% \begin{environment}{proof}
+% Beweis"=Umgebung einrichten:
+% \begin{macrocode}
+\newtheorem{proof}{\proofname}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\listofproofs}
+% Verzeichnis der Beweise:
+% \begin{macrocode}
+\newcommand*\listofproofs{\listoftheorems{proof}{\listproofname}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\proofname}
+% \begin{macro}{\listproofname}
+% Überschriften für Beweise und deren Verzeichnisse:
+% \begin{macrocode}
+\newcommand*\proofname{}
+\newcommand*\listproofname{}
+\addto\captionsgerman{%
+ \renewcommand*\proofname{Beweis}%
+ \renewcommand*\listproofname{Verzeichnis der Beweise}%
+}
+\addto\captionsngerman{%
+ \renewcommand*\proofname{Beweis}%
+ \renewcommand*\listproofname{Verzeichnis der Beweise}%
+}
+\addto\captionsaustrian{%
+ \renewcommand*\proofname{Beweis}%
+ \renewcommand*\listproofname{Verzeichnis der Beweise}%
+}
+\addto\captionsnaustrian{%
+ \renewcommand*\proofname{Beweis}%
+ \renewcommand*\listproofname{Verzeichnis der Beweise}%
+}
+\addto\captionsenglish{%
+ \renewcommand*\proofname{Proof}%
+ \renewcommand*\listproofname{List of Proofs}%
+}
+\addto\captionsamerican{%
+ \renewcommand*\proofname{Proof}%
+ \renewcommand*\listproofname{List of Proofs}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \section{Grau schattierte Kiste für Formeln}
+%
+% \changes{1.13}{2003/12/16}{Avoid negative margins of theorems}%
+% \begin{macro}{\addtolengthminzero}
+% This command acts like \cs{addtolength} but don't set a length
+% smaller than zero.
+% \begin{macrocode}
+\newcommand*\addtolengthminzero[2]{%
+ \addtolength{#1}{#2}%
+ \ifdim#1<0pt
+ \setlength{#1}{0pt}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Boolean zur Entscheidung, ob die |important|- oder die
+% |important*|"=Umgebung verwendet wird.
+% \begin{macrocode}
+\newif\ifhhcls@importantmath
+\newif\ifhhcls@inimportant
+% \end{macrocode}
+% Graue Kästen an?
+% \begin{macrocode}
+\ifhhcls@greybox
+% \end{macrocode}
+% Savebox, in die der Inhalt der |important|- und
+% |important*|"=Umgebungen zwischengespeichert wird.
+% \begin{macrocode}
+ \newsavebox{\hhcls@@@important}
+% \end{macrocode}
+% Länge, um den Absatzeinzug in die Kästen rüberretten zu können.
+% \begin{macrocode}
+ \newlength{\hhcls@important@parindent}
+% \end{macrocode}
+% Farbe des Hintergrunds.
+% \begin{macrocode}
+ \definecolor{importantcolor}{gray}{0.9}
+% \end{macrocode}
+% Fußnotenkram, um innerhalb der |important|- und der
+% |important*|"=Umgebung Fußnoten verwenden zu können.
+% Innerhalb der Umgebung wird beim Auftreten des
+% \cs{footnote}"=Befehls der Inhalt in einen Befehl gespeichert und
+% nach der Minipage ausgegeben.
+% Lokal wird ein \cs{footnotemark} gesetzt.
+% \begin{macrocode}
+ \newcounter{hhcls@savefootnote}
+% \end{macrocode}
+% \begin{macro}{\addfnmark}
+% Befehl, der den Fußnotentext in eine Liste im Befehl
+% \cs{hhcls@fnlist} speichert, die am Ende der Umgebungen ausgegeben
+% wird.
+% \begin{macrocode}
+ \newcommand\addfnmark[2][\@empty]{%
+ \begingroup
+ \edef\hhcls@temp{#1}%
+ \ifx\hhcls@temp\@empty
+ \g@addto@macro\hhcls@fnlist{%
+ \stepcounter{hhcls@savefootnote}%
+ \footnotetext[\thehhcls@savefootnote]{#2}%
+ }%
+ \else
+ \g@addto@macro\hhcls@fnlist{\footnotetext[#1]{#2}}%
+ \fi
+ \endgroup
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\hhcls@important@footnote}
+% Fußnotenbefehl, der in den Umgebungen auf \cs{footnote} umkopiert
+% werden wird.
+% \begin{macrocode}
+ \newcommand\hhcls@important@footnote[2][\@empty]{%
+ \begingroup
+ \edef\hhcls@temp{#1}%
+ \ifx\hhcls@temp\@empty
+ \footnotemark
+ \else
+ \footnotemark[#1]%
+ \fi
+ \addfnmark[#1]{#2}%
+ \endgroup
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{important}
+% Graue Kiste, die mit Text anfängt:
+% \begin{macrocode}
+ \newenvironment{important}{%
+% \end{macrocode}
+% Set boolean that we are inside important now.
+% \begin{macrocode}
+ \hhcls@inimportanttrue
+% \end{macrocode}
+% Längen setzen.
+% \changes{1.10}{2003/10/30}{Theoremeinzüge in grauen Kästen
+% reduzieren}%
+% \changes{1.13}{2003/12/16}{Avoid negative margins of theorems in
+% grey boxes}%
+% \changes{1.13}{2003/12/16}{Reduce margins of advanced and
+% execercises in grey boxes}%
+% \changes{1.20}{2004/03/07}{Add some margin adjustments to important
+% environment}%
+% \begin{macrocode}
+ \setlength{\fboxsep}{0.5\parindent}%
+ \addtolengthminzero{\mathindent}{-\fboxsep}%
+ \addtolengthminzero{\theorem@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\theorem@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\advanced@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\advanced@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\subexercise@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\subexercise@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@@subexerciseindent}{-\fboxsep}%
+ \addtolengthminzero{\answer@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\answer@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@@answerindent}{-\fboxsep}%
+ \addtolengthminzero{\subanswer@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\subanswer@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@@subanswerindent}{-\fboxsep}%
+ \addtolengthminzero{\leftmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@leftmargin}{-\fboxsep}%
+ \setlength{\hhcls@important@parindent}{\parindent}%
+% \end{macrocode}
+% Zunächst einen Absatz und entsprechenden Abstand einfügen.
+% \changes{1.10}{2003/10/30}{Abstände am Anfang der Umgebung korrigiert}%
+% \begin{macrocode}
+ \removelastskip
+ \par
+ \vskip\topsep
+% \end{macrocode}
+% Fußnoten initialisieren.
+% \begin{macrocode}
+ \gdef\hhcls@fnlist{}%
+ \setcounter{hhcls@savefootnote}{\value{footnote}}%
+ \let\mpfootnote=\footnote
+ \let\footnote\hhcls@important@footnote%
+% \end{macrocode}
+% |figure|- und |table|"=Umgebung sowie \cs{marginpar}"=Befehl
+% abfangen, da sie nicht funktionieren.
+% \begin{macrocode}
+ \let\hhcls@important@figure=\figure
+ \renewcommand\figure{%
+ \ClassError{bgteubner}{%
+ figure environment used inside
+ important\ifhhcls@importantmath *\fi\space environment}{%
+ Inside the important\ifhhcls@importantmath *\fi\space
+ environment, floats cannot be used.}%
+ \hhcls@important@figure}%
+ \let\hhcls@important@table=\table
+ \renewcommand\table{%
+ \ClassError{bgteubner}{%
+ table environment used inside
+ important\ifhhcls@importantmath *\fi\space environment}{%
+ Inside the important\ifhhcls@importantmath *\fi\space
+ environment, floats cannot be used.}%
+ \hhcls@important@table}%
+ \let\hhcls@important@marginpar=\marginpar
+ \renewcommand\marginpar{%
+ \ClassError{bgteubner}{%
+ \string\marginpar\space used inside
+ important\ifhhcls@importantmath *\fi\space environment}{%
+ Inside the important\ifhhcls@importantmath *\fi\space
+ environment, floats cannot be used.}%
+ \hhcls@important@marginpar}%
+% \end{macrocode}
+% Den Inhalt der Umgebung erstmal in die Box \cs{hhcls@@@important}
+% zwischenspeichern.
+% \begin{macrocode}
+ \begin{lrbox}{\hhcls@@@important}%
+ \setlength\@tempdima{\linewidth}%
+ \addtolength\@tempdima{-2\fboxsep}%
+ \begin{minipage}{\@tempdima}%
+% \end{macrocode}
+% Falls die Sternvariante gewählt wurde, den oberen Abstand verringern.
+% \begin{macrocode}
+ \ifhhcls@importantmath
+ \vspace{-\abovedisplayskip}%
+ \fi
+% \end{macrocode}
+% Absatzeinzug restaurieren, erster Absatz ohne Einzug.
+% \changes{1.21}{2004/03/25}{Reduce skip when \texttt{important}
+% environment starts with a theorem-like environment}%
+% \begin{macrocode}
+ \setlength{\parindent}{\hhcls@important@parindent}%
+ \noindent
+ \@setminipage
+ \ignorespaces
+ }{%
+% \end{macrocode}
+% Ende der Umgebung.
+% \begin{macrocode}
+ \par\unskip
+ \end{minipage}%
+ \end{lrbox}%
+% \end{macrocode}
+% Jetzt wird der Inhalt der Umgebung in eine Kiste gesetzt.
+% Die graue Kiste soll nicht eingerückt werden.
+% \begin{macrocode}
+ \noindent
+% \end{macrocode}
+% Jetzt wird der Inhalt wirklich gesetzt.
+% \changes{1.10}{2003/10/30}{Breite korrigiert, wenn nur eine
+% theoremartige Umgebung gesetzt wird}%
+% \begin{macrocode}
+ \colorbox{importantcolor}{%
+ \setlength\@tempdima{\linewidth}%
+ \addtolength\@tempdima{-2\fboxsep}%
+ \begin{minipage}{\@tempdima}%
+ \usebox{\hhcls@@@important}%
+ \end{minipage}%
+ }%
+% \end{macrocode}
+% Jetzt die Fußnoten setzen, falls welche aufgetreten sind.
+% \begin{macrocode}
+ \hhcls@fnlist
+% \end{macrocode}
+% Unterer Abstand und Absatzeinzug verhindern, falls kein weiterer
+% Absatz im Quelltext folgt.
+% \begin{macrocode}
+ \vskip\topsep
+ \noindentnextpar
+ \par
+ \ignorespacesafterend
+ }
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{important*}
+% Sternvariante für Kästen, die mit einer abgesetzten Formel beginnen.
+% Der normalen Variante wird übergeben, dass sie oben Platz klauen
+% soll, und dann aufgerufen.
+% \begin{macrocode}
+ \newenvironment{important*}{%
+ \hhcls@importantmathtrue
+ \begin{important}%
+ }{%
+ \end{important}%
+ \ignorespacesafterend}
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{longimportant}
+% Variante für lange Kästen, die über Seiten umbrochen werden können.
+% Sollte möglichst wenig verwendet werden.
+% \begin{macrocode}
+ \newenvironment{longimportant}{%
+% \end{macrocode}
+% Set boolean that we are inside important now.
+% \begin{macrocode}
+ \hhcls@inimportanttrue
+% \end{macrocode}
+% \changes{1.10}{2003/10/30}{Theoremeinzüge in grauen Kästen
+% reduzieren}%
+% Längen setzen.
+% \changes{1.13}{2003/12/16}{Avoid negative margins of theorems in
+% grey boxes}%
+% \changes{1.13}{2003/12/16}{Reduce margins of advanced and
+% execercises in grey boxes}%
+% \changes{1.20}{2004/03/07}{Add some margin adjustments to longimportant
+% environment}%
+% \begin{macrocode}
+ \setlength{\fboxsep}{0.5\parindent}%
+ \addtolengthminzero{\mathindent}{-\fboxsep}%
+ \addtolengthminzero{\theorem@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\theorem@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\advanced@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\advanced@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\subexercise@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\subexercise@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@@subexerciseindent}{-\fboxsep}%
+ \addtolengthminzero{\answer@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\answer@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@@answerindent}{-\fboxsep}%
+ \addtolengthminzero{\subanswer@lmargin}{-\fboxsep}%
+ \addtolengthminzero{\subanswer@rmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@@subanswerindent}{-\fboxsep}%
+ \addtolengthminzero{\leftmargin}{-\fboxsep}%
+ \addtolengthminzero{\hhcls@leftmargin}{-\fboxsep}%
+% \end{macrocode}
+% Befehl zum Erzeugen des Hintergrunds festlegen.
+% \begin{macrocode}
+ \def\FrameCommand{\colorbox{importantcolor}}%
+% \end{macrocode}
+% |figure|- und |table|"=Umgebung sowie die Befehle \cs{footnote} und
+% \cs{marginpar} abfangen, da sie nicht funktionieren.
+% \begin{macrocode}
+ \renewcommand\footnote[2][]{%
+ \ClassError{bgteubner}{%
+ \footnote\space used inside longimportant environment}{%
+ Inside the longimportant environment, footnotes cannot be
+ used.\MessageBreak
+ You may use the short version, the important or important*
+ environment if you\MessageBreak
+ really need a footnote. Be aware that these environments
+ don't\MessageBreak
+ break across pages.}%
+ }%
+ \let\hhcls@important@figure=\figure
+ \renewcommand\figure{%
+ \ClassError{bgteubner}{%
+ figure environment used inside longimportant environment}{%
+ Inside the longimportant environment, floats cannot be used.}%
+ \hhcls@important@figure}%
+ \let\hhcls@important@table=\table
+ \renewcommand\table{%
+ \ClassError{bgteubner}{%
+ table environment used inside longimportant environment}{%
+ Inside the longimportant environment, floats cannot be used.}%
+ \hhcls@important@table}%
+ \let\hhcls@important@marginpar=\marginpar
+ \renewcommand\marginpar{%
+ \ClassError{bgteubner}{%
+ \string\marginpar\space used inside longimportant environment}{%
+ Inside the longimportant environment, floats cannot be used.}%
+ \hhcls@important@marginpar}%
+% \end{macrocode}
+% Internen Befehl aufrufen.
+% \changes{1.21}{2004/03/25}{Reduce skip when \texttt{longimportant}
+% environment starts with a theorem-like environment}%
+% \begin{macrocode}
+ \MakeFramed {\advance\hsize-\width \FrameRestore
+ \noindent\@setminipage}%
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Workaround for bug in \texttt{framed.sty}
+% which causes wrong width in some cases}%
+% This \cs{vspace} is a work around for a bug in |framed.sty| which
+% causes |longimportant| environments with only a theorem-like
+% environment to be too narrow.
+% \begin{macrocode}
+ \hhcls@important@workaround
+ \ignorespaces
+ }{%
+ \par\unskip
+ \endMakeFramed
+ \noindentnextpar
+ \par
+ \ignorespacesafterend
+ }
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{longimportant*}
+% \changes{1.20}{2004/03/07}{New \texttt{longimportant*} environment}%
+% Define a |longimportant*| environment in analogy to the |important*|
+% environment.
+% With an optional argument, the vertical adjustment can be changed.
+% \begin{macrocode}
+ \newenvironment{longimportant*}[1][\abovedisplayskip]{%
+ \begin{longimportant}\vspace{-#1}\ignorespaces
+ }{%
+ \end{longimportant}%
+ }
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\hhcls@important@workaround}
+% \changes{1.21}{2004/03/25}{Use \texttt{framed} workaround for
+% longimportant only for old versions of that package}%
+% From 2004-03-07 on, the bug in the |framed| package has been fixed,
+% that caused the box to be too narrow sometimes.
+% \begin{macrocode}
+ \@ifpackagelater{framed}{2004/03/07}{%
+ \newcommand*\hhcls@important@workaround{}
+ }{%
+ \newcommand*\hhcls@important@workaround{\vspace{0mm}}
+ \ClassWarningNoLine{bgteubner}{Outdated version of framed.sty
+ used. A workaround\MessageBreak
+ for a bug has been installed. Future versions of\MessageBreak
+ bgteubner.cls will need a version of framed.sty\MessageBreak
+ that is dated 2004/03/07 or newer}
+ }
+% \end{macrocode}
+% \end{macro}
+% Kisten aus?
+% \begin{macrocode}
+\else
+% \end{macrocode}
+% \begin{environment}{important}
+% \begin{environment}{important*}
+% \begin{environment}{longimportant}
+% \begin{environment}{longimportant*}
+% Dummy"=Befehle, falls graue Kästen ausgeschaltet sind.
+% \begin{macrocode}
+ \newenvironment{important}{\par}{\par}
+ \newenvironment{important*}{\par}{\par}
+ \newenvironment{longimportant}{\par}{\par}
+ \newenvironment{longimportant*}[1][]{\par}{\par}
+\fi
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+% \end{environment}
+%
+% \section{Aufgaben und Lösungen}
+%
+% \subsection{Aufgaben für globale Aufgabensammlung}
+%
+% Aufgaben zählen:
+% \begin{macrocode}
+\newcounter{aufgabenzahl}%
+% \end{macrocode}
+% Berechnung der Einrueckung der Aufgabenüberschriften:
+% \begin{macrocode}
+\newlength{\hhcls@@exerciseindent}%
+\setlength{\hhcls@@exerciseindent}{7.8398em}%
+% \end{macrocode}
+% Zähler definieren. Für die |aufgabe|"=Umgebung Format "`Aufgabe"':
+% \begin{macrocode}
+\newcounter{@exercise}
+\renewcommand*\the@exercise{\@arabic\c@@exercise}
+% \end{macrocode}
+% Überschrift der |exercise|"=Umgebung:
+% \begin{macrocode}
+\newcommand*{\scr@fnt@@exercise}{\size@section}
+\@ifundefined{DeclareSectionCommand}{%
+ \ClassWarningNoLine{bgteubner}{Koma-Script macro
+ \string\DeclareSectionCommand\space not defined.\MessageBreak
+ Using workaround for exercise environment.\MessageBreak
+ You should consider updating Koma-Script}%
+ \newcommand\@exercise{\@startsection{@exercise}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\raggedsection\normalfont\sectfont\nobreak\size@section\nobreak}}
+ \if@exercisetotoc
+ \newcommand*\l@@exercise[2]{\@dottedtocline{1}{1.5em}{2.3em}{%
+ \def\numberline##1{%
+ \hb@xt@\@tempdima{\lprefix@exercise##1\hfil}}#1}{#2}}
+ \else
+ \newcommand*\l@@exercise[2]{}
+ \fi
+}{%
+ \DeclareSectionCommand[%
+ style=section,%
+ level=1,%
+ indent=\z@,%
+ beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,%
+ afterskip=2.3ex \@plus.2ex,%
+ tocindent=1.5em,%
+ tocnumwidth=2.3em%
+ ]{@exercise}
+}%
+% \end{macrocode}
+% \begin{macro}{\exercisename}
+% Name der Aufgaben:
+% \begin{macrocode}
+\newcommand*\exercisename{Aufgabe}
+% \end{macrocode}
+% \end{macro}
+% Format der Überschrift:
+% \begin{macrocode}
+\def\prefix@exercise{\exercisename~}%
+% \end{macrocode}
+% Doppelpunkt nach der Zahl:
+% \begin{macrocode}
+\def\postfix@exercise{:}%
+% \end{macrocode}
+% Überschrift für unnummerierte Aufgaben:
+% \begin{macrocode}
+\def\prefix@exercisestar{\exercisename}%
+% \end{macrocode}
+% Unnummeriert mit Doppelpunkt:
+% \begin{macrocode}
+\def\postfix@exercisestar{:}%
+% \end{macrocode}
+% Prefix im Inhaltsverzeichnis:
+% \begin{macrocode}
+\def\lprefix@exercise{}%
+% \end{macrocode}
+% Aufgaben zählen:
+% \begin{macrocode}
+ \g@addto@macro\hhcls@theoremlist{%
+ \addtocontents{exercise}{\hhcls@theoremskip}%
+ }%
+% \end{macrocode}
+% Kein Kolumnentitel:
+% \begin{macrocode}
+\let\@exercisemark\@gobble
+% \end{macrocode}
+% \begin{macro}{\exercisefont}
+% \changes{1.30}{2004/04/10}{Make font in exercises adjustable}%
+% Font for exercises.
+% \begin{macrocode}
+\newcommand*\exercisefont{\normalsize}
+% \end{macrocode}
+% \end{macro}
+% \begin{environment}{exercise}
+% Nummerierte |exercise|"=Umgebung:
+% \begin{macrocode}
+\newenvironment{exercise}[1]{%
+% \end{macrocode}
+% Teilaufgabennummerierung auf Null setzen:
+% \begin{macrocode}
+ \setcounter{subtaskoffset}{0}%
+% \end{macrocode}
+% Aufgaben zählen:
+% \begin{macrocode}
+ \stepcounter{aufgabenzahl}%
+% \end{macrocode}
+% Überschrift
+% \begin{macrocode}
+ \@exercise{#1}%
+% \end{macrocode}
+% Eintrag in das Verzeichnis der Aufgaben schreiben:
+% \begin{macrocode}
+ \addcontentsline{exercise}{exercise}{\protect\numberline {\the@exercise}#1}%
+% \end{macrocode}
+% Gliederungsbefehle ausschalten
+% \begin{macrocode}
+ \gliederungsfehler{exercise}%
+% \end{macrocode}
+% Switch to chosen font.
+% \begin{macrocode}
+ \exercisefont
+}{%
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar
+ \par
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{exercise*}
+% Unnummerierte |exercise*|"=Umgebung:
+% \begin{macrocode}
+\newenvironment{exercise*}[1]{%
+% \end{macrocode}
+% Teilaufgabennummerierung auf Null setzen
+% \begin{macrocode}
+ \setcounter{subtaskoffset}{0}%
+% \end{macrocode}
+% Aufgaben zählen:
+% \begin{macrocode}
+ \stepcounter{aufgabenzahl}%
+% \end{macrocode}
+% Überschrift. Die Sternvariante lässt die Nummer usw. weg. Daher muss
+% der Teil von Hand eingefügt werden.
+% \begin{macrocode}
+ \@exercise*{\makebox[\hhcls@@exerciseindent][l]{%
+ \prefix@exercisestar\postfix@exercisestar}#1}%
+% \end{macrocode}
+% Eintrag in das Verzeichnis der Aufgaben schreiben:
+% \begin{macrocode}
+ \addcontentsline{exercise}{exercise}{#1}%
+% \end{macrocode}
+% Gliederungsbefehle ausschalten
+% \begin{macrocode}
+ \gliederungsfehler{exercise}%
+% \end{macrocode}
+% Switch to chosen font.
+% \begin{macrocode}
+ \exercisefont
+% \begin{macrocode}
+}{%
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar
+ \par
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Lösungen für globale Aufgabensammlung}
+%
+% Berechnung der Einrückung der Lösungsüberschrift.
+% \begin{macrocode}
+\newlength{\hhcls@@answerindent}%
+\AtBeginDocument{%
+ \setlength{\hhcls@@answerindent}{\hhcls@@exerciseindent}%
+}
+% \end{macrocode}
+% Zähler, alle haben keine Ausgabe, weil sie eigentlich nicht benötigt
+% werden.
+% \begin{macrocode}
+\newcounter{@answer}
+\renewcommand*\the@answer{}
+% \end{macrocode}
+% Befehle für die Überschriften:
+% \begin{macrocode}
+\newcommand\@answer{\@startsection{@answer}{2}{\z@}%
+ {-3.25ex \@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}}
+% \end{macrocode}
+% Befehle für das Inhaltsverzeichnis, falls gewünscht:
+% \begin{macrocode}
+\if@answertotoc
+ \newcommand*\l@@answer[2]{\@dottedtocline{1}{0em}{6.2em}{%
+ \def\numberline##1{%
+ \hb@xt@\@tempdima{\lprefix@answer##1\hfil}}#1}{#2}}
+\else
+ \newcommand*\l@@answer[2]{}
+\fi
+% \end{macrocode}
+% \begin{macro}{\answerspacing}
+% Zeilenabstand innerhalb der Lösungen:
+% \begin{macrocode}
+\ifhhcls@times
+ \newcommand\answerspacing{1.12}
+\else
+ \newcommand\answerspacing{1.06}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\answername}
+% Name für Lösungen:
+% \begin{macrocode}
+\newcommand*\answername{L\"osung}
+% \end{macrocode}
+% \end{macro}
+% Prefixe für nummerierte Überschriften:
+% \begin{macrocode}
+\def\prefix@answer{\answername~}%
+% \end{macrocode}
+% Doppelpunkte nach der Nummer:
+% \begin{macrocode}
+\def\postfix@answer{:}%
+% \end{macrocode}
+% Unnummerierte Namen:
+% \begin{macrocode}
+\def\prefix@answerstar{\answername}%
+% \end{macrocode}
+% Doppelpunkt nach unnummeriert:
+% \begin{macrocode}
+\def\postfix@answerstar{:}%
+% \end{macrocode}
+% Prefix im Inhaltsverzeichnis:
+% \begin{macrocode}
+\def\lprefix@answer{\answername~}%
+% \end{macrocode}
+% Keine Kolumnentitel:
+% \begin{macrocode}
+\let\@answermark\@gobble
+% \end{macrocode}
+% \begin{macro}{\answerfont}
+% Schriftgrößen für die Lösungen:
+% \begin{macrocode}
+\newcommand\answerfont{\footnotesize}
+% \end{macrocode}
+% \end{macro}
+% Einzüge für die Lösungen:
+% \begin{macrocode}
+\newlength{\answer@lmargin}
+\newlength{\answer@rmargin}
+\setmargin{answer}{0em}
+% \end{macrocode}
+%
+% \begin{environment}{answer}
+% Nummerierte |answer|"=Umgebung:
+% \begin{macrocode}
+\newcommand\answer[2][\@empty]{%
+% \end{macrocode}
+% Nummer auf das Label kopieren:
+% \begin{macrocode}
+ \def\the@answer{\ref{#2}}%
+% \end{macrocode}
+% Die eigentliche Umgebung starten:
+% \begin{macrocode}
+ \@@answer{#1}%
+}
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{answer*}
+% Unnummerierte |answer|"=Umgebung:
+% \begin{macrocode}
+\expandafter\newcommand\csname answer*\endcsname[1][\@empty]{%
+% \end{macrocode}
+% Label löschen:
+% \begin{macrocode}
+ \def\the@answer{}%
+% \end{macrocode}
+% Pre"= und Postfix kopieren:
+% \begin{macrocode}
+ \def\prefix@answer{\prefix@answerstar}%
+ \def\postfix@answer{\postfix@answerstar}%
+% \end{macrocode}
+% Die eigentliche Umgebung starten:
+% \begin{macrocode}
+ \@@answer{#1}%
+}
+% \end{macrocode}
+% \end{environment}
+% Die Umgebung, die wirklich eine Lösung setzt.
+% \begin{macrocode}
+\def\@@answer#1{%
+% \end{macrocode}
+% Überschrift
+% \begin{macrocode}
+ \@answer{#1}%
+% \end{macrocode}
+% Teilloesungsnummerierung auf Null setzen
+% \begin{macrocode}
+ \setcounter{subtaskoffset}{0}%
+% \end{macrocode}
+% Gliederungsbefehle ausschalten
+% \begin{macrocode}
+ \gliederungsfehler{answer}%
+% \end{macrocode}
+% \changes{1.02}{2003/09/17}{\cs{normalfont} in Bildunterschriften
+% aufrufen}%
+% Schriftarten und Längen setzen:
+% \begin{macrocode}
+ \answerfont
+ \let\size@subsubsection\answerfont
+ \let\size@paragraph\answerfont
+ \let\size@subparagraph\answerfont
+ \setlength{\mathindent}{0.5\leftmargini}%
+ \setlength{\abovecaptionskip}{0.89\abovecaptionskip}%
+ \setkomafont{caption}{\normalfont\rmfamily\footnotesize\RaggedRight}%
+ \setkomafont{float}{\normalfont\normalcolor\footnotesize}%
+ \renewcommand{\subcapsize}{\footnotesize}%
+% \end{macrocode}
+% \changes{1.30}{2004/04/09}{Remove \cs{begingroup} and \cs{endgroup}
+% because they removed the correct linespacing}%
+% Abstand erhöhen:
+% \begin{macrocode}
+ \setstretch{\answerspacing}%
+}
+% \end{macrocode}
+% Ende der Umgebung:
+% \begin{macrocode}
+\def\endanswer{%
+ \par
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar
+}
+% \end{macrocode}
+% Ende unnummeriert
+% \begin{macrocode}
+\expandafter\def\csname endanswer*\endcsname{\endanswer}
+% \end{macrocode}
+%
+% \subsection{Aufgaben innerhalb von Kapiteln}
+%
+% Berechnung der Einrueckung der Überschriften:
+% \begin{macrocode}
+\newlength{\hhcls@@subexerciseindent}%
+\AtBeginDocument{%
+ \setlength{\hhcls@@subexerciseindent}{\hhcls@@exerciseindent}%
+}
+% \end{macrocode}
+% Für die |subexercise|"=Umgebung Format "`Kapitel.Subexercise"':
+% \begin{macrocode}
+\newcounter{@subexercise}[chapter]
+\renewcommand*\the@subexercise{\thechapter.\@arabic\c@@subexercise}
+% \end{macrocode}
+% \changes{1.13}{2003/12/16}{Make delimiter for subexercise configurable}%
+% \changes{1.20}{2004/03/07}{Avoid page break after title in subexercise}%
+% \changes{1.30}{2004/04/10}{Improve spacing after title of
+% subexercise}%
+% Überschrift der |subexercise|"=Umgebung:
+% \begin{macrocode}
+\newcommand\subexercise@title[1]{%
+ \iftheorem@starvariant
+ \else
+ \refstepcounter{@subexercise}%
+ \fi
+ {%
+ \raggedsection\normalfont\normalsize\sectfont\nobreak
+ \makebox[\hhcls@@subexerciseindent][l]{\exercisename
+ \iftheorem@starvariant
+ \else
+ ~\the@subexercise
+ \fi
+ \postfix@exercise}%
+ \setlength\@tempdima{1pt}%
+ \settoheight\@tempdimb{D}%
+ \addtolength\@tempdima{\@tempdimb}%
+ \settoheight\@tempdimb{\subexercisefont D}%
+ \addtolength\@tempdima{-\@tempdimb}%
+ #1\nobreak\par\nobreak\vspace{\@tempdima}\nobreak}\nobreak
+ \@afterheading}
+% \end{macrocode}
+% \begin{macro}{\subexercisefont}
+% Schriftgröße in Aufgaben:
+% \begin{macrocode}
+\newcommand\subexercisefont{\normalfont\small}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subexercisespacing}
+% Zeilenabstand innerhalb der Subaufgabee:
+% \begin{macrocode}
+\ifhhcls@times
+ \newcommand\subexercisespacing{1.12}
+\else
+ \newcommand\subexercisespacing{1.06}
+\fi
+% \end{macrocode}
+% \end{macro}
+% Einrückung:
+% \begin{macrocode}
+\newlength{\subexercise@lmargin}
+\newlength{\subexercise@rmargin}
+\setmargin{subexercise}{\leftmargini}
+% \end{macrocode}
+% \begin{environment}{subexercise*}
+% Unnummerierte Umgebung:
+% \begin{macrocode}
+\expandafter\def\csname subexercise*\endcsname{%
+ \theorem@starvarianttrue
+ \subexercise
+}%
+% \end{macrocode}
+% Ende der Sternvariante:
+% \begin{macrocode}
+\expandafter\def\csname endsubexercise*\endcsname{\endsubexercise}
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{subexercise}
+% Nummerierte |subexercise|"=Umgebung:
+% \begin{macrocode}
+\newenvironment{subexercise}[1]{%
+% \end{macrocode}
+% Zur Sicherheit einen Absatz.
+% \begin{macrocode}
+ \par
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Fix left margin in subexercise environment}%
+% Die eigentliche Umgebung beginnen:
+% \begin{macrocode}
+ \begin{list}{}{%
+ \itemindent-\subexercise@lmargin
+ \listparindent\parindent
+ \leftmargin\subexercise@lmargin
+ \rightmargin\subexercise@rmargin
+ \parsep\z@ \@plus\p@
+% \end{macrocode}
+% Aufgaben zählen:
+% \begin{macrocode}
+ \stepcounter{aufgabenzahl}%
+% \end{macrocode}
+% Gliederungsbefehle ausschalten:
+% \begin{macrocode}
+ \gliederungsfehler{subexercise}%
+% \end{macrocode}
+% Teilaufgabennummerierung auf Null setzen
+% \begin{macrocode}
+ \setcounter{subtaskoffset}{0}%
+ }%
+% \end{macrocode}
+% Zeilenabstand anpassen:
+% \begin{macrocode}
+ \begin{spacing}{\subexercisespacing}%
+% \end{macrocode}
+% List"=Umgebung fängt mit \cs{item} an:
+% \begin{macrocode}
+ \item\relax
+% \end{macrocode}
+% Überschrift
+% \begin{macrocode}
+ \subexercise@title{#1}%
+% \end{macrocode}
+% Eintrag in das Verzeichnis der Aufgaben schreiben:
+% \begin{macrocode}
+ \edef\hhtmp{#1}%
+ \ifx\hhtmp\empty
+ \else
+ \iftheorem@starvariant
+ \addcontentsline{exercise}{exercise}{#1}%
+ \else
+ \addcontentsline{exercise}{exercise}{%
+ \protect\numberline{\the@subexercise}#1}%
+ \fi
+ \fi
+% \end{macrocode}
+% Schriftart setzen:
+% \begin{macrocode}
+ \subexercisefont
+ \let\size@subsubsection\subexercisefont
+ \let\size@paragraph\subexercisefont
+ \let\size@subparagraph\subexercisefont
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespaces
+ }{%
+% \end{macrocode}
+% Ende der Umgebung:
+% \changes{1.10}{2003/10/30}{Abstände am Ende der Umgebung korrigiert}%
+% \begin{macrocode}
+ \end{spacing}%
+ \removelastskip
+ \end{list}%
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar
+ \par
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Lösungen}
+%
+% Berechnung der Einrückung der Lösungsüberschrift.
+% \begin{macrocode}
+\newlength{\hhcls@@subanswerindent}%
+\AtBeginDocument{%
+ \setlength{\hhcls@@subanswerindent}{\hhcls@@answerindent}%
+}
+% \end{macrocode}
+% Zähler, alle haben keine Ausgabe, weil sie eigentlich nicht benötigt
+% werden.
+% \begin{macrocode}
+\newcounter{@subanswer}
+\renewcommand*\the@subanswer{}
+% \end{macrocode}
+% \changes{1.13}{2003/12/16}{Make delimiter for subanswer configurable}%
+% \changes{1.20}{2004/03/07}{Avoid page break after title in subanswer}%
+% \changes{1.30}{2004/04/10}{Improve spacing after title of
+% subanswer}%
+% Überschrift der |subexercise|"=Umgebung:
+% \begin{macrocode}
+\newcommand\subanswer@title[2]{%
+ {%
+ \raggedsection\normalfont\normalsize\sectfont\nobreak
+ \makebox[\hhcls@@subanswerindent][l]{\answername
+ \iftheorem@starvariant
+ \else
+ ~\ref{#1}%
+ \fi
+ \postfix@answer}%
+ \setlength\@tempdima{1pt}%
+ \settoheight\@tempdimb{D}%
+ \addtolength\@tempdima{\@tempdimb}%
+ \settoheight\@tempdimb{\subanswerfont D}%
+ \addtolength\@tempdima{-\@tempdimb}%
+ #2\nobreak\par\nobreak\vspace{\@tempdima}\nobreak}\nobreak
+ \@afterheading}
+% \end{macrocode}
+% \begin{macro}{\subanswerfont}
+% Schriftgrößen für die Lösungen:
+% \begin{macrocode}
+\newcommand\subanswerfont{\footnotesize}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subanswerspacing}
+% \changes{1.30}{2004/04/10}{Subanswers can have another linespacing
+% than answers}%
+% Zeilenabstand innerhalb der Lösungen:
+% \begin{macrocode}
+\ifhhcls@times
+ \newcommand\subanswerspacing{1.12}
+\else
+ \newcommand\subanswerspacing{1.06}
+\fi
+% \end{macrocode}
+% \end{macro}
+% Einzüge für die Lösungen:
+% \begin{macrocode}
+\newlength{\subanswer@lmargin}
+\newlength{\subanswer@rmargin}
+\setmargin{subanswer}{\leftmargini}
+% \end{macrocode}
+% \begin{environment}{subanswer*}
+% Unnummerierte Umgebung:
+% \begin{macrocode}
+\expandafter\newcommand\csname subanswer*\endcsname[1][\@empty]{%
+ \theorem@starvarianttrue
+ \subanswer[#1]{}%
+}%
+% \end{macrocode}
+% Ende der Sternvariante:
+% \begin{macrocode}
+\expandafter\def\csname endsubanswer*\endcsname{\endsubanswer}
+% \end{macrocode}
+% \end{environment}
+% \begin{environment}{subanswer}
+% Nummerierte |subanswer|"=Umgebung:
+% \begin{macrocode}
+\newenvironment{subanswer}[2][\@empty]{%
+% \end{macrocode}
+% Zur Sicherheit einen Absatz.
+% \begin{macrocode}
+ \par
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Fix left margin in subanswer environment}%
+% Die eigentliche Umgebung beginnen:
+% \begin{macrocode}
+ \begin{list}{}{%
+ \itemindent-\subanswer@lmargin
+ \listparindent\parindent
+ \leftmargin\subanswer@lmargin
+ \rightmargin\subanswer@rmargin
+ \parsep\z@ \@plus\p@
+% \end{macrocode}
+% Gliederungsbefehle ausschalten:
+% \begin{macrocode}
+ \gliederungsfehler{subanswer}%
+% \end{macrocode}
+% Teilaufgabennummerierung auf Null setzen
+% \begin{macrocode}
+ \setcounter{subtaskoffset}{0}%
+ }%
+% \end{macrocode}
+% Zeilenabstand anpassen:
+% \begin{macrocode}
+ \begin{spacing}{\subanswerspacing}%
+% \end{macrocode}
+% List"=Umgebung fängt mit \cs{item} an:
+% \begin{macrocode}
+ \item\relax
+% \end{macrocode}
+% Überschrift
+% \begin{macrocode}
+ \subanswer@title{#2}{#1}%
+% \end{macrocode}
+% Schriftart setzen:
+% \begin{macrocode}
+ \let\size@subsubsection\subanswerfont
+ \let\size@paragraph\subanswerfont
+ \let\size@subparagraph\subanswerfont
+ \subanswerfont
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespaces
+ }{%
+% \end{macrocode}
+% Ende der Umgebung:
+% \changes{1.10}{2003/10/30}{Abstände am Ende der Umgebung korrigiert}%
+% \begin{macrocode}
+ \end{spacing}%
+ \removelastskip
+ \end{list}%
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar
+ \par
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Aufgabenliste}
+%
+% \begin{macro}{\listofexercises}
+% Erzeugen einer Liste der Aufgaben:
+% \begin{macrocode}
+\@ifundefined{BeforeStartingTOC}{%
+ \ClassWarningNoLine{bgteubner}{Koma-Script macro
+ \string\BeforeStartingTOC\space not defined.\MessageBreak
+ Using workaround for \string\listofexercises.\MessageBreak
+ You should consider updating Koma-Script}%
+ \newcommand*\exercise@heading{\float@listhead{\listexercisename}}
+ \newcommand*\listofexercises{%
+ \begingroup%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \exercise@heading
+ \small
+ \setlength{\parskip}{\z@}%
+ \@starttoc{exercise}%
+ \if@restonecol\twocolumn\fi
+ \endgroup
+ }
+}{%
+ \newcommand*\listofexercises{\listoftoc{exercise}}
+ \newcommand*\listofexercisename{\listexercisename}
+ \BeforeStartingTOC[exercise]{\small}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\listexercisename}
+% \begin{macrocode}
+\newcommand*\listexercisename{List of Exercises}
+\newcommand*\hhcls@germanlistexercisename{Aufgabenverzeichnis}
+\addto\captionsgerman{%
+ \renewcommand{\listexercisename}{\hhcls@germanlistexercisename}}%
+\addto\captionsngerman{%
+ \renewcommand{\listexercisename}{\hhcls@germanlistexercisename}}%
+\addto\captionsaustrian{%
+ \renewcommand{\listexercisename}{\hhcls@germanlistexercisename}}%
+\addto\captionsnaustrian{%
+ \renewcommand{\listexercisename}{\hhcls@germanlistexercisename}}%
+\newcommand*\l@exercise{\@dottedtocline{1}{0em}{2.9em}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Changing the delimiter}
+%
+% \begin{environment}{exercisedelimiter}
+% \changes{1.13}{2003/12/16}{Make delimiter for exercises configurable}%
+% This environment takes one argument.
+% It is the new delimiter after the exercise number that is valid
+% inside the environment.
+% \begin{macrocode}
+\newenvironment{exercisedelimiter}[1]{%
+ \def\postfix@exercise{#1}%
+ \def\postfix@exercisestar{#1}%
+ \def\postfix@answer{#1}%
+ \def\postfix@answerstar{#1}%
+ \ignorespaces
+}{%
+ \ignorespacesafterend
+}%
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Teilaufgaben}
+%
+% Zähler innerhalb einer teilaufgabe-Umgebung
+% \begin{macrocode}
+\newcounter{subtask}
+% \end{macrocode}
+% Zähler, der dafür sorgt, dass in weiteren Umgebungen weitergezählt
+% wird. Er wird bei einer neuen Aufgabe auf Null gesetzt.
+% \begin{macrocode}
+\newcounter{subtaskoffset}[@exercise]%
+\renewcommand\thesubtask{\alph{subtask}}%
+% \end{macrocode}
+% \begin{environment}{subtask}
+% Die Umgebung selbst:
+% \begin{macrocode}
+\newenvironment{subtask}{%
+% \end{macrocode}
+% Listenumgebung
+% \begin{macrocode}
+ \begin{list}{\thesubtask)}{\usecounter{subtask}%
+% \end{macrocode}
+% Kleine Abstände zwischen den Teilaufgaben (Platz sparen):
+% \begin{macrocode}
+ \parskip\z@%
+ \itemsep\z@%
+% \end{macrocode}
+% Absatzeinzug statt Durchschuss:
+% \begin{macrocode}
+ \parsep\z@
+ \listparindent\parindent
+% \end{macrocode}
+% Offset zum Zähler addieren, damit weitergezählt wird
+% \begin{macrocode}
+ \setcounter{subtask}{\value{subtaskoffset}}}}{%
+% \end{macrocode}
+% Am Ende Offset speichern für weiteren Gebrauch
+% \begin{macrocode}
+ \setcounter{subtaskoffset}{\value{subtask}}%
+ \end{list}%
+% \end{macrocode}
+% Leerzeichen ignorieren:
+% \begin{macrocode}
+ \ignorespacesafterend
+% \end{macrocode}
+% Nächsten Absatz nicht einrücken:
+% \begin{macrocode}
+ \noindentnextpar\par}
+% \end{macrocode}
+% \end{environment}
+% \begin{macro}{\subtaskref}
+% Referenz auf eine Teilaufgabe:
+% \begin{macrocode}
+\newcommand\subtaskref[1]{\ref{#1})}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Listen und Aufzählungen}
+%
+% \begin{macro}{\labelenumii}
+% Punkt statt Klammer in der zweiten Ebene:
+% \begin{macrocode}
+\renewcommand*\labelenumii{\theenumii.}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Vorwort}
+%
+% \begin{macro}{\preface}
+% \changes{1.30}{2004/04/10}{Start prefaces on odd and even pages}%
+% Überschrift des Vorworts:
+% \begin{macrocode}
+\newcommand*\preface[1]{%
+ \begingroup
+ \@openrightfalse
+ \chapter*{#1}%
+ \markboth{}{}%
+ \endgroup
+ \noindentnextpar\par
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\signature}
+% Unterschrift im Vorwort:
+% \begin{macrocode}
+\newcommand*\signature[3]{%
+ \par\bigskip
+ \begin{minipage}[t]{0.45\linewidth}%
+ #1,\\
+ #2%
+ \end{minipage}%
+ \hfill
+ \begin{minipage}[t]{0.5\linewidth}%
+ \itshape\raggedleft
+ #3%
+ \end{minipage}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Preparation for hyperref}
+%
+% The package \verb|hyperref.sty| is not loaded by \verb|bgteubner.cls|.
+% But if the user does, some settings should be ensured.
+% This is done here.
+% \begin{macrocode}
+\AfterPackage{hyperref}{%
+ \hypersetup{%
+ unicode
+ }%
+}%
+% \end{macrocode}
+%
+% \section{Titelseite}
+%
+% Interne Befehle für die Titelseite auf \cs{@empty} setzen:
+% \begin{macrocode}
+\let\@author=\@empty
+% \end{macrocode}
+% Titel leer vordefinieren:
+% \begin{macrocode}
+\let\@title\@empty
+% \end{macrocode}
+% \begin{macro}{\subtitle}
+% Sub-title.
+% Koma-Script has added the macro \cs{subtitle} in v2.97c. Only define
+% it if it is not present already.
+% \changes{2.01}{2011/12/29}{Only define \cs{subtitle} if not present already}%
+% \begin{macrocode}
+\let\@subtitle\@empty
+\@ifundefined{subtitle}{%
+ \newcommand\subtitle[1]{\gdef\@subtitle{#1}}%
+}{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\edition}
+% Auf"|lage:
+% \begin{macrocode}
+\let\@edition\@empty
+\newcommand*\edition[1]{\gdef\@edition{#1}}
+\edition{1}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{1.30}{2004/04/10}{Set PDF information only if PDF is
+% produced}%
+% \changes{1.30}{2004/04/10}{Write info file containing the same
+% information as the PDF-info entries}%
+% PDF-Datei mit Informationen versorgen:
+% \begin{macrocode}
+\newwrite\hhcls@fileinfo
+\immediate\openout\hhcls@fileinfo\jobname.info
+\AtEndDocument{%
+% \end{macrocode}
+% Depending on whether \verb|hyperref| is loaded or not, make sure that all
+% types of title strings etc.\ can be written into the PDF meta
+% information.
+% If \verb|hyperref| is not loaded, \LaTeX\ macros can result in errors.
+% \begin{macrocode}
+ \ifx\pdfstringdef\@undefined
+ \def\hhcls@title{\@title}%
+ \ifx\@subtitle\@empty
+ \def\hhcls@subject{\@edition. Auflage}%
+ \else
+ \def\hhcls@subject{\@subtitle\space (\@edition. Auflage)}%
+ \fi
+ \def\hhcls@author{\@author}%
+ \else
+ \pdfstringdef\hhcls@title{\@title}%
+ \ifx\@subtitle\@empty
+ \pdfstringdef\hhcls@subject{\@edition. Auflage}%
+ \else
+ \pdfstringdef\hhcls@subject{\@subtitle\space (\@edition. Auflage)}%
+ \fi
+ \pdfstringdef\hhcls@author{\@author}%
+ \fi
+% \end{macrocode}
+% Actually write the information into the PDF file:
+% \begin{macrocode}
+ \ifpdf
+ \ifx\@title\@empty\else\pdfinfo{/Title (\hhcls@title)}\fi
+ \ifx\hhcls@subject\@empty\else\pdfinfo{/Subject (\hhcls@subject)}\fi
+ \ifx\@author\@empty\else\pdfinfo{/Author (\hhcls@author)}\fi
+% \end{macrocode}
+% Der \texttt{/Creator}"=Eintrag, der in die PDF"=Datei geschrieben
+% wird, muss in veränderten und umbenannten Kopien der Dateien
+% "`|bgteubner.cls|"' und "`|bgteucls.dtx|"' folgende Informationen
+% enthalten:
+% \begin{itemize}
+% \item Den Dateinamen "`|bgteubner.cls|"',
+% \item einen Hinweis darauf, dass diese Dokumentklasse für den
+% "`Springer Vieweg Verlag, Wiesbaden, Germany"' entwickelt wurde.
+% \end{itemize}
+% \begin{macrocode}
+ % If you modify a renamed copy of the files `bgteubner.cls' or
+ % `bgteucls.dtx', you have to preserve some information in the
+ % PDF /Creator entry. The following data have to remain:
+ % - The name `bgteubner.cls',
+ % - a hint that this class has been developed for the `Springer
+ % Vieweg Verlag, Wiesbaden, Germany'.
+ \begingroup
+ \GetFileInfo{bgteubner.cls}%
+ \pdfinfo{/Creator (Document class bgteubner.cls for the
+ Springer Vieweg Verlag, Wiesbaden, Germany, by Harald Harders,
+ version \fileversion)}%
+ \endgroup
+ \pdfinfo{/Keywords (Bild: \thebilderzahl; Tabelle: \thetabellenzahl;
+ Aufgabe: \theaufgabenzahl\hhcls@theoremanzahl)}%
+ \fi
+ \ifx\@title\@empty
+ \else
+ \protected@write\hhcls@fileinfo{}{Titel: \@title}%
+ \fi
+ \ifx\@subtitle\@empty
+ \else
+ \protected@write\hhcls@fileinfo{}{Untertitel: \@subtitle}%
+ \fi
+ \protected@write\hhcls@fileinfo{}{\@edition. Auflage}%
+ \ifx\@author\@empty
+ \else
+ \protected@write\hhcls@fileinfo{}{Autor(en): \@author}%
+ \fi
+ \protected@write\hhcls@fileinfo{}{Bild: \thebilderzahl; Tabelle:
+ \thetabellenzahl; Aufgabe: \theaufgabenzahl\hhcls@theoremanzahl}%
+}
+% \end{macrocode}
+% \begin{macro}{\maketitle}
+% Titel ertellen.
+% \begin{macrocode}
+\ifhhcls@titlepage
+\renewcommand*\maketitle{%
+ \begingroup
+ \edef\hhcls@tmppage{\arabic{page}}%
+ \begin{titlepage}%
+ \renewcommand{\sfdefault}{phv}%
+% \end{macrocode}
+% Warnungen und Fehler für nicht angegebene Dinge:
+% \begin{macrocode}
+ \ifx\@title\@empty
+ \ClassError{bgteubner}{No title given}{Define a title using
+ \string\title{Titel}}
+ \fi
+ \ifx\@author\@empty
+ \ClassError{bgteubner}{No author given}{Define
+ an author using \string\author{Name}.}
+ \fi
+% \end{macrocode}
+% Formatierungsangaben:
+% \begin{macrocode}
+ \newlength{\hhcls@parindent}%
+ \setlength{\hhcls@parindent}{2.5\parindent}%
+ \setlength{\parindent}{0mm}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark
+ \def\@makefnmark{\rlap\@oldmakefnmark}
+% \end{macrocode}
+% Titelseite ist zentriert:
+% \begin{macrocode}
+ \begin{center}
+ \sffamily\Large
+% \end{macrocode}
+% Titel:
+% \begin{macrocode}
+ {\bfseries\LARGE \@author}%
+ \vskip 2.5em
+ \par
+ {\bfseries\iftensor@bold\else\mathversion{bold}\fi\Huge\@title\par}
+ \ifx\@subtitle\@empty
+ \else
+ \vskip 2.5em
+ {\bfseries\iftensor@bold\else\mathversion{bold}\fi
+ \LARGE\@subtitle\par}
+ \fi
+ \vskip 2.5em
+ \par
+% \end{macrocode}
+% \changes{1.20}{2004/03/07}{Titelpage: Only type these items that
+% really are used}%
+% \changes{1.30}{2004/05/09}{Titelpage: Minor bugfix testing on used items}%
+% Only type these items that really are used.
+% Singular cases are not handled.
+% \begin{macrocode}
+ \@ifundefined{hhclsbilderzahl}{%
+ Mit
+ \textbf{??}~Abbildungen,
+ \textbf{???}~Tabellen
+ und
+ \textbf{???}~Aufgaben
+ }{%
+ \ifnum\hhclsbilderzahl=0\relax
+ \ifnum\hhclstabellenzahl=0\relax
+ \ifnum\hhclsaufgabenzahl=0\relax
+ \else
+ Mit \hhclsaufgabenzahl~Aufgaben
+ \fi
+ \else
+ Mit \hhclstabellenzahl~Tabellen
+ \ifnum\hhclsaufgabenzahl=0\relax
+ \else
+ und \hhclsaufgabenzahl~Aufgaben
+ \fi
+ \fi
+ \else
+ Mit \hhclsbilderzahl~Abbildungen%
+ \ifnum\hhclstabellenzahl=0\relax
+ \ifnum\hhclsaufgabenzahl=0\relax
+ \else
+ \space und \hhclsaufgabenzahl~Aufgaben
+ \fi
+ \else
+ \ifnum\hhclsaufgabenzahl=0\relax
+ \space und \hhclstabellenzahl~Tabellen
+ \else
+ , \hhclstabellenzahl~Tabellen
+ und \hhclsaufgabenzahl~Aufgaben
+ \fi
+ \fi
+ \fi
+ }%
+ \ifhhcls@entwurf
+ \vskip 2.5em
+ \par
+ \strut\"Ubersetzt: \today, \now
+ \fi
+ \vfill
+ \par
+% \end{macrocode}
+% Testen, ob |\@edition| als Zahl angegeben wurde.
+% Tipp von David Kastrup, der für vorzeichenlose Zahlen funktioniert.
+% \begin{macrocode}
+ \ifx\@edition\@empty
+ \else
+% \end{macrocode}
+% Testen, ob |\@edition| als Zahl angegeben wurde.
+% Tipp von David Kastrup, der für vorzeichenlose Zahlen funktioniert.
+% \begin{macrocode}
+ \ifnum1<1\@edition
+% \end{macrocode}
+% Wenn es eine Zahl ist, nur ausgeben, wenn die Auf"|lage größer 1
+% ist.
+% \begin{macrocode}
+ \ifnum1<0\@edition\relax
+ \@edition.~Auf\/lage%
+ \vskip 4em
+ \fi
+% \end{macrocode}
+% Wenn keine Zahl, nur den Text in \cs{@edition} ausgeben.
+% \begin{macrocode}
+ \else
+ \@edition
+ \vskip 4em
+ \fi
+ \fi
+ \par
+ {\Large \hhcls@publisher\par}
+ \end{center}
+ \end{titlepage}
+% \end{macrocode}
+% Impressum:
+% \begin{macrocode}
+ \next@tpage\cleardoubleemptypage
+ \setcounter{page}{\hhcls@tmppage}%
+% \end{macrocode}
+% Widmung.
+% \begin{macrocode}
+ \ifx\@dedication\@empty \else
+ \next@tpage\null\vfill
+ {\centering \Large \@dedication \par}
+ \vskip \z@ \@plus3fill
+ \if@twoside \next@tpage\cleardoublepage \fi
+ \fi
+% \end{macrocode}
+% Alles Mögliche löschen, da nicht mehr gebraucht:
+% \begin{macrocode}
+% \setcounter{footnote}{0}%
+ \global\let\maketitle\relax
+ \endgroup
+}
+\else
+ \renewcommand\maketitle{%
+ \ClassWarningNoLine{bgteubner}{Titlepage switched off for final print}%
+% \end{macrocode}
+% Widmung.
+% \begin{macrocode}
+ \ifx\@dedication\@empty \else
+ \begin{titlepage}
+ \next@tpage\null\vfill
+ {\centering \Large \@dedication \par}
+ \vskip \z@ \@plus3fill
+ \if@twoside \next@tpage\cleardoublepage \fi
+ \end{titlepage}
+ \fi
+ \global\let\maketitle\relax
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+% Layoutparameter ausgeben:
+% \begin{macrocode}
+\ifhhcls@entwurf
+ \newlength{\hhtmplen}%
+ \setlength{\hhtmplen}{0.35145980351\textwidth}%
+ \typeout{^^JText width: \strip@pt\hhtmplen mm}%
+ \setlength{\hhtmplen}{0.35145980351\textheight}%
+ \typeout{Text block: \strip@pt\hhtmplen}%
+ \setlength{\hhtmplen}{\headheight}%
+ \addtolength{\hhtmplen}{\headsep}%
+ \addtolength{\hhtmplen}{\textheight}%
+ \setlength{\hhtmplen}{0.35145980351\hhtmplen}%
+ \typeout{Total height: \strip@pt\hhtmplen mm}%
+ \setlength{\hhtmplen}{0.35145980351\baselineskip}%
+ \typeout{Baseline skip: \strip@pt\hhtmplen mm^^J}%
+\fi
+% \end{macrocode}
+% \begin{macro}{\verboten}
+% Verbotene Pakete abfangen:
+% \begin{macrocode}
+\newcommand\verboten[1]{%
+ \BeforePackage{#1}{%
+ \ClassError{bgteubner}{Forbidden package `#1' loaded}{%
+ You are not allowed to load the package `#1' because it^^J%
+ changes the layout. This error message occurs one line below^^J%
+ the line.}}%
+}
+\verboten{a4wide}
+\verboten{a4}
+\verboten{a5comb}
+\verboten{a5}
+\verboten{aeguill}
+\verboten{ae}
+\verboten{appendix}
+\verboten{avantgar}
+\verboten{avant}
+\verboten{bibgerm}
+\verboten{bookman}
+\verboten{caption2}
+\verboten{caption}
+\verboten{chancery}
+\verboten{chappg}
+\verboten{charter}
+\verboten{cmbright}
+\verboten{concmath}
+\verboten{doublespace}
+\verboten{dropcaps}
+\verboten{eco}
+\verboten{endfloat}
+\verboten{epsfig}
+\verboten{eulervm}
+\verboten{extsizes}
+\verboten{fandyhdr}
+\verboten{figcaps}
+\verboten{floatfig}
+\verboten{floatflt}
+\verboten{fltpage}
+\verboten{french}
+\verboten{geometry}
+\verboten{geomsty}
+\verboten{german}
+\verboten{graphics}
+\verboten{hangcaption}
+\verboten{hangftn}
+\verboten{hanging}
+\verboten{helvetic}
+\verboten{here}
+\verboten{hvmath}
+%\verboten{hyperref}
+\verboten{indentfirst}
+\verboten{initials}
+\verboten{landscape}
+\verboten{lmodern}
+\verboten{lucidabr}
+\verboten{lucidaso}
+\verboten{mathptm}
+\verboten{mathsans}
+\verboten{mathtime}
+\verboten{ncntrsbk}
+\verboten{newcent}
+\verboten{ngerman}
+\verboten{palatcm}
+\verboten{palatino}
+\verboten{sansmath}
+\verboten{sectsty}
+\verboten{times}
+\verboten{titlesec}
+\verboten{utopia}
+\verboten{zapfchan}
+\verboten{zefonts}
+% \end{macrocode}
+% \end{macro}
+% \iffalse
+%</class>
+% \fi
+%
+% \section{Indexstil}
+%
+% \iffalse
+%<*idxstyle>
+% \fi
+%
+% Quote-Zeichen geändert für deutsche Unterstützung
+% \begin{macrocode}
+quote '>'
+% \end{macrocode}
+% Umgebung aufrufen
+% \begin{macrocode}
+preamble "\\begin{theindex}\n\\hhclsiscorrectindextrue\n"
+postamble "\n\n\\end{theindex}\n"
+% \end{macrocode}
+% Buchstaben einfügen
+% \begin{macrocode}
+heading_prefix "\\textbf{"
+heading_suffix "}\\nopagebreak\n"
+symhead_positive "Symbole"
+numhead_positive "Zahlen"
+headings_flag 1
+% \end{macrocode}
+% \iffalse
+%</idxstyle>
+% \fi
+%
+% \section{Glossarystile}
+%
+% \iffalse
+%<*glostyle1>
+% \fi
+%
+% \subsection{Ohne trennende Buchstaben}
+%
+% Quote-Zeichen geändert für deutsche Unterstützung.
+% \begin{macrocode}
+quote '>'
+% \end{macrocode}
+% Schlüsselwörter in der Eingabedatei.
+% \begin{macrocode}
+keyword "\\glossaryentry"
+% \end{macrocode}
+% |theglossary|"=Umgebung statt |theindex|"=Umgebung verwenden.
+% \begin{macrocode}
+preamble "\\begin{theglossary}\n\\hhclsiscorrectglossarytrue\n"
+postamble "\n\n\\end{theglossary}\n"
+group_skip "\n"
+% \end{macrocode}
+% Keine Kommata vor und zwischen den Zahlen.
+% \begin{macrocode}
+delim_0 ""
+delim_1 ""
+delim_2 ""
+delim_n "\\glossarypagedelim"
+delim_r "\\glossarypagerange"
+% \end{macrocode}
+% Die öffnende Klammer anfügen. Die schließende wird von \LaTeX\ erzeugt.
+% \begin{macrocode}
+item_0 "\n \\item ["
+% \end{macrocode}
+%
+% \iffalse
+%</glostyle1>
+% \fi
+%
+% \iffalse
+%<*glostyle2>
+% \fi
+%
+% \subsection{Ohne trennende Buchstaben}
+%
+% Quote-Zeichen geändert für deutsche Unterstützung.
+% \begin{macrocode}
+quote '>'
+% \end{macrocode}
+% Buchstaben einfügen
+% \begin{macrocode}
+heading_prefix "\\glossarynewchar{"
+heading_suffix "}\n"
+symhead_positive "Symbole"
+numhead_positive "Zahlen"
+headings_flag 1
+% \end{macrocode}
+% Schlüsselwörter in der Eingabedatei.
+% \begin{macrocode}
+keyword "\\glossaryentry"
+% \end{macrocode}
+% |theglossary|"=Umgebung statt |theindex|"=Umgebung verwenden.
+% \begin{macrocode}
+preamble "\\begin{theglossary}\n\\hhclsiscorrectglossarytrue\n"
+postamble "\n\n\\end{theglossary}\n"
+group_skip "\n"
+% \end{macrocode}
+% Keine Kommata vor und zwischen den Zahlen.
+% \begin{macrocode}
+delim_0 ""
+delim_1 ""
+delim_2 ""
+delim_n "\\glossarypagedelim"
+delim_r "\\glossarypagerange"
+% \end{macrocode}
+% Die öffnende Klammer anfügen. Die schließende wird von \LaTeX\ erzeugt.
+% \begin{macrocode}
+item_0 "\n \\item ["
+% \end{macrocode}
+%
+% \iffalse
+%</glostyle2>
+% \fi
+%
+%
+% \section{Bib\TeX"=Stil}
+%
+% Einträge.
+% \begin{macrocode}
+%<*bibstyle>
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+
+% \end{macrocode}
+% Variablen definieren.
+% \begin{macrocode}
+INTEGERS
+ { output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+ before.title
+ }
+STRINGS
+ { s
+ t
+ language.state
+ change.temp
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'before.title :=
+ "nostate" 'language.state :=
+}
+% \end{macrocode}
+% Logische Nicht"=Funktion.
+% \begin{macrocode}
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+% \end{macrocode}
+% Logische Und"=Funktion.
+% \begin{macrocode}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+% \end{macrocode}
+% Logische Oder"=Funktion
+% \begin{macrocode}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+% \end{macrocode}
+% Schreibt den zweiten Stackwert einmal mit veränderter Groß"= und
+% Kleinschreibung und einmal mit Originalschreibung hinter den Befehl
+% \cs{btxifchangecase}.
+% \LaTeX\ entscheiden dann, welche Version verwendet werden so..
+% \begin{macrocode}
+FUNCTION {language.change.case}
+{
+ 'change.temp :=
+ 't :=
+ "\btxifchangecase {"
+ t change.temp change.case$ *
+ "}{" *
+ t *
+ "}" *
+}
+% \end{macrocode}
+% Ausgabefunktion.
+% \begin{macrocode}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ {
+ output.state before.title =
+ { "\btxauthorcolon\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+% \end{macrocode}
+% Noch eine Ausgabefunktion.
+% \begin{macrocode}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+% \end{macrocode}
+% Gibt eine Warnung bei leerem Argument aus und schreibt den Inhalt
+% sonst.
+% \begin{macrocode}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+% \end{macrocode}
+% Ausgabe eines Literatuverweises.
+% Zunächst wird die Sprache auf die angegebene Sprache gesetzt, dann
+% der \cs{bibitem} gesetzt.
+% \begin{macrocode}
+FUNCTION {output.bibitem}
+{ newline$
+ language empty$
+ { "empty language in " cite$ * warning$ }
+ { language.state language =
+ 'skip$
+ { "\btxselectlanguage {" language * "}" * write$
+ newline$
+ }
+ if$
+ language 'language.state :=
+ }
+ if$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+% \end{macrocode}
+% Ende des Eintrags.
+% \begin{macrocode}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {after.authors}
+{ output.state before.all =
+ 'skip$
+ { before.title 'output.state := }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.block.checkc}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'after.authors
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+% \end{macrocode}
+% Formatier den Stackinhalt mit \cs{btxnamefont}.
+% \begin{macrocode}
+FUNCTION {namefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxnamefont {" swap$ * "}" * }
+ if$
+}
+% \end{macrocode}
+% Formatier den Stackinhalt mit \cs{btxlastnamefont}.
+% \begin{macrocode}
+FUNCTION {lastnamefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxlastnamefont {" swap$ * "}" * }
+ if$
+}
+% \end{macrocode}
+% Formatier den Stackinhalt mit \cs{btxtitlefont}.
+% \begin{macrocode}
+FUNCTION {titlefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxtitlefont {" swap$ * "}" * }
+ if$
+}
+% \end{macrocode}
+% Formatier den Stackinhalt mit \cs{btxjournalfont}.
+% \begin{macrocode}
+FUNCTION {journalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxjournalfont {" swap$ * "}" * }
+ if$
+}
+% \end{macrocode}
+% Formatier den Stackinhalt mit \cs{btxvolumefont}.
+% \begin{macrocode}
+FUNCTION {volumefont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxvolumefont {" swap$ * "}" * }
+ if$
+}
+% \end{macrocode}
+% Formatier den Stackinhalt mit \cs{btxetalfont}.
+% \begin{macrocode}
+FUNCTION {etalfont}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\btxetalfont {" swap$ * "}" * }
+ if$
+}
+% \end{macrocode}
+% Neue Variablen definieren.
+% \begin{macrocode}
+INTEGERS { nameptr namesleft numnames }
+% \end{macrocode}
+% Namen (Autoren, Herausgeber) formatieren.
+% \begin{macrocode}
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ {
+%</bibstyle>
+% \end{macrocode}
+% \changes{1.13}{2003/12/16}{Second Bib style with different name format}%
+% \changes{1.14}{2003/12/17}{New abbreviated Bib styles}%
+% \begin{macrocode}
+%<*bibstyle&long&names1>
+ s nameptr "{ff~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+%</bibstyle&long&names1>
+%<*bibstyle&long&names2>
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{, jj}{, ff}{~vv}" format.name$ * 't :=
+%</bibstyle&long&names2>
+%<*bibstyle&long&names3>
+ s nameptr "{f{.\,}.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+%</bibstyle&long&names3>
+%<*bibstyle&short&names1>
+ s nameptr "{f{.\,}.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * 't :=
+%</bibstyle&short&names1>
+%<*bibstyle&short&names2>
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f{.\,}.}{~vv}" format.name$ * 't :=
+%</bibstyle&short&names2>
+%<*bibstyle>
+ namesleft #1 >
+ { ", " * t namefont * }
+ { numnames #2 >
+ { "\btxandcomma {}" * }
+ 'skip$
+ if$
+ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * t namefont * }
+ if$
+ }
+ if$
+ }
+ {
+%</bibstyle>
+%<*bibstyle&long&names3>
+ s nameptr "{f{.\,}.~}{vv~}" format.name$
+ s nameptr "{ll}" format.name$ lastnamefont *
+ s nameptr "{, jj}" format.name$ * namefont
+%</bibstyle&long&names3>
+%<*bibstyle&long&!names3>
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{, ff}{~vv}" format.name$ * namefont
+%</bibstyle&long&!names3>
+%<*bibstyle&short>
+ s nameptr "{ll}" format.name$ lastnamefont
+ s nameptr "{,~jj}{,~f{.\,}.}{~vv}" format.name$ * namefont
+%</bibstyle&short>
+%<*bibstyle>
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+% \end{macrocode}
+% Autoren formatieren.
+% \begin{macrocode}
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+% \end{macrocode}
+% Herausgeber formatieren.
+% \begin{macrocode}
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names
+ editor num.names$ #1 >
+%</bibstyle>
+%<bibstyle&long> { "\ (\btxeditorslong {})" * }
+%<bibstyle&long> { "\ (\btxeditorlong {})" * }
+%<bibstyle&short> { "\ (\btxeditorsshort {.})" * }
+%<bibstyle&short> { "\ (\btxeditorshort {.})" * }
+%<*bibstyle>
+ if$
+ }
+ if$
+}
+% \end{macrocode}
+% Titel formatieren.
+% \begin{macrocode}
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" language.change.case titlefont }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+% \end{macrocode}
+% Datum formatieren.
+% \begin{macrocode}
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month "\ " * year * }
+ if$
+ }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.btitle}
+{ title titlefont
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ * *
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {volume.tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { "\ " }
+ if$
+ swap$ volumefont * *
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { output.state after.block =
+%</bibstyle>
+%<bibstyle&long> { "\Btxvolumelong {}" }
+%<bibstyle&long> { "\btxvolumelong {}" }
+%<bibstyle&short> { "\Btxvolumeshort {.}" }
+%<bibstyle&short> { "\btxvolumeshort {.}" }
+%<*bibstyle>
+ if$
+ volume volume.tie.or.space.connect
+ series empty$
+ 'skip$
+%</bibstyle>
+%<bibstyle&long> { " \btxofserieslong {}\ " * series titlefont * }
+%<bibstyle&short> { " \btxofseriesshort {.}\ " * series titlefont * }
+%<*bibstyle>
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+%</bibstyle>
+%<bibstyle&long> { "\btxnumberlong {}" }
+%<bibstyle&long> { "\Btxnumberlong {}" }
+%<bibstyle&short> { "\btxnumbershort {.}" }
+%<bibstyle&short> { "\Btxnumbershort {.}" }
+%<*bibstyle>
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+%</bibstyle>
+%<bibstyle&long> { " \btxinserieslong {}\ " * series titlefont * }
+%<bibstyle&short> { " \btxinseriesshort {.}\ " * series titlefont * }
+%<*bibstyle>
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+% \end{macrocode}
+% Auf"|lage formatieren.
+% \begin{macrocode}
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ {
+ output.state mid.sentence =
+%</bibstyle>
+%<bibstyle&long> { edition "l" language.change.case "~\btxeditionlong {}" * }
+%<bibstyle&long> { edition "t" language.change.case "~\btxeditionlong {}" * }
+%<bibstyle&short> { edition "l" language.change.case "~\btxeditionshort {.}" * }
+%<bibstyle&short> { edition "t" language.change.case "~\btxeditionshort {.}" * }
+%<*bibstyle>
+ if$
+ }
+ if$
+}
+% \end{macrocode}
+% ISBN formatieren
+% \begin{macrocode}
+FUNCTION {format.isbn}
+{ isbn empty$
+ { "" }
+ { "\btxISBN~\btxISBNfont {" isbn * "}" * }
+ if$
+}
+% \end{macrocode}
+% ISSN formatieren.
+% \begin{macrocode}
+FUNCTION {format.issn}
+{ issn empty$
+ { "" }
+ { "\btxISSN~\btxISSNfont {" issn * "}" * }
+ if$
+}
+% \end{macrocode}
+% Url formatieren.
+% \begin{macrocode}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\btxurlfont {" url * "}" * }
+ if$
+}
+% \end{macrocode}
+% Noch eine Variable.
+% \begin{macrocode}
+INTEGERS { multiresult }
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+% \end{macrocode}
+% Seitenzahlen formatieren.
+% \begin{macrocode}
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+%</bibstyle>
+%<bibstyle&long> { "\btxpageslong {}" pages n.dashify tie.or.space.connect }
+%<bibstyle&long> { "\btxpagelong {}" pages tie.or.space.connect }
+%<bibstyle&short> { "\btxpagesshort {.}" pages n.dashify tie.or.space.connect }
+%<bibstyle&short> { "\btxpageshort {.}" pages tie.or.space.connect }
+%<*bibstyle>
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+%</bibstyle>
+%<bibstyle&long> { "\btxchapterlong {}" }
+%<bibstyle&short> { "\btxchaptershort {.}" }
+%<*bibstyle>
+ { type "l" language.change.case }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+%</bibstyle>
+%<bibstyle&long> { "\Btxinlong {}\ " booktitle titlefont * }
+%<bibstyle&long> { "\Btxinlong {}\ " format.editors * ": " * booktitle titlefont * }
+%<bibstyle&short> { "\Btxinshort {.}\ " booktitle titlefont * }
+%<bibstyle&short> { "\Btxinshort {.}\ " format.editors * ": " * booktitle titlefont * }
+%<*bibstyle>
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ key empty$ not and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" language.change.case
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.tr.number}
+{
+ number empty$
+ {
+ type empty$
+%</bibstyle>
+%<bibstyle&long> { "\btxtechreplong {}" }
+%<bibstyle&short> { "\btxtechrepshort {.}" }
+%<*bibstyle>
+ { type "t" language.change.case }
+ if$
+ }
+ {
+ type empty$
+%</bibstyle>
+%<bibstyle&long> { "\Btxtechreplong {}" }
+%<bibstyle&short> { "\Btxtechrepshort {.}" }
+%<*bibstyle>
+ { type "t" language.change.case }
+ if$
+ number tie.or.space.connect
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+%</bibstyle>
+%<bibstyle&long> { "\Btxinlong {}\ " journal titlefont * }
+%<bibstyle&short> { "\Btxinshort {.}\ " journal titlefont * }
+%<*bibstyle>
+ if$
+ }
+%</bibstyle>
+%<bibstyle&long> { "\Btxinlong {}\ " key titlefont * }
+%<bibstyle&short> { "\Btxinshort {.}\ " key titlefont * }
+%<*bibstyle>
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.crossref.editor}
+%</bibstyle>
+%<bibstyle&long&names1>{ editor #1 "{ff~}{vv~}{ll}{, jj}" format.name$ namefont
+%<bibstyle&long&names2>{ editor #1 "{ll}{, jj}{, ff}{~vv}" format.name$ namefont
+%<bibstyle&long&names3>{ editor #1 "{f{.\,}.~}{vv~}{ll}{, jj}" format.name$ namefont
+%<bibstyle&short&names1>{ editor #1 "{f.~}{vv~}{ll}{, jj}" format.name$ namefont
+%<bibstyle&short&names2>{ editor #1 "{ll}{, jj}{, f.}{~vv}" format.name$ namefont
+%<*bibstyle>
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " " "\btxetalshort {.}" etalfont * * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv~}{ll}{ jj}" format.name$ "others" =
+ { " " "\btxetalshort {.}" etalfont * * }
+ { " \btxandlong {}\ " * editor #2
+%</bibstyle>
+%<bibstyle&long&names1> "{ff~}{vv~}{ll}{, jj}" format.name$
+%<bibstyle&long&names2> "{ll}{, jj}{, ff}{~vv}" format.name$
+%<bibstyle&long&names3> "{f{.\,}.~}{vv~}{ll}{, jj}" format.name$
+%<bibstyle&short&names1> "{f.~}{vv~}{ll}{, jj}" format.name$
+%<bibstyle&short&names2> "{ll}{, jj}{, f.}{~vv}" format.name$
+%<*bibstyle>
+ namefont * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+%</bibstyle>
+%<*bibstyle&long>
+ "\Btxinlong {}\ "
+ }
+ { "\Btxvolumelong {}" volume volume.tie.or.space.connect
+ " \btxofserieslong {}\ " *
+%</bibstyle&long>
+%<*bibstyle&short>
+ "\Btxinshort {.}\ "
+ }
+ { "\Btxvolumeshort {.}" volume volume.tie.or.space.connect
+ " \btxofseriesshort {.}\ " *
+%</bibstyle&short>
+%<*bibstyle>
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series titlefont * }
+ if$
+ }
+ { key titlefont * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+%</bibstyle>
+%<*bibstyle&long>
+ { "\Btxinlong {}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinlong {}\ " format.crossref.editor * }
+%</bibstyle&long>
+%<*bibstyle&short>
+ { "\Btxinshort {.}\ " booktitle titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " key titlefont * }
+ if$
+ }
+ { "\Btxinshort {.}\ " format.crossref.editor * }
+%</bibstyle&short>
+%<*bibstyle>
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal
+ title missing$
+ { titlefont }
+ { journalfont }
+ if$
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ after.authors
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ organization output
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {conference} { inproceedings }
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ "\btxmastthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkc
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.isbn output
+ format.issn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.btitle "title" output.check
+ new.block
+ "\btxphdthesis {}" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ after.authors
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.isbn output
+ new.block
+ format.url output
+ note output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ after.authors
+ format.title "title" output.check
+ new.block
+ format.url output
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {default.type} { misc }
+
+% \end{macrocode}
+% Monate sollen ausgeschrieben werden.
+% \begin{macrocode}
+%</bibstyle>
+%<*bibstyle&long>
+MACRO {jan} {"\btxmonjanlong {}"}
+MACRO {feb} {"\btxmonfeblong {}"}
+MACRO {mar} {"\btxmonmarlong {}"}
+MACRO {apr} {"\btxmonaprlong {}"}
+MACRO {may} {"\btxmonmaylong {}"}
+MACRO {jun} {"\btxmonjunlong {}"}
+MACRO {jul} {"\btxmonjullong {}"}
+MACRO {aug} {"\btxmonauglong {}"}
+MACRO {sep} {"\btxmonseplong {}"}
+MACRO {oct} {"\btxmonoctlong {}"}
+MACRO {nov} {"\btxmonnovlong {}"}
+MACRO {dec} {"\btxmondeclong {}"}
+%</bibstyle&long>
+%<*bibstyle&short>
+MACRO {jan} {"\btxmonjanshort {.}"}
+MACRO {feb} {"\btxmonfebshort {.}"}
+MACRO {mar} {"\btxmonmarshort {.}"}
+MACRO {apr} {"\btxmonaprshort {.}"}
+MACRO {may} {"\btxmonmayshort {.}"}
+MACRO {jun} {"\btxmonjunshort {.}"}
+MACRO {jul} {"\btxmonjulshort {.}"}
+MACRO {aug} {"\btxmonaugshort {.}"}
+MACRO {sep} {"\btxmonsepshort {.}"}
+MACRO {oct} {"\btxmonoctshort {.}"}
+MACRO {nov} {"\btxmonnovshort {.}"}
+MACRO {dec} {"\btxmondecshort {.}"}
+%</bibstyle&short>
+%<*bibstyle>
+% \end{macrocode}
+% Zeitschriften.
+% \begin{macrocode}
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+READ
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+INTEGERS { len }
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+%</bibstyle>
+%<bibstyle&long> s nameptr "{ll{ }}{ ff{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+%<bibstyle&short> s nameptr "{ll{ }}{ f{ }}{vv{ } }{ jj{ }}" format.name$ 't :=
+%<*bibstyle>
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {presort}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+ITERATE {presort}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+SORT
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+STRINGS { longest.label }
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+INTEGERS { number.label longest.label.width }
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+EXECUTE {initialize.longest.label}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+ITERATE {longest.label.pass}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+ " \providebibliographyfont{name}{}%" write$ newline$
+ " \providebibliographyfont{lastname}{}%" write$ newline$
+ " \providebibliographyfont{title}{\emph}%" write$ newline$
+ " \providebibliographyfont{etal}{\emph}%" write$ newline$
+ " \providebibliographyfont{journal}{}%" write$ newline$
+ " \providebibliographyfont{volume}{}%" write$ newline$
+ " \providebibliographyfont{ISBN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{ISSN}{\MakeUppercase}%" write$ newline$
+ " \providebibliographyfont{url}{\url}%" write$ newline$
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%</bibstyle>
+% \end{macrocode}
+%
+% \section{Cover der Installations"=CD}
+% \changes{1.04}{2003/09/23}{CD"=Hülle in die Hauptdistribution
+% aufgenommen}%
+%
+% \begin{macrocode}
+%<*cdcover>
+\documentclass[ngerman,a4paper,fleqn,10pt,landscape]{article}
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage{babel}
+\usepackage[scaled=0.92]{helvet}
+\usepackage{courier}
+\usepackage{graphicx}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{cd-cover}
+\usepackage{relsize}
+\usepackage{array}
+\usepackage{url}
+\usepackage{mdwlist}
+\usepackage[textwidth=250mm,textheight=140mm]{geometry}
+\usepackage{ragged2e}
+\usepackage[num]{isodate}
+
+\makeatletter
+\def\GetFileInfo#1{%
+ \def\filename{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\filedate{##1}%
+ \def\fileversion{##2}%
+ \def\fileinfo{##3}}%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+\makeatother
+
+\GetFileInfo{cdcover.tex}
+
+\setlength{\parindent}{0mm}
+\setlength{\parskip}{6pt plus 2pt minus 1pt}
+
+\renewcommand*\familydefault{\sfdefault}
+
+\begin{document}
+%\begin{landscape}
+\bookletsheet{%
+ \RaggedRight
+ {\bfseries\Large Zusammenfassung des \textsmaller{CD}"=Inhalts}
+ \vspace{5mm}
+
+ \begin{tabular}{@{}>{\ttfamily}l>{\RaggedRight}p{0.7\linewidth}}
+ alt/ & Archiv alter Versionen der Dokumentklasse \\
+ doc/ & Autorenrichtlinien inklusive Installationsanleitung
+ \url{bgteubner.pdf} (Times),
+ \url{bgteubner-cm.pdf} (European Computer Modern) und
+ Beschreibung der Implementation \url{bgreucls.pdf} \\
+ pakete/ & \textsmaller{ZIP}"=Archive der Installationsdateien \\
+ source/ & Quelltext der \texttt{bgteubner}"=Dokumentklasse
+ \end{tabular}
+ \vspace{5mm}
+
+ Lesen Sie vor der Installation und vor dem Schreiben des Buchs bitte
+ aufmerksam die Autorenrichtlinien \url{bgteubner.pdf} oder
+ \url{bgteubner-cm.pdf} durch.
+ }{%
+ \begin{center}
+ \sffamily\Large
+ {\bfseries\Large
+ Harald Harders
+ \par}%
+ \vskip 2.0em
+ \par
+ {\bfseries\LARGE
+ Erstellen von Büchern für den Springer Vieweg Verlag mit \LaTeX
+ \par}
+ \vskip 2.0em
+ {\bfseries\Large
+ Dokumentklasse, Autorenrichtlinien und Installationsanleitung,
+ zusätzliche Pakete
+ \par}
+ \vskip 5.0em
+ Version \fileversion, \printdateTeX{\filedate}
+ \par
+ \vskip 2.0em
+ Springer Vieweg\quad Stuttgart $\cdot$ Leipzig $\cdot$ Wiesbaden
+ \end{center}
+}
+
+\backsheet{Erstellen von Büchern für den Springer Vieweg Verlag mit \LaTeX
+ \qquad\qquad\qquad\quad\small v\fileversion}{%
+ \RaggedRight
+ {\bfseries
+ Harald Harders
+ \par}
+ \vskip 1em
+ {\Large\bfseries Erstellen von Büchern für den Springer Vieweg Verlag mit
+ \LaTeX
+ \par}
+ \vskip 3em
+
+ Diese \textsmaller{CD} enthält die Dokumentklasse
+ \url{bgteubner.cls} sowie die Autorenrichtlinien inklusive
+ Installationsanleitung in zwei Versionen:
+ \begin{itemize*}
+ \item \url{bgteubner.pdf}: Brotschrift Times,
+ \item \url{bgteubner-cm.pdf}: Brotschrift European
+ Computer Modern.
+ \end{itemize*}
+ Außerdem sind Zusatzpakete enthalten, die in \TeX Live\,8 entweder
+ nicht oder nur veraltet enthalten sind.
+
+ Diese \textsmaller{CD} sollte zusammen mit einer
+ \TeX Live"=8"=Installation verwendet werden (dafür ist eine
+ Anleitung enthalten).
+ Sie läuft auch mit anderen Distributionen, wobei dann aber keine
+ Anleitung enthalten ist.
+ }
+%\end{landscape}
+
+\end{document}
+% \end{macrocode}
+%
+% \iffalse
+%</cdcover>
+% \fi
+% \Finale
diff --git a/macros/latex/contrib/bgteubner/source/bgteucls.ins b/macros/latex/contrib/bgteubner/source/bgteucls.ins
new file mode 100644
index 0000000000..fa69c6f1f7
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/bgteucls.ins
@@ -0,0 +1,138 @@
+%% bgteubner class bundle
+%%
+%% bgteucls.ins
+%% Copyright 2003--2015 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.
+\input docstrip.tex
+\preamble
+
+ bgteubner class bundle
+
+ Copyright 2003--2015 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.
+
+ harald.harders@gmx.de
+
+\endpreamble
+
+\declarepreamble\clspreamble
+
+ bgteubner class bundle
+
+ Copyright 2003--2015 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.
+
+ Additional conditions to the license:
+
+ If you modify a renamed copy of the files `bgteubner.cls' or
+ `bgteucls.dtx', you have to preserve some information in the
+ PDF /Creator entry. The following data have to remain:
+ - The name `bgteubner.cls',
+ - a hint that this class has been developed for the `Teubner
+ Verlag, Wiesbaden, Germany'.
+
+ This program consists of all files listed in manifest.txt.
+
+ harald.harders@gmx.de
+
+\endpreamble
+
+
+\declarepreamble\bstpreamble
+
+ bgteubner class bundle
+
+ Copyright 2003--2015 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.
+
+ This BibTeX style is intended to be used with the bgteubner
+ document class and the babelbib package. It may work together with
+ other document classes but is unlikely to work without the
+ babelbib package.
+
+ harald.harders@gmx.de
+
+\endpreamble
+
+\declarepreamble\istpreamble
+
+ bgteubner class bundle
+
+ Copyright 2003--2015 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.
+
+ This Makeindex style file is intended to be used with the bgteubner
+ document class. It may or may not work together with other document
+ classes.
+
+ harald.harders@gmx.de
+
+\endpreamble
+
+
+\askforoverwritefalse
+
+% Files
+%%%%%%%%%%%%%%%%%%%%%%
+\generate{%
+ \file{bgteuversion.tex}{\from{bgteucls.dtx}{version}}%
+ \file{cdcover.tex}{\from{bgteucls.dtx}{cdcover}}%
+ \usepreamble\clspreamble
+ \file{bgteubner.cls}{\from{bgteucls.dtx}{class}}%
+ \usepostamble\empty
+ \usepreamble\istpreamble
+ \file{bgteubner.ist}{\from{bgteucls.dtx}{idxstyle}}%
+ \file{bgteuglo.ist}{\from{bgteucls.dtx}{glostyle1}}%
+ \file{bgteuglochar.ist}{\from{bgteucls.dtx}{glostyle2}}%
+ \usepostamble\empty
+ \usepreamble\bstpreamble
+ \file{bgteupln.bst}{\from{bgteucls.dtx}{bibstyle,long,names1}}%
+ \file{bgteupln2.bst}{\from{bgteucls.dtx}{bibstyle,long,names2}}%
+ \file{bgteupln3.bst}{\from{bgteucls.dtx}{bibstyle,long,names3}}%
+ \file{bgteuabbr.bst}{\from{bgteucls.dtx}{bibstyle,short,names1}}%
+ \file{bgteuabbr2.bst}{\from{bgteucls.dtx}{bibstyle,short,names2}}%
+}
+\endbatchfile
diff --git a/macros/latex/contrib/bgteubner/source/getversion.tex b/macros/latex/contrib/bgteubner/source/getversion.tex
new file mode 100644
index 0000000000..822708891f
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/getversion.tex
@@ -0,0 +1,7 @@
+\documentclass{ltxdoc}
+\nofiles
+\input{bgteuversion}
+\GetFileInfo{bgteuversion.tex}
+\typeout{VERSION \fileversion}
+\begin{document}
+\end{document}
diff --git a/macros/latex/contrib/bgteubner/source/ptmxcomp.sty b/macros/latex/contrib/bgteubner/source/ptmxcomp.sty
new file mode 100644
index 0000000000..c36aba2066
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/ptmxcomp.sty
@@ -0,0 +1,300 @@
+%
+% ptmxcomp package
+%
+% ptmxcomp.sty
+% Copyright 2004 Harald Harders
+%
+% This program may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% ChangeLog:
+%
+% 2004/11/19 v0.03 Harald Harders (h.harders@tu-bs.de)
+% - Avoid to use package calc
+%
+\ProvidesPackage{ptmxcomp}
+ [2004/11/19 v0.03 Declare textcomp symbols for mathptmx (HH)]
+
+\typeout{ptmxcomp: Redefine many accents and symbols from textcomp and
+ mathcomp.}%
+\typeout{\space\space\space\space\space\space\space\space\space\space
+ Some are ugly. These symbols generate a warning when using them.^^J}%
+
+\RequirePackage{textcomp}
+\RequirePackage[rmdefault]{mathcomp}
+\RequirePackage{graphicx}
+\RequirePackage{amsmath}
+
+% \end{macrocode}
+% Umkreiste Zahlen wiederherstellen, wenn Times verwendet (wird von
+% textcomp vermurkst):
+% \begin{macrocode}
+\DeclareTextAccentDefault{\textcircled}{OMS}
+
+
+% \cs{textohm} and \cs{tcohm} have to be corrected in case of Times as
+% base font.
+\renewcommand*\tcohm{\upOmega}%
+\renewcommand*\textohm{%
+ \begingroup
+ \ifthenelse{\equal{\f@series}{b}}{\boldmath}{}%
+ \ifthenelse{\equal{\f@shape}{it}}{%
+ \ensuremath{\Omega}%
+ }{%
+ \ifthenelse{\equal{\f@shape}{sl}}{%
+ \ensuremath{\Omega}%
+ }{%
+ \ensuremath{\upOmega}%
+ }%
+ }%
+ \endgroup
+}
+
+% \end{macrocode}
+% \cs{textpertenthousand} and \cs{tcpertenthousand} have to be
+% replaced by European Computer Modern in case of Times as base font.
+% \begin{macrocode}
+\newcommand*\hhcls@textpertenthousand{}%
+\let\hhcls@textpertenthousand=\textpertenthousand
+
+\renewcommand\textpertenthousand{%
+ \begingroup
+ \fontfamily{cmr}\selectfont
+ \hhcls@textpertenthousand
+ \PackageWarning{ptmxcomp}{\string\textperthousand\space and
+ \string\tcperthousand\space do not fit to\MessageBreak
+ Times (they are taken from European Computer\MessageBreak
+ Modern)}%
+ \endgroup
+}%
+\renewcommand*\tcpertenthousand{\text{\textpertenthousand}}
+
+% \end{macrocode}
+% Times does not have old-style digits.
+% \begin{macrocode}
+ \renewcommand*\tcdigitoldstyle{%
+ \PackageWarning{ptmxcomp}{\string\tcdigitoldstyle\space is ignored}%
+ }
+
+\newcommand*\hhcls@substituteaccent[2]{%
+ \expandafter\let\csname hhcls@#1\endcsname=#2
+ \expandafter\DeclareRobustCommand\csname #1\endcsname[1]{%
+ \begingroup
+ \ifthenelse{\equal{\f@family}{ptm}}{%
+ \fontencoding{TS1}\fontfamily{cmr}\selectfont
+ \csname hhcls@#1\endcsname{%
+ \fontencoding{T1}\fontfamily{ptm}\selectfont ##1}%
+ }{%
+ \ifthenelse{\equal{\f@family}{phv}}{%
+ \fontencoding{TS1}\fontfamily{cmss}\selectfont
+ \csname hhcls@#1\endcsname{%
+ \fontencoding{T1}\fontfamily{phv}\selectfont ##1}%
+ }{%
+ \ifthenelse{\equal{\f@family}{pcr}}{%
+ \fontencoding{TS1}\fontfamily{cmtt}\selectfont
+ \csname hhcls@#1\endcsname{%
+ \fontencoding{T1}\fontfamily{pcr}\selectfont ##1}%
+ }{%
+ \csname hhcls@#1\endcsname{##1}%
+ }%
+ }%
+ }%
+ \endgroup
+ \PackageWarning{ptmxcomp}{Accent #2 substituted by
+ the European\MessageBreak
+ Computer Modern variant}%
+ }%
+}
+\hhcls@substituteaccent{t}{\t}
+\hhcls@substituteaccent{capitaltie}{\capitaltie}
+\hhcls@substituteaccent{newtie}{\newtie}
+\hhcls@substituteaccent{capitalnewtie}{\capitalnewtie}
+\renewcommand*\textleftarrow{\ensuremath{\leftarrow}}%
+\renewcommand*\textrightarrow{\ensuremath{\rightarrow}}%
+\let\hhcls@textblank=\textblank
+\renewcommand*\textblank{%
+ \begingroup
+ \ifthenelse{\equal{\f@family}{ptm}}{%
+ \fontencoding{OT1}\fontfamily{cmr}\selectfont
+ \raisebox{0.4ex}[0ex][0ex]{\symbol{32}}%
+ \kern-0.25em b%
+ }{%
+ \ifthenelse{\equal{\f@family}{phv}}{%
+ \fontencoding{OT1}\fontfamily{cmss}\selectfont
+ \raisebox{0.5ex}[0ex][0ex]{\symbol{32}}%
+ \kern-0.25em b%
+ }{%
+ \ifthenelse{\equal{\f@family}{pcr}}{%
+ \fontencoding{OT1}\fontfamily{cmr}\selectfont
+ \raisebox{0.3ex}[0ex][0ex]{\symbol{32}}%
+ \kern-0.25em b%
+ }{%
+ \hhcls@textblank
+ }%
+ }%
+ }%
+ \endgroup
+ \PackageWarning{ptmxcomp}{\string\textblank\space mixed\MessageBreak
+ with European Computer Modern}%
+}
+
+\renewcommand*\textdblhyphen{%
+ \settowidth{\@tempdima}{-}%
+ \raisebox{0.15ex}[0pt][0pt]{-}%
+ \kern-\the\@tempdima
+ \raisebox{-0.15ex}[0pt][0pt]{-}%
+ \PackageWarning{ptmxcomp}{Using faked \string\textdblhyphen}%
+}
+\renewcommand*\textzerooldstyle{0%
+ \PackageWarning{ptmxcomp}{Old-style digit 0 not available}%
+}
+\renewcommand*\textoneoldstyle{1%
+ \PackageWarning{ptmxcomp}{Old-style digit 1 not available}%
+}
+\renewcommand*\texttwooldstyle{2%
+ \PackageWarning{ptmxcomp}{Old-style digit 2 not available}%
+}
+\renewcommand*\textthreeoldstyle{3%
+ \PackageWarning{ptmxcomp}{Old-style digit 3 not available}%
+}
+\renewcommand*\textfouroldstyle{4%
+ \PackageWarning{ptmxcomp}{Old-style digit 4 not available}%
+}
+\renewcommand*\textfiveoldstyle{5%
+ \PackageWarning{ptmxcomp}{Old-style digit 5 not available}%
+}
+\renewcommand*\textsixoldstyle{6%
+ \PackageWarning{ptmxcomp}{Old-style digit 6 not available}%
+}
+\renewcommand*\textsevenoldstyle{7%
+ \PackageWarning{ptmxcomp}{Old-style digit 7 not available}%
+}
+\renewcommand*\texteightoldstyle{8%
+ \PackageWarning{ptmxcomp}{Old-style digit 8 not available}%
+}
+\renewcommand*\textnineoldstyle{9%
+ \PackageWarning{ptmxcomp}{Old-style digit 9 not available}%
+}
+\renewcommand*\textlangle{\ensuremath{\langle}}
+\renewcommand*\textrangle{\ensuremath{\rangle}}
+\renewcommand*\textmho{\rotatebox[origin=cc]{180}{\textohm}}
+\renewcommand*\textbigcircle{\textcircled{}}
+
+\renewcommand*\textuparrow{\ensuremath{\uparrow}}%
+\renewcommand*\textdownarrow{\ensuremath{\downarrow}}%
+\newcommand*\hhcls@tsone@symbol[2]{%
+ \begingroup
+ \ifthenelse{\equal{\f@family}{ptm}}{%
+ \fontfamily{cmr}%
+ }{%
+ \ifthenelse{\equal{\f@family}{phv}}{%
+ \fontfamily{cmss}%
+ }{%
+ \ifthenelse{\equal{\f@family}{pcr}}{%
+ \fontfamily{cmtt}%
+ }{%
+ }%
+ }%
+ }%
+ \fontencoding{TS1}\selectfont\symbol{#2}%
+ \endgroup
+ \PackageWarning{ptmxcomp}{\string#1\space used from\MessageBreak
+ European Computer Modern}%
+}
+\renewcommand*\textborn{\hhcls@tsone@symbol{\textborn}{98}}
+\renewcommand*\textdivorced{\hhcls@tsone@symbol{\textdivorced}{99}}
+\renewcommand*\textdied{\hhcls@tsone@symbol{\textdied}{100}}
+\renewcommand*\textleaf{\hhcls@tsone@symbol{\textleaf}{108}}
+\renewcommand*\textmarried{\hhcls@tsone@symbol{\textmarried}{109}}
+\renewcommand*\textmusicalnote{\hhcls@tsone@symbol{\textmusicalnote}{110}}
+\renewcommand*\textdblhyphenchar{\textdblhyphen}
+
+\renewcommand*\textdollaroldstyle{\$%
+ \PackageWarning{ptmxcomp}{No old-style dollar available.\MessageBreak
+ Using ordinary one}%
+}
+\renewcommand*\textcentoldstyle{\textcent%
+ \PackageWarning{ptmxcomp}{No old-style cent available.\MessageBreak
+ Using ordinary one}%
+}
+\renewcommand*\textcolonmonetary{%
+ \settowidth{\@tempdima}{C}%
+ \makebox[\the\@tempdima][c]{\rule{0.05em}{0pt}|}\kern-\the\@tempdima C%
+}
+\renewcommand*\textwon{%
+ \settowidth{\@tempdimb}{W}%
+ \makebox[\@tempdimb][c]{\raisebox{.9ex}{\rule{\@tempdimb}{.1ex}}}%
+ \kern-\the\@tempdimb
+ \makebox[\@tempdimb][c]{\raisebox{.5ex}{\rule{\@tempdimb}{.1ex}}}%
+ \kern-\the\@tempdimb
+ W%
+}
+\renewcommand*\textnaira{%
+ \settowidth{\@tempdimb}{N}%
+ \makebox[\@tempdimb][c]{\raisebox{.9ex}{\rule{\@tempdimb}{.1ex}}}%
+ \kern-\the\@tempdimb
+ \makebox[\@tempdimb][c]{\raisebox{.5ex}{\rule{\@tempdimb}{.1ex}}}%
+ \kern-\the\@tempdimb
+ N%
+}
+\renewcommand*\textguarani{%
+ \settowidth{\@tempdima}{G}%
+ \makebox[\@tempdima][c]{\rule{0.05em}{0pt}|}\kern-\the\@tempdima G%
+}
+\renewcommand*\textpeso{%
+ \settowidth{\@tempdimb}{P}%
+ \makebox[0pt][l]{\raisebox{.4ex}{\rule{0.55\@tempdimb}{0.1ex}}}%
+ P%
+}
+\renewcommand*\textlira{%
+ \settowidth{\@tempdimb}{\textsterling}%
+ \makebox[0pt][l]{\rule{0.05\@tempdimb}{0pt}%
+ \raisebox{.5ex}{\rule{0.64\@tempdimb}{0.1ex}}}%
+ \textsterling
+}
+
+\renewcommand*\textinterrobang{%
+ \settowidth{\@tempdimb}{?}%
+ \makebox[\@tempdimb][c]{!}\kern-\@tempdimb?%
+}
+\renewcommand*\textinterrobangdown{%
+ \settowidth{\@tempdimb}{?`}%
+ \makebox[\@tempdimb][c]{!`}\kern-\@tempdimb?`%
+}
+\renewcommand*\textdong{%
+ \underline{\dj}%
+}
+
+\renewcommand*\textdiscount{%
+ \settoheight{\@tempdima}{/}%
+ \settoheight{\@tempdimc}{.}%
+ \raisebox{\@tempdima-\@tempdimc}{.}\kern-\@tempdimc
+ /%
+ \kern-\@tempdimc.%
+}
+
+\renewcommand*\textestimated{%
+ \scalebox{1.3}{e}%
+}
+
+\renewcommand*\textopenbullet{%
+ \raisebox{-0.45ex}[\height][0pt]{\textdegree}%
+}
+
+%\renewcommand*\textservicemark{%
+% \textsuperscript{SM}%
+%}
+
+\renewcommand*\textcopyleft{%
+ \rotatebox[origin=cc]{180}{\textcopyright}%
+}
+
+%\renewcommand*\textcircledP{\textcircled{P}}
+
+
+\endinput
diff --git a/macros/latex/contrib/bgteubner/source/testquick.tex b/macros/latex/contrib/bgteubner/source/testquick.tex
new file mode 100644
index 0000000000..a2a57f66b1
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/source/testquick.tex
@@ -0,0 +1,240 @@
+%\pdfoutput=0
+% ===================================================================
+\PassOptionsToClass{titlepage}{bgteubner}
+% ===================================================================
+\PassOptionsToClass{mathtime}{bgteubner}
+%\PassOptionsToClass{cm}{bgteubner}
+% ===================================================================
+%\PassOptionsToClass{boldvec}{bgteubner}
+\PassOptionsToClass{ulinevec}{bgteubner}
+% ===================================================================
+\documentclass[english,ngerman,greybox,exercisetotoc]{bgteubner}
+% ===================================================================
+\listfiles
+% ===================================================================
+\usepackage[latin1]{inputenc}
+\usepackage{ptmxcomp}
+% ===================================================================
+% Lösung 1
+\makeatletter
+% Umbenennen der Überschrift von Aufgaben von "Aufgabe" in "Beispiel":
+\renewcommand*\exercisename{Beispiel}
+% Zählweise "Kapitel.Beispiel" statt "Beispiel":
+\renewcommand\the@exercise{\thechapter.\arabic{@exercise}}
+% Zähler muss beim Kapitelwechsel auf Null gesetzt werden:
+\@addtoreset{@exercise}{chapter}
+% Abstände um die Überschrift denjenigen der Antworten anpassen:
+\renewcommand\@exercise{\@startsection{@exercise}{1}{\z@}%
+ {-3.25ex \@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedsection\normalfont\sectfont\nobreak\size@subsection\nobreak}}
+% Schriftart in den Aufgaben wie in den Antworten:
+\renewcommand\exercisefont{%
+ \answerfont
+ \setstretch{\answerspacing}%
+}
+\renewcommand\example[1][]{\exercise{#1}}
+\renewcommand\endexample{\endexercise}
+\makeatother
+%\fi
+% ===================================================================
+%\renewcommand\subexercisefont{\subanswerfont}
+\renewcommand\subexercisefont{\normalsize}
+\setmargin{subexercise}{0mm}
+\setmargin{subanswer}{0mm}
+% ===================================================================
+\begin{document}
+% ===================================================================
+\frontmatter
+% ===================================================================
+% Titel des Buches:
+\title{Testdatei}
+\author{Harald Harders}
+% ===================================================================
+% Titelseite erzeugen
+\maketitle
+% ===================================================================
+\tableofcontents
+\mainmatter
+% ===================================================================
+
+\chapter{Kramzeug 1}
+
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+\begin{figure}
+ Moin
+ \caption{Moin}
+\end{figure}
+
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+
+\vspace{6pt}
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben soll.
+
+\begin{exercise}{Hallo Moin Hallo Tach Ciao}
+ \label{ex:hallo1}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{exercise}
+\begin{exercise*}{Hallo Moin Hallo Tach Ciao}
+ \label{ex:hallo}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{exercise*}
+\begin{exercise}{Hallo Moin Hallo Tach Ciao}
+ \label{ex:hallo3}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{exercise}
+\bigskip
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+
+\begin{answer}[asdf]{ex:hallo}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{answer}
+\begin{answer}{ex:hallo}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{answer}
+\bigskip
+\unskip
+\begin{answer}{ex:hallo}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{answer}
+\bigskip
+
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+
+\begin{example}[asdf]
+asdf
+\end{example}
+
+asdf
+
+\begin{subexercise}{Hallo Moin Hallo Tach Ciao}
+ \label{ex:hallo4}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{subexercise}
+\bigskip
+Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+soll.
+
+\begin{subanswer}[asdf]{ex:hallo4}
+ \label{ex:hallo5}
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{subanswer}
+
+\begin{proof}[asf]
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{proof}
+\renewcommand\theoremfont{\small}
+\begin{proof}[asf]
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{proof}
+\renewcommand\theoremfont{\footnotesize}
+\begin{proof}[asf]
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{proof}
+\renewcommand\theoremfont{\tiny}
+\begin{proof}[asf]
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+ Das ist mal wieder Blindtext, und ich weiß nicht, was ich schreiben
+ soll.
+\end{proof}
+
+\listofexercises
+% ===================================================================
+\end{document}
+% ===================================================================
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "richtlinien"
+%%% End:
diff --git a/macros/latex/contrib/bgteubner/usefiles.txt b/macros/latex/contrib/bgteubner/usefiles.txt
new file mode 100644
index 0000000000..52fd1a308c
--- /dev/null
+++ b/macros/latex/contrib/bgteubner/usefiles.txt
@@ -0,0 +1,53 @@
+List of needed packages/bundles:
+
+KOMA-Script 2003/04/22
+amsfonts 2001/10/25
+amsmath 2000/07/18
+amssymb 2002/01/22
+array 1998/05/13
+babel 2001/03/01
+babelbib 2003/07/28
+booktabs 2003/03/28
+calc 1998/07/07
+color 1999/02/16
+fixltx2e 2000/09/24
+fnbreak 2003/04/03
+fontenc 2001/06/05
+framed 2003/07/19 (better 2004/03/07)
+ginpenc 2003/09/29
+graphicx 1999/02/16
+hhsubfigure 2003/09/14
+hhtensor 2003/10/09
+ifpdf 2001/06/14
+ifthen 2001/05/26
+longtable 2000/10/22
+makeidx 2000/03/29
+mathcomp 2001/01/07
+psnfss 2003/03/02
+mdwlist 1996/05/02
+multicol 2000/07/10
+numprint 2003/11/09
+onlyamsmath 2001/10/04
+paralist 2002/03/18
+pdfcprot 2002/02/27
+ptmxcomp 2004/03/07
+ragged2e 2003/01/26
+relsize 1999/11/01
+setspace 2000/12/01
+subfloat 2002/12/16
+textcomp 2001/06/05
+warning 2001/08/17
+wasysym 2003/05/31
+
+
+When using European Computer Modern font (class option "cm"):
+
+exscale 1997/06/16
+fixmath 2000/04/11
+hfoldsty 2003/10/12
+slantsc 2003/09/17
+
+
+When using MathTime (class option "mathtime")
+
+mathtime 1999/03/29