diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx | 661 |
1 files changed, 661 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx new file mode 100644 index 00000000000..0522f044522 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx @@ -0,0 +1,661 @@ +% \CheckSum{419} +% \iffalse meta-comment +% ====================================================================== +% scrkernel-bibliography.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% 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.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c 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. +% ---------------------------------------------------------------------- +% scrkernel-bibliography.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c 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. +% ====================================================================== +% \fi +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%%% From File: $Id: scrkernel-bibliography.dtx 1380 2013-10-01 15:31:55Z mjk $ +%<*driver> +% \fi +\ProvidesFile{scrkernel-bibliography.dtx}[2013/09/24 v3.12 KOMA-Script + (bibliography)] +% \iffalse +\documentclass[halfparskip-]{scrdoc} +\usepackage[english,ngerman]{babel} +\usepackage[latin1]{inputenc} +\CodelineIndex +\RecordChanges +\GetFileInfo{scrkernel-bibliography.dtx} +\title{\KOMAScript{} \partname\ \texttt{\filename}% + \footnote{Dies ist Version \fileversion\ von Datei + \texttt{\filename}.}} +\date{\filedate} +\author{Markus Kohm} + +\begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% \selectlanguage{ngerman} +% +% \changes{v2.95}{2002/06/30}{% +% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% +% \section{Literaturverzeichnis} +% +% Das Literaturverzeichnis unterscheidet sich bei \KOMAScript{} nicht +% wesentlich von den Standardklassen. +% +% Briefe haben kein Literaturverzeichnis. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*!letter> +% \fi +% +% \iffalse +%<*option> +% \fi +% \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} +\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.% + }% + }% +} +% \end{macrocode} +% \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} +% +% +% \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.7j}{2001/06/27}{Setzen der Präambel in die +% \texttt{thebibliography}-Umgebung verschoben}% +% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}% +% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% +% \changes{v3.12}{2012/02/06}{\cs{ifbib@leveldown} wird beachtet}% +% Befehl zum Setzen der Überschrift des Literaturverzeichnisses. +% \begin{macrocode} +\newcommand*\bib@heading{% +%<*article> + \ifbib@leveldown + \subsection*{\refname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \section*{\refname}% + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi +%</article> +%<*book|report> + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi +%</book|report> +}% +% \end{macrocode} +% \end{macro} +% +% +% +% \subsection{Optionen für das Literaturverzeichnis} +% +% \begin{option}{bibliography} +% \changes{v2.98c}{2008/02/15}{Neu}%^^A +% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A +% \changes{v3.12}{2013/02/06}{neuer Wert \texttt{leveldown}}%^^A +% \changes{v3.12}{2013/02/06}{neuer Wert \texttt{standardlevel}}%^^A +% \changes{v3.12}{2013/03/05}{an die Änderungen in \textsf{scrbase} +% angepasst}%^^A +% \changes{v3.12}{2013/09/28}{Verwendung von \cs{addxcontentsline} statt +% \cs{addcontentsline}}%^^A +% \changes{v3.12}{2013/09/28}{Es werden keine Kapiteleinträge in andere +% Verzeichnisse geschrieben.}%^^A +% 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{macro}{\ifbib@leveldown} +% \changes{v3.12}{2013/02/06}{neuer Schalter (intern)} +% Für den ab Version~3.12 neuen Wert \texttt{leveldown} und dessen +% Gegenstück \texttt{standardlevel} wird außerdem ein Schalter benötigt. +% \begin{macrocode} +\newif\ifbib@leveldown +\KOMA@key{bibliography}{% + \scr@ifundefinedorrelax{scr@bibstyle@#1}{% + \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},% + {leveldown}{3},% + {standardlevel}{4}% + }{#1}% + \ifcase \@tempa\relax + \renewcommand*\bib@heading{% +%<*article> + \ifbib@leveldown + \subsection*{\refname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \section*{\refname}% + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi +%</article> +%<*book|report> + \ifbib@leveldown + \section*{\bibname}% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\bibname}}\fi + \else + \chapter*{\bibname}% + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi +%</book|report> + }% + \or% totoc + \renewcommand*\bib@heading{% +%<*article> + \ifbib@leveldown + \subsection*{% + \addxcontentsline{toc}{subsection}{\refname}% + \refname + }% + \ifx\@mkboth\@gobble\else\markright{\MakeMarkcase{\refname}}\fi + \else + \addsec{\refname} + \@mkboth{\MakeMarkcase{\refname}}{\MakeMarkcase{\refname}}% + \fi +%</article> +%<*book|report> + \ifbib@leveldown + \addsec{\bibname} + \else + \if@chaptertolists + \@chaptertolistsfalse\addchap{\bibname}\@chaptertoliststrue + \else + \addchap{\bibname} + \fi + \@mkboth{\MakeMarkcase{\bibname}}{\MakeMarkcase{\bibname}}% + \fi +%</book|report> + }% + \or% numbered + \renewcommand*\bib@heading{% +%<*article> + \ifbib@leveldown + \subsection{\refname}% + \else + \section{\refname}% + \@mkboth{\MakeMarkcase{\sectionmarkformat \refname}}% + {\MakeMarkcase{\sectionmarkformat \refname}}% + \fi +%</article> +%<*book|report> + \ifbib@leveldown + \section{\bibname}% + \else + \if@chaptertolists + \@chaptertolistsfalse\chapter{\bibname}\@chaptertoliststrue + \else + \chapter{\bibname} + \fi + \@mkboth{\MakeMarkcase{\chaptermarkformat \bibname}}% + {\MakeMarkcase{\chaptermarkformat \bibname}}% + \fi +%</book|report> + } + \or% leveldown + \bib@leveldowntrue + \or% standardlevel + \bib@leveldownfalse + \fi + }{% + \csname scr@bibstyle@#1\endcsname + \FamilyKeyStateProcessed + }% +} +% \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} +% \changes{v3.01a}{2008/11/21}{standard statt obsolet} +% 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@DeclareStandardOption{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} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \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} +% \changes{v3.01a}{2008/11/20}{deprecated} +% 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@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} +\KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} +% \end{macrocode} +% \end{option} +% \end{option} +% +% +% \iffalse +%</option> +%<*body> +% \fi +% +% +% \subsection{Standardbezeichner} +% +% \begin{macro}{\refname} +% \begin{macro}{\bibname} +% Je nach Klasse wird \cs{refname} oder \cs{bibname} verwendet. +% \begin{macrocode} +%<article>\newcommand*\refname{References} +%<book|report>\newcommand*\bibname{Bibliography} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \subsection{Definitionen für das Literaturverzeichnis} +% +% \begin{macro}{\setbibpreamble} +% \changes{v2.6c}{2000/06/10}{neu} +% \changes{v2.7j}{2001/05/27}{\cs{renewcommand} durch \cs{def} +% ersetzt zur Erhöhung der \textsf{natbib}-Kompatibilität} +% \begin{macro}{\bibpreamble} +% \changes{v2.6c}{2000/06/10}{neue (intern)} +% \changes{v2.6d}{2000/07/20}{Makro funktioniert nachdem \cs{let} +% durch \cs{newcommand*} ersetzt wurde} +% \changes{v2.8q}{2002/01/10}{wieder \cs{let}} +% \cs{bibpreamble} kann vom Benutzer mit \cs{setbibpreamble} auf +% einen Text gesetzt werden, der nach der Überschrift eingefügt +% wird. Dasselbe Makro wird von \textsf{natbib} als \cs{relax} +% definiert; aus Kompatibilitätsgründen wird hier vergleichbar +% verfahren und \cs{let} bzw. \cs{def} statt \cs{renewcommand} +% verwendet. +% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die +% \texttt{thebibliography}-Umgebung verschoben} +% Außerdem wird ab Version 2.7j die Präambel nicht mehr in +% \cs{bib@heading} gesetzt, sondern in der +% \texttt{thebibliography}-Umgebung. Dies dient ebenfalls der +% Kompatibilität mit natbib. Trotz aller Kompatibilität ist +% \cs{bibpreamble} als internes Makro zu betrachten. +% \begin{macrocode} +\newcommand*{\bibpreamble}{\relax} +\let\bibpreamble\relax +\newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{Length}{bibindent} +% Der Einzug der Einträge bei \texttt{openbib}. Voreingestellt sind +% 1,5\,em. +% \begin{macrocode} +\newdimen\bibindent +\bibindent=1.5em +% \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} +% \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]{% + \if@bib@break@ + \bib@beginhook + \else +%<*book|report> + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi +%</book|report> + \bib@heading +%<*article> + \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}% + }{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \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 +}{% + \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} +% \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} +\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} +% \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} +\newcommand*{\bib@before@hook}{} +\newcommand*{\bib@after@hook}{} +% \end{macrocode} +% \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> +% \fi +% +% \iffalse +%</!letter> +% \fi +% +% \Finale +% +\endinput +% +% end of file `scrkernel-bibliography.dtx' +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: t +%%% End: |