% \CheckSum{519} % \iffalse meta-comment % ====================================================================== % scrkernel-bibliography.dtx % Copyright (c) Markus Kohm, 2002-2017 % % 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-2017 % % 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 2640 2017-05-08 09:36:55Z kohm $ % %<*body> % \fi % % % \subsection{Standardbezeichner} % % \begin{macro}{\refname} % \begin{macro}{\bibname} % Je nach Klasse wird \cs{refname} oder \cs{bibname} verwendet. % \begin{macrocode} %
\newcommand*\refname{References} %\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}^^A % \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)}^^A % \changes{v2.6d}{2000/07/20}{Makro funktioniert nachdem \cs{let}^^A % 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}^^A % \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 % \bib@heading %<*article> \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else \noindent\bibpreamble\par\nobreak \fi\fi %
\bib@beginhook \bib@before@hook \fi % \end{macrocode} % \begin{macro}{\BreakBibliography} % \changes{v2.98c}{2008/02/15}{Neu}^^A % 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)}^^A % \begin{macro}{\no@bib@break} % \changes{v2.98c}{2008/02/15}{Neu (intern)}^^A % \begin{macro}{\@bib@break} % \changes{v2.98c}{2008/02/15}{Neu (intern)}^^A % 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)}^^A % \begin{macro}{\bib@after@hook} % \changes{v2.98c}{2008/02/15}{Neu (intern)}^^A % \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}^^A % 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}^^A % \begin{macro}{\AtEndBibliography} % \changes{v2.98c}{2008/02/15}{Neu}^^A % 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 % % \fi % % \iffalse % % \fi % % \Finale % \endinput % % end of file `scrkernel-bibliography.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t %%% End: