% \CheckSum{144}
% \iffalse meta-comment
% ======================================================================
% scrkbib.dtx
% Copyright (c) Markus Kohm, 2002-2006
%
% 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.
% ----------------------------------------------------------------------
% scrkbib.dtx
% Copyright (c) Markus Kohm, 2002-2006
%
% 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.
% ======================================================================
% \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: scrkbib.dtx
%<*driver>
% \fi
\ProvidesFile{scrkbib.dtx}[2006/03/28 v2.95 KOMA-Script (bibliography)]
% \iffalse
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\CodelineIndex
\RecordChanges
\GetFileInfo{scrkbib.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{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).
%    \begin{macrocode}
%<*!scrlettr>
\DeclareOption{openbib}{%
  \AtEndOfPackage{%
    \renewcommand*\@openbib@code{%
      \advance\leftmargin\bibindent
      \itemindent -\bibindent
      \listparindent \itemindent
      \parsep \z@
    }%
    \renewcommand*\newblock{\par}%
  }%
}
%</!scrlettr>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \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}
%  \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}
% 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}
%    \begin{macrocode}
\DeclareOption{bibtotoc}{%
  \AtEndOfClass{%
    \renewcommand*\bib@heading{%
%<*article>
      \addsec{\refname}%
      \@mkboth{\refname}{\refname}%
%</article>
%<*book|report>
      \addchap{\bibname}%
      \@mkboth{\bibname}{\bibname}%
%</book|report>
    }%
  }%
}
\DeclareOption{bibtotocnumbered}{%
  \AtEndOfClass{%
    \renewcommand*\bib@heading{%
%<*article>
      \section{\refname}%
      \@mkboth{\sectionmarkformat \refname}{\sectionmarkformat \refname}%
%</article>
%<*book|report>
      \chapter{\bibname}%
      \@mkboth{\chaptermarkformat \bibname}{\chaptermarkformat \bibname}%
%</book|report>
    }%
  }%
}
%    \end{macrocode}
%  \end{macro}
%  \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{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.
%    \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}
% 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
%</book|report>
  \bib@heading
%<*article>
  \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else
      \noindent\bibpreamble\par\nobreak
  \fi\fi
%</article>
  \list{%
    \@biblabel{\@arabic\c@enumiv}%
  }{%
    \settowidth\labelwidth{\@biblabel{#1}}%
    \leftmargin\labelwidth
    \advance\leftmargin\labelsep
    \@openbib@code
    \usecounter{enumiv}%
    \let\p@enumiv\@empty
    \renewcommand*\theenumiv{\@arabic\c@enumiv}%
  }%
  \sloppy\clubpenalty4000 \widowpenalty4000
  \sfcode`\.=\@m
}{%
  \def\@noitemerr{%
    \@latex@warning{Empty `thebibliography' environment}%
  }%
  \endlist
}
%    \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{macrocode}
\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em}
%    \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.
%    \begin{macrocode}
\let\@openbib@code\@empty
%    \end{macrocode}
%  \end{macro}
%
%
%
% \iffalse
%</body>
% \fi
%
% \iffalse
%</!letter>
% \fi
%
% \Finale
%
\endinput
%
% end of file `scrkbib.dtx'
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
%%% End:
