\ProvidesFile{scrguide.tex}[2000/06/10 KOMA-Script Anleitung]
%%
%% scrguide.tex 
%% Copyright (C) 1994-2000 Markus Kohm
%%
%
% This file is part of the LaTeX2e KOMA-Script-Bundle
%
% This file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Version 1.0 distributed 
% together with this file. See LEGAL.TXT or LEGALDE.TXT.
%
% This bundle is written specialy for use at german-language. So the
% main documentation is german. There is also a english documentation,
% but this is NOT up-to-date.
%
%
% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets.
%
% Diese Datei kann nach den Regeln der LaTeX Project Public
% Licence Version 1.0, wie sie zusammen mit dieser Datei verteilt
% wird, weiterverbreitet und/oder modifiziert werden. Siehe dazu
% auch LEGAL.TXT oder LEGALDE.TXT.
%
% Dieses Paket ist f"ur den deutschen Sprachraum konzipiert. Daher ist
% auch diese Anleitung komplett in Deutsch. Zwar existiert auch eine
% englische Version der Anleitung, diese hinkt der deutschen Anleitung
% jedoch fast immer hinterher.
%
\NeedsTeXFormat{LaTeX2e}
\documentclass[idxtotoc,bibtotoc,headsepline,normalheadings]
              {scrreprt}[1997/02/26]
\pagestyle{headings}
\usepackage{scrpage}[1994/12/31]
\usepackage{scrdate,scrtime}[1995/02/12]
\usepackage{german}[1995/01/20]
\usepackage{alltt}
%\usepackage{ae}
\ifx\pdfoutput\undefined
\usepackage{hyperref}
\else\ifnum\pdfoutput=1
\usepackage[pdftex,%
  pdftitle={Das KOMA-Script Paket},%
  pdfauthor={Frank Neukam, Markus Kohm},%
  pdfsubject={Anleitung},%
  pdfkeywords={KOMA-Script,scrbook,scrreprt,scrartcl,scrlettr,scrpage,%
               scrdate,scrtime,Anleitung}]{hyperref}
