diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex | 516 |
1 files changed, 516 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex new file mode 100644 index 00000000000..a1df28b88fa --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle-experts.tex @@ -0,0 +1,516 @@ +% ====================================================================== +% scrbookreportarticle-experts.tex +% Copyright (c) Markus Kohm, 2001-2008 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3b of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3b or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrbookreportarticle-experts.tex +% Copyright (c) Markus Kohm, 2001-2008 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3b, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3b ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrbook, scrreprt, and scrartcl of the KOMA-Script guide +% expert part +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrbook, scrreprt und scrartcl im Experten-Teil der +% KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\ProvidesFile{scrbookreportarticle-experts.tex}[2008/09/11 KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for experts)] + +\chapter[{Zusätzliche Informationen zu den Hauptklassen und \Package{scrextend}}]{Zusätzliche + Informationen zu den Hauptklassen + \Class{scrbook}, \Class{scrreprt} und + \Class{scrartcl} sowie dem + Paket \Package{scrextend}} +\labelbase{maincls-experts} + +In diesem Kapitel finden Sie zusätzliche Informationen zu den +\KOMAScript-Klassen \Class{scrbook}, \Class{scrreprt} und \Class{scrartcl} und +einigen Anweisungen, die auch in \Package{scrextend} vorhanden sind. +\iffree{Einige Teile des Kapitels sind dabei dem \KOMAScript-Buch + \cite{book:komascript} vorbehalten. Dies sollte kein Problem sein, denn + der}{Der} normale Anwender, der die Klassen einfach nur verwenden will, wird +diese Informationen normalerweise nicht benötigen. Ein Teil der Informationen +richtet sich an Anwender, die ausgefallene Aufgaben lösen oder eigene Klassen +schreiben wollen, die auf einer der drei \KOMAScript-Klassen basieren. Ein +weiterer Teil der Informationen behandelt Möglichkeiten der Klassen, die aus +Gründen der Kompatibilität zu den Standardklassen oder früheren Versionen von +\KOMAScript{} existieren. Die Teile, die nur aus Gründen der Kompatibilität zu +früheren Versionen von \KOMAScript{} existieren, sind in serifenloser Schrift +gesetzt und sollten nicht mehr verwendet werden. + +\LoadNonFree{scrbookreportarticle-experts}{0} + +\section{Ergänzende Hinweise zu Benutzeranweisungen} +\label{sec:maincls-experts.addInfos} + +\LoadNonFree{scrbookreportarticle-experts}{1} + + +\section{Zusammenspiel von \KOMAScript{} und anderen Paketen} +\label{sec:maincls-experts.coexistence} + +\LoadNonFree{scrbookreportarticle-experts}{2} + + +\section{Anweisungen für Experten} +\label{sec:maincls-experts.experts} + +In diesem Abschnitt werden Anweisungen beschrieben, die für den normalen +Anwender kaum oder gar nicht von Interesse sind. Experten bieten diese +Anweisungen zusätzliche Möglichkeiten. Da die Beschreibungen für Experten +gedacht sind, sind sie kürzer gefasst. + + +\begin{Declaration} + \Macro{KOMAClassName}\\ + \Macro{ClassName} +\end{Declaration} +\BeginIndex{Cmd}{KOMAClassName}% +\BeginIndex{Cmd}{ClassName}% +In \Macro{KOMAClassName} ist der Name der aktuell verwendeten +\KOMAScript-Klasse abgelegt. Will man also wissen, ob eine oder welche +\KOMAScript-Klasse verwendet wird, so kann man einfach auf diese Anweisung +testen. Demgegenüber gibt \Macro{ClassName} Auskunft, welche Standardklasse +durch diese \KOMAScript-Klasse ersetzt wird. + +Es sei in diesem Zusammenhang darauf hingewiesen, dass demgegenüber die +Existenz von \Macro{KOMAScript}\IndexCmd{KOMAScript} nicht als Indiz für die +Verwendung einer \KOMAScript-Klasse dienen kann. Zum einen definieren alle +\KOMAScript-Pakete diese Anweisung, zum anderen können auch andere Pakete es +für sinnvoll erachten, das \KOMAScript-Piktogramm unter diesem Namen zu +definieren.% +% +\EndIndex{Cmd}{ClassName}% +\EndIndex{Cmd}{KOMAClassName}% + + +\begin{Declaration} + \Macro{@fontsizefilebase} +\end{Declaration} +\BeginIndex{Cmd}{@fontsizefilebase}% +Der auf \autopageref{desc:maincls-experts.option.fontsize} für die +Schriftgrößendateien angegebene Präfix \File{scrsize}, ist lediglich die +Voreinstellung für das interne Makro +\Macro{@fontsizefilebase}\IndexCmd{@fontsizefilebase}, die verwendet wird, +wenn das Makro beim Laden der Klasse oder des Pakets \Package{scrextend} noch +nicht definiert ist. Autoren von Wrapper-Klassen können dieses Makro +abweichend definieren, um andere Schriftgrößendateien zu verwenden. Ebenso +können Autoren von Wrapper-Klassen die \emph{fallback}-Lösung dadurch ändern +oder abschalten, dass sie das Macro +\Macro{changefontsizes}\IndexCmd{changefontsize}, das als Argument die +gewünschte Größe erwartet, umdefinieren.% +% +\EndIndex{Cmd}{@fontsizefilebase}% + + +\begin{Declaration} + \Macro{newkomafont}\OParameter{Warnung}\Parameter{Element}\Parameter{Voreinstellung}\\ + \Macro{aliaskomafont}\Parameter{Aliasname}\Parameter{Element} +\end{Declaration} +\BeginIndex{Cmd}{newkomafont}% +\BeginIndex{Cmd}{aliaskomafont}% +Experten können mit \Macro{newkomafont} eine \PName{Voreinstellung} für die +Schrift eines \PName{Element}s definieren. Anschließend kann diese +Voreinstellung mit den Anweisungen \Macro{setkomafont} und +\Macro{addtokomafont} (siehe \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}) verändert werden. Natürlich wird +diese Schrift damit noch lange nicht verwendet. Der Experte muss selbst Sorge +dafür tragen, dass er an den entsprechenden Stellen die Anweisung +\Macro{usekomafont} (siehe \autopageref{desc:maincls.cmd.usekomafont}) für +dieses Element in seinen Definitionen einbaut. + +Das optionale Argument \PName{Warnung} definiert eine Warnmeldung. Diese wird +bei den \KOMAScript-Klassen per \Macro{ClassWarning} oder beim Paket +\Package{scrextend} per \Macro{PackageWarning} immer dann ausgegeben, wenn die +Voreinstellung für das Element verändert wird. Dabei wird als Urheber der +Warnung die verwendete \KOMAScript-Klasse oder das Paket \Package{scrextend} +ausgegeben. + +Mit \Macro{aliaskomafont} kann für ein existierendes \PName{Element} ein +\PName{Aliasname} definiert werden. \KOMAScript{} informiert den Benutzer +automatisch über den Namen des tatsächlichen Elements, wenn dieser den +\PName{Aliasname} verwendet. \PName{Aliasname}n können beispielsweise dann +eingesetzt werden, wenn der Entwickler sich später einen besseren Namen für +ein Element überlegt und der alte Name aus Kompatibilitätsgründen weiter +verwendbar bleiben soll. Außerdem kann damit die Benutzerfreundlichkeit erhöht +werden, indem einem Element all die Namen als Alias zugeordnet werden, die +unterschiedliche Benutzer intuitiv wählen würden. \KOMAScript{} selbst macht +von dieser Möglichkeit reichen Gebrauch. +% +\EndIndex{Cmd}{aliaskomafont}% +\EndIndex{Cmd}{newkomafont}% + + +\begin{Declaration} + \Macro{setparsizes}\Parameter{Einzug}\Parameter{Abstand}%^^A + \Parameter{Endzeilenleerraum} +\end{Declaration} +\BeginIndex{Cmd}{setparsizes}% +\KOMAScript{} bietet mit dieser Anweisung die Möglichkeit, sowohl den +Absatzeinzug, als auch den Absatzabstand und den Freiraum am Ende der +letzten Zeile des Absatzes einzustellen. Diese Anweisung ist immer dann zu +verwenden, wenn die Änderungen auch bei Einstellung +\OptionValue{parskip}{relative} beachtet werden sollen. \KOMAScript{} selbst +verwendet sie beispielsweise in der Form +\begin{lstcode}[belowskip=\dp\strutbox] + \setparsizes{0pt}{0pt}{0pt plus 1fil} +\end{lstcode} +um sowohl den Einzug als auch den Abstand abzuschalten und am Ende des +Absatzes beliebigen Freiraum zu erlauben. Eine solche Maßnahme ist sinnvoll, +wenn ein Absatz nur aus einer Box besteht, die ohne Abstand nach oben oder +unten gesetzt werden soll und die gesamte Spaltenbreite einnimmt. Soll +demgegenüber die Box nur die gesamte Breite einnehmen, jedoch mit der +aktuellen Einstellung bezüglich des Absatzabstandes gesetzt werden, so ist +\begin{lstcode}[belowskip=\dp\strutbox] + \setlength{\parfillskip}{0pt plus 1fil} +\end{lstcode} +vorzuziehen.% +\EndIndex{Cmd}{setparsizes}% + + +\begin{Declaration} + \Macro{raggedchapterentry} +\end{Declaration} +\BeginIndex{Cmd}{raggedchapterentry}% +Diese Anweisung ist nicht mit ähnlichen Anweisungen wie \Macro{raggedsection} +zu vergleichen. Während jene Anweisungen es ermöglichen, bestimmte Elemente im +Blocksatz oder im rechts- oder linksbündigen oder beidseitigen Flattersatz zu +setzen, besteht mit Hilfe von \Macro{raggedchapterentry} lediglich die +Möglichkeit, Kapiteleinträge im Inhaltsverzeichnis statt im voreingestellten +Blocksatz im linksbündigen Flattersatz zu setzen. Dazu ist die Anweisung als +\Macro{raggedright} zu definieren. Siehe hierzu auch die einschränkenden +Hinweise in \autoref{sec:maincls-experts.coexistence}, +\autopageref{desc:maincls-experts.cmd.raggedsection}.% +% +\EndIndex{Cmd}{raggedchapterentry} + +\LoadNonFree{scrbookreportarticle-experts}{3} + +\begin{Declaration} + \Macro{chapterheadstartvskip}\\ + \Macro{chapterheadendvskip}\\ + \Macro{partheadstartvskip}\\ + \Macro{partheadmidvskip}\\ + \Macro{partheadendvskip} +\end{Declaration} +\BeginIndex{Cmd}{chapterheadstartvskip}% +\BeginIndex{Cmd}{chapterheadendvskip}% +\BeginIndex{Cmd}{partheadstartvskip}% +\BeginIndex{Cmd}{partheadmidvskip}% +\BeginIndex{Cmd}{partheadendvskip}% +Diese Anweisungen werden innerhalb der Definition der Überschriften +\Macro{chapter} und \Macro{part} sowie deren Varianten, einschließlich +\Macro{addchap} und \Macro{addpart} verwendet. Dabei ist +\Macro{chapterheadstartvskip} eine Anweisung, die dafür vorgesehen ist, vor +der Kapitelüberschrift einen vertikalen Abstand einzufügen. Entsprechend ist +\Macro{chapterheadendvskip} eine Anweisung, die dafür vorgesehen ist, nach der +Kapitelüberschrift einen vertikalen Abstand einzufügen. + +Die Anweisungen \Macro{partheadstartvskip} und \Macro{partheadendvskip} sind +dafür vorgesehen, über und unter den Teile-Überschriften vertikalen Abstand +einzufügen. Dabei wird ein Seitenumbruch quasi als vertikaler Abstand +interpretiert und ist in der Voreinstellung von \Macro{partheadendvskip} +enthalten. Die Anweisung \Macro{partheadmidvskip} ist für den Abstand zwischen +der Teile-Nummer und dem Text der Teile-Überschrift vorgesehen. + +Die Voreinstellungen für diese fünf Anweisungen ist +\autoref{tab:maincls-experts.headvskip} und +\autoref{tab:maincls-experts.headvskip2} zu entnehmen. Auf \cite{homepage} +gibt es außerdem ein Beispiel, bei dem \Macro{chapterheadstartvskip} und +\Macro{chapterheadendvskip} verwendet werden, um horizontale Linien über und +unter der Kapitelüberschrift zu setzen.% +% +\begin{table} + \centering + \caption[{Voreinstellungen der Anweisungen für die vertikalen Abstände bei + Kapitel- und Teile-Überschriften von \Class{scrbook} und + \Class{scrreprt}}]{Voreinstellungen der Anweisungen für + die vertikalen Abstände bei Kapitel- und Teile-Überschriften bei + \Class{scrbook} und \Class{scrreprt} abhängig von den Optionen} + \label{tab:maincls-experts.headvskip} + \begin{tabular}{ll} + \multicolumn{2}{@{}l}{\bfseries Mit \OptionValue{headings}{big}:}\\ + \toprule + Anweisung & Voreinstellung \\ + \midrule + \Macro{chapterheadstartvskip} & + \Macro{vspace*}\PParameter{2.3\Macro{baselineskip}} \\ + \Macro{chapterheadendvskip} & + \Macro{vspace*}\texttt{\{1.725\Macro{baselineskip}} \\ & + \quad\texttt{plus .115\Macro{baselinekip}} \\ & + \quad\texttt{minus .192\Macro{baselineskip}\}} \\ + \Macro{partheadstartvskip} & \Macro{null}\Macro{vfil} \\ + \Macro{partheadmidvskip} & \Macro{par}\Macro{nobreak}\Macro{vskip} \texttt{20pt}\\ + \Macro{partheadendvskip} & \Macro{vfil}\Macro{newpage} \\ + \bottomrule\\ + \multicolumn{2}{@{}l}{\bfseries Mit \OptionValue{headings}{normal}:}\\ + \toprule + Anweisung & Voreinstellung \\ + \midrule + \Macro{chapterheadstartvskip} & + \Macro{vspace*}\PParameter{2\Macro{baselineskip}} \\ + \Macro{chapterheadendvskip} & + \Macro{vspace*}\texttt{\{1.5\Macro{baselineskip}}\\ & + \quad\texttt{plus .1\Macro{baselinekip}} \\ & + \quad\texttt{minus .167\Macro{baselineskip}\}} \\ + \Macro{partheadstartvskip} & \Macro{null}\Macro{vfil} \\ + \Macro{partheadmidvskip} & \Macro{vskip} \texttt{20pt}\\ + \Macro{partheadendvskip} & \Macro{par}\Macro{nobreak}\Macro{vfil}\Macro{newpage} \\ + \bottomrule\\ + \multicolumn{2}{@{}l}{\bfseries Mit \OptionValue{headings}{small}:}\\ + \toprule + Anweisung & Voreinstellung \\ + \midrule + \Macro{chapterheadstartvskip} & + \Macro{vspace*}\PParameter{1.8\Macro{baselineskip}} \\ + \Macro{chapterheadendvskip} & + \Macro{vspace*}\texttt{\{1.35\Macro{baselineskip}}\\ & + \quad\texttt{plus .09\Macro{baselinekip}} \\ & + \quad\texttt{minus .15\Macro{baselineskip}\}} \\ + \Macro{partheadstartvskip} & \Macro{null}\Macro{vfil} \\ + \Macro{partheadmidvskip} & \Macro{vskip} \texttt{20pt}\\ + \Macro{partheadendvskip} & \Macro{par}\Macro{nobreak}\Macro{vfil}\Macro{newpage} \\ + \bottomrule\\ +\end{tabular} +\end{table} +% +\begin{table} + \centering + \caption{Voreinstellungen der Anweisungen für + die vertikalen Abstände bei Teile-Überschriften bei + \Class{scrartcl}} + \label{tab:maincls-experts.headvskip2} + \begin{tabular}{ll} + \toprule + Anweisung & Voreinstellung \\ + \midrule + \Macro{partheadstartvskip} & \Macro{addvspace}\PParameter{4ex} \\ + \Macro{partheadmidvskip} & \Macro{par}\Macro{nobreak}\\ + \Macro{partheadendvskip} & \Macro{vskip} \texttt{3ex}\\ + \bottomrule + \end{tabular} +\end{table}% +\EndIndex{Cmd}{partheadendvskip}% +\EndIndex{Cmd}{partheadmidvskip}% +\EndIndex{Cmd}{partheadstartvskip}% +\EndIndex{Cmd}{chapterheadendvskip}% +\EndIndex{Cmd}{chapterheadstartvskip}% + + +\begin{Declaration} + \Macro{appendixmore} +\end{Declaration}% +\BeginIndex{Cmd}{appendixmore}% +Bei den {\KOMAScript}-Klassen gibt es innerhalb der Anweisung \Macro{appendix} +eine Besonderheit. Ist nämlich die Anweisung \Macro{appendixmore} definiert, +so wird sie von der \Macro{appendix}-Anweisung ebenfalls ausgeführt. Intern +wird dies von den {\KOMAScript}-Klassen \Class{scrbook} und \Class{scrreprt} +für die Realisierung der Layoutoption \Option{appendixprefix} +genutzt (siehe \autoref{sec:maincls.structure}, +\autopageref{desc:maincls.option.appendixprefix}). Dies sollten Sie unbedingt +beachten, falls Sie selbst das Makro \Macro{appendixmore} definieren oder +umdefinieren wollen. Ist eine dieser beiden Optionen gesetzt, so erhalten Sie +bei \verb|\newcommand{\appendixmore}{|\dots\verb|}| eine Fehlermeldung. +Dadurch soll verhindert werden, dass Sie die Optionen außer Kraft setzen, ohne +es zu merken. + +\begin{Example} + Sie wollen nicht, dass bei Verwendung der Klasse \Class{scrbook} oder + \Class{scrreprt} im Hauptteil die Kapitel mit einer Präfixzeile versehen + werden (siehe Layoutoption \Option{chapterprefix} und + in \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.option.chapterprefix}). Damit die Konsistenz + gewahrt bleibt, wollen Sie auch nicht, dass eine solche Zeile im Anhang + verwendet wird. Stattdessen sollen in den Anhängen direkt vor dem + Kapitelbuchstaben das Wort »Anhang« in der jeweiligen Sprache stehen. Dies + soll auch für die Kolumnentitel gelten. Also verwenden Sie nicht die + Layoutoption \Option{appendixprefix}, sondern + definieren in der Dokumentpräambel: +\begin{lstcode} + \newcommand*{\appendixmore}{% + \renewcommand*{\chapterformat}{% + \appendixname~\thechapter\autodot\enskip}% + \renewcommand*{\chaptermarkformat}{% + \appendixname~\thechapter\autodot\enskip}} +\end{lstcode} + Sollten Sie später dann doch noch entscheiden, dass Sie die Option + \Option{appendixprefix} verwenden wollen, so erhalten Sie aufgrund + der dann bereits definierten Anweisung \Macro{appendixmore} eine + Fehlermeldung. Damit wird verhindert, dass obige Definition + unbemerkt die Einstellungen überschreibt, die Sie per Option + getroffen haben. + + Wenn Sie ein vergleichbares Verhalten des Anhangs für die Klasse + \Class{scrartcl} erreichen wollen, so ist dies ebenfalls + möglich. Dazu schreiben Sie in die Präambel Ihres Dokuments: +\begin{lstcode}[moretexcs={ifthenelse,equal}] + \newcommand*{\appendixmore}{% + \renewcommand*{\othersectionlevelsformat}[3]{% + \ifthenelse{\equal{##1}{section}}{% + \appendixname~}{}% + ##3\autodot\enskip} + \renewcommand*{\sectionmarkformat}{% + \appendixname~\thesection\autodot\enskip}} +\end{lstcode} + Sie benötigen dafür außerdem das + \Package{ifthen}-Paket\IndexPackage{ifthen} (siehe + \cite{package:ifthen}). + + Eine alternative Implementierung wäre: +\begin{lstcode} + \newcommand*{\appendixmore}{% + \renewcommand*{\othersectionlevelsformat}[3]{% + \ifstr{##1}{section}{\appendixname~}{}% + ##3\autodot\enskip} + \renewcommand*{\sectionmarkformat}{% + \appendixname~\thesection\autodot\enskip}} +\end{lstcode} + Die dabei verwendete Anweisung \Macro{ifstr}\IndexCmd[indexmain]{ifstr} wird + von \KOMAScript{} bereitgestellt. Siehe dazu \autoref{sec:scrbase.if}, + \autopageref{desc:scrbase.cmd.ifstr}. + + Die Erklärungen zu den in diesem Beispiel umdefinierten Anweisungen finden + Sie in \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.chapterformat} und + \autopageref{desc:maincls.cmd.chaptermarkformat}. +\end{Example}% +% +\EndIndex{Cmd}{appendixmore}% + + +\begin{Declaration} + \Macro{newbibstyle}\OParameter{Elternstil}\Parameter{Name}%^^A + \Parameter{Anweisungen}\\ + \Macro{newblock}\\ + \Macro{@openbib@code}\\ + \Macro{bib@beginhook}\\ + \Macro{bib@endhook} +\end{Declaration} +\BeginIndex{Cmd}{newbibstyle}% +\BeginIndex{Cmd}{newblock}% +\BeginIndex{Cmd}{@openbib@code}% +\BeginIndex{Cmd}{bib@beginhook}% +\BeginIndex{Cmd}{bib@endhook}% +Schon die Standardklassen kennen zur Unterteilung der Einträge in das +Literaturverzeichnis die Anweisung \Macro{newblock}. Was diese Anweisung genau +macht, hängt dabei von den Klassenoptionen ab. Wird die Option +\Option{openbib} verwendet, so wird am Ende der Standardklasse die Anweisung +\Macro{@openbib@code} und \Macro{newblock} selbst umdefiniert. Von den +Standardklassen wird die Anweisung \Macro{@openbib@code} beim Start der Liste +für das Literaturverzeichnis -- genauer: bei der Festlegung der Parameter für +diese Liste -- ausgeführt. Es darf davon ausgegangen werden, dass auch viele +Pakete, die das Literaturverzeichnis umdefinieren, diese Anweisung +entsprechend abarbeiten. + +Bei \KOMAScript{} geschieht Ähnliches. Allerdings wird \Macro{@openbib@code} +nicht am Ende der Klasse umdefiniert. Stattdessen wird mit \Macro{newbibstyle} +der Literaturverzeichnisstil \PValue{openstyle} definiert. Die +\PName{Anweisungen}, die dabei in der Implementierung angegeben wurden, +beinhalten die gewünschten Umdefinierung von \Macro{@openbib@code} und von +\Macro{newblock}. Wird nun mit Hilfe der Option +\OptionValue{bibliography}{openstyle} dieser Literaturverzeichnisstil gewählt, +so werden die \PName{Anweisungen} unmittelbar ausgeführt, also +\Macro{@openbib@code} und \Macro{newblock} umdefiniert. + +Neben \Macro{@openbib@code} und \Macro{newblock} können in den +\PName{Anweisungen} auch noch Umdefinierungen von \Macro{bib@beginhook} und +\Macro{bib@endhook} vorgenommen werden. Die Anweisung \Macro{bib@beginhook} +wird unmittelbar nach der Überschrift und der Präambel des +Literaturverzeichnisses, aber noch vor der Liste der Literatureinträge +ausgeführt. Die Anweisung \Macro{bib@endhook} wird unmittelbar nach der Liste +der Literatureinträge am Ende des Literaturverzeichnisses ausgeführt. Im Falle +eines mit \Macro{BreakBibliography} (siehe \autoref{sec:maincls.bibliography}, +\autopageref{desc:maincls.cmd.BreakBibliography}) unterbrochenen +Literaturverzeichnisses werden diese Anweisungen außerdem am Anfang und Ende +jedes Teil, also unmittelbar vor und nach \Macro{BreakBibliography} +ausgeführt. + +Die Anweisungen \Macro{bib@beginhook}, \Macro{bib@endhook}, +\Macro{@openbib@code} und \Macro{newblock} werden bei der Verwendung eines +neuen Literaturverzeichnisstils zunächst als leer definiert. Danach werden +die \PName{Anweisungen} des bei der Definition des Stils optional angegebenen +Elternstils ausgeführt und dann erst die \PName{Anweisungen}, die bei +Definition des neuen Stils angegeben wurden. + +Setzt der Anwender mit den beiden Anweisungen \Macro{AtEndBibliography} und +\Macro{AfterBibliographyPreamble} weitere \PName{Anweisungen} für die +Ausführung nach der Präambel und am Ende des Literaturverzeichnisses, so +werden die \PName{Anweisungen} aus \Macro{AfterBibliographyPreamble} einmalig +am Anfang des Literaturverzeichnisses nach \Macro{bib@beginhook} und die +\PName{Anweisungen} von \Macro{AtEndBibliography} einmalig am Ende des +Literaturverzeichnisses vor \Macro{bib@endhook} ausgeführt. + +Mit Hilfe des Pakets \Package{multicol}\IndexPackage{multicol} (siehe +\cite{package:multicol}) könnte man beispielsweise einen Literaturstil für +ein zweispaltiges Literaturverzeichnis definieren: +% Umbruchkorrektur: listings korrigiert +\begin{lstcode}[belowskip=\dp\strutbox] + \newbibstyle{twocolumstyle}{% + \renewcommand*{\bib@beginhook}{\begin{multicols}{2}}% + \renewcommand*{\bib@endhook}{\end{multicols}}}% +\end{lstcode} +Soll es außerdem eine \emph{open}-Variante davon geben, kann man hier die +Möglichkeiten der Vererbung verwenden und bei der Definition einen Elternstil +mit angeben: +% Umbruchkorrektur: listings korrigiert +\begin{lstcode}[belowskip=\dp\strutbox] + \newbibstyle{twocolumstyle}[openstyle]{% + \renewcommand*{\bib@beginhook}{\begin{multicols}{2}}% + \renewcommand*{\bib@endhook}{\end{multicols}}}% +\end{lstcode} +Die Auswahl eines dieser neuen Stile erfolgt dann einfach wieder über die +Option \Option{bibliography}. +% +\EndIndex{Cmd}{bib@endhook}% +\EndIndex{Cmd}{bib@beginhook}% +\EndIndex{Cmd}{@openbib@code}% +\EndIndex{Cmd}{newblock}% +\EndIndex{Cmd}{newbibstyle}% + + + +\section{Mehr oder weniger obsolete Optionen und Anweisungen} +\label{sec:maincls-experts.obsolete} + +\LoadNonFree{scrbookreportarticle-experts}{4} + +\endinput + +%%% Local Variables: +%%% mode: latex +%%% coding: iso-latin-1 +%%% TeX-master: "guide.tex" +%%% End: |