summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkbib.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkbib.dtx486
1 files changed, 357 insertions, 129 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx b/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx
index 892bfb75b78..b62604c1261 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkbib.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{144}
+% \CheckSum{306}
% \iffalse meta-comment
% ======================================================================
% scrkbib.dtx
-% Copyright (c) Markus Kohm, 2002-2007
+% Copyright (c) Markus Kohm, 2002-2008
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkbib.dtx
-% Copyright (c) Markus Kohm, 2002-2007
+% Copyright (c) Markus Kohm, 2002-2008
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3b, verteilt und/oder veraendert werden.
@@ -58,7 +58,7 @@
%%% From File: scrkbib.dtx
%<*driver>
% \fi
-\ProvidesFile{scrkbib.dtx}[2006/03/28 v2.95 KOMA-Script (bibliography)]
+\ProvidesFile{scrkbib.dtx}[2008/10/16 v3.00 KOMA-Script (bibliography)]
% \iffalse
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
@@ -101,94 +101,256 @@
% \iffalse
%<*option>
% \fi
-%
-% \subsection{Optionen für das Literaturverzeichnis}
-%
-% \begin{option}{openbib}
-% \changes{v2.3g}{1996/01/14}{\cs{if@openbib} (\cs{@openbibtrue},
-% \cs{@openbibfalse}) entfernt}
-% \changes{v2.3g}{1996/01/14}{Definition der openbib Option neu
-% implementiert}
-% \begin{macro}{\@openbib@code}
-% \begin{macro}{\newblock}
-% Mit dieser Option kann eine alternative Darstellung der
-% Literatureinträge aktiviert werden. Dabei fügt \cs{newblock} keinen
-% horizontalen Abstand mehr ein, sondern beginnt einen neuen Absatz
-% (in Form einer neuen Zeile).
+% \subsection{Anweisungen, die für die Optionen benötigt werden}
+%
+% Einige Anweisungen werden über Optionen verändert. Dazu müssen sie aber
+% bereits vor der Abarbeitung der Optionen definiert sein.
+%
+% \subsubsection{Literaturverzeichnisstile}
+%
+% \begin{macro}{\newbibstyle}
+% \changes{v2.98c}{2008/02/15}{Neu}
+% Neue Literaturverzeichnisstile müssen mit dieser Anweisung definiert werden,
+% wenn sie von der Fehlermeldung korrekt angezeigt werden sollen. Das erste,
+% optionale Argument ist der Name eines Elternstils. Das zweite
+% Argument ist der Name des Stils. Das dritte Argument ist Code für den
+% Stil. Darin sollten normalerweise Umdefinierungen für \cs{@openbib@code},
+% \cs{newblock}, \cs{bib@beginhook}, \cs{bib@endhook} enthalten sein. Die
+% genannten Makros werden am Anfang des Stils zurückgesetzt. Danach wird der
+% Elternstil geladen und dann die eigenen Definitionen.
% \begin{macrocode}
-%<*!scrlettr>
-\DeclareOption{openbib}{%
- \AtEndOfPackage{%
- \renewcommand*\@openbib@code{%
- \advance\leftmargin\bibindent
- \itemindent -\bibindent
- \listparindent \itemindent
- \parsep \z@
+\newcommand{\newbibstyle}[3][]{%
+ \scr@ifundefinedorrelax{scr@bibstyle@#2}{%
+ \scr@ifundefinedorrelax{scr@bibstyle@#1}{%
+ \ClassError{\KOMAClassName}{%
+ parent bibliography style `#1' does not exist}{%
+ You've told me to define the new bibliography style `#2'\MessageBreak
+ to be a child of bibliography style `#1', but bibliography
+ style\MessageBreak
+ `#1' does not exist.\MessageBreak
+ You have to remove the parent declaration or use an existing parent!
+ See the KOMA-Script manual for more information.%
+ }%
+ }{%
+ \@namedef{scr@bibstyle@#2}{%
+ \let\@openbib@code\@empty
+ \let\newblock\@empty
+ \let\bib@beginhook\@empty
+ \let\bib@endhook\@empty
+ \csname scr@bibstyle@#1\endcsname
+ #3%
+ }%
+ \g@addto@macro\scr@bibstylelist{, `#2'}%
+ }%
+ }{%
+ \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{%
+ You've told me to define the new bibliography style `#2',\MessageBreak
+ but this style already exists.\MessageBreak
+ You have to use another bibliography style name.\MessageBreak
+ See the KOMA-Script manual for more information.%
}%
- \renewcommand*\newblock{\par}%
}%
}
-%</!scrlettr>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{option}
+% \begin{macro}{\scr@bibstyle@}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}%
+% Nur ein Dummy, wenn kein Elternstil existiert.
+% \begin{macrocode}
+\newcommand*{\scr@bibstyle@}{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\bib@beginhook}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}%
+% \begin{macro}{\bib@endhook}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}%
+% Die beiden Haken, wie sie durch den Literaturverzeichnisstil vorgegeben
+% werden.
+% \begin{macrocode}
+\newcommand*{\bib@beginhook}{}
+\newcommand*{\bib@endhook}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\scr@bibstylelist}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}%
+% Liste der mit \cs{newbibstyle} definierten und daher bekannten
+% Literaturverzeichnisstile.
+% \begin{macro}{\@openbib@code}
+% \changes{v2.3g}{1996/01/14}{Neu (intern)}
+% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}
+% Code, der am Anfang des Literaturverzeichnisses ausgeführt wird und
+% normalerweise ursprünglich für die \texttt{openbib}-Funktionalität verwendet
+% wurde. Inzwischen wird er für die komplette Stilauswahl verwendet.
+% \begin{macro}{\newblock}
+% \changes{v2.3g}{1996/01/14}{Grundeinstellung geändert}
+% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}
+% \begin{macrocode}
+\newcommand*{\scr@bibstylelist}{\@gobble}
+\newcommand*{\@openbib@code}{}
+\newcommand*{\newblock}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\scr@bibstyle@openstyle}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}%
+% Vordefiniert sind zwei Stile. Mit dem Bibliographystil \texttt{openstyle}
+% kann eine alternative Darstellung der Literatureinträge aktiviert
+% werden. Dabei fügt \cs{newblock} keinen horizontalen Abstand mehr ein,
+% sondern beginnt einen neuen Absatz (in Form einer neuen Zeile).
+% \begin{macro}{\scr@bibstyle@oldstyle}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}
+% Der Stil \texttt{oldstyle} entspricht hingegen der Voreinstellung.
+% \begin{macrocode}
+\newbibstyle{openstyle}{%
+ \renewcommand*{\@openbib@code}{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }%
+ \renewcommand*{\newblock}{\par}%
+}
+\newbibstyle{oldstyle}{%
+ \renewcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}%
+}
+\scr@bibstyle@oldstyle
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
%
-% \begin{option}{bibtotoc}
-% \changes{v2.3h}{1995/01/21}{neue Option}
-% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingefügt}
-% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingefügt}
-% \changes{v2.7}{2001/01/03}{Klammerung korrigiert}
-% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die
-% thebibliography-Umgebung verschoben}
-% \begin{option}{bibtotocnumbered}
-% \changes{v2.3h}{1995/01/21}{neue Option}
-% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingefügt}
-% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingefügt}
-% \changes{v2.7}{2001/01/03}{Klammerung korrigiert}
+% \subsubsection{Überschrift des Literaturverzeichnisses}
+%
+% \begin{macro}{\bib@heading}
+% \changes{v2.3h}{1995/01/21}{neu (intern)}
+% \changes{v2.6c}{2000/06/10}{die Präambel wird gesetzt}
% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird
% verwendet}
-% \changes{v2.7i}{2001/05/17}{\cs{chapter} statt \cs{addchap}}
% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die
-% thebibliography-Umgebung verschoben}
-% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}
-% Die Option \texttt{bibtotoc} sorgt dafür, dass das
-% Literaturverzeichnis im Inhaltsverzeichnis aufgeführt wird.
-% Demgegenüber erweitert die Option \texttt{bibtotocnumbered} zu einem
-% normalen Kapitel einschließlich Nummerierung.
-% \begin{macro}{\bib@heading}
+% \texttt{thebibliography}-Umgebung verschoben}
+% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}
+% Befehl zum Setzen der Überschrift des Literaturverzeichnisses.
% \begin{macrocode}
-\DeclareOption{bibtotoc}{%
- \AtEndOfClass{%
- \renewcommand*\bib@heading{%
-%<*article>
- \addsec{\refname}%
- \@mkboth{\refname}{\refname}%
+\newcommand*\bib@heading{%
+%<*article>
+ \section*{\refname}%
+ \@mkboth{\refname}{\refname}%
%</article>
%<*book|report>
- \addchap{\bibname}%
- \@mkboth{\bibname}{\bibname}%
+ \chapter*{\bibname}%
+ \@mkboth{\bibname}{\bibname}%
%</book|report>
- }%
- }%
}
-\DeclareOption{bibtotocnumbered}{%
- \AtEndOfClass{%
- \renewcommand*\bib@heading{%
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsection{Optionen für das Literaturverzeichnis}
+%
+% \begin{option}{bibliography}
+% \changes{v2.98c}{2008/02/15}{Neu}
+% Dies ist der Generalschlüssel für alle Optionen, die das
+% Literaturverzeichnis betreffen. Neu ist, dass verschiedene Stile
+% definiert werden können. Desweiteren kann man \texttt{totoc} und
+% \texttt{totocnumbered} wieder mit \texttt{nottotoc} aufgeben.
+% \begin{macrocode}
+\KOMA@key{bibliography}{%
+ \scr@ifundefinedorrelax{scr@bibstyle@#1}{%
+ \let\FamilyElseValues\scr@bibstylelist
+ \KOMA@set@ncmdkey{bibliography}{@tempa}{%
+ {notoc}{0},{nottotoc}{0},{plainheading}{0},%
+ {totoc}{1},{toc}{1},{notnumbered}{1},%
+ {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},%
+ {numberedtoc}{2}%
+ }{#1}%
+ \ifcase \@tempa\relax
+ \renewcommand*\bib@heading{%
+%<*article>
+ \section*{\refname}%
+ \@mkboth{\refname}{\refname}%
+%</article>
+%<*book|report>
+ \chapter*{\bibname}%
+ \@mkboth{\bibname}{\bibname}%
+%</book|report>
+ }%
+ \or% totoc
+ \renewcommand*\bib@heading{%
%<*article>
- \section{\refname}%
- \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname}%
+ \addsec{\refname}%
+ \@mkboth{\refname}{\refname}%
%</article>
%<*book|report>
- \chapter{\bibname}%
- \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}%
+ \addchap{\bibname}%
+ \@mkboth{\bibname}{\bibname}%
%</book|report>
- }%
+ }%
+ \or% numbered
+ \renewcommand*\bib@heading{%
+%<*article>
+ \section{\refname}%
+ \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname}%
+%</article>
+%<*book|report>
+ \chapter{\bibname}%
+ \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}%
+%</book|report>
+ }
+ \fi
+ }{%
+ \csname scr@bibstyle@#1\endcsname
}%
}
% \end{macrocode}
-% \end{macro}
+% \end{option}
+%
+% \begin{option}{openbib}
+% \changes{v2.3g}{1996/01/14}{\cs{if@openbib} (\cs{@openbibtrue},
+% \cs{@openbibfalse}) entfernt}
+% \changes{v2.3g}{1996/01/14}{Definition der openbib Option neu
+% implementiert}
+% \changes{v2.98c}{2008/02/15}{obsolete}
+% Mit dieser Option kann eine alternative Darstellung der
+% Literatureinträge aktiviert werden. Dabei fügt \cs{newblock} keinen
+% horizontalen Abstand mehr ein, sondern beginnt einen neuen Absatz
+% (in Form einer neuen Zeile).
+% \begin{macrocode}
+\KOMA@DeclareObsoleteOption[\ClassInfoNoLine]{openbib}{bibliography=openstyle}
+% \end{macrocode}
+% \end{option}
+%
+% \begin{option}{bibtotoc}
+% \changes{v2.3h}{1995/01/21}{neue Option}
+% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingefügt}
+% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingefügt}
+% \changes{v2.7}{2001/01/03}{Klammerung korrigiert}
+% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die
+% thebibliography-Umgebung verschoben}
+% \changes{v2.98c}{2008/02/15}{obsolete}
+% \begin{option}{bibtotocnumbered}
+% \changes{v2.3h}{1995/01/21}{neue Option}
+% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingefügt}
+% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingefügt}
+% \changes{v2.7}{2001/01/03}{Klammerung korrigiert}
+% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird
+% verwendet}
+% \changes{v2.7i}{2001/05/17}{\cs{chapter} statt \cs{addchap}}
+% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die
+% thebibliography-Umgebung verschoben}
+% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}
+% \changes{v2.98c}{2008/02/15}{obsolete}
+% Die Option \texttt{bibtotoc} sorgt dafür, dass das
+% Literaturverzeichnis im Inhaltsverzeichnis aufgeführt wird.
+% Demgegenüber erweitert die Option \texttt{bibtotocnumbered} zu einem
+% normalen Kapitel einschließlich Nummerierung.
+% \begin{macrocode}
+\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotoc}{bibliography=totoc}
+\KOMA@DeclareObsoleteOption[\ClassWarningNoLine]{bibtotocnumbered}{%
+ bibliography=totocnumbered}
+% \end{macrocode}
% \end{option}
% \end{option}
%
@@ -244,28 +406,6 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\bib@heading}
-% \changes{v2.3h}{1995/01/21}{neu (intern)}
-% \changes{v2.6c}{2000/06/10}{die Präambel wird gesetzt}
-% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird
-% verwendet}
-% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die
-% \texttt{thebibliography}-Umgebung verschoben}
-% Befehl zum Setzen der Überschrift des Literaturverzeichnisses.
-% \begin{macrocode}
-\newcommand*\bib@heading{%
-%<*article>
- \section*{\refname}%
- \@mkboth{\refname}{\refname}%
-%</article>
-%<*book|report>
- \chapter*{\bibname}%
- \@mkboth{\bibname}{\bibname}%
-%</book|report>
-}
-% \end{macrocode}
-% \end{macro}
-%
% \begin{Length}{bibindent}
% Der Einzug der Einträge bei \texttt{openbib}. Voreingestellt sind
% 1,5\,em.
@@ -275,29 +415,52 @@
% \end{macrocode}
% \end{Length}
%
-% \begin{environment}{thebibliography}
-% \changes{v2.2a}{1995/02/01}{in \textsf{scrartcl} \cs{bibname}
-% vollständig durch \cs{refname} ersetzt}
-% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{bib@heading}}
-% \changes{v2.8q}{2002/01/10}{Erkennung und gesonderte Behandlung
-% leerer Präambeln}
-% \changes{v2.9o}{2003/03/06}{Vergleich \cs{bibpreamble} mit \cs{@empty}
-% korrigiert}
+% \begin{environment}{thebibliography}
+% \changes{v2.2a}{1995/02/01}{in \textsf{scrartcl} \cs{bibname}
+% vollständig durch \cs{refname} ersetzt}
+% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{bib@heading}}
+% \changes{v2.8q}{2002/01/10}{Erkennung und gesonderte Behandlung
+% leerer Präambeln}
+% \changes{v2.9o}{2003/03/06}{Vergleich \cs{bibpreamble} mit \cs{@empty}
+% korrigiert}
+% \changes{v2.98c}{2008/02/15}{Neue Haken \cs{bib@before@hook} und
+% \cs{bib@after@hook} eingefügt}
% Nun werden noch die Umgebung für das Literaturverzeichnis und der
% Befehl für die einzelnen Einträge definiert.
% \begin{macrocode}
\newenvironment{thebibliography}[1]{%
-%<*book|report>
- \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
- \setchapterpreamble{\bibpreamble}%
- \fi\fi
+ \if@bib@break@
+ \bib@beginhook
+ \else
+%<*book|report>
+ \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
+ \setchapterpreamble{\bibpreamble}%
+ \fi\fi
%</book|report>
- \bib@heading
+ \bib@heading
%<*article>
- \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
- \noindent\bibpreamble\par\nobreak
- \fi\fi
+ \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
+ \noindent\bibpreamble\par\nobreak
+ \fi\fi
%</article>
+ \bib@beginhook
+ \bib@before@hook
+ \fi
+% \end{macrocode}
+% \begin{macro}{\BreakBibliography}
+% \changes{v2.98c}{2008/02/15}{Neu}
+% An dieser Stelle wird \cs{BreakBibliography} passend umdefiniert.
+% \begin{macrocode}
+ \renewcommand{\BreakBibliography}[1]{%
+ \@bib@break
+ \end{thebibliography}%
+ \begingroup ##1\endgroup
+ \begin{thebibliography}{#1}
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% Hier geht es jetzt mit \texttt{thebibliography} weiter.
\list{%
\@biblabel{\@arabic\c@enumiv}%
}{%
@@ -305,40 +468,105 @@
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
- \usecounter{enumiv}%
+ \if@bib@break@
+ \edef\@tempa{%
+ \noexpand\usecounter{enumiv}%
+ \noexpand\setcounter{enumiv}{\the\c@enumiv}%
+ }\@tempa
+ \no@bib@break
+ \else
+ \usecounter{enumiv}%
+ \fi
\let\p@enumiv\@empty
\renewcommand*\theenumiv{\@arabic\c@enumiv}%
}%
\sloppy\clubpenalty4000 \widowpenalty4000
\sfcode`\.=\@m
}{%
- \def\@noitemerr{%
- \@latex@warning{Empty `thebibliography' environment}%
- }%
+ \if@bib@break@
+ \def\@noitemerr{%
+ \@latex@warning{%
+ \string\BreakBibliography\space at begin of `thebibliography'
+ environment\MessageBreak
+ or following \string\BreakBibliography}%
+ }%
+ \else
+ \def\@noitemerr{%
+ \@latex@warning{%
+ Empty `thebibliography' environment or
+ \string\BreakBibliography\MessageBreak
+ before end of `thebibliography' environment}%
+ }%
+ \fi
\endlist
+ \if@bib@break@
+ \else
+ \bib@after@hook
+ \let\bib@before@hook\@empty
+ \let\bib@after@hook\@empty
+ \fi
+ \bib@endhook
}
% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\newblock}
-% \changes{v2.3g}{1996/01/14}{Grundeinstellung geändert}
-% Makro für den nächsten Bereich innerhalb eines Eintrags.
+% \begin{macro}{\if@bib@break@}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}
+% \begin{macro}{\no@bib@break}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}
+% \begin{macro}{\@bib@break}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}
+% Dieser Hilfsschalter arbeitet immer global!
% \begin{macrocode}
-\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\newif\if@bib@break@
+\newcommand{\no@bib@break}{\global\let\if@bib@break@\iffalse}
+\newcommand*{\@bib@break}{\global\let\if@bib@break@\iftrue}
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@openbib@code}
-% \changes{v2.3g}{1996/01/14}{neues Makro}
-% Code, der am Anfang des Literaturverzeichnisses ausgeführt wird und
-% normalerweise für die \texttt{openbib}-Funktionalität verwendet
-% wird.
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\bib@before@hook}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}
+% \begin{macro}{\bib@after@hook}
+% \changes{v2.98c}{2008/02/15}{Neu (intern)}
% \begin{macrocode}
-\let\@openbib@code\@empty
+\newcommand*{\bib@before@hook}{}
+\newcommand*{\bib@after@hook}{}
% \end{macrocode}
-% \end{macro}
-%
-%
+% \end{macro}
+% \end{macro}
+% \end{environment}
+%
+% \begin{macro}{\BreakBibliography}
+% \changes{v2.98c}{2008/02/15}{Neu}
+% Diese Anweisung unterbricht normalerweise das Literaturverzeichnis für ein
+% paar eigene Anweisungen (z. B. Unterüberschriften). Wenn jedoch nicht das
+% \KOMAScript-Literaturverzeichnis verwendet wird, dann gibt es eine Warnung
+% aus.
+% \begin{macrocode}
+\newcommand{\BreakBibliography}[1]{%
+ \ClassWarning{\KOMAClassName}{%
+ You've used \string\BreakBibliography\space either outside of\MessageBreak
+ the bibliography or `thebibliography' was redefined\MessageBreak
+ incompatible, e.g., using a bibliography package.\MessageBreak
+ \string\BreakBibliography\space ignored%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\AfterBibliographyPreamble}
+% \changes{v2.98c}{2008/02/15}{Neu}
+% \begin{macro}{\AtEndBibliography}
+% \changes{v2.98c}{2008/02/15}{Neu}
+% Zwei neue Anweisungen, um am Anfang des Literaturverzeichnisses, nach
+% Überschrift und Präambel, und am Ende des Literaturverzeichnisses, nach
+% Abschluss der Liste, Code einschleusen zu können. Das funktioniert natürlich
+% nur so lange, wie keine Paket verwendet wird, das die Umgebung umdefiniert.
+% \begin{macrocode}
+\newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook}
+\newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
%
% \iffalse
%</body>