\else\usepackage{hyperref}\fi
\fi
%\usepackage[T1]{fontenc}
%
% aus doc.sty entnommen (+ modifiziert):
% ----------------------------------------------------------------------
\providecommand\BibTeX{{\rmfamily B\kern-.05em%
  \textsc{i\kern-.025em b}\kern-.08em%
  T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
% aus ltxguide.cls entnommen (+ modifiziert):
% ----------------------------------------------------------------------
\InputIfFileExists{ltxguide.cfg}{}{}%
% A declaration of a command, in a box, set out into the margin.
%
% Unfortunately, there is a bug with this command, which allows page
% breaks to happen after a \begin{decl} it is a bug with TeX that
% makes it very difficult to get page-breaks correct near marginals,
% especially at the end of a paragraph.
\newenvironment{decl}%
    {\par\small\addvspace{4.5ex plus 1ex}%
     \vskip -\parskip
     \noindent\hspace{-.75\leftmargini}%
     \begin{tabular}{|l|}\hline\ignorespaces}%
    {\\\hline\end{tabular}\nobreak\par\nobreak
     \vspace{2.3ex}\vskip -\parskip\noindent\ignorespaces}
% Various forms of argument:
\newcommand{\m}[1]{\mbox{\it #1\/}}
\renewcommand{\arg}[1]{{\tt\string{}\m{#1}{\tt\string}}}
\newcommand{\oarg}[1]{{\tt[}\m{#1}{\tt]}}
% ----------------------------------------------------------------------
% aus ltxdoc.cls entnommen:
\newcommand{\parg}[1]{{\tt(}\m{#1}{\tt)}}
% ----------------------------------------------------------------------
% aus doc.sty entnommen:
\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip 0pt plus 1fill}
% ----------------------------------------------------------------------
\newcommand{\purearg}[1]{\string{#1\string}}

% nirgendwoher, sondern auf unserem Mist gewachsen:
\newcommand{\script}[1]{{\scshape#1}}
\newcommand{\file}[1]{{\ttfamily#1}}
\newcommand{\class}[1]{{\sffamily#1}}
\newcommand{\package}[1]{{\sffamily#1}}
\newcommand{\HLE}{\ensuremath{\mathrm{HLE}}}
\newcommand{\VLE}{\ensuremath{\mathrm{VLE}}}
\newcommand{\DIV}{\ensuremath{\mathit{DIV}}}
\newcommand{\BCOR}{\ensuremath{\mathit{BCOR}}}
\newcommand*{\unit}[1]{\ensuremath{\,\textrm{#1}}}
\newenvironment{Beispiel}{%
  \begin{labeling}{\textsf{\textbf{Beispiel:\ }}}
    \item[\textsf{\textbf{Beispiel:\ }}]}
  {\end{labeling}}
\newcommand*{\var}[1]{\ensuremath{#1}}

\usepackage{makeidx}\makeindex
\newcommand*{\indexsection}[1]{%
  \hspace{0pt plus 2fil}\textbf{#1}\hspace{0pt plus 1fil}\nopagebreak}
\newcommand{\Index}[2][textrm]{\index{#2|#1}}
\newcommand{\BeginIndex}[2]{\csname Index#1\endcsname[(textit]{#2}\ignorespaces}
\newcommand{\EndIndex}[2]{\csname Index#1\endcsname[)textit]{#2}}
\def\bslash{\char`\\}
\newcommand{\IndexCmd}[2][textrm]{%
  \Index[#1]{#2=\texttt{\bslash#2}}}
\newcommand{\IndexEnv}[2][textrm]{%
  \Index[#1]{Umgebung>#2=\texttt{#2}}%
  \Index[#1]{#2=\texttt{#2} (Umgebung)}}
\newcommand{\IndexOption}[2][textrm]{%
  \Index[#1]{Option>#2=\texttt{#2}}%
  \Index[#1]{#2=\texttt{#2} (Option)}}
\newcommand{\IndexPackage}[2][textrm]{%
  \Index[#1]{package>#2=\package{#2}}%
  \Index[#1]{#2=\package{#2} (package)}}

\usepackage{shortvrb}\MakeShortVerb{\;}

\def\VersionDate#1 #2\eol{#1}
\def\docdate{\expandafter\expandafter\expandafter\VersionDate%
             \csname ver@scrguide.tex\endcsname\eol}

\begin{document}
\title{Das \script{KOMA-Script} Paket}
\uppertitleback{Haftungsausschlu"s:\\Es wird keinerlei Haftung
                "ubernommen f"ur irgendwelche Sch"aden, die aus
                der Benutzung der Programme des hier beschriebenen
                Paketes folgen.}
\author{Frank Neukam\and Markus Kohm}
\date{\docdate}
\maketitle
\tableofcontents

\chapter{Allgemeines}

\section{Einleitung}

Urspr"unglich erstellt wurde das \script{Script}-Paket von Frank Neukam f"ur
\LaTeX~2.09. Ziel war damals ein Style f"ur die Erstellung eines
Vorlesungs-Skripts.

Zur selben Zeit bekam er Jan Tschicholds Buch "uber Typographie
\cite{JanTschichold} in die Hand. Damit stand f"ur Frank fest, da"s es an der
Zeit war, endlich ein paar Styles zu erstellen, die auch die europ"aischen
Regeln der Typographie und Papierformate ber"ucksichtigen.

Version~1.0 seiner Document-Style-Famile \script{Script} ver"offentlichte
er am 6.~Juni~1992 per ftp. Die Resonanz darauf war enorm.

Irgendwann zwischen Ende 1992 und Anfang 1993 erreichte diese Familie auch
meinen Rechner. Nachdem ich bereits vorher mit verschiedenen Document- und
Option-Styles experimentiert hatte, stand f"ur mich sofort fest, da"s diese
Familie ab sofort als Grundlage f"ur alle meine weiteren T"atigkeiten dienen
sollte.

Da ich allerdings im Gegensatz zu Frank Neukam nicht das Format DIN A4 bzw.
ISO A4 sondern A5 bevorzugte, dauerte es nicht lange, bis ich seine Familie
um eine variable Seitengr"o"senoption erweitert hatte.

Es folgten andere Erweiterungen und Erg"anzungen. Ich selbst erstellte auch
einen Document-Style f"ur eine Literaturgruppe.

Im Dezember 1993, als die Versionsvielfalt um sein Paket gerade in ein Chaos
auszubrechen drohte, brachte Frank Neukam die Version~2.0 heraus.

Wie jeder wei"s, folgte kurz darauf in Punkto \LaTeX\ ein Quantensprung. Die
Rufe nach einer neuen, angepa"sten Version wurden laut. Kurz darauf war der
erste schnelle Hack in Umlauf, der \script{Script~2.0} als
\script{Script~2.0e} f"ur \LaTeXe\ verf"ugbar machte.

Nun bin ich ein ewiger -- wenn auch sehr chaotischer -- Perfektionist,
der mit solchen Notl"osungen nie ganz zufrieden ist. Ich wollte eine L"osung,
die sowohl m"oglichst konform zu \script{Script~2.0} als auch zu \LaTeXe\
ist. Also machte ich mich an die Arbeit.

Die erste Version des Pakets war am 7.~Juli~1994 fertig. Diese Version
schickte ich unverz"uglich an Frank Neukam, um sein OK oder "Anderungsvorschl"age
zu bekommen. Unter allen Umst"anden wollte ich ein neues Versionschaos
vermeiden. Inzwischen hatte ich auch schonmal Kontakt zu Frank, der
\script{KOMA-Script} dabei abgesegnet hat.

Jedenfalls sah ich mich gezwungen, meine Version unter anderem Namen und
-- aufgrund der vielen Nachfragen -- m"oglichst rasch zu ver"offentlichen.
Daraufhin jagte eine Korrektur die n"achste.

Von Anfang an hatte ich den Ehrgeiz gehabt, ebenfalls ein vollst"andiges Paket
und wenn irgend m"oglich mit Hilfe von \package{doc/docstrip} zu erstellen.
Nachdem Axel Kielhorn Anfang Dezember 1994 die bisher vermi"ste Letter-Class
beigesteuert hatte, machte ich mich also an den letzten Schritt, der hiermit
vollendet sein sollte.

Weite Teile dieser Anleitung sind direkt Frank Neukams Anleitung zu
\script{Script~2.0}\Index{Script 2.0} entnommen.

Bis auf weiteres erkl"are ich mich f"ur \script{KOMA-Script} verantwortlich.
Inzwischen stecken einige hundert Stunden Arbeit in dem gesamten Paket.
Dennoch ist es noch lange nicht perfekt oder auch nur vollkommen fehlerfrei.
Alle Fehlermeldungen und Verbesserungs- sowie Erweiterungsvorschl"age k"onnen
entweder an meine \mbox{e-mail}-Adresse, in der news-group de.comp.tex oder an
meine Postanschrift gerichtet werden:

\begin{labeling}[:]{{\sfb Gelbe Post}}
\item[\sfb MausNet] Markus~Kohm~@~HD
\item[\sfb Gelbe Post] Markus~Kohm, Fichtenstra"se~63,
                       68535~Edingen-Neckarhausen
\end{labeling}

\section{Danksagung}

Ich m"ochte an dieser Stelle eigentlich nur einen explizit nennen. Ich danke
Frank Neukam f"ur seine Document-Style-Familie \script{Script}. Ohne die M"uhe,
die er sich einmal gemacht hat, g"abe es auch dieses Paket nicht.

Im "ubrigen danke ich allen, die bei der Entwanzung und Verbesserung
mitgeholfen haben. Dank geb"uhrt auch dem \LaTeX-Team und Dante -- ersterem
f"ur die notwendige Erneuerung, letzteren f"ur den CTAN-Server, "uber den ich
das Paket verbreiten darf.

Diese Anleitung wurde von Harald Sommerfeldt "uberarbeitet und um einige Teile
erg"anzt, dem ich hierf"ur ebenfalls herzlich danke.

Werner Lemberg darf ebenfalls nicht vergessen werden. Er hat weite Teile der
Anleitung ins Englische "ubersetzt.

\section{Rechtliches}

Siehe hierzu die Datei "`\texttt{LEGALDE.TXT}"' bzw. "`\texttt{LEGAL.TXT}"'.

\section{Installation}

Siehe hierzu die Datei "`\texttt{INSTALLD.TXT}"' bzw. "`\texttt{INSTALL.TXT}"'.

\section{Kompatibilit"at zu den Originalclasses}
\Index[(]{Script 2.0}

Alle Befehle, die in den zugrundeliegenden Standard-Classes vorhanden sind,
sind auch im \script{KOMA-Script}-Paket enthalten. Es wurden allerdings einige
weitere Befehle hinzugef"ugt. Einige Befehle verhalten sich auch etwas anders
als bei den Standard-Classes. Dennoch sollte es m"oglich sein, jedes Dokument,
das f"ur die Standard-Classes geschrieben wurde, auch mit den classes aus dem
\script{KOMA-Script}-Paket zu bearbeiten.

Gegen"uber den Document-Styles aus der \script{Script~2.0} Familie wurden nur
wenige "Anderungen im Befehlsumfang vorgenommen. Einige wenige Befehle, die
meiner Meinung nach eher Optionen sein sollten, wurden zu Optionen. Im
Kompatibilit"atsmodus f"ur \LaTeX~2.09 sind diese Befehle aber noch vorhanden.

Die Zuordnung zwischen Standard-Class und \script{KOMA-Script}-Class zeigt
Tabelle~\ref{TAB:Zuordnung}.
\Index[)]{Script 2.0}

\begin{table}
\begin{center}
\begin{tabular}{ccc}
  Standard-Class  & \script{Script 2.0}-Style & \script{KOMA-Script}-class
                                                                   \\\hline
  article         & script\_s  & scrartcl \\
  report          & script     & scrreprt \\
  book            & script     & scrbook  \\
  letter          & script\_l  & scrlettr \\
\end{tabular}
\caption{\label{TAB:Zuordnung}%
         Zuordnung von Standard-class bzw. \script{Script~2.0}-Style zu
         \script{KOMA-Script}-class.}
%\Index{Script 2.0}
\end{center}
\end{table}

\chapter{Das neue Layout}
\section{Die neuen Fonts}

\begin{decl};\sfb;\end{decl}%
\BeginIndex{Cmd}{sfb}%
"Uberall, wo in den Standardklassen \textbf{Extended Boldface} (;\bfseries;)
verwendet wurde (also in allen "Uberschriften, im Inhaltsverzeichnis und im
;description; Environment), wird jetzt standardm"a"sig ein neuer Font benutzt,
n"amlich \textsf{\textbf{Sans Serif Bold Extended}} (;\sffamily\bfseries;). Es
handelt sich dabei um eine serifenlose Schrift in halbfetter Ausf"uhrung, die
durch den Befehl ;\sfb; nach dem alten Auswahlverfahren selektiert wird. So
wie alle anderen Befehle nach dem alten Auswahlverfahren (;\rm;, ;\sl;, ;\sf;,
;\tt;, ;\it;, ;\bf;, ;\em;) sollte auch ;\sfb; eigentlich nicht mehr verwendet
werden.  Zu beachten ist lediglich, da"s bei den CM-Fonts als kleinste Gr"o"se
ein 10pt-Font zur Verf"ugung steht. Wird beispielsweise mittels ;\tiny\sfb;
eine kleinere Schrift gew"unscht, so wird automatisch die normale Extended
Boldface eingestellt.  \EndIndex{Cmd}{sfb}

\section{Der Satzspiegel}

\subsection{Grundlegendes}

Der Satzspiegel definiert die Gr"o"se des bedruckten Bereichs einer
Seite%
\footnote{Im folgenden auch "`Textbereich"' genannt. Kopfzeile, Fu"szeile
und Randnoten z"ahlen jedoch nicht dazu.}
und dessen Positionierung auf der Seite. Seine Breite ist abh"angig von der
gew"ahlten Schriftart und "~gr"o"se (optimale Lesbarkeit ist bei ca. 60--70
Zeichen pro Zeile gegeben). Bei seiner Konstruktion ist besonders auf die
Seitenproportionen (Verh"altnis von Breite zu H"ohe) sowie auf seinen Stand
auf der Seite zu achten.

Jan Tschichold hat in dem in der Einleitung angegebenen Buch
\cite{JanTschichold} eine Konstruktion vorgeschlagen, die einfach
durchf"uhrbar ist und bei jedem Seitenverh"altnis des gew"ahlten
Papierformats (also auch bei dem "`unklassischen"' ISO/DIN A4-Format mit dem
Seitenverh"altnis $1:\sqrt{2}$, von dem in allen
\script{KOMA-Script}-Haupt-classes normalerweise ausgegangen wird) sehr
ansprechende Ergebnisse liefert. Dies liegt wohl in der Hauptsache daran,
da"s hier der Satzspiegel die gleichen Seitenverh"altnisse wie die zu
bedruckende Seite selbst aufweist. Auch die R"ander stehen in einer sehr
einfachen Relation zueinander (innerer zu "au"serer bzw. oberer zu unterer
Rand verhalten sich wie 1:2, bei einseitigem Druck, also ohne die
;twoside;-Option, sind innerer und "au"serer Rand gleich gro"s).

\subsection{Konstruktion}

Die Konstruktion basiert auf einer Einteilung der Breite und H"ohe
der Seite in $n$ gleiche Teile. Das Ergebnis ist je eine L"angenangabe f"ur
die Horizontale -- im folgenden mit \HLE{} (horizontale L"angeneinheit)
abgek"urzt -- und die Vertikale (\VLE).
%
\begin{Beispiel}
  F"ur eine DIN A4-Seite (\(210\unit{mm} \cdot 297\unit{mm}\)) ergibt sich bei
  Zehnteilung der Seite (\(n=10\)) f"ur die horizontale L"angeneinheit \(\HLE
  = 210\unit{mm} / 10 = 21\unit{mm}\) und f"ur die vertikale L"angeneinheit
  \(\VLE = 297\unit{mm} / 10 = 29{,}7\unit{mm}\).
\end{Beispiel}
%
Nun wird bei doppelseitigem Druck einfach der innere Rand%
\footnote{Es ist hier der effektiv sichtbare Rand gemeint, nicht die odd-
  bzw. evensidemargin-Einstellung. Diese Gr"o"sen werden intern so errechnet,
  da"s eben genau der gew"unschte Rand sichtbar ist.}
auf eine Breite von \(1\unit{\HLE}\) und der "au"sere Rand auf
\(2\unit{\HLE}\) gesetzt. Soll einseitig gedruckt werden, so wird sowohl der
innere als auch der "au"sere Rand auf \(1{,}5\unit{\HLE}\) eingestellt. Analog
dazu wird ein oberer Rand von \(1\unit{\VLE}\) und ein unterer Rand von
\(2\unit{\VLE}\) freigelassen. F"ur den Textbereich bleibt so eine Fl"ache von
\((n-3)\unit{\HLE}\) Breite mal \((n-3)\unit{\VLE}\) H"ohe. Randbemerkungen
("`marginal notes"') stehen im "au"seren Rand und sind auf eine Breite von
\(1{,}5\unit{\HLE}\) (bei Verwendung der ;twoside;-Option) bzw.
\(1\unit{\HLE}\) (sonst) begrenzt.
%
\begin{Beispiel}
  Bei Sechsteilung der Seite (\(n=6\)) sind der linke und rechte Rand zusammen
  \(3\unit{\HLE}\) und der Textbereich ebenfalls \(6-3=3\unit{\HLE}\) breit.
  Das gleiche gilt f"ur die vertikalen Gr"o"sen. Damit ist bei einer
  Sechsteilung der Seite der Textbereich genau halb so breit und hoch wie die
  gesamte Seite.
\end{Beispiel}
%
Die \TeX-Forderung, da"s die Textbereichsbreite
(;\textwidth;)\IndexCmd{textwidth} ein Vielfaches der Zeichenbreite der
\texttt{Typewriter}-Schrift sein soll, wird durch die beschriebene exakte
Konstruktion nicht erf"ullt.  Sie wird allerdings selbst von den
Original-Styles nicht eingehalten und ist nur bei komplett in
\texttt{Typewriter}-Schrift geschriebenen Zeilen von Belang. In
Abschnitt~\ref{AREASET} wird eine M"oglichkeit aufgezeigt, wie beispielsweise
f"ur Programmlistings der Satzspiegel doch noch der ;\tt;-Schrift angepa"st
werden kann.

Die zweite Regel der Satzspiegelkonstruktion, da"s
;\textheight;\IndexCmd{textheight} (die H"ohe des Textbereiches) gleich
;\topskip;\IndexCmd{topskip} vermehrt um ein ganzzahliges Vielfaches des
Grundlinienabstandes (;\baselineskip;)\IndexCmd{baselineskip} sein soll, wurde
jedoch befolgt. Damit wird erreicht, da"s bei komplett mit Flie"stext
gef"ullten Seiten (also Seiten ohne "Uberschriften, Tabellen, \emph{displayed
  material} oder "ahnlichem) die Abs"atze nicht auseinandergezogen werden
m"ussen, um zu gew"ahrleisten, da"s die unterste Zeile mit dem unteren Rand
des Textbereichs zusammenf"allt. Der Satzspiegel kann dadurch maximal eine
knappe Zeile h"oher werden als dies bei einer exakten Konstruktion der Fall
gewesen w"are.

\subsection{Auswahl des gew"unschten Satzspiegels}

Man erkennt leicht, da"s f"ur kleine \var{n} auch der Textbereich im
Verh"altnis zur Seitengr"o"se klein ist, und f"ur sehr gro"se \var{n} der
Textbereich die Seite nahezu ausf"ullt (Randbemerkungen sind ausgehende von
ISO A4 bei \var{n} gr"o"ser als 12 mangels Platz kaum noch m"oglich und schon
gar nicht mehr sinnvoll umbrechbar). So l"a"st sich mit lediglich einer
Gr"o"se der Satzspiegel in weiten Grenzen ver"andern, und man hat au"serdem
noch die Garantie, da"s er immer optimal konstruiert ist.

Optional l"a"st sich noch ein Bindungs-Korrektur-Ma"s \BCOR\index{BCOR=\BCOR}
(f"ur binding-correction) angeben, so da"s bei der Satzspiegelkonstruktion
be"-r"uck"-sich"-tigt wird, da"s ein Teil der Seite durch Heftung oder Bindung
nicht sichtbar ist oder abgefr"ast wird. Die Seite wird dazu um \BCOR{}
schm"aler betrachtet, als sie wirklich ist, der Satzspiegel auf dieser Basis
berechnet, und anschlie"send der innere Rand um dieses St"uck vergr"o"sert.
%
\begin{Beispiel}
  Ist durch eine Klebebindung, bei der sich die Seiten nicht mehr bis ganz
  innen aufschlagen lassen, der sichtbare Bereich der Seite nicht mehr
  \(210\unit{mm}\) breit (ISO/DIN A4), sondern \(8\unit{mm}\) weniger, so gibt
  man f"ur \BCOR{} \(8\unit{mm}\) an (wie und wo steht weiter unten) und schon
  steht der Satzspiegel beispielsweise bei einseitigem Druck wieder exakt
  mittig auf dem sichtbaren Teil der Seite und hat auch die gleichen
  Proportionen wie dieser (\(202:297\) statt \(210:297\)).
\end{Beispiel}

\begin{decl};\typearea;\oarg{BCOR}\arg{DIV}\end{decl}%
\BeginIndex{Cmd}{typearea}%
Der Satzspiegel\index{Satzspiegel} wird durch Angabe des Befehls ;\typearea;
neu konstruiert.  Weil interne Gr"o"sen wie ;\oddsidemargin; u."a. ver"andert
werden, die nur in der Pr"aambel (dem Teil der Textquelldatei vor
;\begin{document};) modifiziert werden d"urfen, ist auch der
;\typearea;-Befehl nur in der Pr"aambel erlaubt.  Die Optionalangabe
\oarg{BCOR}\index{BCOR=\BCOR} stellt die gleichnamige Gr"o"se zur
Bindungs-Korrektur ein, w"ahrend \arg{DIV}\index{DIV=\DIV} die Rolle des
oben genannten Divisors \var{n} "ubernimmt. \oarg{BCOR} bedarf einer
Ma"seinheit, wobei alle bei \TeX\ erlaubten Einheiten m"oglich sind (pt, mm,
cm, in, \dots), \arg{DIV} hingegen mu"s eine ganze Zahl gr"o"ser als 3 sein.

Bei Verwendung einer der class \class{scrartcl}, \class{scrreprt} oder
\class{scrbook} wird \arg{DIV} nach Tabelle~\ref{DIV1} gew"ahlt (wobei keine
Bindungs-Korrektur vorgenommen wird) und der ;\typearea;-Befehl durch den
;\documentclass;-Befehl automatisch ausgef"uhrt. Dies kommt daher, da"s
die classes das package \package{typearea}\IndexPackage{typearea},
das diese Berechnungen durchf"uhrt, automatisch einliest.

\begin{table}
\begin{center}
\begin{tabular}{lccc}
Textfontgr"o"se: & 10pt & 11pt & 12pt \\
\emph{DIV}:      &   8  &  10  &  12  \\
\end{tabular}
\caption{\label{DIV1}\arg{DIV}-Voreinstellungen f"ur DIN/ISO-A4}
\end{center}
\end{table}

Als Anhaltspunkt f"ur die manuelle \arg{DIV}-Einstellung kann
Tabelle~\ref{DIV2} dienen. Dabei wurde \emph{BCOR} = 0pt und das Papierformat
;a4paper; sowie zweiseitiger Druck zugrundegelegt. Die Abstimmung der
Textbereichsh"ohe auf den (von der gew"ahlten Schriftgr"o"se abh"angigen)
Grundlinienabstand, die die Textbereichsh"ohe nochmals um maximal
\(14{,}5\unit{pt} \simeq 5{,}1\unit{mm}\) vergr"o"sern kann, wurde nicht
ber"ucksichtigt.

\label{DIVoptimal}
Will man einen m"oglichst guten Wert f"ur \arg{DIV}
w"ahlen,\index{Satzspiegel>automatisch} so kann man die Ermittlung auch direkt
\script{KOMA-Script} "uberlassen. Dazu verwendet man einfach den Wert~1.
Dieser Wert ergibt normalerweise keine sinnvolle Aufteilung, da ja bereits
drei Teile f"ur den Rand ben"otigt werden. Stattdessen berechnet
\script{KOMA-Script} dann einen passenden Wert. Dazu wird davon ausgegangen,
da"s eine optimale Lesbarkeit des Textes bei ca. 69~Zeichen pro Spalte gegeben
ist. Gleichzeitig wird daf"ur gesorgt, da"s eine minimale Randbreite nicht
unterschritten wird. Neben dem Wert~1 hat der Wert~0 ebenfalls noch
eine Sonderbedeutung. Bei 0 wird der voreingestellte Defaultwert f"ur die
Papier- und Schriftgr"o"se verwendet.\index{Satzspiegel>voreingestellt}
Existiert ein solcher nicht, so wird wie oben Wert berechnet. Dem Wert~3
kommt ebenfalls noch eine Sonderbedeutung zu. Siehe hierzu die Erl"auterungen
zu Option ;DIV; bzw. ;DIVclassic; (Seite \pageref{DIVclassic}). Der Wert~2 ist
f"ur zuk"unftige Verwendung reserviert.

\begin{table}
\begin{center}
\begin{tabular}{c|cc|cc}
        & \multicolumn{2}{c|}{Textbereich} & \multicolumn{2}{c}{R"ander}\\
\emph{DIV}& Breite [mm] & H"ohe [mm] & oben [mm] & innen [mm] \\\hline
6  & 105.00 & 148.50 & 49.50 & 35.00 \\
7  & 120.00 & 169.71 & 42.43 & 30.00 \\
8  & 131.25 & 185.63 & 37.13 & 26.25 \\
9  & 140.00 & 198.00 & 33.00 & 23.33 \\
10 & 147.00 & 207.90 & 29.70 & 21.00 \\
11 & 152.73 & 216.00 & 27.00 & 19.09 \\
12 & 157.50 & 222.75 & 24.75 & 17.50 \\
13 & 161.54 & 228.46 & 22.85 & 16.15 \\
14 & 165.00 & 233.36 & 21.21 & 15.00 \\
15 & 168.00 & 237.60 & 19.80 & 14.00 \\
\end{tabular}
\caption{Satzspiegelma"se in Abh"angigkeit von \emph{DIV} bei DIN/ISO~A4}
\label{DIV2}
\end{center}
\end{table}

\begin{decl};DIV;\m{Faktor}\\
            ;DIVcalc;\\
            ;DIVclassic;\\
            ;BCOR;\m{Korrektur}\end{decl}%
\BeginIndex{Option}{DIV}\BeginIndex{Option}{DIVcalc}\BeginIndex{Option}{DIVclassic}
\BeginIndex{Option}{BCOR}%
Die Satzspiegelparameter \m{DIV}\index{DIV=\DIV} und
\m{BCOR}\index{BCOR=\BCOR} k"onnen alternativ auch als Option an die classes
\class{scrartcl}, \class{scrreprt} und \class{scrbook} bzw.\ das package
\package{typearea} "ubergeben werden. Ein expliziter Aufruf von ;\typearea;
kann dann entfallen. F"ur \m{Faktor} bzw.\ \m{Korrektur} ist hierbei jeweils
das gew"unschte Ma"s direkt hinter der Option anzugeben.

Ein kleines Beispiel hierzu:
\begin{quote}\begin{small}%
\begin{verbatim}
  \documentclass[DIV14,BCOR0.5cm]{scrreprt}
\end{verbatim}%
\end{small}\end{quote}
      
Dar"uber hinaus ist noch die Option
;DIVcalc;\index{Satzspiegel>automatisch} m"oglich, mit Hilfe
derer daf"ur gesorgt wird, da"s an Stelle von Defaultwerten f"ur ;DIV;
berechnete Werte verwendet werden. ;DIVcalc; entspricht damit weitestgehend
;DIV1; (siehe Seite~\pageref{DIVoptimal}).

Desweiteren bietet die Option
\label{DIVclassic};DIVclassic;\index{Satzspiegel>klassisch} noch eine weitere
interessante M"oglichkeit. F"ur klassische Papierformate\index{Papierformat}
wird neben der oben beschriebenen Satzspiegelkonstruktion, die vom verwendeten
Zeichensatz bzw. der durchschnittlichen Breite und H"ohe desselben abh"angt,
noch eine weitere angeboten, die allein vom Papierformat abh"angig ist. Dabei
geht man wie schon zuvor bei dem Verh"altnis von Textbereich und Papierformat
davon aus, da"s die gr"o"ste Harmonie dann zu finden ist, wenn man dieselben
Gr"o"sen m"oglichst oft wiederfindet. Deshalb w"ahlt man f"ur die H"ohe des
Textbereichs die (sichtbare) Breite des Papiers. Die konkrete Konstruktion
dieses sp"atmittelalterlichen Buchseitenkanons kann beispielsweise. bei Jan
Tschichold nachgelesen werden.%
\footnote{Tats"achlich lesen offenbar immer mehr Anwender dieses Pakets nach,
  was bekannte Typographen zum Thema Satzspiegel geschrieben haben. Das
  f"uhrte in letzter Zeit zu Nachfragen, ob die im Paket gew"ahlte
  Satzspiegelkonstruktion etwas mit der \emph{Kreiskonstruktion} zu tun habe.
  Mich wiederum veranla"sten die Fragen, eben diese Konstruktion -- in
  leichter Abwandlung, da ein ganzzahliger \DIV-Wert gefunden werden sollte --
  ebenfalls anzubieten.}
Als Nachteil dieser Konstruktion mu"s betrachtet werden, da"s die
Schriftgr"o"se unber"ucksichtigt bleibt. Damit bleibt der Grundsatz, da"s eine
Zeilenl"ange von durchschnittlich 66 bis 72 Zeichen als angenehm empfunden
wird, unbeachtet bzw. der Verantwortung des Autors oder Setzers "uberlassen.
Da das \package{typearea}-package neuerdings vor gr"o"seren Abweichungen des
\DIV-Wertes bzw. der Zeilenl"ange vom Ideal warnt, kann man diese Option
aber durchaus einmal ausprobieren.

Wird ein ung"unstiger \DIV-Wert gew"ahlt oder ermittelt, der bei der
Zeilenl"ange zu einer Abweichung von mehr als 15\% vom Idealbereich f"uhrt, so
gibt \package{typearea} seit Version 2.4n eine Warnung aus. Ebenfalls wird vor
einem \DIV-Wert kleiner sechs gewarnt, da dabei der Textbereich in Breite und
H"ohe jeweils weniger als die H"alfte der Seite belegt. Diese Warnung bedeutet
nicht zwangsl"aufig, da"s ein Fehler vorliegt. So wird beispielsweise
\file{scrguide.dtx} selbst diese Warnung erzeugen. Dies liegt jedoch daran,
da"s es sich dabei um ein Dokument mit grunds"atzlich anderem Satzspiegel
handelt. Bei normalen Dokumenten sollte man die Warnung ernstnehmen und die
dabei gegebenen Ratschl"age befolgen.

Vergleicht man jedoch die Ergebnisse von ;DIVcalc;, ;DIVclassic; und den
voreingestellten Werten, so wird man feststellen, da"s die in der
\file{log}-Datei ausgegebene Abweichung vom Idealwert bei unterschiedlichem
\emph{DIV} gleich -- auch gleich Null -- sein kann. Daraus mu"s man
schlie"sen, da"s nach den gegebenen Kriterien verschiedene Werte als ideal
betrachtet werden k"onnen. Ursache daf"ur ist, da"s die Angabe der idealen
Zeilenbreite\index{Zeilenl"ange}\index{Satzspiegel} nicht allein einen Wert
(beispielsweise den Durchschnittwert 69) sondern einen ganzen Bereich (66 bis
72 Zeichen pro Zeile) zul"a"st.
\EndIndex{Option}{DIV}\EndIndex{Option}{DIVcalc}\EndIndex{Option}{DIVclassic}
\EndIndex{Option}{BCOR}\EndIndex{Cmd}{typearea}

\subsection{Ungew"ohnliche Satzspiegel\label{AREASET}}

\begin{decl};\areaset;\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}\end{decl}%
\BeginIndex{Cmd}{areaset}%
Wird ein Satzspiegel\index{Satzspiegel>manuell} gew"unscht, der ungew"ohnliche
Proportionen hat oder zwar wie oben angegeben konstruiert werden soll, jedoch
\emph{exakt} die in der vorstehenden Tabelle aufgef"uhrten Ma"se (ohne die
Korrektur auf Vielfache des Grundlinienabstandes) haben soll, so gibt es noch
alternativ zu ;\typearea;\IndexCmd{typearea} den Befehl ;\areaset;, der die
Textbereichsbreite auf \arg{WIDTH} und die Textbereichsh"ohe auf \arg{HEIGHT}
setzt (jeweils ohne jede nachtr"agliche Korrektur) und die Rand- und
Randnoten-Einstellungen so vornimmt, da"s der Textbereich sinnvoll
positioniert wird ("ahnlich wie beim ;\typearea;-Befehl). Auch die Wirkung der
optionalen \oarg{BCOR}-Angabe ist wie schon oben beschrieben.

Damit ist es nun sehr einfach m"oglich, beispielsweise genau quadratische oder
sehr schmale hohe Satzspiegel zu verwirklichen. Wenn die automatische
Positionierung nicht gef"allt, kann diese durch die entsprechenden Befehle
nat"urlich auch noch nachtr"aglich ver"andert werden. Weiterhin ist es hiermit
m"oglich, die Satzspiegelbreite auf die Breite eines vorgegebenen Textes
abzustimmen.

Als Beispiel soll, wie weiter oben angek"undigt, der Textbereich der Breite
von 30 Zeichen in \texttt{Typewriter}-Schrift angepa"st werden. Eine
Befehlsfolge, die dieses durchf"uhrt, w"urde etwa lauten:
\begin{quote}\begin{small}%
\begin{verbatim}
\newlength{\thirtytt}
\settowidth{\thirtytt}{\texttt{123456789012345678901234567890}}
\areaset{\thirtytt}{20cm} % Textbereichsh"ohe: 20cm
\end{verbatim}%
\end{small}\end{quote}
%
Auch dieser Befehl darf selbstverst"andlich nur in der Pr"aambel auftreten.
\EndIndex{Cmd}{areaset}

\subsection{Ber"ucksichtigung von Kopf- und/oder Fu"szeile}

Manchmal ist es sinnvoll, da"s bei der Konstruktion des Satzspiegels auch die
Kopf-\index{Kopfzeile} und/oder Fu"szeile\index{Fu"szeile} als zum
Textbereich\index{Satzspiegel}\index{Textbereich} dazugeh"orig betrachtet
wird. Dies ist beispielsweise der Fall, wenn der
Kolumnentitel\index{Kolumnentitel} wie in dieser Dokumentation durch eine
horizontale Linie vom eigentlichen Text getrennt ist und dadurch optisch
n"aher an diesen heranr"uckt.

\begin{decl};headinclude;\\;headexclude;\end{decl}%
\BeginIndex{Option}{headinclude}\BeginIndex{Option}{headexclude}%
Bei Angabe der package-Option ;headinclude; gilt bei einer nachfolgenden
Satzspiegelberechnung mit Hilfe des ;\typearea;-\IndexCmd{typearea} oder
;\areaset;-Befehls\IndexCmd{areaset} alles, was oben "uber den Textbereich
gesagt wurde, f"ur den Textbereich plus Kopfzeile. Nat"urlich existiert auch
eine gegenteilige Option ;headexclude;.
\EndIndex{Option}{headinclude}\EndIndex{Option}{headexclude}

\begin{decl};footinclude;\\;footexclude;\end{decl}%
\BeginIndex{Option}{footinclude}\BeginIndex{Option}{footexclude}
F"ur Fu"szeilen gibt es die analogen Optionen ;footinclude; und
;footexclude;.
\EndIndex{Option}{footinclude}\EndIndex{Option}{footexclude}

Die Optionen k"onnen entweder direkt bei ;\documentclass; angegeben werden,
oder auch bei ;\usepackage;, wenn das \package{typearea}-package
\IndexPackage{typearea} explizit eingeladen wird.

\Index{Script 2.0}%
Dadurch, da"s bei \script{KOMA-Script} dieses Verhalten im Gegensatz zu
\script{Script~2.0} nicht mehr mit zus"atzlichen Pr"aambel-Befehlen
;\headincludeon;\IndexCmd{headincludeon} und
;\headincludeoff;\IndexCmd{headincludeoff} bzw.\ 
;\footincludeon;\IndexCmd{footincludeon} und
;\footincludeoff;\IndexCmd{footincludeoff}, sondern mit Optionen geschaltet
wird, wird kein expliziter ;\typearea;-Befehl \IndexCmd{typearea} mehr
ben"otigt. Seit Version 2.2a von \script{KOMA-Script} (Versiondatum
[1995/01/25]) k"onnen auch ;DIV;\IndexOption{DIV} und ;BCOR;\IndexOption{BCOR}
per Option angegeben werden. Damit ist der explizite ;\typearea;-Befehl kaum
noch notwendig.

\subsection{Andere Papierformate}

F"ur die Einstellung des Papierformats\index{Papierformat} werden bei
\script{KOMA-Script} nicht mehr die bei \script{Script~2.0}\Index{Script 2.0}
"ublichen Option ;DINA3;, ;DINA4;, ;DINA5;, ;DINA6; und ;DINA3l;, ;DINA4l;,
;DINA5l;, ;DINA6l;, sondern die bei den Standard-classes "ublichen Optionen
;a4paper;, ;a5paper;, ;letterpaper;, ;landscape;, \dots\ verwendet.  Im
Gegensatz zu den gleichnamigen Optionen der Standard-classes werden allerdings
keine starren Satzseitenspiegel daraus berechnet, sondern mit Hilfe des
;typearea;-packages Satzseitenspiegel nach den oben genannten Regeln.

\begin{decl};a0paper;\\
  ;b0paper;\\
  ;c0paper;\\
  ;d0paper;\\
  ;\isopaper;\oarg{Basis}\arg{Halbierwert}\end{decl}%
\BeginIndex{Option}{a0paper}\BeginIndex{Option}{b0paper}
\BeginIndex{Option}{c0paper}\BeginIndex{Option}{d0paper}
\BeginIndex{Cmd}{isopaper}%
Als Besonderheit werden sind im \package{typearea}
package\IndexPackage{typearea} nicht nur die die DIN/ISO-Formate A4 und A5
definiert, sondern es ist m"oglich alle A-, B-, C- und D-Formate ab den
0-Gr"o"sen (A0, B0, C0 und D0) zu w"ahlen. Dies ist sowohl per Option beim
Laden von \package{typearea} per ;\usepackage; m"oglich, als auch beim Laden
einer der \script{KOMA-Script}-Klassen \class{scrbook}, \class{scrreprt} oder
\class{scrartcl}. Die Optionen hei"sen wie gewohnt ;a0paper;, ;a1paper; usw.
bzw. ;b0paper;, ;c0paper;, ;d0paper; usw. Dar"uberhinaus kann auch an anderer
Stelle (der Pr"aambel) das Papierformat\index{Papierformat} per
;\isopaper;-Befehl definiert werden. F"ur das optionale Argument \m{Basis} ist
jeweils der Kennbuchstaben des Formats als Kleinbuchstabe anzugeben.
\begin{labeling}[:]{\texttt{a}}
\item[\texttt{a}] DIN/ISO-A-Format (\(\textrm{A0} = 841\unit{mm} \cdot
                                    1189\unit{mm}\))
\item[\texttt{b}] DIN/ISO-B-Format (\(\textrm{B0} = 1000\unit{mm} \cdot
                                    1414\unit{mm}\))
\item[\texttt{c}] DIN/ISO-C-Format (\(\textrm{C0} = 917\unit{mm} \cdot
                                    1297\unit{mm}\))
\item[\texttt{d}] DIN/ISO-D-Format (\(\textrm{D0} = 771\mathrm{mm} \cdot
                                    1090\unit{mm}\))
\end{labeling}
Der Parameter \m{Halbierwert} gibt demgegen"uber den "`Ableitungsfaktor"' an.
F"ur ISO-C6 w"are also beispielsweise einfach ;\isopaper[c]{6}; zu
schreiben. Bei Verzicht auf den optionalen Parameter wird das A-Format
gew"ahlt.%
\EndIndex{Option}{a0paper}\EndIndex{Option}{b0paper}
\EndIndex{Option}{c0paper}\EndIndex{Option}{d0paper}
\EndIndex{Cmd}{isopaper}

Sollen nun andere, nicht im \package{typearea} package\IndexPackage{typearea}
enthaltene Papierformate verwendet werden, so mu"s daf"ur auch kein eigenes
package mehr erstellt werden. F"ur kleine, einmalige "Anderungen kann das
Papierformat explizit "uber die L"angenvariablen
;\paperwidth;\IndexCmd{paperwidth} und ;\paperheight;\IndexCmd{paperheight}
angegeben werden. In diesem Fall mu"s der Satzseitenspiegel anschlie"send mit
dem ;\typearea;-Befehl\IndexCmd{typearea} oder dem
;\areaset;-Befehl\IndexCmd{areaset} berechnet werden. Es ist aber auch
m"oglich weitere Optionen in eine Datei
\file{typearea.cfg}\index{typeareacfg=\file{typearea.cfg}} zu schreiben.  Eine
solche Option kann dann wie die Standardoptionen verwendet werden.

\begin{decl};\SetDIVList;\arg{list}\end{decl}%
\BeginIndex{Cmd}{SetDIVList}%
Au"ser der Seitengr"o"se kann f"ur jede Option oder auch generell ein von der
Schriftgr"o"se abh"angiger
\DIV-Faktor\index{DIV=\DIV}\index{Satzspiegel>voreingestellt} definiert
werden. Dazu definiert man mit dem Befehl ;\SetDIVList; eine entsprechende
Liste. Die Liste besteht aus einer Reihe von Werten in geschweiften Klammern,
die einfach aneinandergereiht wird. Der Wert ganz links ist f"ur \mbox{10pt-},
der n"achste Wert f"ur \mbox{11\unit{pt}-}, der dritte f"ur
12\unit{pt}-Schrift usw. Wird keine Liste mit ;\SetDIVList; gesetzt, so
entspricht dies ;\SetDIVList{{8}{10}{12}};. Ist f"ur eine Schriftgr"o"se kein
Standardwert gesetzt, so wird statt dessen 10 genommen.
%
\begin{labeling}{\textsf{\textbf{Beispiel 2:\ }}}
\item[\textsf{\textbf{Beispiel 1:\ }}] Ein Gedichtb"andchen soll im ISO/DIN
  A5-Format gedruckt werden. Dazu gen"ugt nun die Angabe von ;a5paper; als
  Option, beispielsweise:
  \begin{quote}\begin{small}
      ;\documentclass[a5paper]{scrreprt};
  \end{small}\end{quote}
\item[\textsf{\textbf{Beispiel 2:\ }}] Der Textbereich eines Zeitplanes im
  ISO/DIN A4 \emph{Quer}format soll exakt \(270\unit{mm}\) mal
  \(190\unit{mm}\) gro"s sein. Dies wird erreicht durch die Angabe von:
  \begin{quote}\begin{small}
      ;\documentclass[a4paper]{scrreprt};\\
      ;\areaset{270mm}{190mm};
    \end{small}\end{quote}
  und einer (systemabh"angigen) Anweisung an den Druckertreiber, im Querformat
  zu drucken.
\item[\textsf{\textbf{Beispiel 3:\ }}] Beim Gedichtb"andchen aus Beispiel~1
  soll zus"atzlich eine Abfr"asung von \(1{,}5\unit{mm}\) ber"ucksichtigt
  werden. Dazu mu"s der Satzspiegel nochmal neu konstruiert werden,
  beispielsweise mit:
  \begin{quote}\begin{small}
      ;\documentclass[a5paper,DIV12,BCOR1.5mm]{scrreprt};
    \end{small}\end{quote}
\item[\textsf{\textbf{Beispiel 4:\ }}] Es soll auf Endlospapier mit den Ma"sen
  \(8\frac{1}{4}\unit{inch}\) mal \(12\unit{inch}\) gedruckt werden, und auch
  dort soll der Satzspiegel ordentlich aussehen. Mit den Befehlen:
  \begin{quote}\begin{small}
      ;\paperwidth 8.25in;\\
      ;\paperheight 12in;\\
      ;\typearea{10};
    \end{small}\end{quote}
  wird dies erreicht. Druckt man h"aufiger auf Endlospapier, so empfiehlt es
  sich, diese Anweisungen in eine eigene Option in
  \file{typearea.cfg}\index{typeareacfg=\file{typearea.cfg}} zu schreiben, die
  man dann einfach beispielsweise mit:
  \begin{quote}\begin{small}
      ;\documentclass[endlos]{scrreprt};
    \end{small}\end{quote}
  verwenden kann. Soll zus"atzlich das Argument \DIV{} des
  ;\typearea;-Befehls\IndexCmd{typearea} abh"angig von der gew"ahlten
  Schriftgr"o"se sein, so f"ugt man zus"atzlich noch einen
  ;\SetDIVList;-Befehl zu. Der Eintrag in \file{typearea.cfg} k"onnte dann so
  aussehen:
  \begin{quote}\begin{small}
      ;\DeclareOption{endlos};\\
      ;  {\setlength\paperheight {8.25in}%;\\
      ;   \setlength\paperwidth  {12in}%;\\
      ; \SetDIVList{{8}{10}{12}}};
    \end{small}\end{quote}
\end{labeling}
\EndIndex{Cmd}{SetDIVList}

\subsection{Einbindung der Befehle zur Satzspiegeleinstellung}

Im Gegensatz zu den Document-Styles aus der
\script{Script~2.0}-Familie\Index{Script 2.0} ist die
Satzseitenspiegelberechnung\index{Satzspiegel} in den classes des
\script{KOMA-Script}-Pakets nicht mehr direkt enthalten. Statt dessen wird von
den classes einfach das \package{typearea}-package\IndexPackage{typearea}
angefordert, in dem diese Berechnungen stattfinden. Die Schriftgr"o"se wird
aus den entsprechenden Optionendateien der Standard-classes gelesen. Da die
letter-class \class{scrlettr}\index{Briefe} einen besonderen und vor allem
festen Satzspiegel besitzt, wurde bei ihm auf die Einbindung des
;typearea;-packages verzichtet. Es sollte dann auch \emph{keinesfalls} mit
;\usepackage{typearea}; nachgeladen werden.

Hingegen sollte es problemlos sein, das ;typearea;-package auch zusammen mit
anderen classes, beispielsweise den Standard-classes, zu verwenden, die von
keinem festen Layout ausgehen. Damit wird die Satzseitenspiegelberechnung auch
f"ur jene classes verf"ugbar.

Im Kompatibilit"atsmodus\index{Kompatibilit"atsmodus} sind die Befehle
;\headincludeon;\IndexCmd{headincludeon} und
;\headincludeoff;\IndexCmd{headincludeoff} bzw.
;\footincludeon;\IndexCmd{footincludeon} und
;\footincludeoff;\IndexCmd{footincludeoff} weiterhin vorhanden.

\section{Sonstige "Anderungen}

\subsection{Default-Fontgr"o"se}

Wird in der Definition der Document-class nichts anderes angegeben, so wird
standardm"a"sig als Textfont der 11\unit{pt}-Font\index{Schriftgr"o"se}
verwendet (wie beispielsweise. in dieser Dokumentation). Eine Ausnahme hiervon
bildet wieder die
\class{scrlettr}-class\index{Briefe}\index{scrlettr=\class{scrlettr}}, bei der
ohne Optionsangabe die 12\unit{pt}-Schrift benutzt wird.

Bei den Standard-classes werden hingegen normalerweise 10\unit{pt}-Fonts
verwendet.

\subsection{Kapitel"uberschriften und Numerierung\label{KAPITELUEBERSCHRIFT}}

Kapitel"uberschriften\index{Gliederung}\index{Kapitel}\index{"Uberschriften}
in den classes \class{scrbook} und \class{scrreprt} werden ohne die bei
\class{book} und \class{report} "ublichen eigenen Zeilen f"ur das Wort
"`Kapitel"' und die Kapitelnummer\index{Numerierung} gesetzt, sondern wie bei
"Uberschriften niedrigerer Priorit"at mit der Kapitelnummer direkt vor der
eigentlichen "Uberschrift. Da hierdurch ein Anhang leicht f"ur ein normales
Kapitel gehalten werden kann (er unterscheidet sich von diesen ja nur durch
die Art der Numerierung), ist es empfehlenswert, ihn mit ;\part*{Anhang};
deutlich vom Rest des Dokumentes abzusetzen.

\begin{decl};bigheadings;\\;normalheadings;\\;smallheadings;\end{decl}%
\BeginIndex{Option}{bigheadings}%
\BeginIndex{Option}{normalheadings}%
\BeginIndex{Option}{smallheadings}%
Die "Uberschriften\index{"Uberschriften}\index{Gliederung} werden sowohl bei
den Standard-Classes als auch bei \script{KOMA-Script} normalerweise recht
gro"s gesetzt. Es gibt offenbar viele Leute, denen das nicht gef"allt.
Insbesondere bei kleinen Papiergr"o"sen sind die gro"sen "Uberschriften eher
st"orend. Deshalb wurden die drei Optionen ;bigheadings;, ;normalheadings; und
;smallheadings; implementiert. "Uber diese ist es m"oglich drei verschiedene
Gr"o"senabstufungen der "Uberschriften einzustellen.  Voreingestellt ist
;bigheadings;, wobei auch hierbei die Kapitel"uberschrift (nur bei
\class{scrbook} und \class{scrreprt}) zus"atzlich um eine Stufe gegen"uber
Version 2.2g (Versionsdatum [1996/01/14]) verringert wurde (siehe auch
Abschnitt \ref{SECTFONT} auf Seite \pageref{SECTFONT}).
\EndIndex{Option}{smallheadings} \EndIndex{Option}{normalheadings}
\EndIndex{Option}{bigheadings}

\begin{decl};\raggedsection;\end{decl}%
\BeginIndex{Cmd}{raggedsection}%
Seit Version 2.2h werden alle "Uberschriften\index{"Uberschriften} ohne
Trennung gesetzt. Verantwortlich ist daf"ur der Befehl ;\raggedsection;. Will
man Trennungen in "Uberschriften erlauben, so kann man dies beispielsweise mit
dem Befehl
\begin{quote}%
\begin{verbatim}
\let\raggedsection\relax
\end{verbatim}%
\end{quote}
erreichen. Normalerweise ist ;\raggedsection; mit
;\raggedright;\IndexCmd{raggedright} identisch.%
\EndIndex{Cmd}{raggedsection}

\begin{decl};pointednumbers;\\;pointlessnumbers;\end{decl}%
\BeginIndex{Option}{pointednumbers}
\BeginIndex{Option}{pointlessnumbers}%
Im Gegensatz zu fr"uheren Versionen von \script{KOMA-Script} und auch
\script{Script~2.0}\Index{Script 2.0} steht nach einfachen
Abschnittsnummern\index{Gliederung}\index{Numerierung} ab der Version 2.2c
(Versionsdatum [1995/05/25]) nun kein Punkt mehr (einheitlich: 1, 1.1, 1.2.3
usw., siehe \cite[Seite~18, Regel~5]{Duden}), wenn ausschlie"slich mit
arabischen Ziffern numeriert wird. Werden bei der Numerierung auch r"omische
Zahlen bzw. Buchstaben verwendet, so steht nach allen Abschnittsnummern ein
Punkt (einheitlich: I., I.1., A., A.1.1. usw. aber auch 1., 1.1., 1.2.3. usw.,
siehe \cite[Seite~18, Regel~6]{Duden}). Dies gilt selbstverst"andlich auch
f"ur Eintr"age in Kolumnentitel\index{Kolumnentitel} und
Inhaltsverzeichnis\index{Inhaltsverzeichnis}.

"Uber die Optionen ;pointednumbers; und ;pointlessnumbers; kann jedoch die
Numerierung nach Duden\index{Duden} abgeschaltet werden. Statt dessen wird
dann bei ;pointednumbers; immer und bei ;pointlessnumbers; nie ein
abschlie"sender Punkt gesetzt. Die Optionen heben sich \emph{nicht}
gegenseitig auf!%
\EndIndex{Option}{pointlessnumbers}\EndIndex{Option}{pointednumbers}

Zu beachten ist noch, da"s die korrekte Verwendung des Punktes beim ersten
\LaTeX-Lauf noch nicht sichergestellt werden kann.

\subsection{Kolumnentitel und Pagina}

Die \class{scrbook}-class benutzt als Default den Pagestyle ;headings;, der in
den Kopfteil der Seiten das aktuelle Kapitel (linke Seiten) bzw.  den
aktuellen Abschnitt (rechte Seiten) schreibt (sog. lebender
Kolumnentitel\index{Kolumnentitel}\index{Kopfzeile} bzw. running head).
Weiterhin wird eine Seitennummer in den Fu"sbereich\index{Fu"szeile} der Seite
gesetzt (sogenannte Pagina\index{Pagina}). \class{scrreprt} und
\class{scrartcl} stellen standardm"a"sig ;plain; als
Pagestyle\index{Seitenstil} ein, jedoch sind nat"urlich auch hier ;headings;,
;myheadings; und ;empty; verf"ugbar. Beim Brief\index{Briefe} stehen teilweise
andere Seitenstile zur Auswahl, die in Abschnitt~\ref{PAGESTYLES} behandelt
werden.

Normalerweise werden Kolumnentitel und Pagina zentriert. Wurde jedoch die
Option ;twoside; angegeben, so wird beides an den "au"seren Rand der
Seite gesetzt. Bei \class{scrbook} ist ;twoside; standardm"a"sig gesetzt.

Die Definitionen der Pagestyles ;headings;, ;myheadings; und ;plain;, sowie
die Befehle zum automatischen Setzen der Kolumnentitel durch Befehle wie
;\section; oder ;\tableofcontents; wurden dahingehend ver"andert, da"s die
Kolumnentitel mit normaler Gro"s-Klein-Schreibung (vorher alles gro"s),
standardm"a"sig in \textsl{slanted} (vorher \textit{Italics}) und bei Kapiteln
ohne das Wort "`CHAPTER"' bzw. "`KAPITEL"' gesetzt werden. Die Seitennummer
wurde generell aus der Kopfzeile\index{Kopfzeile} in die sonst leere
Fu"szeile\index{Fu"szeile} verbannt.

Diese Ma"snahmen haben neben der besseren Lesbarkeit ("`Inhaltsverzeichnis"'
liest sich viel angenehmer als "`INHALTSVERZEICHNIS"') vor allem den Vorteil,
da"s nun auch wesentlich l"angere
Abschnitts-"Uberschriften\index{"Uberschriften}\index{Kolumnentitel} in die
Kopfzeile\index{Kopfzeile} passen ohne abgeschnitten zu werden.

\begin{decl};headsepline;\\;headnosepline;\\
            ;footsepline;\\;footnosepline;\end{decl}%
\BeginIndex{Option}{headsepline}\BeginIndex{Option}{headnosepline}
\BeginIndex{Option}{footsepline}\BeginIndex{Option}{footnosepline}%
Wird unter den Kolumnentiteln eine horizontale Linie gew"unscht, so ist auch
dies jetzt ohne Probleme m"oglich\label{HEADSEPLINE}: sie l"a"st sich einfach
mit der class-Option ;headsepline; an- bzw. durch ;headnosepline; ausschalten.
Das funktioniert nat"urlich nur bei den Pagestyles ;headings; und
;myheadings;, da ja alle anderen keinen Kolumnentitel\index{Kolumnentitel}
generieren. Durch diese Optionen wird auch ;headinclude; automatisch sinnvoll
miteingestellt, das hei"st ;headinclude; bei ;headsepline; und ;headexclude;
bei ;headnosepline;.  Default ist bei \class{scrbook}, \class{scrreprt} und
\class{scrartcl} (bei \class{scrlettr} ist wieder alles anders, siehe
Abschnitt~\ref{PAGESTYLES}) ;headnosepline;.

Analog gibt es auch die Optionen ;footinclude;, ;footexclude; f"ur die
Fu"szeilen, wenn man mit den Optionen ;footsepline; bzw. ;footnosepline;
eine Trennlinie "uber der Fu"szeile ein- bzw. ausschaltet.

\Index{Script 2.0}
Die alten Befehle ;\headseplineon; und ;\headseplineoff; bzw. ;\footseplineon;
und ;\footseplineoff; sind im Kompatibilit"atsmodus weiterhin verf"ugbar.
Da auch im Seitenstil ;plain; eine Seitennummer in die Fu"szeile geschrieben
wird, erscheint die Trennlinie auch dort.

\begin{Beispiel}
  In der vorliegenden Dokumentation wurde mit
  \begin{quote}%
  \begin{small}%
    ;\documentclass[headsepline]{...};
  \end{small}%
  \end{quote}%
  der horizontale Strich unter den Kolumnentiteln eingeschaltet (dadurch wurde
  auch gleichzeitig ;headinclude; ausgef"uhrt).
\end{Beispiel}
\EndIndex{Option}{headsepline}\EndIndex{Option}{headnosepline}
\EndIndex{Option}{footsepline}\EndIndex{Option}{footnosepline}

\subsection{Fu"snoten}

Bis zu Version 2.4l war in Fu"snoten\index{Fu"snoten} ein kleiner horizontaler
Bereich (\(1\unit{em}\)) nur f"ur die Fu"snotennummer reserviert, der
eigentliche Text sollte also immer erst diesen Abstand vom linken Rand
entfernt stehen.  Bei mehrzeiligen Fu"snoten sollten die Folgezeilen nochmals
\(0{,}5\unit{em}\) links eingezogen werden.  Dadurch setzen sich diese besser
voneinander ab. Abs"atze sollten ohne vertikalen Zwischenraum und mit einem
Einzug von \(1\unit{em}\) (entspricht 1 ;\quad;) gesetzt werden. Leider hat
das nie so richtig funktioniert, auch wenn das kaum aufgefallen ist. Lediglich
in Titeln, die keine eigenen Titelseiten beanspruchten (Voreinstellung in
\class{scrartcl}), wurde deutlich, da"s es keineswegs so funktioniert, wie es
gedacht war.

\begin{decl};\deffootnote;\oarg{Markenbereich}\arg{Einzug}%
            \arg{Absatzeinzug}\arg{Fu"snotenmarke}\\
            ;\deffootnotemark;\arg{Fu"snotenmarke}\\
            ;\thefootnotemark;\\
            ;\textsuperscript;\arg{Text}\end{decl}%
\BeginIndex{Cmd}{makefootnote}\BeginIndex{Cmd}{thefootnotemark}
\BeginIndex{Cmd}{textsuperscript}%
Als ich dabei war, die Fu"snotenausgabe\index{Fu"snoten} neu zu
implementieren, fiel mir auf, da"s eigentlich viele Parameter darin leicht
ver"anderbar erreicht werden k"onnten. Seit Version 2.4l gibt es deshalb den
Befehl ;\deffootnote;, mit dem man die Gestalt der Fu"snoten variieren kann.
Der optionale Parameter \m{Markenbereich} gibt dabei die Gr"o"se des linken
Einzugs der ersten Zeile des Fu"snotentextes an.  Rechtsb"undig in diesen
Bereich wird die Fu"snotenmarke gesetzt. Fehlt der Parameter, so wird er
automatisch auf den Wert des Parameters \m{Einzug} gesetzt. Dieser gibt den
linken Einzug des gesamten Fu"snotentextes an. Im Falle da"s Fu"snoten mehrere
Abs"atze enthalten, wird mit dem Parameter \m{Absatzeinzug} der zus"atzliche
horizontale Einzug von abs"atzen angegeben. Der letzte Parameter,
\m{Fu"snotenmarke}, definiert schlie"slich die eigentliche Gestalt der
Fu"snotenmarke in der Ausgabe der Fu"snote. Diese wird noch zus"atzlich von
einer horizontale Box umschlossen.

In allen drei Hauptklassen sind die Fu"snoten wie folgt vordefiniert:
\begin{verbatim}
  \deffootnote[1em]{1.5em}{1em}
    {\textsuperscript{\normalfont\thefootnotemark}}
\end{verbatim}
Dabei repr"asentiert ;\thefootnotemark; die eigentliche Fu"snotenmarkierung.
Mit dem Makro ;\textsuperscript; wird die Fu"snotenmarkierung als Argument
\m{Text} hoch gesetzt (z.\,B. "`\textsuperscript{hoch}"'), ;\normalfont; sorgt
f"ur den richtigen Zeichensatz (und die richtige Gr"o"se). Damit die
Fu"snotenmarkierungen im Text dem entsprechen, wird mit dem ebenfalls neuen
Makro ;\deffootnotemark; diese identisch definiert:
\begin{verbatim}
  \deffootnotemark{\textsuperscript{\normalfont\thefootnotemark}}
\end{verbatim}

Will man nun erreichen, da"s bei mehrzeiligen Fu"snoten\index{Fu"snoten} kein
zus"atzlicher Einzug ab der zweiten Zeile erfolgt und die
Fu"snotenmarkierungen nicht hochgestellt und in normaler Fu"snotentextgr"o"se
erscheinen, so mu"s man nur die Fu"snotenausgabe leicht umdefinieren.
\begin{verbatim}
  \deffootnote{1em}{1em}{\thefootnotemark\ }
\end{verbatim}
Der zus"atzliche Leerraum am Ende der Definition sorgt daf"ur, da"s die
Fu"snotenmarke nicht direkt am Text klebt. Nimmt man eine Umdefinierung vor
der Ausgabe der Titelseite vor, so wirkt sie auch auf diese. Dies gilt auch
f"ur ;\deffootnotemark;, allerdings wird dort bei Titelseiten zus"atzlich
daf"ur gesorgt, da"s die Markierung sich nicht auf die horizontale Zentrierung
auswirkt.
\EndIndex{Cmd}{textsuperscript}\EndIndex{Cmd}{thefootnotemark}
\EndIndex{Cmd}{deffootnote}\EndIndex{Cmd}{deffootnotemark}

\subsection{Tabellen und Abbildungen als Flie"sobjekte}
\begin{decl};\setcapindent;\arg{Einzug}\\
            ;\setcapindent*;\arg{XEinzug}\\
            ;\setcaphanging;\end{decl}%
\BeginIndex{Cmd}{setcapindent}\BeginIndex{Cmd}{setcaphanging}%
In mehrzeiligen Captions\IndexCmd{caption}
(Unterschriften\index{Unterschriften} bzw.
"Uberschriften\index{"Uberschriften} von
;table;\IndexEnv{table}\index{Tabellen} bzw.
;figure;\IndexEnv{figure}\Index{Abbildungen}) werden die zweiten und folgenden
Zeilen so weit links einger"uckt, da"s diese nicht mehr unter "`Abbildung
\dots:"', sondern unter dem eigentlichen Text der ersten Zeile
beginnen. 

Dieses Verhalten, das der Verwendung des Befehls ;\setcaphanging;
entspricht, kann jederzeit durch Verwendung von ;\setcapindent; ge"andert
werden. Dabei gibt der Parameter \m{Einzug} an, wie tief ab der zweiten Zeile
einger"uckt werden soll. 

Wird als \m{Einzug} bei ;\setcapindent; ein Wert angegeben, der gr"o"ser ist,
als die zur Verf"ugung stehende Breite, so erfolgt vor der Beschreibung ein
Umbruch und es wird mit einem Wert, der um die verf"ugbare Breite vermindert
ist, einger"uckt. Dasselbe Verhalten erreicht man, wenn man die Sternvariante
mit der gew"unschten Einr"uckung als \m{XEinzug} verwendet.%
\footnote{\m{XEinzug} entspricht also $\m{Einzug} +
  \backslash\texttt{hsize}$. N"aheres dazu ist \texttt{scrclass.dtx} zu
  entnehmen.}

Mit einem negativen \m{Einzug} erreicht man hingegen, da"s vor der
Beschreibung ebenfalls ein Umbruch erfolgt und nur die erste Zeile der
Beschreibung um -\m{Einzug} einger"uckt wird.

Abbildung~\ref{ABB:caption.first} bis \ref{ABB:caption.last} zeigen ein paar
Beispiele, was mit unterschiedlichen Parametern bei ;\setcapindent;
bzw. ;\setcapindent*; erreicht werden kann.
\begin{figure}
  \renewcommand{\capfont}{\normalfont\small}
  \renewcommand{\caplabelfont}{\bfseries}
  \centering
  \begin{minipage}{.9\textwidth}
  \begin{minipage}[t]{.45\textwidth}\sloppy
    \fbox{\parbox{.96\textwidth}{\centering \script{KOMA-Script}}}
    \caption[Beispiel f"ur Bildunterschrift]%
      {Entspricht der Voreinstellung, also wie bei
      Verwendung von \textbackslash\texttt{setcaphanging}}
    \label{ABB:caption.first}
  \end{minipage}
  \hfill
  \begin{minipage}[t]{.45\textwidth}\sloppy
    \setcapindent{1em}
    \fbox{\parbox{.96\textwidth}{\centering \script{KOMA-Script}}}
    \caption[Beispiel f"ur Bildunterschrift]%
      {Mit h"angendem Einzug ab der zweiten Zeile durch Verwendung von
      \textbackslash\texttt{setcapindent\arg{1em}}}
  \end{minipage}
  \end{minipage}

\vspace*{\baselineskip}
  \begin{minipage}{.9\textwidth}
  \begin{minipage}[t]{.45\textwidth}\sloppy
    \setcapindent*{1em}
    \fbox{\parbox{.96\textwidth}{\centering \script{KOMA-Script}}}
    \caption[Beispiel f"ur Bildunterschrift]%
      {Mit h"angendem Einzug ab der zweiten Zeile und Umbruch vor der
      Beschreibung durch Verwendung von
      \textbackslash\texttt{setcapindent*\arg{1em}}}
  \end{minipage}
  \hfill
  \begin{minipage}[t]{.45\textwidth}\sloppy
    \setcapindent{-1em}
    \fbox{\parbox{.96\textwidth}{\centering \script{KOMA-Script}}}
    \caption[Beispiel f"ur Bildunterschrift]%
      {Mit Einzug lediglich in der zweiten Zeile und einem Umbruch vor der
      Beschreibung durch Verwendung von
      \textbackslash\texttt{setcapindent\arg{-1em}}}
    \label{ABB:caption.last}
  \end{minipage}
  \end{minipage}
\end{figure}

Noch ein Tip: Will man, da"s eine Bildunterschrift nicht die gesamte
Textbreite einnimmt, so setzt man sie innerhalb einer entsprechend schmaleren
minipage oder man definiert ;\caption; entsprechend um bzw. ein entsprechendes
eigenes "Aquivalent zu ;\caption;, falls dieses Verhalten die Regel sein soll.
\EndIndex{Cmd}{setcaphanging}\EndIndex{Cmd}{setcapindent}

\subsection{Kleinere kosmetische Ver"anderungen}

Obwohl bei \package{german}\IndexPackage{german} ab Version 2.4
;\frenchspacing;\IndexCmd{frenchspacing} mit verwaltet
wird, wird dies zus"atzlich eingeschaltet. Es ist jedoch m"oglich, da"s
dies in einer der n"achsten Versionen entfernt wird.

Bei der ;enumerate;-Umgebung\IndexEnv{enumerate} wurde in der zweiten Ebene
eine Klammer entfernt, so da"s "`a)"' statt "`(a)"' geschrieben wird.
Frank hatte in der dritten Ebene des ;itemize;-Environments\IndexEnv{itemize}
"`\(\ast\) durch ein "`\(\triangleright\)"' ersetzt. Das sah zwar f"ur Franks
und meinen Geschmack etwas gef"alliger aus bedurfte aber auch in ansonsten
nichtmathematischen Texten der mathematischen Schriften (i.\,d.\,R. aus den
CM-Fonts). Inzwischen sind alle Ebenen so definiert, da"s ausschlie"slich
Textfonts ben"otigt werden. Leider gibt es bei den Textfonts kein
vergleichbares Zeichen, so da"s auf "`\textasteriskcentered"' ausgewichen
werden mu"ste.

Die Autoren- und Datumsangaben in Titeln\index{Titel} erscheinen nicht in
;\large;, sondern in ;\Large;.

Es wurden noch etliche weitere Kleinigkeiten im Layout ver"andert, die
allerdings dem unge"ubten Auge kaum auf"|fallen werden. So ist etwa der
Spaltenabstand im zweispaltigen Satz von \(10\unit{pt}\) auf die "ubliche
\(1\unit{cc}\) verg"o"sert worden (\(1\unit{cc} \simeq 12\unit{pt}\). Will man
alles ganz genau wissen, so kann man ja immer noch \file{scrclass.dtx}
studieren (dazu sollte man allerdings auch die niedrigeren \TeX-Befehle kennen
bzw. zuerst die \file{.dtx}-Versionen der Original-classes und -packages
durcharbeiten).

\chapter{Zus"atzliche Befehle}

\section{Die Erweiterungen des Abstracts und der Titelseite}

\begin{decl};abstractoff;\\;abstracton;\end{decl}%
\BeginIndex{Option}{abstractoff}\BeginIndex{Option}{abstracton}%
Bei Abstracts\index{Zusammenfassung} besteht nun die M"oglichkeit, die
automatisch erzeugte "Uberschrift (beispielsweise "`Zusammenfassung"') mit der
Option ;abstractoff; aus- bzw. mit ;abstracton; anzuschalten. Voreingestellt
ist bei \class{scrartcl} und \class{scrreprt} ;abstractoff;. Bei
\class{scrbook} gibt es kein Abstract.%
\EndIndex{Option}{abstractoff}\EndIndex{Option}{abstracton}

\begin{decl};\extratitle;\arg{Schmutztitel}\\
            ;\titlehead;\arg{Text}\\
            ;\subject;\arg{Text}\\
            ;\publishers;\arg{Verlag}\\
            ;\uppertitleback;\arg{Text}\\
            ;\lowertitleback;\arg{Text}\\
            ;\dedication;\arg{Widmung}\end{decl}%
\BeginIndex{Cmd}{maketitle}
\BeginIndex{Cmd}{extratitle}\BeginIndex{Cmd}{titlehead}
\BeginIndex{Cmd}{subject}\BeginIndex{Cmd}{publishers}
\BeginIndex{Cmd}{uppertitleback}\BeginIndex{Cmd}{lowertitleback}
\BeginIndex{Cmd}{dedication}%
Der ;\maketitle;-Befehl\index{Titel} der \script{Script}-Haupt-classes wurde
durch die folgenden optionalen Angaben wesentlich erweitert:

\begin{itemize}
\item ;\extratitle; erzeugt eine eigene Seite, auf der der sogenannte
  "`Schmutztitel"'%
  \footnote{Fr"uher war der Buchblock oftmals nicht durch einen Buchdeckel vor
    Verschmutzung gesch"utzt. Diese Aufgabe "ubernahm dann die erste Seite des
    Buches, die meist einen Kurztitel, eben jenen "`Schmutztitel"', trug. Auch
    heute noch wird gerne eine Extraseite vor dem eigentlichen Haupttitel f"ur
    Verlagsname, Buchreihennummer o."a. benutzt.}%
  \index{Schmutztitel} steht. Dieser wird wie normaler Text, also
  ohne Zentrierung und in normaler Schriftart und "~gr"o"se gesetzt. Dadurch
  ist dessen Gestaltung v"ollig dem Anwender "uberlassen. Die R"uckseite ist
  auch im zweiseitigen Druck leer.
  
\item ;\titlehead; setzt in den Kopfteil der Haupttitelseite einen
  zus"atzlicher Text wie beispielsweise eine Institutsadresse.
  
\item ;\subject; setzt direkt oberhalb des eigentlichen Titels eine
  Zusatzangabe (z.\,B. "`Diplomarbeit"') in etwas gr"o"serer Schrift.
  
\item ;\publishers; plaziert den Verlagsnamen in den unteren Teil der
  Haupttitelseite.
  
\item Im zweiseitigen Druck l"a"st sich die R"uckseite des
  Haupttitels\index{Titelr"uckseite} f"ur weitere Informationen (im Beispiel
  dieser Dokumentation ist dies der Haftungsausschlu"s) nutzen. Dazu setzt
  ;\uppertitleback; einen Text an den oberen Rand der Seite und
  ;lowertitleback; einen Text an den unteren Rand.
  
\item ;\dedication; erzeugt eine seperate Widmungsseite\index{Widmung}, wobei
  \emph{Widmung} zentriert und in etwas gr"o"serer Schrift gesetzt wird. Wie
  bei ;\extratitle; ist die R"uckseite grunds"atzlich leer.
\end{itemize}
%
\begin{Beispiel}
\null
\begin{quote}\begin{verbatim}
\titlehead{%
  Institut f"ur Nachrichtentechnik \hfill SS1993\\
  Hochschulstr.12\\
  3456 Unistadt}
\subject{Diplomarbeit}
\title{Digitale Raumsimulation mit dem DSP56004}
\author{Ulrich Ungenannt}
\lowertitleback{%
  Diese Diplomarbeit wurde mit dem Textsatzsystem
  \TeX\ erstellt.}
\maketitle
\end{verbatim}\end{quote}
\end{Beispiel}
\EndIndex{Cmd}{extratitle}\EndIndex{Cmd}{titlehead}
\EndIndex{Cmd}{subject}\EndIndex{Cmd}{publishers}
\EndIndex{Cmd}{uppertitleback}\EndIndex{Cmd}{lowertitleback}
\EndIndex{Cmd}{dedication}
%
Der Titel (Kurz- oder Haupttitel) beginnt normalerweise auf Seite 1. Durch
Angabe einer Zusatzoption (beispielsweise mit ;\maketitle[-1];) l"a"st sich
die Startseite jetzt beliebig festlegen.%
\EndIndex{Cmd}{maketitle}

Da es seit \LaTeXe\ f"ur \class{article} eine Option ;titlepage; gibt, die
auch in \class{scrartcl} implementiert ist, entf"allt ein \file{sctitle.sty}.

\section{Gestaltung des Inhaltsverzeichnisses}

Mit Version 2.3h werden zus"atzliche Klassenoptionen eingef"uhrt, mit deren
Hilfe es m"oglich ist, Einflu"s auf das
Inhaltsverzeichnis\index{Inhaltsverzeichnis} zu nehmen. Dabei wurden zum einen
h"aufig ge"au"serte W"unsche, zum anderen aber auch typographische Aspekte
ber"ucksichtigt. So werden Dinge, die ich selbst f"ur weniger sinnvoll halte,
weniger gut unterst"utzt.

Die zus"atzlichen Optionen f"uhren dazu, da"s einige interne Befehle mit
Hilfe der Anweisung \IndexCmd{AtEndOfClass};\AtEndOfClass; umdefiniert
werden. Die Verwendung der Optionen wirkt sich also auf den
Speicherverbrauch\index{Speicher} aus.

\begin{decl};liststotoc;\end{decl}%
\BeginIndex{Option}{liststotoc}%
Normalerweise erscheinen Tabellen-\index{Tabellen} und
Abbildungsverzeichnis\index{Abbildungen} nicht im
Inhaltsverzeichnis\index{Inhaltsverzeichnis}. In den meisten F"allen wird dies
auch so gew"unscht. Ab und zu mag es jedoch sinnvoll sein, diese beiden
Verzeichnisse im Inhaltsverzeichnis explizit aufzuf"uhren. "Uber die Option
;liststotoc; wird deshalb die Erzeugung der "Uberschriften in
\IndexCmd{listoftables};\listoftables; und
\IndexCmd{listoffigures};\listoffigures;, die "uber die internen Befehle
\IndexCmd{lot@heading};\lot@heading; und \IndexCmd{lof@heading};\lof@heading;
erfolgt, am Ende der Class so umdefiniert, da"s ein Eintrag (ohne Nummer) in
das Inhaltsverzeichnis vorgenommen wird.%
\EndIndex{Option}{liststotoc}

\begin{decl};bibtotoc;\\;bibtotocnumbered;\end{decl}%
\BeginIndex{Option}{bibtotoc}\BeginIndex{Option}{bibtotocnumbered}%
Auch das Literaturverzeichnis wird normalerweise nicht im Inhaltsverzeichnis
auf\-ge\-f"uhrt. Mit der Option ;bibtotoc; wird daf"ur gesorgt, da"s es ohne
Nummer aufgenommen wird. Es gibt jedoch auch Anwender, die das
Literaturverzeichnis\index{Literatur} als eigenst"andiges Kapitel betrachten,
das nicht nur im Inhalsverzeichnis erscheinen, sondern auch mit einer
Nummer\index{Numerierung} versehen werden soll. Dies wird mit der Option
;bibtotocnumbered; erreicht. In beiden F"allen wird der interne Befehl
\IndexCmd{bib@heading};\bib@heading; am Ende der Class entsprechend
umdefiniert.
\begin{labeling}{\textsf{\textbf{Bemerkung:\ }}}
\item[\textsf{\textbf{Bemerkung:\ }}] Einige Pakete zur Verwaltung und
  Gestaltung von Literaturangaben definieren die Literaturumgebung um. Leider
  wird dabei in der Regel von den Standard-Classes ausgegangen und keinerlei
  R"ucksicht auf Besonderheiten anderer Klassen genommen. In diesem Fall kann
  es nicht nur dazu kommen, da"s die Kolumnentitel unpassend wirken, die
  beiden hier erw"ahnten Optionen gehen dann ebenfalls verloren. Abhilfe
  k"onnen hier nur Sie selbst oder der Autor des jeweiligen Pakets schaffen.
  \script{KOMA-Script} ist in diesem Fall nicht der Schuldige.
\end{labeling}
\EndIndex{Option}{bibtotocnumbered}\EndIndex{Option}{bibtotoc}

\begin{decl};idxtotoc;\end{decl}%
\BeginIndex{Option}{idxtotoc}%
Der Index\index{Index} kann auf Wunsch ebenfalls in das Inhaltsverzeichnis
aufgenommen werden. Er ist jedoch in keinem Fall ein eigenst"andiges Kapitel,
das numeriert werden sollte. Vielmehr dient der Eintrag im Inhaltsverzeichnis
eher dazu, darauf hinzuweisen, da"s ein Index existiert. Entsprechend wird
"uber die Option ;idxtotoc; der interne Befehl
\IndexCmd{idx@heading};\idx@heading; am Ende der Class umdefiniert. Hier gilt
dieselbe Bemerkung wie oben.%
\EndIndex{Option}{idxtotoc}

\begin{Beispiel}
Listenverzeichnisse, Index und Literaturverzeichnis in das Inhaltsverzeichnis
aufnehmen. Letzteres jedoch nicht als numeriertes Kapitel:
\begin{verbatim}
  \documentclass[liststotoc,idxtotoc,bibtotoc]{...}
\end{verbatim}
\end{Beispiel}

\section{Die "`xxxxfont"'-Variablen\label{SECTFONT}}

\begin{decl};\capfont;\\;\caplabelfont;\\
            ;\descfont;\\;\headfont;\\
            ;\pnumfont;\\;\sectfont;\end{decl}%
\BeginIndex{Cmd}{capfont}\BeginIndex{Cmd}{caplabelfont}
\BeginIndex{Cmd}{descfont}\BeginIndex{Cmd}{headfont}
\BeginIndex{Cmd}{pnumfont}\BeginIndex{Cmd}{sectfont}%
Seit der Version~2.0 des \script{Script}-Paketes sind mehrere Variablen zur
globalen Schrift\-"an\-de\-rung\index{Schriftart} in
Kolumnentiteln\index{Kolumnentitel}, Paginierung\index{Pagina},
Captions\IndexCmd{caption}\Index{Tabellen}\Index{Abbildungen},
"Uberschriften\index{"Uberschriften}\index{Unterschriften} und dem
;description;-Environment bereitgestellt. Dadurch lassen sich mit einem
einzigen Befehl beispielsweise s"amtliche "Uberschriften statt in
;\sffamily\bfseries; in ;\rmfamily; ausgegeben. Dazu mu"s nur irgendwo am
Dokumentanfang (am besten in der Pr"aambel) die Anweisung
;\renewcommand{\sectfont}{\rmfamily}; stehen.  Auf die gleiche Art und Weise
k"onnen auch die anderen Fonteinstellungen aus Tabelle \ref{TAB::Fonts}
ge"andert werden.
%
\begin{table}
\begin{center}\small
\begin{tabular}{lll}
Variable          & Wirkung auf:      & Default       \\\hline
;\capfont;        & Caption-Text und -Label     
                                      & ;\normalfont; \\
;\caplabelfont;   & Caption-Label abweichend von ;\capfont;  
                                      & ;\normalfont; \\
;\descfont;       & Item-Texte des {\tt description}-Environments
                                      & ;\sffamily\bfseries; \\
;\headfont;       & Kolumnentitel     & ;\slshape;    \\
;\pnumfont;       & Paginierung       & ;\normalfont; \\
;\sectfont;       & S"amtliche "Uberschriften und Titel
                                       & ;\sffamily\bfseries;   \\
\end{tabular}
\caption{\label{TAB::Fonts}%
         Die Befehle zur Fonteinstellung, ihre Bedeutung und
         Standardeinstellungen}
\end{center}
\end{table}
%
Selbstverst"andlich sind nicht nur Fonteinstellungs-, sondern auch
Gr"o"sen"anderungsbefehle m"oglich (siehe auch Abschnitt
\ref{KAPITELUEBERSCHRIFT} auf Seite \pageref{KAPITELUEBERSCHRIFT}).
Ein Beispiel f"ur die ein ge"andertes Aussehen ist in den
Abbildungen~\ref{ABB:caption.first} bis \ref{ABB:caption.last} auf
Seite~\pageref{ABB:caption.first} zu
finden. Erreicht wurde diese mit der folgenden Definition.
\begin{verbatim}
  \renewcommand{\capfont}{\normalfont\small}
  \renewcommand{\caplabelfont}{\bfseries}
\end{verbatim}
\EndIndex{Cmd}{capfont}\EndIndex{Cmd}{caplabelfont}
\EndIndex{Cmd}{descfont}\EndIndex{Cmd}{headfont}
\EndIndex{Cmd}{pnumfont}\EndIndex{Cmd}{sectfont}

\section{Die "`marginline"'}

\begin{decl};\marginline;\arg{Randnotiz}\end{decl}%
\BeginIndex{Cmd}{marginline}%
Analog zum ;\marginpar;\IndexCmd{marginpar} wurde die ;\marginline;
eingef"uhrt, die f"ur einzeilige Randnotizen\index{Randnotizen} gedacht ist.
Bei diesen tritt n"amlich im ;twoside;-Modus auf linken Seiten das Problem
auf, da"s sie mit ;\marginpar; nicht rechtsb"undig gesetzt werden (was
sinnvoll w"are), sondern durch den Blocksatz einer nicht vollen Zeile
linksb"undig erscheinen. Bei Verwendung von ;\marginline; werden einzeilige
Texte sinnvoll in den "au"seren Rand gesetzt, was zum Beispiel zum Hervorheben
von Querverweisen n"utzlich ist.%
\EndIndex{Cmd}{marginline}

\section{Der "`addchap"'- bzw. "`addsec"'-Befehl}

\begin{decl};\addchap;\oarg{Inhaltsverzeichniseintrag}\arg{"Uberschrift}\\
            ;\addchap*;\arg{"Uberschrift}\\
            ;\addsec;\oarg{Inhaltsverzeichniseintrag}\arg{"Uberschrift}\\
            ;\addsec*;\arg{"Uberschrift}\end{decl}%
\BeginIndex{Cmd}{addchap}\BeginIndex{Cmd}{addchap*}
\BeginIndex{Cmd}{addsec}\BeginIndex{Cmd}{addsec*}%
F"ur unnumerierte Abschnitte\index{Gliederung} wie beispielsweise ein
Vorwort\index{Vorwort} oder Danksagungen\index{Danksagung} stand bisher nur
der ;\chapter*;- bzw.  ;\section*;-Befehl zur Verf"ugung, die allerdings den
Nachteil haben, da"s sie zwar das bis auf die Numerierung\index{Numerierung}
komplette "Uberschrifts-Layout erzeugen, jedoch weder einen Eintrag ins
Inhaltsverzeichnis noch einen Kolumnentitel generieren. Dies mu"ste, falls
dies erw"unscht war, nachtr"aglich von Hand durchgef"uhrt werden, was wohl
nicht ganz der \LaTeX-Philosophie entspricht.

F"ur die oben genannten Anwendungen wurden daher die neuen Befehle
;\addchap; und ;\addchap*; ("`additional chapter"', bei \class{scrbook} und
\class{scrreprt}) sowie ;\addsec; und ;\addsec*; ("`additional section"', bei
\class{scrbook}, \class{scrreprt} und \class{scrartcl}) implementiert,
die bis auf die fehlende Numerierung genauso wie der ;\chapter;- bzw.
;\section;-Befehl (ohne Stern!) arbeiten, also alle Eintr"age an den
entsprechenden Stellen erzeugen. Stern-Versionen ;\addchap*; bzw.
;\addsec*; sind den Stern-Versionen der "ublichen Befehle sehr "ahnlich,
nur da"s zus"atzlich die Kolumnentitel gel"oscht werden (geht z.\,B. der zu
einem ;\chapter*; geh"orende Text "uber mehrere Seiten, so tauchen
die -- veralteten! -- Kolumnentitel pl"otzlich wieder auf). Zus"atzlich ist
als Optionalargument wie bei den Originalen ein anderer Eintrag ins
Inhaltsverzeichnis als die Abschnitts"uberschrift angebbar.
\EndIndex{Cmd}{addchap}\EndIndex{Cmd}{addchap*}
\EndIndex{Cmd}{addsec}\EndIndex{Cmd}{addsec*}

\section{Der "`minisec"'-Befehl}

\BeginIndex{Cmd}{minisec}
\begin{decl};\minisec;\arg{"Uberschrift}\end{decl}%
Manchmal ist eine Art "Uberschrift\index{Gliederung} w"unschenswert, die zwar
etwas hervortritt (etwa durch die Wahl einer anderen Schrift), ansonsten aber
eng mit dem nachfolgenden Text zusammenh"angt, also nicht wie bei den
"ublichen Sektionierungsbefehlen relativ viel vertikalen Freiraum vor und nach
der "Uberschrift l"a"st.

\minisec{Wirkung des neuen "`minisec"'-Befehls:}
Der Befehl ;\minisec; ("`minisec"' steht f"ur "`mini-section"') bewirkt nun
genau das oben genannte, indem er das Argument in ;\sffamily\bfseries; mit
einem vertikalen Freiraum von 1.5\,ex vorher und keinem danach setzt. Die
obige Zwischen"uberschrift wurde als Beispiel mit ;\minisec{Wirkung des ...};
gesetzt. Mini-Sections werden nicht mit ins Inhaltsverzeichnis aufgenommen. Da
von vorneherein keine Numerierung vorgesehen ist, existiert auch keine Version
mit Stern von diesem Befehl.  Genauso wie ;\marginline;, ;\addchap;, ;\addsec;
und die Titelseitenerweiterungen existiert ;\minisec; nicht in der
\class{scrlettr}-class.%
\EndIndex{Cmd}{minisec}

\section{Das "`labeling"'-Environment}

\BeginIndex{Env}{labeling}
\begin{decl};\begin{labeling};\oarg{Trennzeichen}\arg{l"angster Titel}\\
            ;\item;\oarg{Titel} \ldots \\
            ;   ;\vdots \\
            ;\end{labeling};\end{decl}%
\begin{labeling}{Wirkung:}
\item[Wirkung:] Wie in dieser tabellarischen Aufstellung, die auch
  gleichzeitig wieder ein Beispiel f"ur die Wirkung des Environments ist,
  setzt ;labeling; Text wie in einem normalen Absatz, nur da"s zus"atzlich ein
  Titel vorangestellt werden kann (in diesem Fall "`Wirkung"').
  
  Pro Titel sind, wie hier vorgef"uhrt, mehrere Abs"atze m"oglich, um auch
  umfangreichere Texte "ubersichtlich gliedern zu k"onnen.
\item[Syntax:] ;labeling; ist ein gew"ohnliches Environment mit einer
  Zusatzangabe plus einem Optionalargument.  Dabei ist \arg{l"angster Titel}
  das l"angste ;\item;-""Argu"-ment inklusive allen eventuellen
  Schrift"anderungsbefehlen. Wird kein Trennzeichen ben"otigt, so kann das
  optionale Argument \oarg{Trennzeichen} weggelassen werden.
\item[Beispiel:] Die Standardform eines mathematischen Beweises wird
  folgenderma"sen erzeugt:
  \begin{quote}\begin{small}\begin{verbatim}
\begin{labeling}[:]{\sfb Auss.}
\item[\sfb Vor.] $x$ sei ...
\item[\sfb Auss.] Es gilt ...
\item[\sfb Bew.] Nach Satz ...
\end{labeling}
  \end{verbatim}\end{small}\end{quote}
  Dies bewirkt die Ausgabe:
  \begin{labeling}[:]{\sfb Auss.}
  \item[\sfb Vor.] $x$ sei \dots
  \item[\sfb Auss.] Es gilt \dots
  \item[\sfb Bew.] Nach Satz \dots
  \end{labeling}
\end{labeling}
\EndIndex{Env}{labeling}

\section{Pr"aambeltexte f"ur Bibliographie und Index}%

\begin{decl};\setindexpreamble;\arg{Pr"aambeltext}\\
            ;\setbibpreamble;\arg{Pr"aambeltext}\end{decl}%
\BeginIndex{Cmd}{setbibpreamble}%
\BeginIndex{Cmd}{setindexpreamble}%
\index{Pr"aambel}%
Manchmal soll nach den "Uberschriften der Bibliographie- oder der
Index-Umgebungen ein kurzer Text eingef"ugt werden, der spezielle Konventionen
im Index oder der Bibliographie erl"autert.
Seit Version~2.6c des \script{KomaScript}-Paketes stehen daf"ur die Befehle
;\setindexpreamble; und ;\setbibpreamble; zur Verf"ugung. In der
Voreinstellung wird keine Pr"aambel gesetzt.%
\footnote{Dabei wird das eigentlich intern gedachte Makro \texttt{\bslash
  bibpreamble} kompatibel zu \texttt{natbib.sty} als \texttt{\bslash relax}
  definiert.}
Der Inhalt von \arg{Pr"aambeltext} wird ohne zus"atzliche
Formatierbefehle nach der "Uberschrift eingef"ugt. Wird
beispielsweise zus"atzlicher Abstand zu den folgenden Eintr"agen
der Umgebung gew"unscht, so mu"s er explizit gesetzt werden
(z.\,B. durch ;\par;;\bigskip; am Ende von \arg{Pr"aambeltext}).
Zu beachten ist, da"s innerhalb der Indexpr"aambel keine Seitenumbr"uche
m"oglich sind.

Dieses Feature wurde auf Anregung von Stefan Ulrich\index{Stefan
  Ulrich|see{\texttt{\bslash setbibpreamble}}} und auf Grundlage des von ihm
  gelieferten Codevorschlags implementiert.
\EndIndex{Cmd}{setindexpreamble}%
\EndIndex{Cmd}{setbibpreamble}%

\chapter{Erweiterung der Internationalisierung}
\Index[(]{CJK}

Werner Lemberg%
\footnote{e-mail: \texttt{a7971428@unet.univie.ac.at}}
bem"angelte zurecht, da"s die Standardnamen wie ;\figurename; etc. nicht immer
ausreichend sind, da manche Sprachen Z"ahlw"orter vor oder nach dem jeweiligen
Z"ahler einf"ugen m"ussen (man denke da sogar im Deutschen an "`Abbildung~1"'
und "`Erste Abbildung"'). Desweiteren werden bei manchen Sprachen die
Zwischenr"aume anders gesetzt bzw. sogar ganz unterdr"uckt.

Werner hat deshalb in seinem CJK-Paket%
\footnote{CJK steht f"ur \textbf{C}hinesisch, \textbf{J}apanisch,
  \textbf{K}oreanisch.}
eine Unterteilung in drei Ebenen eingef"uhrt. Um verschiedene Sprachen zu
implementieren, kann jede dieser Ebenen getrennt ver"andert werden.

Ebene~1 besteht aus den hinl"anglich bekannten Makros wie ;\figurename; und
alle weiteren Makros, die z.\,B. ;german.sty; modifiziert. Desweiteren k"onnen
die Makros ;\sectfont; etc. etwaige zus"atzliche Fonts aktivieren. Ebene~2 ist
die zus"atzliche Adaptierung von den Z"ahlern selbst (;\thesection; k"onnte
z.\,B.  chinesische Schriftzeichen anstelle von arabischen Ziffern
ansprechen). Die allgemeinste Form der dritten Ebene besteht aus den
Makros\index{Numerierung} ;\chaptermarkformat;, ;\sectionmarkformat;,
;\subsectionmarkformat;, ;\partformat;, ;\chapterformat;, ;\figureformat;,
;\tableformat; und ;\captionformat;, welche die "Anderung der Reihenfolge von
Z"ahler und Titel sowie die genaue Kontrolle der Zwischenr"aume etc.
erm"oglichen.

F"ur die g"angigen Sprachen k"onnen alle Makros f"ur die dritte Ebene identisch
definiert werden. Bei Verwendung von "`exotischen"' Sprachen, aber auch
speziellen Darstellungen in den g"angigen Sprachen k"onnen diese Makros
umdefiniert werden.

Ab Version 2.2c (Versionsdatum [1995/05/25]) ist \script{KOMA-Script} explizit
f"ur die Verwendung von \cite{CJK} vorbereitet.%
\footnote{An dieser Stelle ein Dankesch"on an Werner f"ur die gute
  Zusammenarbeit.}
Dies betrifft allerdings nicht ;scrlettr.cls; wohl aber ;scrpage.sty; (siehe
Abschnitt \ref{SCRPAGE}).

\Index[)]{CJK}

\iffalse
\chapter{Befehls- und Optionen"ubersicht}

\section{Optionen}
\begin{labeling}{\tt footnosepline}
\item[\tt headinclude]
\IndexOption{headinclude}
  \ldots
\item[\tt headexclude]
\IndexOption{headexclude}
  \ldots
\item[\tt footinclude]
\IndexOption{footinclude}
  \ldots
\item[\tt footexclude]
\IndexOption{footexclude}
  \ldots
\item[\tt headsepline]
\IndexOption{headsepline}
  \ldots
\item[\tt headnosepline]
\IndexOption{headnosepline}
  \ldots
\item[\tt footsepline]
\IndexOption{footsepline}
  \ldots
\item[\tt footnosepline]
\IndexOption{footnosepline}
  \ldots
\item[\tt abstractoff]
\IndexOption{abstractoff}
  \ldots
\item[\tt abstracton]
\IndexOption{abstracton}
  \ldots
\end{labeling}

\section{Befehle}

\minisec{Huba}
\vspace{0.5em}
\begin{labeling}{\tt\bslash areaset\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}}
\item[\tt\bslash typearea\oarg{BCOR}\arg{DIV}]
\IndexCmd{typearea}
  \ldots
\item[\tt\bslash areaset\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}]
\IndexCmd{areaset}
  \ldots
\item[\tt\bslash SetDIVList\arg{list}]
\IndexCmd{SetDIVList}
  \ldots
\end{labeling}
\vspace{1em}

\minisec{Huba}
\vspace{0.5em}
\begin{labeling}{\tt\bslash areaset\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}}
\item[\tt\bslash extratitle\arg{Schmutztitel}]
\IndexCmd{extratitle}
  \ldots
\item[\tt\bslash titlehead\arg{Text}]
\IndexCmd{titlehead}
  \ldots
\item[\tt\bslash subject\arg{Text}]
\IndexCmd{subject}
  \ldots
\item[\tt\bslash publishers\arg{Verlag}]
\IndexCmd{publishers}
  \ldots
\item[\tt\bslash uppertitleback\arg{Text}]
\IndexCmd{uppertitleback}
  \ldots
\item[\tt\bslash lowertitleback\arg{Text}]
\IndexCmd{lowertitleback}
  \ldots
\item[\tt\bslash dedication\arg{Widmung}]
\IndexCmd{dedication}
  \ldots
\end{labeling}
\vspace{1em}

\minisec{Huba}
\vspace{0.5em}
\begin{labeling}{\tt\bslash areaset\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}}
\item[\tt\bslash sbf]
\IndexCmd{sbf}
  \ldots
\item[\tt\bslash capfont]
\IndexCmd{capfont}
  \ldots
\item[\tt\bslash caplabelfont]
\IndexCmd{caplabelfont}
  \ldots
\item[\tt\bslash descfont]
\IndexCmd{descfont}
  \ldots
\item[\tt\bslash headfont]
\IndexCmd{headfont}
  \ldots
\item[\tt\bslash pnumfont]
\IndexCmd{pnumfont}
  \ldots
\item[\tt\bslash sectfont]
\IndexCmd{sectfont}
  \ldots
\item[\tt\bslash marginline]
\IndexCmd{marginline}
  \ldots
\item[\tt\bslash addchap(*)]
\IndexCmd{addchap}\IndexCmd{addchap*}
  \ldots
\item[\tt\bslash addsec(*)]
\IndexCmd{addsec}\IndexCmd{addsec*
  \ldots
\item[\tt\bslash minisec]
\IndexCmd{minisec}
  \ldots
\end{labeling}
\vspace{1em}

\minisec{Huba}
\vspace{0.5em}
\begin{labeling}{\tt\bslash areaset\oarg{BCOR}\arg{WIDTH}\arg{HEIGHT}}
\item[\tt\bslash labeling]
\IndexEnv{labeling}
  \ldots
\end{labeling}
%\vspace{1em}
\fi


\chapter{Die scrlettr-class}

\section{Das Original}

Immer mehr \LaTeX-Anwender schreiben ihre Briefe\index{Briefe} ebenfalls mit
\TeX.  Da jedoch die originale ;letter;-class sehr auf das amerikanische
Brief"|format zugeschnitten ist, wird diese kaum verwendet. Damit nicht erst
lange nach einer brauchbaren letter-class gesucht werden mu"s, ist eine solche
ebenfalls im \script{KOMA-Script}-Paket enthalten.

Axel Kielhorn hat \file{scrlettr.cls} nach dem Vorbild von
\file{script\_l.sty} und den Gegebenheiten von \LaTeXe\ erstellt. Ich selbst
habe nur wenige, kleinere "Anderungen vorgenommen, die mehr dazu dienten, die
class meinen W"unschen anzupassen.

\class{scrlettr} ist nicht unbedingt die beste m"ogliche Wahl, gen"ugt aber
den meisten Anspr"uchen und kann zumindest erheblich mehr als \class{letter}.

Eine typische Briefeingabedatei in der Standardklasse hat folgende Form:
\begin{quote}\begin{small}\begin{verbatim}
\documentclass{letter}
\usepackage{german}
\name{Name des Absenders}
\address{Adresse des Absenders}
\signature{Unterschrift}
\begin{document}

\begin{letter}{Name und Adresse des Empf"angers
               des ersten Briefes}
\opening{Anrede (z.\,B. Sehr geehrte Damen und Herren,)}
Brieftext...Brieftext...Brieftext
\closing{Gru"sformel (z.\,B. Mit freundlichen Gr"u"sen)}
\ps{Postskriptum}
\cc{Verteiler (z.\,B. Direktion\\Personalb"uro)}
\encl{Anlagen (z.\,B. Lebenslauf\\Lichtbild)}
\end{letter}

\begin{letter}{Name und Adresse des Empf"angers
               des zweiten Briefes}
   ...
\end{letter}

   ...
\end{document}
\end{verbatim}\end{small}\end{quote}
%
F"ur \class{scrlettr} ist lediglich die Dokumentklasse \texttt{letter} eben
durch \texttt{scrlettr} zu ersetzen.

Die Befehle ;\signature;\IndexCmd{signature}, ;\closing;\IndexCmd{closing},
;\ps;\IndexCmd{ps}, ;\cc;\IndexCmd{cc} und ;\encl;\IndexCmd{encl} sind
optional. Bei fehlender ;\signature;-Angabe wird das
;\name;-Argument\IndexCmd{name} als Unterschrift gesetzt. Ist eine gedruckte
Unterschrift v"ollig unerw"unscht, so kann diese durch ;\signature{};
unterdr"uckt werden.

Zu beachten ist weiterhin, da"s Adre"sfeld, Datum usw. erst durch den
;\opening;-Befehl\IndexCmd{opening} erzeugt werden (wichtig beispielsweise bei
Rechnungen ohne Anrede, dort mu"s dann trotzdem ein leerer ;\opening{};-Befehl
stehen). Dies hat weiterhin zur Folge, da"s beispielsweise bei einer zu langen
\texttt{backaddress} (siehe unten) eine "`Overfull hbox"' in der Zeile
gemeldet wird, in der der ;\opening;-Befehl steht, obwohl dieser gar nicht die
eigentliche Ursache ist. Bei einer solchen Warnung sind also auch alle
vorherigen Befehle zu pr"ufen!

Um sich bei jedem Brief die wiederholte Eingabe der eigenen Adresse und
sonstiger Voreinstellungen zu ersparen, ist es empfehlenswert, diese in eine
eigene Datei (beispielsweise \file{privat.sty}) zu schreiben, die dann einfach
als package mit ;\usepackage{privat}; angegeben wird.  Ein Beispiel f"ur eine
solche Datei findet sich auf Seite~\pageref{PRIVAT}.

\section{Zus"atzliche Eigenschaften der scrlettr-class}

Die neue \class{scrlettr}-class ist gegen"uber dem Original wesentlich
erweitert und flexibler gestaltet worden. Sie zeichnet vor allem die
M"oglichkeit der Benutzung eigener Adre"sdateien und nahezu uneingeschr"ankte
Serienbrief"|f"ahigkeit aus.

\subsection{Mehrsprachigkeit}

Die \class{scrlettr}-class wurde von vorneherein mehrsprachig ausgelegt
(Englisch, amerikanisches Englisch, Deutsch, "Osterreichisch, Franz"osisch,
Dank Simone Naldi neuerdings auch Italienisch und Dank Ralph J. Hangleiter
neuerdings ebenfalls Spanisch, voreingestellt ist amerikanisches Englisch).

\begin{decl};\captionsenglish;\\;\captionsUSenglish;\\
            ;\captionsamerican;\\;\captionsbritish;\\
            ;\captionsUKenglish;\\
            ;\captionsgerman;\\;\captionsaustrian;\\
            ;\captionsfrench;\\;\captionsitalian;\\
            ;\captionsspanish;\\\end{decl}%
\BeginIndex{Cmd}{captionsenglish}\BeginIndex{Cmd}{captionsUSenglish}
\BeginIndex{Cmd}{captionsamerican}\BeginIndex{Cmd}{captionsbritish}
\BeginIndex{Cmd}{captionsUKenglish}
\BeginIndex{Cmd}{captionsgerman}\BeginIndex{Cmd}{captionsaustrian}
\BeginIndex{Cmd}{captionsfrench}\BeginIndex{Cmd}{captionsitalian}
\BeginIndex{Cmd}{captionsspahish}
Zur Einstellung der Sprache der automatisch gesetzten ("`Caption"'-) Texte
wie "`Betreff"', "`Seite"', "`Anlagen"' usw. steht eine Reihe von Befehlen,
zur Verf"ugung. Diese werden im allgemeinen von Sprachumschaltpaketen
wie \package{german} oder \package{Babel} automatisch verwaltet. Notfalls
k"onnen die Befehle aber auch direkt verwendet werden.
\EndIndex{Cmd}{captionsenglish}\EndIndex{Cmd}{captionsUSenglish}
\EndIndex{Cmd}{captionsamerican}\EndIndex{Cmd}{captionsbritish}
\EndIndex{Cmd}{captionsUKenglish}
\EndIndex{Cmd}{captionsgerman}\EndIndex{Cmd}{captionsaustrian}
\EndIndex{Cmd}{captionsfrench}\EndIndex{Cmd}{captionsitalian}
\EndIndex{Cmd}{captionsspanish}
\begin{decl};\dateenglish;\\;\dateUSenglish;\\
            ;\dateamerican;\\;\datebritish;\\
            ;\dateUKenglish;\\
            ;\dategerman;\\;\dateaustrian;\\
            ;\datefrench;\\;\dateitalian;\\
            ;\datespanish;\\\end{decl}%
\BeginIndex{Cmd}{dateenglish}\BeginIndex{Cmd}{dateUSenglish}
\BeginIndex{Cmd}{dateamerican}\BeginIndex{Cmd}{datebritish}
\BeginIndex{Cmd}{dateUKenglish}
\BeginIndex{Cmd}{dategerman}\BeginIndex{Cmd}{dateaustrian}
\BeginIndex{Cmd}{datefrench}\BeginIndex{Cmd}{dateitalian}
\BeginIndex{Cmd}{datespanish}
Die Schreibweise des Datums wird durch die Befehle
\begin{quote}\begin{tabular}{ll}
  ;\dateenglish;   & 1/12/1993\\
  ;\dateUSenglish; & 12/1/1993\\
  ;\dateamerican;  & 12/1/1993\\
  ;\datebritish;   & 1/12/1993\\
  ;\dateUKenglish; & 1/12/1993\\
  ;\dategerman;    & 1.\,12.\,1993\\
  ;\dateaustrian;  & 1.\,12.\,1993\\
  ;\datefrench;    & 1.\,12.\,1993\\
  ;\dateitalian;   & 1.\,12.\,1993\\
  ;\datespanish;   & 1.\,12.\,1993
\end{tabular}\end{quote}
in der angegebenen Form festgelegt. Auch diese werden normalerweise direkt von
Sprach\-umschaltpaketen verwaltet.
\EndIndex{Cmd}{dateenglish}\EndIndex{Cmd}{dateUSenglish}
\EndIndex{Cmd}{dateamerican}\EndIndex{Cmd}{datebritish}
\EndIndex{Cmd}{dateUKenglish}
\EndIndex{Cmd}{dategerman}\EndIndex{Cmd}{dateaustrian}
\EndIndex{Cmd}{datefrench}\EndIndex{Cmd}{dateitalian}
\EndIndex{Cmd}{datespanish}

Es ist generell empfehlenswert (aber nicht zwingend notwendig), grunds"atzlich
\package{german}\IndexPackage{german} als zus"atzliches package mit dem
;\usepackage;-Befehl anzugeben, da dieses package den sehr komfortablen
;\selectlanguage;-Befehl\IndexCmd{selectlanguage} zur Verf"ugung stellt, der
gleichzeitig Captiontexte, die Schreibweise des Datums, einige
sprachspezifische Extras und Trennregeln der verwendeten Sprache anpa"st.  Im
Zusammenhang mit \class{scrlettr} ist jedoch zu beachten, da"s
;\selectlanguage; erst \emph{nach} ;\begin{document}; verwendet werden
sollte.%
\footnote{Die briefspezifischen Caption-Texte und Datumsformate werden nach
  einem Vorschlag von Sven Gohlke erst durch den {\tt\bslash%
  begin\purearg{document}}-Befehl definiert. Daher werden diese erst nach 
  diesem Befehl aktiv. Durch eine spezielle Anpassung an \file{german.sty}
  Version 2.5b ist die Sprachauswahl nicht mehr von festen Sprachnummern
  abh"angig. Daf"ur wird jedoch gefordert, da"s die Spachnummern zu
  \file{german.sty} kompatibel definiert sind.}

\begin{decl};orgdate;\end{decl}%
\BeginIndex{Option}{orgdate}%
Bei Verwendung des \package{german} oder \package{Babel}\IndexPackage{Babel}
Pakets kann mit Hilfe der Klassenoption ;orgdate; auch eine Datumsdefinition
innerhalb der \class{scrlettr}-Klasse verhindert werden. Damit wird dann das
Datum in der Form verwendet, in der es in den genannten Paketen definiert
wird.%
\EndIndex{Option}{orgdate}

\begin{labeling}{\textsf{\textbf{Beispiel 4:\ }}}
\item[\textsf{\textbf{Beispiel 1:\ }}] F"ur eine Datei mit rein
  englischsprachigen Briefen (amerikanisches Englisch) gen"ugt:
  \begin{quote}\begin{small}
    ;\documentclass{scrlettr};\\
    ;\begin{document};\\
    ;\begin{letter}{;\ldots ;};\\
    \ldots
  \end{small}\end{quote}
\item[\textsf{\textbf{Beispiel 2:\ }}] F"ur eine Datei mit rein
  deutschsprachigen Briefen gen"ugt:
  \begin{quote}\begin{flushleft}\begin{small}
        ;\documentclass{scrlettr};\\
        ;\usepackage{german};\\
        ;\begin{document};\\
        ;\begin{letter}{;\ldots ;};\\
        \ldots
  \end{small}\end{flushleft}\end{quote}
\item[\textsf{\textbf{Beispiel 3:\ }}] Bei gemischtsprachigen Briefen
  empfiehlt sich:
  \begin{quote}\begin{flushleft}\begin{small}
        ;\documentclass{scrlettr};\\
        ;\usepackage{german};\\
        ;\begin{document};\\
        \mbox{}\\
        ;\selectlanguage{USenglish};\\
        ;\begin{letter}{;\ldots ;};\\
        \ldots \\
        ;\end{letter};\\
        \mbox{}\\
        ;\selectlanguage{german};\\
        ;\begin{letter}{;\ldots ;};\\
        \ldots \\
        ;\end{letter};\\
        \mbox{}\\
       \ldots
  \end{small}\end{flushleft}\end{quote}
\end{labeling}

\subsection{Zweiseitiger Druck}

\BeginIndex{Option}{twoside}
\begin{decl};twoside;\end{decl}%
Zweiseitig gedruckte Briefe werden durch Angabe der Option ;twoside;
unterst"utzt. Jedoch "andert sich hier im Gegensatz zu den "ubrigen
\script{KOMA-Script}-classes der Satzspiegel nicht, sondern es wird lediglich
sichergestellt, da"s ein neuer Brief immer auf einer ungeraden
\emph{Druck}seite beginnt. Die \emph{interne} \TeX-Seitenz"ahlung startet
bei jedem ;\begin{letter};-Befehl wieder bei 1.

Dar"uber hinaus wird eine Warnung ausgegeben, um darauf hinzuweisen, da"s es
sich nicht wirklich um ein zweiseitiges Layout handelt.
\EndIndex{Option}{twoside}

\subsection{Layout}

Die ;scrletter;-class verwendet einen festen
Satzspiegel\index{Satzspiegel>Briefe}, an dem nichts mehr ver"andert werden
sollte (Ausnahmen siehe unten). Er ist recht anspruchsvoll, was
Ma"shaltigkeit und bedruckbaren Bereich des verwendeten Druckers angeht, da
Falzmarken so weit links wie m"oglich und die Adresse wirklich im
Adre"sfenster eines Fensterbriefumschlages stehen sollen. Aus diesem Grund
sollte die Einstellung des Druckertreibers mit der \LaTeXe-Testseite
"uberpr"uft werden.

Sollten die Falzmarken auf dem Drucker nicht erscheinen, so ist zun"achst zu
"uberpr"ufen, ob sie "uberhaupt eingeschaltet sind. Ist dies der Fall, so hat
der Drucker vermutlich einen linken Rand von mehr als \(5\unit{mm}\).
Anderenfalls m"u"ste zumindest ein Teil der Falzmarken zu sehen sein. In
diesem Fall bleibt nur die dokumentierte L"ange \texttt{\bslash foldhskip} zu
erh"ohen. Man kann dies beispielsweise in der Pr"aambel oder im Rahmen einer
Datei tun, in der man seinen eigenen Briefkopf definiert (siehe Abschnitt
\ref{BRIEFKOPF}).

Die H"ohe des Kopfbereichs der Seite ist in der Version~2.0 von
\(20\unit{mm}\) auf \(22\unit{mm}\) vergr"o"sert worden.%
\footnote{Dadurch ist der Abstand des oberen Papierrandes vom Briefkopf von
  \(10\unit{mm}\) auf \(9\unit{mm}\) geschrumpft. Da einige Drucker damit
  bereits Probleme hatten, habe ich den oberen Rand von \(15{,}5\unit{mm}\)
  auf \(19\unit{mm}\) vergr"o"sert. Daf"ur wurde wiederum der Abstand zwischen
  Kopfzeile und Text von \(9\unit{mm}\) auf \(8\unit{mm}\) verringert. Die
  entsprechende Zeile ist dokumentiert.}
Damit gibt es hoffentlich keine Probleme mehr bei Verwendung des
voreingestellten Briefkopf-Formates.%
\footnote{Diese Probleme traten auf bei Verwendung der 12pt-Schrift und wenn
  beide Zeilen der Adresse Unterl"angen besa"sen.  Dreizeilige Adressangaben
  sind jedoch nach wie vor mangels Platz problematisch aber m"oglich. Falls
  mehr Information im Briefkopf untergebracht werden soll, so mu"s ein eigener
  entwickelt werden.}
Der Fu"sbereich der Seite ist \(25\unit{mm}\) hoch, linker und rechter Rand
sind beide \(25{,}4\unit{mm}\) breit.

Abs"atze werden ohne Einzug und mit einem vertikalen Abstand von einem
halben ;\baselineskip; gesetzt. Ein unterer Randausgleich wird auch im
zweiseitigen Druck nicht durchgef"uhrt (;\raggedbottom;).

Gegen"uber der Version~1.0 von \file{script\_l.sty} wurde die
Brieftext-Zentrierung leicht verbessert, was die Probleme bei umfangreicheren
Briefen mit sehr langen Abs"atzen hoffentlich beseitigt hat.

\minisec{Ver"anderung des Satzspiegels in Ausnahmef"allen}
Sollte sich \emph{nach} "Uberpr"ufung und Korrektur der Drucker- bzw.
Treibereinstellung ergeben, da"s die komplette Briefseite doch nicht gedruckt
werden kann, so k"onnen die Einstellungen von ;\textheight; und ;\footskip;
ge"andert werden. Durch eine Verkleinerung von ;\textheight; wird die H"ohe
des Textbereichs kleiner, dadurch wird der untere Rand (unter dem Fu"s)
gr"o"ser. Durch eine Verkleinerung von ;\footskip; r"uckt der Fu"s n"aher an
den Textbereich, wodurch der untere Rand (unter dem Fu"s) ebenfalls gr"oser
wird. In seltenen F"allen mu"s au"serdem ;\topmargin; vergr"osert werden. In
diesem Fall ist unbedingt ;\textheight; um denselben Wert zu verkleinern, weil
sonst der Seiteninhalt bzw. der Fu"s unten aus dem Papier rutscht.

Die "Anderung kann entweder in der Dokumentpr"aambel, in der Datei mit
dem pers"onlichen Briefkopf oder in \file{scrlettr.cls} selbst erfolgen.
Bitte beachten Sie jedoch, da"s die ver"anderte Datei nicht weitergegeben
werden darf und Briefe dann bei Bearbeitung mit Original \class{scrlettr}
anders umbrochen werden!

\subsection{Adre"sfeld und Zusatz-"`location"'-Feld}

Zur Beschriftung des Briefumschlages gab es im Original den
;\makelabels;-Befehl, der dazu gedacht war, Adre"setiketten zu
bedrucken. Da mir keine Konfiguration bekannt ist, in der dieser Befehl
mit all seinen Anforderungen bez"uglich Papierwechsel etc. wirklich Sinn
macht, habe ich ihn erst gar nicht in die neue Brief-class
miteinbezogen (mal ehrlich: Haben Sie ;\makelabels; benutzt?)
Hier sehe ich auch die -- hoffentlich -- einzige M"oglichkeit, wo eine
Inkompatibilit"at zu den Original-classes auftreten kann.

Als Entsch"adigung erm"oglicht \class{scrlettr} die Verwendung von
Fensterbriefumschl"agen, die Adre"setiketten "uberfl"ussig machen. In einem
Feld der H"ohe ;\addrheight; und Breite ;\addrwidth;, das ;\addrvskip; von der
Textbereichsoberkante und (;\addrindent; plus \(25{,}4\unit{mm}\)) vom linken
Rand des Papiers entfernt ist, wird dazu die bei ;\begin{letter}; angegebene
Adresse vertikal zentriert.

\begin{decl};\backaddress;\arg{R"ucksende-Adresse}\\
            ;\specialmail;\arg{Versandart}\end{decl}%
\BeginIndex{Cmd}{backaddress}\BeginIndex{Cmd}{specialmail}%
Optional kann noch mit ;\backaddress; eine kleingeschriebene
R"ucksende-Adresse und mit ;\specialmail; eine spezielle Versandart
(beispielsweise "`Einschreiben"') in dieses Feld eingeblendet werden.
\EndIndex{Cmd}{backaddress}\EndIndex{Cmd}{specialmail}

\begin{decl};\location;\arg{Zusatz-Information}\end{decl}%
\BeginIndex{Cmd}{location}%
Im freien Raum rechts neben dem Adre"sfeld l"a"st sich noch zus"atzlicher Text
(beispielsweise die Zweigstellen einer Firma) unterbringen. Dieser wird durch
;\location; in ein ;\locwidth; breites Feld geschrieben, dessen rechter Rand
mit der rechten Begrenzung des Textbereiches "ubereinstimmt.
\EndIndex{Cmd}{location}

\begin{decl};\addrfieldoff;\\;\addrfieldon;\end{decl}%
\BeginIndex{Cmd}{addrfieldoff}\BeginIndex{Cmd}{addrfieldon}
Beide Felder zusammen sind durch ;\addrfieldoff; ab- bzw. mit
;\addrfieldon; wieder anschaltbar (Default: ;\addrfieldon;).
Dies kann z.\,B. f"ur pers"onliche Schreiben ohne Gesch"aftsbriefcharakter von
Nutzen sein (wenngleich ich in diesem Falle eher zum F"uller greifen
w"urde). Hier wurden Befehle an Stelle von Optionen verwendet, da es somit
m"oglich ist, in einem Dokument mehrere Briefe mit unterschiedlichen
Einstellungen unterzubringen.
\EndIndex{Cmd}{addrfieldoff}\EndIndex{Cmd}{addrfieldon}

Noch eine kleine Anmerkung zur Schreibweise des Wortes "`Adresse"':
Im Deutschen schreibt es sich mit \emph{einem} "`d"', w"ahrend es im
Englischen "`a\emph{dd}ress"' hei"st. Daher ist bei allen Befehlen, die
"`address"' enthalten, auf das doppelte "`d"' zu achten. Anweisungen, die
etwas mit dem unten beschriebenen \file{.adr}-File zu tun haben, werden
allerdings mit \emph{einem} "`d"' geschrieben (;\adrentry; und ;\adrchar;).

\begin{decl};wlocfield;\\;slocfield;\end{decl}%
\BeginIndex{Option}{wlocfield}\BeginIndex{Option}{slocfield}
Die Breite des Adre"s-Feldes ist normalerweise auf 70\,mm beschr"ankt. F"ur
das Zusatzfeld daneben (;\location;) steht in der Grundeinstellung die
H"alfte der restlichen Textbreite zur Verf"ugung. Da mir selbst dies etwas zu
wenig war, existiert eine Option ;wlocfield; ("`wide location field"'),
mit der $2/3$ der restlichen Textbreite verwendet werden. Dies sollte bei der
Mehrzahl der Fensterumschl"age problemlos sein. Nat"urlich existiert auch
eine gegenteilige Option ;slocfield; ("`small location field"'),
mit der die Standardeinstellung $1/2$ verlangt wird.
\EndIndex{Option}{wlocfield}\EndIndex{Option}{slocfield}

\subsection{Referenzfeld}

\begin{decl};\yourref;\arg{Ihr Zeichen}\\
            ;\yourmail;\arg{Ihr Schreiben vom}\\
            ;\myref;\arg{Unser Zeichen}\\
            ;\customer;\arg{Kundennummer}\\
            ;\invoice;\arg{Rechnungsnummer}\\
            ;\refitemi;\arg{Eigenes Feld 1}\\
            ;\refitemii;\arg{Eigenes Feld 2}\\
            ;\refitemiii;\arg{Eigenes Feld 3}\end{decl}%
\BeginIndex{Cmd}{yourref}\BeginIndex{Cmd}{yourmail}
\BeginIndex{Cmd}{myref}\BeginIndex{Cmd}{customer}
\BeginIndex{Cmd}{invoice}\BeginIndex{Cmd}{refitemi}
\BeginIndex{Cmd}{refitemii}\BeginIndex{Cmd}{refitemiii}
Unterhalb des Adre"sfeldes steht normalerweise das Datum bzw. bei
Gesch"aftsbriefen ein Referenzfeld mit vorgedruckten Unterfeldern f"ur
Kundennummer, Durchwahl, Sachbearbeiter und "ahnliches. Dies ist jetzt
auch m"oglich: Ohne weitere Angabe erscheint rechtsb"undig Ort (definiert
durch ;\place;\arg{Ort}\IndexCmd{place}) und Datum, w"ahrend bei Benutzung
mindestens eines der obenstehenden Befehle das Datum in Vordruckform und die
ge"-w"unschten Unterfelder horizontal gegeneinander zentriert gesetzt werden.
\EndIndex{Cmd}{yourref}\EndIndex{Cmd}{yourmail}
\EndIndex{Cmd}{myref}\EndIndex{Cmd}{customer}
\EndIndex{Cmd}{invoice}\EndIndex{Cmd}{refitemi}
\EndIndex{Cmd}{refitemii}\EndIndex{Cmd}{refitemiii}

\begin{decl};\refitemnamei;\arg{Vordruck}\\
            ;\refitemnameii;\arg{Vordruck}\\
            ;\refitemnameiii;\arg{Vordruck}\end{decl}%
\BeginIndex{Cmd}{refitemnamei}\BeginIndex{Cmd}{refitemnameii}
\BeginIndex{Cmd}{refitemnameiii}%
Die "`Vordrucke"' der selbstdefinierten Unterfelder lassen sich mit diesen
Befehlen bestimmen.%
\EndIndex{Cmd}{refitemnamei}\EndIndex{Cmd}{refitemnameii}
\EndIndex{Cmd}{refitemnameiii}

\subsection{Titel und Betreff}

\begin{decl};\title;\arg{"Uberschrift}\end{decl}%
\BeginIndex{Cmd}{title}%
Keine eigene Titelseite, sondern eine fettgedruckte "Uberschrift
(beispielsweise "`Rechnung"', "`1. Mahnung"') wird durch den Befehl ;\title;
unterhalb des Referenzfeldes erzeugt.%
\EndIndex{Cmd}{title}

\begin{decl};\subject;\arg{Kurzinhalt des Briefes}\\
            ;\subjecton;\\;\subjectoff;\end{decl}%
\BeginIndex{Cmd}{subject}\BeginIndex{Cmd}{subjecton}
\BeginIndex{Cmd}{subjectoff}
Ein "`Betreff"' l"a"st sich mit ;\subject; angeben, wobei mit ;\subjecton;
bzw.\ ;\subjectoff; das Wort "`Betr."' selbst an- und ausgeschaltet werden kann
(voreingestellt ist aus, also ;\subjectoff;).%
\EndIndex{Cmd}{subject}\EndIndex{Cmd}{subjecton}\EndIndex{Cmd}{subjectoff}

\subsection{Seitenstile\label{PAGESTYLES}}

\begin{decl};\firsthead;\arg{Kopf}\\
            ;\firstfoot;\arg{Fu"s}\\
            ;\nexthead;\arg{Kopf}\\
            ;\nextfoot;\arg{Fu"s}\end{decl}%
\BeginIndex{Cmd}{firsthead}\BeginIndex{Cmd}{firstfoot}
\BeginIndex{Cmd}{nexthead}\BeginIndex{Cmd}{nextfoot}%
In der \class{scrlettr}-class stehen nach wie vor die
Seitenstile\index{Seitenstil} ;empty;, ;plain; und ;headings; zur Verf"ugung
(Default ist ;plain;).  Zus"atzlich gibt es noch speziell f"ur die erste Seite
eines Briefes den Pagestyle ;firstpage;. Der eigentliche Clou an der Sache ist
nun, da"s die Eintr"age in den Kopf- und Fu"sbereich der Seiten bei
;firstpage; und ;headings; frei gestaltbar sind. Dies geschieht durch die
Befehle ;\firsthead;, ;\firstfoot;, ;\nexthead; und ;\nextfoot;, die bei einer
"Anderung auf jeden Fall \emph{vor} dem Aufruf des zugeh"origen
;\pagestyle{;\ldots;};- bzw.  ;\begin{letter};-Befehls ausgef"uhrt werden
m"ussen. Als Beispiel sollen die Vorbelegungen der class-Datei
dienen:%
\footnote{Das Verst"andnis der Definitionen ist zugegebenerma"sen nicht ganz
  einfach. Die Bedeutung der verwendeten Variablen schlagen Sie bitte in der
  Variablen"ubersicht in Abschnitt~\ref{VARIABLEN} nach.}
\begin{quote}\begin{small}\begin{verbatim}
\firsthead{\parbox[b]{\textwidth}{\begin{center}
           {\sc \ignorespaces \fromname}\\[-8pt]
           \rule{\textwidth}{.4pt}\\
           \ignorespaces \fromaddress \end{center}}}
\firstfoot{}
\nexthead{\parbox[b]{\textwidth}{{%
          \sc \ignorespaces \fromname}\\[8pt] \headtoname\
          \ignorespaces \toname \hfill \datename:\ \today
          \hfill \pagename\ \thepage\\[-8pt]
          \rule{\textwidth}{.4pt}}}
\nextfoot{}
\end{verbatim}\end{small}\end{quote}
%
Dadurch ist es nun m"oglich, eigene Briefk"opfe und Fu"sleisten (bespielsweise
f"ur Bankverbindungen, Gerichtsstand etc.) zu entwerfen. Der Phantasie
sind eigentlich nur durch die zur Verf"ugung stehenden Zeichens"atze
Grenzen gesetzt. Ausgefallenes l"a"st sich durch das
;picture;-Environment oder "`Metafont"'%
\footnote{Das ist keineswegs so schwer, wie es zun"achst erscheint, da es
  bereits Vektor-Graphikprogramme gibt, die auch Metafont-Ausgaben
  beherrschen. Aber Vorsicht! Metafont macht s"uchtig!}
realisieren.%
\EndIndex{Cmd}{firsthead}\EndIndex{Cmd}{firstfoot}
\EndIndex{Cmd}{nexthead}\EndIndex{Cmd}{nextfoot}

\subsection{Adre"sdateien\label{BRIEFKOPF}}

\begin{decl};\adrentry;\arg{Name}\arg{Vorname}\arg{Adresse}%
\arg{Telefonnummer}\arg{}\arg{}\arg{Kommentar}\arg{K"urzel}\end{decl}%
\BeginIndex{Cmd}{adrentry}%
Um nicht in jedem Brief die komplette Anschrift des Adressaten nachschlagen
und vor allem eingeben zu m"ussen, wurden Adre"sdateien (\file{.adr}-Files)
\label{ADR} eingef"uhrt. Sie enthalten f"ur jeden Adressaten einen Eintrag
in Form eines Befehls ;\adrentry;, dessen f"unftes und sechstes Argument dem
Anwender zur freien Verf"ugung steht.

Eine solche Adre"sdatei bindet man mit ;\input; entweder direkt in
den Quelltext des Briefes (am besten noch in der Pr"aambel) oder in das
oben vorgeschlagene Optionsfile, das die Voreinstellungen enth"alt, ein.
Im letzteren Fall kann man statt ;\input; nat"urlich auch den Befehl
;\InputIfFileExists; verwenden, der eine Fehlerbehandlung f"ur den Fall
erlaubt, da"s die Datei nicht existiert.

\begin{labeling}{\textsf{\textbf{Beispiel 2:\ }}}
\item[\textsf{\textbf{Beispiel 1:\ }}] Frank Neukams pers"onliches
  Optionsfile\label{PRIVAT} sieht folgenderma"sen aus:
\begin{small}\begin{verbatim}
% privat.sty
\name{Frank Neukam}
\address{Franz-Stadelmayer-Str. 30\\97074 W"urzburg}
\backaddress{F. Neukam, F.-Stadelmayer-Str. 30, 97074 W"urzburg}
\place{W"urzburg, }
\input{privat.adr}
\end{verbatim}\end{small}
    
  \item[\textsf{\textbf{Beispiel 2:\ }}] Markus Kohms pers"onliches
    Optionsfile  ist "`etwas"' aufwendiger, demonstriert aber gut die
    tats"achlichen M"oglichkeiten:
\begin{small}\begin{verbatim}
% mjk.sty, private Einstellungen f"ur scrlettr
% (in Verbindung mit der Option `wlocfield' verwenden)
% Markus Kohm, irgendwann 1994 und in Wirklichkeit l"angst
% "uberholt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ProvidesFile{mjk}
\typeout{Absender ist: Markus Kohm}
\font\mklogo  =mklogo scaled \magstep0 % beinhaltet mein Logo

\newcommand\mk{\mklogo\symbol{0}}
\name{Markus Kohm}
\signature{\qquad Markus Kohm}
\address{Fichtenstra"se 63\\68535 Edingen-Neckarhausen}
\backaddress{Markus Kohm $\cdot$\
             Fichtenstra"se 63 $\cdot$\
             68535 Edingen-Neckarhausen}
\place{Edingen-Neckarhausen, }
\telephone{(0\,62\,03)~} % Geheimnummer entfernt
\location{\begin{flushleft}\small\sf%
          {\sfb email:}\\
          Mausnet:\\\hspace{1em}Markus Kohm @ HD\\[.8ex]
          Internet:\\\hspace{1em} Markus.Kohm@gmx.de\\[1.5ex]
          {\sfb Telefon:}~~\telephonenum\\
          \end{flushleft}}
\firsthead{\parbox{\textwidth}{%\vspace*{1ex}
            \parbox{2cm}{\mk}\hfill\parbox{\locwidth}
            {\begin{flushleft}
             \fontsize{12}{14.5}\selectfont
             {\sfb\ignorespaces\fromname}\\
             {\sf\ignorespaces\fromaddress}\\
             \end{flushleft}}\par
            \vspace{1ex}\rule{\textwidth}{0.8pt}}}
\firstfoot{\parbox[t]{\textwidth}{\begin{center}
           \sffamily\slshape\fontsize{8}{9}\selectfont
           \rule{\textwidth}{.4pt}\\
           Bankverbindung: Sparda-Bank Baden-W\"urttemberg
                           (BLZ~660\,908\,00)
           Konto-Nr.~995\,894\end{center}}}
\nexthead{\parbox[b]{\textwidth}{{%
          \sfb\ignorespaces\fromname}
          \hfill\sf\headtoname\ \ignorespaces\toname
          \hfill\datename:\ \@date\hfill\pagename\
          \thepage\\[-8pt]\rule{\textwidth}{.4pt}}}
\nextfoot{\parbox[t]{\textwidth}{\begin{center}
          \sffamily\slshape\fontsize{8}{9}\selectfont
          \rule{\textwidth}{.4pt}\\
          Bankverbindung: Sparda-Bank Baden-W\"urttemberg
                          (BLZ~660\,908\,00)
          Konto-Nr.~995\,894\end{center}}}
\pagestyle{headings}
\InputIfFileExists{privat.adr}{\typeout{Private Adressen geladen}}
                              {\typeout{Keine privaten Adressen!}}
\endinput
\end{verbatim}\end{small}
\end{labeling}

\noindent F"ur jeden \file{.adr}-Eintrag wird dann die komplette Anschrift
unter dem jeweiligen K"urzel als \TeX-Makro abgelegt. Um das "Uberschreiben
von \TeX- oder \LaTeX-Befehlen zu vermeiden, ist es empfehlenswert, f"ur
K"urzel nur Gro"sbuchstaben zu verwenden. Lautet also beispielsweise ein
\file{.adr}-Eintrag
\begin{quote}\begin{small}\begin{verbatim}
\adrentry{abc-Lernsysteme}
         {}
         {z.Hd. Frau Streb\\Schulstr.1\\2345 Paukstadt}
         {0\,678 / 90\,12\,34}
         {}
         {}
         {}
         {ABC}
\end{verbatim}\end{small}\end{quote}
%
so schreibt man anstelle der kompletten Adresse nur noch
;\begin{letter}{\ABC};.  Mit Hilfe der im \script{Script}-Paket
enthaltenen \file{dir.tex}-Datei kann aus einer \file{.adr}-Datei ein
Adre"sheft erzeugt werden, das nach Zurechtschneidung in die
Standard-Ta"-schen"-ka"-len"-der"-h"ul"-len pa"st. Dazu sollten die
Eintr"age alphabetisch sortiert sein und vor jedem neu begonnenen
Anfangsbuchstaben des Nachnamens ein ;\adrchar;\arg{Anfangsbuchstabe}
stehen. Von der \class{scrlettr}-class wird dieser Befehl ignoriert.
;dir.tex; jedoch beginnt bei einer solchen Anweisung eine neue Seite
und schreibt diesen Buchstaben in die Kopfzeile. Am besten probieren
Sie dieses Programm einfach einmal anhand einer kleinen Adre"sdatei
aus, alle ben"otigten Informationen werden w"ahrend des
\TeX-Kompilerlaufes erfragt.

"Ahnlich wie \file{dir.tex} arbeitet das Programm \file{phone.tex},
nur da"s dieses anstelle eines Adre"sheftes ein Telefonnummern-Verzeichnis
anlegt. ;\adrchar; erzeugt hier lediglich einen kleinen vertikalen
Zwischenraum.

\subsection{Serienbriefe}

Eine weitere Anwendung der \file{.adr}-Dateien sind Serienbriefe.

\begin{Beispiel}
  Mit der folgenden kurzen Datei kann eine Einladung an s"amtliche Kollegen
  eines Betriebes erzeugt werden:
\begin{quote}\begin{small}\begin{verbatim}
\documentclass{scrlettr}
\usepackage{privat,german}
\begin{document}
\def\adrentry#1#2#3#4#5#6#7#8{
 \begin{letter}{#2 #1\\#3}
 \opening{Liebe Kolleginnen und Kollegen,}
 anl"a"slich meines ...
 \closing{Mit freundlichen Gr"u"sen}
 \end{letter}
}
\input{kollegen.adr}
\end{document}
\end{verbatim}\end{small}\end{quote}
\end{Beispiel}

Soll der Brieftext abh"angig von Adressatenmerkmalen, die in den
beiden noch freien Argumenten des ;\adrentry;-Befehls stehen,
ver"anderlich sein, k"onnen Konstrukte der folgenden Form verwendet
werden:%
\footnote{Als Beispiel ist das Geschlecht des Empf"angers im Argument \#5
  kodiert: m f"ur m"annlich, w f"ur weiblich. In Argument \#6 steht die Anzahl
  der Kinder.}
\begin{quote}\begin{small}\begin{verbatim}
\def\adrentry#1#2#3#4#5#6#7#8{
 \ifcase #6
  % Dieser Zweig wird bei #6 = 0 abgearbeitet.
  % In diesem Beispiel sind Empf"anger ohne Kinder uninteressant,
  % weshalb im \else-Zweig nur Briefe an Kunden mit mindestens
  % einem Kind erzeugt werden.
 \else
  % #6 > 0
  \begin{letter}{#2 #1\\#3}
   \if #5m \opening{Sehr geehrter Herr #1,} \fi
   \if #5w \opening{Sehr geehrte Frau #1,} \fi

   Sie als% Direkt nach 'als' mu"s ein % stehen, da der \if-Befehl
          % vor 'gl"ucklich..' einen zus"atzlichen Leerraum
          % generiert (nach \fi jedoch nicht}.
   \if #5m gl"ucklicher Vater \fi
   \if #5w gl"uckliche Mutter \fi
   wissen sicher am besten, was gut f"ur
   \ifnum #6 < 2
    Ihr Kind
   \else
    Ihre Kinder
   \fi
   ist. Um Sie...

   \closing{Mit freundlichen Gr"u"sen}
  \end{letter}
 \fi
}
\end{verbatim}\end{small}\end{quote}
%
Es ist also auch m"oglich, den Brieftext auf bestimmte Empf"angermerkmale
gezielt abzustimmen und so den Eindruck eines pers"onlichen Schreibens
zu erwecken. Die Anwendungsbreite ist lediglich durch die maximale Anzahl
von zwei freien ;\adrentry;-Ar"-gumenten begrenzt.
\EndIndex{Cmd}{adrentry}

\subsection{Das scraddr-package zur Auswertung von Adre"sdateien}
\BeginIndex{Package}{scraddr}

Dieses Paket liest beliebige - auch mehrere - Adre"sdateien im oben
beschriebenen Format ein und legt f"ur jeden Eintrag eine Reihe von
Makros an. Bedingung daf"ur ist, da"s das achte Element jedes
;\adrentry;-Eintrags - der K"urzeleintrag - nicht leer ist. Im Falle von
identischen K"urzeleintr"agen "uberschreiben sp"atere Eintr"age
fr"uhere. Die Inhalte k"onnen dann "uber spezielle Befehle ermittelt
werden.

Das Paket besitzt keine Optionen.

\begin{decl};\InputAddressFile;\arg{Dateiname}\end{decl}%
\BeginIndex{Cmd}{InputAddressFile}
Mit Hilfe des Befehls ;\InputAddressFile; wird die angegebene
Adre"sdatei eingelesen und in Adre"smakros gewandelt, die dann beliebig
verwendet werden k"onnen. Die Adre"smakros werden global generiert.
Andere Makros insbesondere die Definition von
\IndexCmd{adrentry};\adrentry; bleiben davon unber"uhrt.

Existiert die Datei \emph{Dateiname} nicht, so wird ein Fehler
ausgegeben, ansonsten wird die Ladeaktion angezeigt.
\EndIndex{Cmd}{InputAddressFile}

\begin{decl};\Name;\arg{K"urzel}\\
            ;\FirstName;\arg{K"urzel}\\
            ;\LastName;\arg{K"urzel}\\
            ;\Address;\arg{K"urzel}\\
            ;\Telephone;\arg{K"urzel}\\
            ;\FreeI;\arg{K"urzel}\\
            ;\FreeII;\arg{K"urzel}\\
            ;\Comment;\arg{K"urzel}\end{decl}%
\BeginIndex{Cmd}{Name}\BeginIndex{Cmd}{FirstName}
\BeginIndex{Cmd}{LastName}\BeginIndex{Cmd}{Address}
\BeginIndex{Cmd}{Telephone}\BeginIndex{Cmd}{FreeI}
\BeginIndex{Cmd}{FreeII}\BeginIndex{Cmd}{Comment}%
Da keine Vorschriften existieren, wie genau das K"urzel aufgebaut sein mu"s,
k"onnen innerhalb des K"urzels theoretisch auch solche Zeichen enthalten sein,
die f"ur Makronamen normalerweise ungeeignet sind (beispielsweise Punkte oder
Ziffern). Deshalb existiert ein Satz von Befehlen, "uber den auf die zu einem
K"urzel geh"orenden Elemente zugegriffen werden kann. Dabei wird davon
ausgegangen, da"s die Adre"sdatei dem zuvor vorgeschlagenen Aufbau entspricht.

Bedingung f"ur die korrekte Funktion ist, da"s die ;\adrentry;-Eintr"age
in der Adre"sdatei dem zuvor genannten Aufbau entsprechen! Au"serdem darf
in den K"urzeln kein Zeichen enthalten sein, das u.U. von einer
Makroexpansion betroffen w"are. Es empfiehlt sich daher, sich auf
Buchstaben (ohne Umlaute!) und Ziffern zu beschr"anken.
\EndIndex{Cmd}{Comment}\EndIndex{Cmd}{FreeII}
\EndIndex{Cmd}{FreeI}\EndIndex{Cmd}{Telephone}
\EndIndex{Cmd}{Address}\EndIndex{Cmd}{LastName}
\EndIndex{Cmd}{FirstName}\EndIndex{Cmd}{Name}

\EndIndex{Package}{scraddr}

\subsection{Adre"sdatenbankkonverter}

\index{~\BibTeX}
Gerd Neugebauer hat f"ur \BibTeX\ eine Adre"sdatenbank definierter und dazu
passend den Bibliographie-Stil \texttt{address.bst} erstellt. Diese Datenbank
enth"alt wesentlich mehr Eintr"age als die Adre"sdateien, die \script{Script}
verwendet. Dar"uber hinaus ist sie beliebig erweiterbar. Es dr"angt sich
nat"urlich die Frage auf, ob man nicht irgendwie die \BibTeX-Datenbank bzw.
die relevanten Teile daraus f"ur \script{Script} aufbereiten und verwenden
kann.

Axel Kielhorn ist dieses Problem angegangen und hat zwei Bibliographie-Stile
geschrieben, die als Beispiele dienen k"onnen. Diese Stile stellen keine
ultimative L"osung dar, sondern sie sollen Hinweise geben, was man selbst
alles machen kann. Durch Ab"anderung der Bespiele kann man leicht seinen
eigenen Konverter erzeugen. Dadurch kann man z.\,B. beliebige Felder der
\BibTeX-Datenbank in die freien Felder der Adre"sdatei "ubernehmen.

Zur Funktion von \BibTeX\ lesen Sie bitte in der Anleitung zu \BibTeX\
(\file{btxdoc} und \file{btxhak}) nach.

Zuk"unftig wird Axel Kielhorn den Adre"skonverter als eigenst"andiges Paket
pflegen. Derzeit existiert jedoch nur eine Beta-Version davon, so da"s der
endg"ultige Ort der Verbreitung und der Name noch nicht feststeht. Es wird
jedoch angestrebt, auf CTAN im Unterverzeichnis \texttt{contrib} des
\texttt{koma-script}-Verzeichnisses einen Link auf das Paket zu
finden. Derzeit ist im \script{KOMA-Script}-Paket zur Sicherheit noch eine
"altere Version des Konverters enthalten. Diese wird in zuk"unftigen Versionen
m"oglicherweise entfallen!

\subsubsection{Die Bibliographie-Stile zur Konvertierung}

\Index[texttt]{adrguide.tex}Inzwischen liegt dem Paket mit \file{adrguide.tex}
auch die Originalanleitung von Axel Kielhorn bei, deren Studium ich Ihnen
ebenfalls nahe lege.

\Index[texttt]{addrconv.bst}
Der erste Bibliographie-Stil, \file{addrconv.bst}, erzeugt einfach eine
Adre"sdatei mit den notwendigen Eintr"agen \m{Name}, \m{Vorname}, \m{Adresse}
und \m{Telefonnummer}. Dabei werden die Eintr"age der Adre"sdatei
alphabethisch sortiert und auch der ;\adrchar; wird automatisch gesetzt.

Den Inhalt der Adre"sdatei kann man anschlie"send sehr sch"on mit den beiden
Beispieldateien \file{dir.tex} und \file{phone.tex} ausgeben lassen.

\Index[texttt]{birthday.bst}
Der zweite Bibliographie-Stil, \file{birthday.bst}, erzeugt stattdessen eine
Geburtstagsliste. Dabei werden die Eintr"age nicht alphabetisch sondern nach
den Geburtstagen (also Monat und Jahr) sortiert.

Eine sinnvolle Ausgabe ist hier ebenfalls mit \file{dir.tex} m"oglich.

\Index[texttt]{email.bst}
Eine Liste der E-Mail-Adressen kann ebenfalls erstellt werden.

\subsubsection{Die Anwendung der Bibliographie-Stile zur Konvertierung}

\Index[texttt]{addrconv.tex}\Index[texttt]{birthday.tex}%
\Index[texttt]{email.tex}
Normalerweise schreibt man die Information, welcher Bibliographie-Stil und
welche Datenbank verwendet werden soll in die \LaTeX-Datei, in
die die Datenbank eingebunden werden soll. Beim ersten \TeX-Lauf wird die
entsprechende Information dann in der zugeh"origen \file{aux}-Datei abgelegt.
Von dort liest \BibTeX\ die Informationen und erzeugt dann mit Hilfe des
Bibliographie-Stils in einer \texttt{bst}-Datei aus einer
Quell-\file{bib}-Datei die Zieldaten in der \file{bbl}-Datei. Diese werden
dann beim n"achsten \TeX-Lauf mit eingelesen und verarbeitet.

In unserem Fall der Konvertierung ist das nur bedingt m"oglich. So existiert
zwar eine \file{bib}-Datei und auch die beiden Bibliographie-Stile in den
\file{bst}-Dateien, aber es fehlt die \file{tex}-Datei, aus der \LaTeX\ die
Information in eine \file{aux}-Datei schreiben k"onnte. Genau daf"ur dienen
die beiden Dateien \file{addrconv.tex} und \file{birthday.tex}. Es handelt
sich dabei um interaktive \TeX-Programme, die sowohl unter \TeX (Plain\TeX)
als auch unter \LaTeX\ funktionieren.

Nach dem Start wird man nach dem Namen der \BibTeX-Datenbank gefragt, die
konvertiert werden soll. Der Name mu"s ohne die Endung "`\texttt{.bib}"'
eingegeben werden! Daraufhin wird eine Datei gleichen Namens aber mit der
Endung "`\texttt{.aux}"' erzeugt. Starten Sie nun \BibTeX, wobei Sie als
Parameter ebenfalls wieder den Dateinamen ohne Endung angeben. \BibTeX\
erzeugt daraufhin (vorausgesetzt die \file{bst}-Datei wird gefunden) eine
Datei gleichen Namens jedoch mit der Endung "`\texttt{.bbl}"'. Jetzt m"ussen
Sie nur noch die Endung in "`\texttt{.adr}"' "andern und k"onnen die Datei
z.\,B. mit \file{dir.tex} oder \file{phone.tex} weiterbearbeiten.

\file{addrconv.tex} erzeugt eine \file{aux}-Datei f"ur die Verwendung von
\file{addrconv.bst}, w"ah"-rend \file{birthday.tex} eine \file{aux}-Datei f"ur
die Verwendung von \file{birthday.bst} und entsprechend \file{email.tex} eine
\file{aux}-Datei f"ur die Verwendung von \file{email.bst} erzeugt.

Hier das Protokoll einer Beispielbearbeitung f"ur die Beispieldatenbank
\file{example.bib}:
\begin{alltt}
 \textbf{sh>}tex addrconv.tex
 This is TeX, Version 3.1415926536
 (addrconv.tex
 Now you have to typein the name of the BibTeX addressfile, you want to
 convert to script-address-file-format (without extension `.bib'):
 Geben Sie nun den Namen der BibTeX-Adressdatei ein, die sie in das
 Script-Adressdateiformat konvertieren wollen (ohne `.bib'):

 addressfile=example

 After running BibTeX rename file `example.bbl' to `example.adr'!
 Nach dem BibTeX-Lauf benennen Sie bitte die Datei `example.bbl' in
 `example.adr' um!
  )
 No pages of output.
 Transcript written on addrconv.log.
 \textbf{sh>}bibtex example
 This is BibTeX, 8-bit Version 0.99c // 0.6cs
 The top-level auxiliary file: example.aux
 The style file: addrconv.bst
 Database file #1: example.bib
 \textbf{sh>}mv example.bbl example.adr
\end{alltt}

Die erzeugte Adre"sdatei, \file{example.adr}, sieht dann so aus:

\begin{verbatim}
 \adrchar{K}
 \adrentry{Kielhorn}{Axel}
 {Stra{\ss}e des 16.~Mai 17 \\ 38118 Braunschweig}
 {0531 / 89 34 39}{}{}{}{}
 \adrentry{Kielhorn}{Ralf}
 {Stra{\ss}e des 17.~Juni 17 \\ 38118 Braunschweig}
 {0531 / 89 34 39}{}{}{}{}
 \adrentry{Kohm}{Markus}
 {Fichtenstra{\ss}e 63 \\ 68535 Edingen-Neckarhausen}
 {Ruft lieber mal wieder Eure Oma an!}{}{}{}{}

 \adrchar{M}
 \adrentry{Mustermann}{Hans}
 {Einbahnstra{\ss}e 1 \\ 01234 Heimstatt}
 {01234 / 5 67 89}{}{}{}{}
\end{verbatim}

Sollten Sie Fragen zu den Bibliographie-Stilen haben, so wenden Sie sich bitte
direkt an Axel Kielhorn (E-Mail: Axel.NoSpam@gmx.de).

\clearpage
\section{Befehls- und Variablen"ubersicht\label{VARIABLEN}}

\minisec{Briefspezifische Befehle, die strukturbeschreibend sind oder eine
Ausgabe erzeugen:}
\vspace{0.5em}
\begin{labeling}{\tt\bslash begin\purearg{letter}\arg{Adressat}}
\item[\tt\bslash begin\purearg{letter}\arg{Adressat}]
  \IndexCmd{begin\string{letter\string}} Markiert den Beginn eines Briefes an
  \emph{Adressat} und beginnt eine neue Seite
\item[\tt\bslash end\purearg{letter}] \IndexCmd{end\string{letter\string}}
  Markiert das Ende eines Briefes
\item[\tt\bslash opening\arg{Anrede}] \IndexCmd{opening} Setzt alle Teile
  eines Briefes oberhalb und einschlie"slich der \emph{Anrede}
\item[\tt\bslash closing\arg{Gru"sformel}] \IndexCmd{closing} Setzt
  \emph{Gru"sformel} und Unterschrift
\item[\tt\bslash ps\arg{Postskriptum}] \IndexCmd{ps} Setzt ein
  \emph{Postskriptum}
\item[\tt\bslash cc\arg{Verteiler}] \IndexCmd{cc} Setzt eine Verteilerliste
  (Eintr"age durch \texttt{\bslash\bslash} abgetrennt)
\item[\tt\bslash encl\arg{Anlagen}] \IndexCmd{encl} Setzt eine Anlagenliste
  (Eintr"age durch \texttt{\bslash\bslash} abgetrennt)
\end{labeling}
\vspace{1em}

\minisec{Befehle der Adre"sdateien:}
\vspace{0.5em}
;\adrchar; und ;\adrentry; (s.o.)
\vspace{1.5em}

\minisec{Befehle zur Sprachumschaltung:}
\vspace{0.5em}
\begin{labeling}[\ ]{\tt\bslash captionsUSenglish}
\item[\tt\bslash captionsenglish] \IndexCmd{captionsenglish} Selektiert
  englische Caption-Texte
\item[\tt\bslash captionsUSenglish] \IndexCmd{captionsUSenglish} Selektiert
  amerikanische Caption-Texte
\item[\tt\bslash captionsgerman] \IndexCmd{captionsgerman} Selektiert deutsche
  Caption-Texte
\item[\tt\bslash captionsaustrian] \IndexCmd{captionsaustrian} Selektiert
  "osterreichische Caption-Texte
\item[\tt\bslash captionsfrench] \IndexCmd{captionsfrench} Selektiert
  franz"osische Caption-Texte
\item[\tt\bslash captionsitalian] \IndexCmd{captionsitalian} Selektiert
  italienische Caption-Texte
\item[\tt\bslash dateenglish] \IndexCmd{dateenglish} Englisches Datum
  (1/12/1993)
\item[\tt\bslash dateUSenglish] \IndexCmd{dateUSenglish} Amerikanisches Datum
  (12/1/1993)
\item[\tt\bslash dategerman] \IndexCmd{dategerman} Deutsches Datum
  (1.\,12.\,1993)
\item[\tt\bslash dateaustrian] \IndexCmd{dateaustrian} "Osterreichisches Datum
  (1.\,12.\,1993)
\item[\tt\bslash datefrench] \IndexCmd{datefrench} Franz"osisches Datum
  (1.\,12.\,1993)
\item[\tt\bslash dateitalian] \IndexCmd{dateitalian} Italienisches Datum
  (1.\,12.\,1993)
\end{labeling}
\vspace{1em}

\minisec{Sprachabh"angige Variablen}
\vspace{0.5em}
(d"urfen an beliebiger Stelle nach dem ;\begin{document};-Befehl
verwendet werden, k"onnen aber nur mit Hilfe von
;\renewcommand; ge"andert werden. Die Liste enth"alt die Variableninhalte
nur in Englisch, Deutsch und Franz"osisch, da die amerikanischen Namen
den englischen und die "osterreichischen den deutschen entsprechen. Die
Inhalte f"ur weitere Sprachen -- z.\,B. das ebenfalls implementierte
Italienisch -- entnehmen Sie bitte der Implementierungsdokumentation bzw. der
Klasse):
\vspace{0.5em}
\begin{labeling}{\tt 1234567890123}
\item[\tt\bslash yourrefname] \IndexCmd{yourrefname} Your ref. / Ihr Zeichen /
  Vos r\'ef\'erences
\item[\tt\bslash yourmailname] \IndexCmd{yourmailname} Your letter of / Ihr
  Schreiben vom / Votre lettre du
\item[\tt\bslash myrefname] \IndexCmd{myrefname} Our ref. / Unser Zeichen /
  Nos r\'ef\'erences
\item[\tt\bslash customername] \IndexCmd{customername} Customer no. /
  Kundennummer / Num\'ero de client
\item[\tt\bslash invoicename] \IndexCmd{invoicename} Invoice no./
  Rechnungsnummer / Num\'ero de facture
\item[\tt\bslash subjectname] \IndexCmd{subjectname} Subject / Betr. /
  Concernant
\item[\tt\bslash ccname] \IndexCmd{ccname} cc / Kopien an / Copie \`a
\item[\tt\bslash enclname] \IndexCmd{enclname} encl / Anlagen / Annexes
\item[\tt\bslash headtoname] \IndexCmd{headtoname} To / An / A
\item[\tt\bslash datename] \IndexCmd{datename} Date / Datum / Date
\item[\tt\bslash pagename] \IndexCmd{pagename} Page / Seite / Page
\end{labeling}
\vspace{1em}

\minisec{Briefspezifische Variablen und deren Befehle zur Neu- oder Umdefinierung}
\vspace{0.5em}
(Variablen mit ;@; sind gesch"utzt, alle anderen k"onnen
an beliebiger Stelle verwendet werden):
\vspace{0.5em}
\begin{labeling}[\textrm{"andert}]{\tt 1234567890123456}
\item[\tt\bslash name] \IndexCmd{name} ;\fromname;\IndexCmd{fromname}
\item[\tt\bslash signature] \IndexCmd{signature} ;\fromsig;\IndexCmd{fromsig}
\item[\tt\bslash address] \IndexCmd{address}
  ;\fromaddress;\IndexCmd{fromaddress}
\item[\tt\bslash place] \IndexCmd{place} ;\fromplace;\IndexCmd{fromplace}
\item[\tt\bslash location] \IndexCmd{location}
  ;\fromlocation;\IndexCmd{fromlocation}
\item[\tt\bslash backaddress] \IndexCmd{backaddress}
  ;\frombackaddress;\IndexCmd{frombackaddress}
\item[\tt\bslash telephone] \IndexCmd{telephone}
  ;\telephonenum;\IndexCmd{telephonenum}
\item[\tt\bslash yourref] \IndexCmd{yourref} ;\varyourref;\IndexCmd{yourref}
\item[\tt\bslash yourmail] \IndexCmd{yourmail}
  ;\varyourmail;\IndexCmd{yourmail}
\item[\tt\bslash myref] \IndexCmd{myref} ;\varmyref;\IndexCmd{myref}
\item[\tt\bslash customer] \IndexCmd{customer}
  ;\varcustomer;\IndexCmd{customer}
\item[\tt\bslash invoice] \IndexCmd{invoice} ;\varinvoice;\IndexCmd{invoice}
\item[\tt\bslash refitemi] \IndexCmd{refitemi}
  ;\varrefitemi;\IndexCmd{refitemi}
\item[\tt\bslash refitemii] \IndexCmd{refitemii}
  ;\varrefitemii;\IndexCmd{refitemii}
\item[\tt\bslash refitemiii] \IndexCmd{refitemiii}
  ;\varrefitemiii;\IndexCmd{refitemiii}
\item[\tt\bslash refitemnamei] \IndexCmd{refitemnamei}
  ;\varrefitemnamei;\IndexCmd{refitemnamei}
\item[\tt\bslash refitemnameii] \IndexCmd{refitemnameii}
  ;\varrefitemnameii;\IndexCmd{refitemnameii}
\item[\tt\bslash refitemnameiii] \IndexCmd{refitemnameiii}
  ;\varrefitemnameiii;\IndexCmd{refitemnameiii}
\item[\tt\bslash specialmail] \IndexCmd{specialmail}
  ;\@specialmail;\index{specialmail=;\@specialmail;}
\item[\tt\bslash title] \IndexCmd{title} ;\@title;\index{title=;\@title;}
\item[\tt\bslash subject] \IndexCmd{subject}
  ;\@subject;\index{subject=;\@subject;}
\item[\tt\bslash firsthead] \IndexCmd{firsthead}
  ;\@firsthead;\index{firsthead=;\@firsthead;}
\item[\tt\bslash firstfoot] \IndexCmd{firstfoot}
  ;\@firstfoot;\index{firstfoot=;\@firstfoot;}
\item[\tt\bslash nexthead] \IndexCmd{nexthead}
  ;\@nexthead;\index{nexthead=;\@nexthead;}
\item[\tt\bslash nextfoot] \IndexCmd{nextfoot}
  ;\@nextfoot;\index{nextfoot=;\@nextfoot;}
\end{labeling}
\vspace{1em}

\minisec{Briefspezifische L"angenangaben}
\vspace{0.5em}
(voreingestellte L"ange in eckigen Klammern):
\vspace{0.5em}
\begin{labeling}{\tt 1234567890123}
\item[\tt\bslash foldhskip] \IndexCmd{foldhskip} Abstand der Falzmarken vom
  linken Papierrand [3.5\,mm]
\item[\tt\bslash foldvskipi] \IndexCmd{foldvskipi} Abstand der ersten
  Falzmarke vom oberen Papierrand [62\,mm]
\item[\tt\bslash foldvskipii] \IndexCmd{foldvskipii} Abstand der zweiten
  Falzmarke von der ersten Falzmarke [40.5\,mm]
\item[\tt\bslash foldvskipiii] \IndexCmd{foldvskipiii} Abstand der dritten
  Falzmarke von der zweiten Falzmarke [58.5\,mm]
\item[\tt\bslash addrvskip] \IndexCmd{addrvskip} Abstand des Adre"sfensters
  von der Textbereichs-Oberkante [7.5\,mm]
\item[\tt\bslash addrindent] \IndexCmd{addrindent} Abstand des Adre"sfensters
  vom linken Rand des Textbereiches [0\,mm]
\item[\tt\bslash addrwidth] \IndexCmd{addrwidth} Breite des Adre"sfensters
  [70\,mm]
\item[\tt\bslash addrheight] \IndexCmd{addrheight} H"ohe des Adre"sfensters
  [35\,mm]
\item[\tt\bslash locwidth] \IndexCmd{locwidth} Breite des "`Location"'-Feldes
  [(;\textwidth;$-$;\addrwidth;)/2 bei Option ;slocfield; oder
  (;\textwidth;$-$;\addrwidth;)$*2/3$ bei Verwendung der Option ;wlocfield;]
\item[\tt\bslash refvskip] \IndexCmd{refvskip} Abstand des Referenzfeldes von
  der Adre"sfeld-Unterkante [5.5\,mm]
\item[\tt\bslash sigindent] \IndexCmd{sigindent} Abstand der Gru"sformel und
  der Unterschrift vom linken Rand des Textbereiches [0\,mm]
\end{labeling}
\vspace{1em}

\minisec{Befehle zum Setzen interner Abst"ande}
\vspace{0.5em}
(voreingestellte L"ange in eckigen Klammern):
\vspace{0.5em}
\begin{labeling}[\textrm{setzt}]{\tt 123456789012345}
\item[\tt\bslash setpresigskip] \IndexCmd{setpresigskip}
  Abstand zwischen Schlu"sgru"s\index{Schlu"sgru"s} und
  Signatur\index{Signatur}%
  \index{Unterschrift|see{Signatur}}%
  \index{Briefunterschrift|see{Signatur}}
  [2{\tt\bslash baselineskip}]
\end{labeling}
\vspace{1em}

\minisec{Schalter}
\vspace{0.5em}
(an jeden Schalternamen ist noch ;on; bzw. ;off; anzuh"angen):
\vspace{0.5em}
\begin{labeling}[\textrm{schaltet}]{\tt 12345678901}
\item[\tt\bslash foldmarks] \IndexCmd{foldmarks}
  Falzmarken\index{Faltmarken}\index{Falzmarken} [Default = on]
\item[\tt\bslash addrfield] \IndexCmd{addrfield} Adre"s- und "`Location"'-Feld
  [Default = on]
\item[\tt\bslash subject] \IndexCmd{subject} "`Betreff"'-Text [Default = off]
\end{labeling}

\clearpage
\makeatletter
\let\ps@oldplain\ps@plain
\let\ps@oldheadings\ps@headings
\makeatother
\renewpagestyle{plain}{(\textwidth,0pt)%
                       {\hfill}{\hfill}{\hfill}%
                       (\textwidth,0pt)}%
                      {(\textwidth,.4pt)%
                       {\pagemark\hfill}%
                       {\hfill\pagemark}%
                       {\hfill\pagemark\hfill}%
                       (\textwidth,1pt)}
\renewpagestyle{headings}{(\textwidth,1pt)%
                {\headmark\hfill}{\hfill\headmark}{\hfill\headmark\hfill}%
                (\textwidth,.4pt)}%
               {(\textwidth,.4pt)%
                {\pagemark\hfill%
                 Copyright \copyright\ Markus Kohm, 1994--1997}%
                {Package \texttt{scrpage}\hfill\pagemark}%
                {\rlap{Package \texttt{scrpage}}\hfill%
                 Copyright \copyright\ Markus Kohm, 1994--1997\hfill%
                 \llap\pagemark}%
                (\textwidth,1pt)}
\pagestyle{headings}

\chapter{Das scrpage-package}\label{SCRPAGE}
\BeginIndex{Package}{scrpage}
Das \package{scrpage}-package definiert eine neue Schnittstelle
um das Seitenlayout wesentlich flexibler definieren zu k"onnen, als dies
mit dem Befehl ;\pagestyle; m"oglich ist. Es "ahnelt in dieser Hinsicht
dem \package{fancyheadings}-package~\cite{fancyheadings}, beschreitet aber
in vielerlei Hinsicht neue Wege. So existiert z.\,B. neben der normalen,
einfachen Anwenderschnittstelle auch eine komplexere, aber auch flexiblere
f"ur die Experten unter uns.

Das \package{scrpage}-package funktioniert hierbei nicht nur mit den
\script{KOMA}-classes, sondern auch mit den \LaTeX -classes \class{article},
\class{report} und \class{book}.

\section{Die Anwenderschnittstelle}

\begin{decl};\headfont;\\;\pnumfont;\end{decl}%
\BeginIndex{Cmd}{headfont}\BeginIndex{Cmd}{pnumfont}%
Der Befehl ;\headfont; wird benutzt, um auf den f"ur die Seitenk"opfe und
"~f"u"se definierten Zeichensatz umzuschalten. ;\pnumfont; hingegen bestimmt
den Zeichensatz der Seitennummern. Beide Befehle sind mit ;\normalfont;
vorbelegt, k"onnen aber nat"urlich auf die eigenen Bed"urfnisse umdefiniert
werden, beispielsweise mit
\begin{quote};\renewcommand{\headfont}{\normalfont\slshape}; \quad .\end{quote}
\EndIndex{Cmd}{headfont}\EndIndex{Cmd}{pnumfont}

\begin{decl};\headmark;\end{decl}%
\BeginIndex{Cmd}{headmark}%
Wird mittels der Option ;twoside; ein zweiseitiges Layout gew"ahlt, so
entspricht der Befehl ;\headmark; dem \LaTeX -Befehl ;\leftmark; auf geraden
bzw.\ ;\rightmark; auf ungeraden Seiten. Bei einseitigem Layout entspricht
;\headmark; immer ;\rightmark;.  Das \package{scrpage}-package nimmt einem
also die Entscheidung, ob es sich bei der aktuellen Seite um eine gerade oder
ungerade Seite handelt, ab, so da"s ;\headmark; in jedem Falle die aktuelle
Kopfzeile enth"alt.%
\EndIndex{Cmd}{headmark}

\begin{decl};\pagemark;\end{decl}%
\BeginIndex{Cmd}{pagemark}%
;\pagemark; enth"alt immer die aktuelle Seitenzahl. Im Gegensatz zu ;\thepage;
wird bei ;\pagemark; automatisch der richtige Zeichensatz (mittels
;\pnumfont;) ausgew"ahlt.%
\EndIndex{Cmd}{pagemark}

\begin{decl};\deftripstyle;\arg{Name}\oarg{olw}\oarg{ilw}%
  \arg{headleft}\arg{headmid}\arg{headright}\\
  \phantom{\texttt{xdeftripstyle}\arg{Name}\oarg{olw}\oarg{ilw}}%
  \arg{footleft}\arg{footmid}\arg{footright}%
\end{decl}%
\BeginIndex{Cmd}{deftribstyle}%
Mittels ;\deftripstyle; wird nun ein neues Seitenlayout namens \m{Name}
definiert. Die Argumente \m{headleft}, \m{headmid}, \m{headright},
\m{footleft}, \m{footmid} und \m{footright} verteilen sich dabei wie folgt auf
die Seiten:
%
\begin{center}\setlength{\unitlength}{1mm}\begin{picture}(120,82)
\put(0,0){\dashbox{2}(58,82){~}}
\put(1,78){\makebox(0,0)[l]{\emph{headright}}}
\put(29,78){\makebox(0,0){\emph{headmid}}}
\put(57,78){\makebox(0,0)[r]{\emph{headleft}}}
\put(29,41){\makebox(0,0){left page}}
\put(1,3){\makebox(0,0)[l]{\emph{footright}}}
\put(29,3){\makebox(0,0){\emph{footmid}}}
\put(57,3){\makebox(0,0)[r]{\emph{footleft}}}
\put(60,0){\dashbox{2}(58,82){~}}
\put(61,78){\makebox(0,0)[l]{\emph{headleft}}}
\put(89,78){\makebox(0,0){\emph{headmid}}}
\put(117,78){\makebox(0,0)[r]{\emph{headright}}}
\put(89,41){\makebox(0,0){right page}}
\put(61,3){\makebox(0,0)[l]{\emph{footleft}}}
\put(89,3){\makebox(0,0){\emph{footmid}}}
\put(117,3){\makebox(0,0)[r]{\emph{footright}}}
\end{picture}\end{center}

Mittels der optionalen Argumente \m{ilw} (\emph{i}nner \emph{l}ine
\emph{w}idth, innere Linienbreite) und \m{olw} (\emph{o}uter \emph{l}ine
\emph{w}idth, "au"sere Linienbreite) k"onnen Separationslinien f"ur den Kopf-
und Fu"steil der Seite erzeugt werden, hierf"ur ist die gew"unschte
Liniendicke anzugeben. Wird nur ein optionales Argument angegeben, so wird
damit \m{ilw} gesetzt, also nur eine innere Separationslinie erzeugt (wie wir
dies ja bereits von der Option ;headsepline; der \script{KOMA}-classes
kennen). Das ganze hat man sich dann so vorzustellen (mit
\(\var{olw}=2\unit{pt}, \var{ilw}=0{,}5\unit{pt}\)):
%
\begin{center}\setlength{\unitlength}{1mm}\begin{picture}(120,82)
\put(0,0){\dashbox{2}(58,82){~}}
\put(1,80){\rule{56\unitlength}{2pt}}
\put(1,78){\makebox(0,0)[l]{\emph{headright}}}
\put(29,78){\makebox(0,0){\emph{headmid}}}
\put(57,78){\makebox(0,0)[r]{\emph{headleft}}}
\put(1,76){\rule{56\unitlength}{0.5pt}}
\put(29,41){\makebox(0,0){left page}}
\put(1,5){\rule{56\unitlength}{0.5pt}}
\put(1,3){\makebox(0,0)[l]{\emph{footright}}}
\put(29,3){\makebox(0,0){\emph{footmid}}}
\put(57,3){\makebox(0,0)[r]{\emph{footleft}}}
\put(1,1){\rule{56\unitlength}{2pt}}
\put(60,0){\dashbox{2}(58,82){~}}
\put(61,80){\rule{56\unitlength}{2pt}}
\put(61,78){\makebox(0,0)[l]{\emph{headleft}}}
\put(89,78){\makebox(0,0){\emph{headmid}}}
\put(117,78){\makebox(0,0)[r]{\emph{headright}}}
\put(61,76){\rule{56\unitlength}{0.5pt}}
\put(89,41){\makebox(0,0){right page}}
\put(61,5){\rule{56\unitlength}{0.5pt}}
\put(61,3){\makebox(0,0)[l]{\emph{footleft}}}
\put(89,3){\makebox(0,0){\emph{footmid}}}
\put(117,3){\makebox(0,0)[r]{\emph{footright}}}
\put(61,1){\rule{56\unitlength}{2pt}}
\end{picture}\end{center}

Egal ob man mit ;\deftripstyle; einen neuen Seitenstil definiert oder einen
bereits existierenden umdefinitiert, in jedem Falle wird er erst bei Benutzung
von ;\pagestyle; oder ;\thispagestyle; verwendet.%
\EndIndex{Cmd}{deftribstyle}

Zur Umdefinition des Seitenstils ;myheadings; sollte allerdings der
nachfolgend beschriebene Befehl zur Verwendung kommen.

\begin{decl};\deftripstyle*;\arg{Name}\oarg{olw}\oarg{ilw}%
  \arg{headleft}\arg{headmid}\arg{headright}\\
  \phantom{\texttt{xdeftripstyle*}\arg{Name}\oarg{olw}\oarg{ilw}}%
  \arg{footleft}\arg{footmid}\arg{footright}%
\end{decl}%
\BeginIndex{Cmd}{deftribstyle*}%
Hiermit kann eine \emph{my}-Variante des Seitenstils definiert werden. Diese
zeichnet sich dadurch aus, da"s der Seitenkopf nicht automatisch durch
Kolumnentitel (wie ;\chapter; und ;\section;) ver"andert wird, sondern
lediglich durch die Befehle ;\markleft;, ;\markright; und ;\markboth; bestimmt
wird.%
\EndIndex{Cmd}{deftribstyle*}

Interessant ist sicher die Frage, welchen der beiden Befehle
;\deftripstyle; und ;\deftripstyle*; man verwenden sollte, wenn man den
Seitenstil \texttt{plain} umdefinieren will. Die Antwort darauf ist ganz
einfach: Denselben Befehl, den man auch f"ur die Definition seines Hauptstils
verwendet hat. Die Begr"undung dieser Antwort ist in den Tiefen der
Implementierung verborgen. Definiert man \texttt{plain} mit Hilfe von
;\deftripstyle; um, verwendet jedoch einen Hauptseitenstil, der mit der
Sternvariante definiert wurde, so werden beim Umschalten auf \texttt{plain}
die Kolumnentitel voraussichtlich unerw"unscht ge"andert und stimmen damit
nach dem Zur"uckschalten auf den Hauptseitenstil nicht mehr. Fast derselbe
Effekt tritt auf, wenn man \texttt{plain} mit der Sternvariante
umdefiniert, f"ur den Hauptseitenstil jedoch ;\deftripstyle; verwendet. Hier
erh"alt man nach dem Zur"uckschalten auf den Hauptseitenstil die zuletzt
automatisch vergebenen Kolumnentitel.

Sicher wird sich der oder die  eine oder andere nun fragen, warum
\texttt{plain} "uberhaupt umdefiniert werden sollte. Die Antwort auf diese
Frage ist in Abschnitt~\ref{SEC:plainpage} zu finden.

\section{Die Expertenschnittstelle}

\begin{decl}%
  ;\defpagestyle;\arg{Name}\arg{Kopf-Definition}\arg{Fu"s-Definition}\\
  ;\newpagestyle;\arg{Name}\arg{Kopf-Definition}\arg{Fu"s-Definition}\\
  ;\renewpagestyle;\arg{Name}\arg{Kopf-Definition}\arg{Fu"s-Definition}\\
  ;\providepagestyle;\arg{Name}\arg{Kopf-Definition}\arg{Fu"s-Definition}%
\end{decl}%
\BeginIndex{Cmd}{defpagestyle}\BeginIndex{Cmd}{newpagesyle}
\BeginIndex{Cmd}{renewpagestyle}\BeginIndex{Cmd}{providepagestyle}%
All diese Kommandos definieren einen neuen Seitenstil, hierbei haben
\m{Kopf-Definition} und \m{Fu"s-Definition} folgenden Aufbau:
\begin{quote}
\parg{ull,ulw}\arg{gerade Seite}\arg{ungerade Seite}\arg{einseitig}\parg{bll,blw}
\end{quote}
dabei sind uns \m{ulw} (\emph{u}pper \emph{l}ine \emph{w}idth, obere
Linienbreite) und \m{blw} (\emph{b}elow \emph{l}ine \emph{w}idth, untere
Linienbreite) bereits als \m{olw} und \m{ilw} begegnet, \m{ull} und \m{bll}
sind die dazugeh"origen L"angen, die bei den Befehlen ;\deftripstyle; und
;\deftribstyle*; automatisch auf die Breite der aktuellen Seite (also
;\textwidth;) gesetzt werden.  F"ur \m{gerade Seite} und \m{ungerade Seite}
sind die entsprechenden Definitionen der Seitenk"opfe bzw.\ "~f"u"se
einzusetzen. Ist das Seitenlayout einseitig, so wird statt diesen Definitionen
immer \m{einseitig} verwendet.  Was bisher nicht erl"autert wurde sind die
Unterscheidungsmerkmale der einzelnen Befehle, dies soll jetzt nachgeholt
werden:

;\defpagestyle; definiert \emph{immer} den Seitenstil \m{Name}, egal ob dieser
vorher eventuell schon (anders) definiert war oder nicht. Dies stellt also
quasi die Rambo-Variante dar, w"ahrend ;\newpagestyle; eine Fehlermeldung
ausgibt, falls der Seitenstil schon definiert sein sollte. Mit
;\renewpagestyle; verh"alt es sich genau andersherum: Ist der Seitenstil noch
nicht definiert, ergibt sich hier eine Fehlermeldung, ansonsten wird er wie
angegeben umdefiniert.  ;\providepagestyle; zu guter letzt definiert den
angegebenen Seitenstil nur, wenn er vorher noch nicht definiert war. Im
Gegensatz zu ;\newpagestyle; wird aber bei bereits vorhandener Definition nix
getan (stimmt nicht ganz, es wird immerhin ein Eintrag in der LOG-Datei
get"atigt), also insbesondere keine Fehlermeldung ausgegeben.

Den alten \LaTeXe-Hasen unter uns wird dies alles bekannt vorkommen, sind
diese Befehle doch analog zu ;\def;, ;\newcommand;, ;\renewcommand; und
;\providecommand; ausgelegt worden.

So, nach so viel trockener (aber hoffentlich schmeckender) Theorie nun endlich,
quasi als kr"onender Abschlu"s, ein Beispiel, mit dem die Kopf- und Fu"szeilen
dieses Kapitels realisiert wurden. Beachten Sie, da"s dabei neben
\texttt{headings} auch \texttt{plain} umdefiniert wurde. Die Begr"undung
daf"ur ist in Abschnitt~\ref{SEC:plainpage} zu finden.
\begin{small}\begin{verbatim}
\renewpagestyle{plain}{(\textwidth,0pt)%
                       {\hfill}{\hfill}{\hfill}%
                       (\textwidth,0pt)}%
                      {(\textwidth,.4pt)%
                       {\pagemark\hfill}%
                       {\hfill\pagemark}%
                       {\hfill\pagemark\hfill}%
                       (\textwidth,1pt)}
\renewpagestyle{headings}{(\textwidth,1pt)%
                {\headmark\hfill}{\hfill\headmark}{\hfill\headmark\hfill}%
                (\textwidth,.4pt)}%
               {(\textwidth,.4pt)%
                {\pagemark\hfill%
                 Copyright \copyright\ Markus Kohm, 1994--1997}%
                {Package \texttt{scrpage}\hfill\pagemark}%
                {\rlap{Package \texttt{scrpage}}\hfill%
                 Copyright \copyright\ Markus Kohm, 1994--1997\hfill%
                 \llap\pagemark}%
                (\textwidth,1pt)}
\pagestyle{headings} % und ab geht die Post...
\end{verbatim}\end{small}
\EndIndex{Cmd}{defpagestyle}\EndIndex{Cmd}{newpagesyle}
\EndIndex{Cmd}{renewpagestyle}\EndIndex{Cmd}{providepagestyle}
\EndIndex{Package}{scrpage}

\section{Eigene Seitenstile und Kapitelanfangsseiten}\label{SEC:plainpage}

Bei der Definition eigener Seitenstile\index{Seitenstil} gibt es einen
weiteren Punkt zu beachten. Alle mir bekannten Klassen schalten bei
Kapitelanfangsseiten\index{Kapitel} automatisch mit Hilfe von
;\thispagestyle{plain}; f"ur diese eine Seite auf den Seitenstil
\texttt{plain} um. Dies betrifft au"serdem auch weitere Befehle, die einen
Kapitelanfang beinhalten (beispielsweise
;\tableofcontens;\index{Inhaltsverzeichnis}). Definiert man nun also einen
eigenen Seitenstil und schaltet diesen ein, so wird auf allen
Kapitelanfangsseiten trotzdem noch ein anderer, m"oglicherweise absolut
unpassender, Seitenstil verwendet. Um dies zu "andern, mu"s der Seitenstil
\texttt{plain} ebenfalls umdefiniert werden, wie dies im Beispiel im
vorhergehenden Abschnitt vorgef"uhrt wurde.

Bei der Umdefinierung von \texttt{plain} stellt sich nun die Frage, ob hier
ein normaler oder eine \emph{my}-Variante definiert werden soll. Dies richtet
sich ganz einfach nach dem verwendeten Hauptseitenstil.

\clearpage
\makeatletter
\let\ps@plain\ps@oldplain
\let\ps@headings\ps@oldheadings
\makeatother
\pagestyle{headings}

\chapter{Die kleineren Beigaben}
Dem \script{KOMA}-Script Paket liegen noch ein paar kleine, aber feine
packages bei, die dem Anwender Freude bereiten und (ebenso wie das
\package{scrpage}-package) auch in Verbindung mit den original \LaTeX -classes
problemlos funktionieren.

\section{Das scrdate-package}
\BeginIndex{Package}{scrdate}

\begin{decl};\todaysname;\\;\dayname;\arg{Name}\end{decl}%
\BeginIndex{Cmd}{todaysname}%
Mit ;\todaysname; erh"alt man neben dem Tag, den man ja mit
;\today;\IndexCmd{today} erh"alt und mit ;\date;\IndexCmd{date}
bekannterma"sen setzen kann, auch den dazugeh"origen Wochentag. So liefert
beispielsweise:
\begin{quote}\begin{small}\begin{verbatim}
Dieses Dokument wurde an einem \todaysname\ "ubersetzt.
\end{verbatim}\end{small}\end{quote}
die Ausgabe
\begin{quote}
Dieses Dokument wurde an einem \todaysname\ "ubersetzt.
\end{quote}
;\dayname; setzt entsprechend diesen Wochentag auf einen festen Wert.
\EndIndex{Cmd}{todaysname}

Das scrdate-package beherrscht derzeit die Sprachen Englisch (english and
USenglish), Deutsch (german) und Franz"osisch (french), Italienisch (italian)
und Spanisch (spanish), kann aber auch f"ur andere Sprachen konfiguriert
werden. N"aheres dazu entnehme man \file{scrdate.dtx}.

Bei der aktuellen Version ist es egal, ob \package{scrdate} vor oder nach
\package{german}\IndexPackage{german}, \package{babel}\IndexPackage{babel}
oder "ahnlichen Paketen geladen wird, in jedem Falle wird die korrekte Sprache
gew"ahlt.%
\footnote{Etwas genauer ausgedr"uckt: Solange die Spachauswahl in einer zu
  \package{babel} bzw. \package{german} kompatiblen Form erfolgt und die
  Sprache \package{scrdate} bekannt ist, wird die Sprache korrekt
  gew"ahlt. Ist dies nicht der Fall, werden (US)englische Ausdr"ucke
  verwendet. Wie man \package{scrdate} neue Sprachen beibringen kann, ist
  \file{scrdate.dtx} zu entnehmen.}
\EndIndex{Package}{scrdate}

\section{Das scrtime-package}
\BeginIndex{Package}{scrtime}

\begin{decl}%
;\thistime;\oarg{Trennung}\\
;\thistime*;\oarg{Trennung}\\
;\settime;\arg{Wert}\end{decl}%
\BeginIndex{Cmd}{thistime}\BeginIndex{Cmd}{thistime*}\BeginIndex{Cmd}{settime}
;\thistime; liefert die aktuelle Zeit. Als Trennbuchstabe zwischen den
Werten Stunden, Minuten und Sekunden wird das optionale Argument
\m{Trennung} verwendet. Die Voreinstellung ist hierbei das Zeichen `:'.

;\thistime*; funktioniert fast genau wie ;\thistime;. Der einzige Unterschied
besteht darin, da"s im Gegensatz zu ;\thistime; bei ;\thistime*; die
Minutenangaben bei Werten kleiner 10 nicht durch eine vorangestellte Null auf
zwei Stellen erweitert wird.

So liefert beispielsweise die Zeile
\begin{quote}\begin{small}\begin{verbatim}
  Ihr Zug geht um \thistime Uhr.
\end{verbatim}\end{small}\end{quote}
als m"ogliche Ergebnisse:
\begin{quote}
  Ihr Zug geht um \thistime Uhr.

  Ihr Zug geht um 23:09 Uhr.
\end{quote}

Demgegen"uber liefert die Zeile
\begin{quote}\begin{small}\begin{verbatim}
  Beim n"achsten Ton ist es \thistime*[\ Uhr,\ ] Minuten und 42 Sekunden.
\end{verbatim}\end{small}\end{quote}
als m"ogliche Ergebnisse:
\begin{quote}
  Beim n"achsten Ton ist es \thistime*[\ Uhr,\ ] Minuten und 42 Sekunden.

  Beim n"achsten Ton ist es 23\ Uhr,\ 9 Minuten und 42 Sekunden.
\end{quote}

;\settime; setzt diese Zeit auf einen bestimmten festen
Wert.%
\footnote{Allerdings darf man nicht erwarten, da"s nun die Zeit stillsteht!}
Anschlie"send wird das optionale Argument von ;\thistime; bzw.
;\thistime*; ignoriert, da ja die Zeichenkette, die ;\thistime; bzw.
;\thistime*; nun liefert, hiermit explizit
festgelegt wurde.%
\EndIndex{Cmd}{thistime}\EndIndex{Cmd}{thistime*}\EndIndex{Cmd}{settime}

\begin{decl};12h;\\;24h;\end{decl}%
\BeginIndex{Option}{12h}\BeginIndex{Option}{24h}%
Mit den Optionen ;12h; und ;24h; kann ausgew"ahlt werden, ob die Zeit bei
;\thistime; und ;\thistime*; im 12-Stunden- oder 24-Stunden-Format ausgegeben
werden soll. Voreingestellt ist ;24h;.%
\footnote{Leider beherrscht das \package{scrtime}-package noch nicht die
  Sternzeit nach \textsc{StarTrek}\Index{StarTrek}, ein echter Mangel!}
Die Option verliert bei einem Aufruf von ;\settime; ebenfalls ihre
G"ultigkeit.% 
\EndIndex{Option}{12h}\EndIndex{Option}{24h}
\EndIndex{Package}{scrtime}

\clearpage
\begin{thebibliography}{XXXXX99}
\bibitem[Duden20]{Duden}
  \textsc{Duden}
  "`Die deutsche Rechtschreibung"', Band 1, 20.~Auf"|lage,
   Dudenverlag, 1991
\bibitem[CJK]{CJK}
  \textsc{Werner Lemberg:}
  "`Chinesisch, Japanisch und Koreanisch mit \LaTeX"', 1995
\bibitem[POost94]{fancyheadings}
  \textsc{Piet van Oostrum:}
  "`Page headers and footers in \LaTeX"', 11.~Oktober~1994
\bibitem[JTsch87]{JanTschichold}
  \textsc{Jan Tschichold:}
  "`Ausgew"ahlte Aufs"atze "uber die Gestalt des
   Buches und der Typographie"', Zweite Auf"|lage,
   Birkh"auser Verlag, Basel~1987
\end{thebibliography}

\printindex

\end{document}
%
% Ende der Datei `scrguide.tex'
