diff options
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx')
-rw-r--r-- | macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx | 661 |
1 files changed, 333 insertions, 328 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx b/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx index a00422db94..a2c58a9e4e 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx @@ -1,8 +1,7 @@ -% \CheckSum{421} % \iffalse meta-comment % ====================================================================== % scrkernel-bibliography.dtx -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % 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-2019 -% -% 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 3390 2019-11-18 17:09:35Z kohm $ +%%% From File: $Id: scrkernel-bibliography.dtx 3773 2022-03-29 06:27:55Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-bibliography.dtx}% @@ -74,66 +36,95 @@ (bibliography)]% }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\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} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-bibliography.dtx} \end{document} %</dtx> -% \fi -% \selectlanguage{ngerman} +% \fi^^A meta-comment +% +% \changes{v2.95}{2002/06/30}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/21}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/21}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-bibliography.dtx} +% \title{Bibliography and References with +% \href{https://komascript.de}{\KOMAScript} Classes and Packages} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-bibliography.dtx} provides the usual functionality for the +% bibliography or references. In comparison with the standard classes +% several additions are available. Nevertheless it is fully compatible with +% the known features of the standard classes. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation of the commands implemented in +% \file{scrkernel-bibliography.dtx} in the \KOMAScript{} manual, either the +% German \file{scrguide} or the English \file{scrguien}. +% % -% \changes{v2.95}{2002/06/30}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \MaybeStop{\PrintIndex} % -% \section{Literaturverzeichnis} +% \section{Implementation of Bibliography or References} % -% Das Literaturverzeichnis unterscheidet sich bei \KOMAScript{} nicht -% wesentlich von den Standardklassen. +% Bibliography or references are not available with the \KOMAScript{} letter +% class. +% \begin{macrocode} +%<*!letter> +% \end{macrocode} % -% Briefe haben kein Literaturverzeichnis. % -% \StopEventually{\PrintIndex\PrintChanges} +% \subsection{Bibliography styles} % -% \iffalse -%<*!letter> -% \fi +% \KOMAScript{} provides styles for the bibliography or references. This is +% similar to the redefinition of \cs{@openbib@code} and \cs{newblock} with the +% standard classes, but much more configurable. % -% \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}%^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung des Werts für Option -% \texttt{bibliography}}%^^A -% 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{command}{\newbibstyle} +% \changes{v2.98c}{2008/02/15}{added} +% \changes{v3.17}{2015/03/12}{using internal storage of options \opt{bibliography}} +% Defining new bibliography style: +% \begin{quote} +% \cs{newbibstyle}\oarg{parent style}\marg{style name}\marg{style code} +% \end{quote} +% The command defines an internal command \cs{scr@bibstyle@\meta{style name}}, +% that can be used to activate a bibliography style. If the \meta{parent +% style} is given, the code of the \meta{parent style} is executed before the +% \meta{style code}. +% \begin{macro}{\@openbib@code} +% \changes{v2.3g}{1996/01/14}{added} +% \changes{v2.98c}{2008/02/15}{earlier definition} +% Typically the \meta{style code} redefines the macro \cs{@openbib@code} and +% \cs{newblock}. +% The \cs{@openbib@code} is executed at the very beginning of a +% bibliography. Originally it has been used to implement the standard option +% \opt{openbib}. \KOMAScript{} uses it for compatibility for all bibliography +% styles. +% \begin{command}{\newblock} +% \changes{v2.3g}{1996/01/14}{initialization changed} +% \changes{v2.98c}{2008/02/15}{earlier definition} +% The command \cs{newblock} is used inside bibliography entries to mark a +% \emph{new block}. Usually such new blocks are inserted after the author and +% after the title. But the user or \BibTeX{} style is free to use it different. +% Both are initialized empty (before the code of a parent +% style is executed. +% \begin{macro}{\bib@beginhook,\bib@endhook} +% \changes{v2.98c}{2008/02/15}{added} +% Also \cs{bib@beginhook} and \cs{bib@endhook} are initialized empty. So +% activation of a new bibliography style always removes the hook +% code. Redefining an already existing style is not supported and results in +% an error. % \begin{macrocode} +%<*option> \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% @@ -154,11 +145,12 @@ \let\bib@endhook\@empty % \end{macrocode} % \begin{macro}{\scr@current@bibstyle} -% \changes{v3.17}{2015/03/12}{Neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Das Makro \cs{scr@current@bibstyle} wird benötigt, um den aktuellen Wert von -% Option \texttt{bibliography} korrigieren zu können. Es wird direkt vom Stil -% definiert, der auch die Korrektur des Optionenwerts durchführt. +% \changes{v3.17}{2015/03/12}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.36}{2022/02/21}{add expanded name to list} +% To be able to change the current value of option \opt{bibliography} we need +% to know the current style and save it in \cs{scr@current@bibstyle}. We also +% have to correct the value in the storage by activating a style. % \begin{macrocode} \@ifundefined{scr@current@bibstyle}{}{% \Ifstr{\scr@current@bibstyle}{}{}{% @@ -176,7 +168,11 @@ \csname scr@bibstyle@#1\endcsname #3% }% - \g@addto@macro\scr@bibstylelist{, `#2'}% + \ifx\scr@bibstylelist\@empty + \edef\scr@bibstylelist{`#2'}% + \else + \edef\scr@bibstylelist{\scr@bibstylelist, `#2'}% + \fi }% }{% \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{% @@ -189,54 +185,39 @@ } % \end{macrocode} % \begin{macro}{\scr@bibstyle@} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}% -% Nur ein Dummy, wenn kein Elternstil existiert. +% \changes{v2.98c}{2008/02/15}{added} +% Dummy of the empty parent style. % \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. +% \end{macro}^^A \scr@bibstyle@ +% The hook macros are reserved. % \begin{macrocode} \newcommand*{\bib@beginhook}{} \newcommand*{\bib@endhook}{} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \bib@beginhook,\bib@endhook % \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)}%^^A -% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}%^^A -% 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}%^^A -% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}%^^A -% \begin{macrocode} -\newcommand*{\scr@bibstylelist}{\@gobble} +% \changes{v2.98c}{2008/02/15}{added} +% \changes{v3.36}{2022/02/21}{\cs{@gobble} removed} +% \cs{scr@bibstylelist} is a printable comma-separated list of all known +% styles. Single quotes are used to quote the single styles. It is designated +% to be used in messages. +% \begin{macrocode} +\newcommand*{\scr@bibstylelist}{} +% \end{macrocode} +% And also \cs{@openbib@code} and \cs{newblock} are reserved. +% \begin{macrocode} \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)}%^^A -% Der Stil \texttt{oldstyle} entspricht hingegen der Voreinstellung. +% \end{macro}^^A \scr@bibstylelist +% \begin{macro}{\scr@bibstyle@openstyle,\scr@bibstyle@oldstyle} +% \changes{v2.98c}{2008/02/15}{added} +% The bibliography style \texttt{openstyle} corresponds to standard option +% \opt{openbib}. The \cs{newblock} starts a new paragraph. +% Style \texttt{oldstyle} is the default style where \cs{newblock} inserts a +% small horizontal distance only. % \begin{macrocode} \newbibstyle{openstyle}{% \renewcommand*{\@openbib@code}{% @@ -252,31 +233,33 @@ } \scr@bibstyle@oldstyle % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@bibstyle@openstyle,\scr@bibstyle@oldstyle +% \end{command}^^A \newblock +% \end{macro}^^A \@openbib@code +% \end{command}^^A \newbibstyle % % -% \subsubsection{Überschrift des Literaturverzeichnisses} +% \subsection{Bibliography heading} % % \begin{macro}{\bib@heading} -% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A -% \changes{v2.6c}{2000/06/10}{die Präambel wird gesetzt}%^^A -% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird verwendet}%^^A -% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die -% \texttt{thebibliography}-Umgebung verschoben}%^^A -% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}%^^A -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A -% \changes{v3.12}{2012/02/06}{\cs{ifbib@leveldown} wird beachtet}%^^A -% \changes{v3.13b}{2014/10/10}{running head with \texttt{leveldown}%^^A -% fixed}%^^A -% \changes{v3.25}{2017/10/13}{use always \cs{@mkright} and \cs{@mkdouble}}%^^A -% \changes{v3.25}{2017/10/13}{using \cs{bibliography@heading}}%^^A +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.6c}{2000/06/10}{printing preamble} +% \changes{v2.7b}{2001/01/05}{using \cs{setchapterpreamble}} +% \changes{v2.7j}{2001/06/27}{printing preamble moved to \env{thebibliography}} +% \changes{v2.98c}{2008/02/15}{defined ealier} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.12}{2012/02/06}{using \cs{ifbib@leveldown}} +% \changes{v3.13b}{2014/10/10}{running head with \texttt{leveldown} fixed} +% \changes{v3.25}{2017/10/13}{using always \cs{@mkright} and \cs{@mkdouble}} +% \changes{v3.25}{2017/10/13}{using \cs{bibliography@heading}} % \begin{macro}{\bibliography@heading} -% \changes{v3.25}{2017/10/13}{neu (intern)} -% \changes{v3.26}{2018/09/03}{Verwendung von \cs{addsecmark} -% oder \cs{subsectionmark} statt \cs{@mkright}}%^^A -% Befehl zum Setzen der Überschrift des Literaturverzeichnisses. +% \changes{v3.25}{2017/10/13}{added} +% \changes{v3.26}{2018/09/03}{using \cs{addsecmark} or \cs{subsectionmark} +% instead of \cs{@mkright}} +% \cs{bib@heading} runs the more generic \cs{bibliography@heading} with text +% \cs{refname} resp. \cs{bibname}. This indirect approach has been +% implemented, to that \pkg{biblatex} can simply call \cs{bibliography} with +% different texts for multiple bibliographies. % \begin{macrocode} \newcommand*{\bib@heading}{% %<article> \bibliography@heading{\refname}% @@ -300,46 +283,78 @@ \fi }% % \end{macrocode} -% \end{macro} -% \end{macro}% +% \end{macro}^^A \bibliography@heading +% \end{macro}^^A \bib@heading % % -% \subsection{Optionen für das Literaturverzeichnis} +% \subsection{Options} % % \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}%^^A -% 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 -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A -% \changes{v3.25}{2017/10/13}{use always \cs{@mkright} and -% \cs{@mkdouble}}%^^A -% \changes{v3.25}{2017/10/13}{redefines \cs{bibliography@heading} instead of -% \cs{bib@heading}}%^^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)}%^^A -% Für den ab Version~3.12 neuen Wert \texttt{leveldown} und dessen -% Gegenstück \texttt{standardlevel} wird außerdem ein Schalter benötigt. +% \changes{v2.98c}{2008/02/15}{added} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.12}{2013/02/06}{new value \opt{leveldown}} +% \changes{v3.12}{2013/02/06}{new value \opt{standardlevel}} +% \changes{v3.12}{2013/03/05}{adapted to changes of \pkg*{scrbase}} +% \changes{v3.12}{2013/09/28}{using \cs{addxcontentsline} instead of +% \cs{addcontentsline}} +% \changes{v3.12}{2013/09/28}{do not write chapter entries to other directories} +% \changes{v3.17}{2015/03/12}{using internal value storage} +% \changes{v3.25}{2017/10/13}{using always \cs{@mkright} and \cs{@mkdouble}} +% \changes{v3.25}{2017/10/13}{redefining \cs{bibliography@heading} instead of +% \cs{bib@heading}} +% \KOMAScript provides several configurations for the bibliography or +% references using a single option. +% \begin{macro}{\bib@leveldownfalse,\bib@leveldowntrue,\ifbib@leveldown} +% \changes{v3.12}{2013/02/06}{added} +% The boolean \cs{ifbib@leveldown} is used to allow the +% bibliography/references have a lower heading level. % \begin{macrocode} \newif\ifbib@leveldown +% \end{macrocode} +% \end{macro} +% The supported values for option \opt{bibliography} are: +% \begin{macrocode} \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% \KOMA@set@ncmdkey{bibliography}{@tempa}{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=notoc}:] (default) don't add the bibliography/references to the +% table of contents. +% \end{description} +% \begin{macrocode} {notoc}{0},{nottotoc}{0},{plainheading}{0},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=totoc}:] add the bibliography/references to the table of +% contents, but do not number it. +% \end{description} +% \begin{macrocode} {totoc}{1},{toc}{1},{notnumbered}{1},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=numbered}:] number the bibliography/references and so also add +% it to the table of contents. +% \end{description} +% \begin{macrocode} {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% {numberedtoc}{2},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=leveldown}:] don't use the top heading level (chapters with +% \cls*{scrbook} or \cls*{scrreprt}, sections with \cs*{scrartcl}) but one +% level lower (sections with \cls*{scrbook} or \cls*{scrreprt}, subsection +% with \cs*{scrartcl}) for the bibliography/references. +% \end{description} +% \begin{macrocode} {leveldown}{3},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=standardlevel}:] use the top heading level (chapters with +% \cls*{scrbook} or \cls*{scrreprt}, sections with \cs*{scrartcl}) for the +% bibliography/references. +% \end{description} +% \begin{macrocode} {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax % notoc @@ -375,11 +390,11 @@ %<*article> \ifbib@leveldown % \end{macrocode} -% \changes{v3.23}{2017/02/23}{Verwendung von \cs{ext@toc}}%^^A -% \changes{v3.25}{2017/10/13}{Verwendung von \cs{addsubsectiontocentry} statt -% \cs{addxcontentsline}}%^^A -% Ab Version 3.23 wird das von \textsf{tocbasic} bereitgestellte -% \cs{ext@toc} statt dem hart codierten \texttt{toc} verwendet. +% \changes{v3.23}{2017/02/23}{using \cs{ext@toc}} +% \changes{v3.25}{2017/10/13}{using \cs{addsubsectiontocentry} instead of +% \cs{addxcontentsline}} +% From version 3.23 \cs{ext@toc} of \pkg*{tocbasic} is used instead of hard +% coded |toc|. % \begin{macrocode} \subsection*{% \addsubsectiontocentry{}{##1}% @@ -447,6 +462,15 @@ \bib@leveldownfalse \fi }{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=\meta{style}}:] all other values are names of styles. +% \begin{description} +% \item[ToDo:] Here we should test for valid style names and report an +% unknown value for unknown styles. +% \end{description} +% \end{description} +% \begin{macrocode} \FamilyKeyStateProcessed \edef\reserved@a{% \noexpand\KOMA@kav@remove{.\KOMAClassFileName}{bibliography}% @@ -456,131 +480,120 @@ }% } % \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}%^^A -% \changes{v2.98c}{2008/02/15}{obsolete}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% 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{macro}{\@openbibfalse,\@openbibtrue,\if@openbib} +% \changes{v2.3g}{1996/01/14}{removed} +% \end{macro} +% \changes{v2.3g}{1996/01/14}{re-implemented} +% \changes{v2.98c}{2008/02/15}{obsolete} +% \changes{v3.01a}{2008/11/21}{standard instead of obsolete} +% The standard option \opt{openbib} is mapped to \opt{bibliography=openstyle}. % \begin{macrocode} \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} % \end{macrocode} % \end{option} % % \begin{option}{bibtotoc} -% \changes{v2.3h}{1995/01/21}{neue Option}%^^A -% \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}%^^A -% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die -% thebibliography-Umgebung verschoben}%^^A -% \changes{v2.98c}{2008/02/15}{obsolete}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} added} +% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} added} +% \changes{v2.7}{2001/01/03}{braces fixed} +% \changes{v2.7j}{2001/06/27}{preamble printing moved to \env{thebibliography}} +% \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}%^^A -% \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}%^^A -% \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}%^^A -% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}%^^A -% \changes{v2.98c}{2008/02/15}{obsolete}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% 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. +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} added} +% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} added} +% \changes{v2.7}{2001/01/03}{braces fixed} +% \changes{v2.7b}{2001/01/05}{using \cs{setchapterpreamble}} +% \changes{v2.7i}{2001/05/17}{\cs{chapter} instead of \cs{addchap}} +% \changes{v2.7j}{2001/06/27}{preamble printing moved to \env{thebibliography}} +% \changes{v2.9p}{2003/07/07}{number in running head} +% \changes{v2.98c}{2008/02/15}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} +% Deprecated options \opt{bibtotoc} and \opt{bibtotocnumbered} are mapped to +% \opt{bibliography=totoc} resp. \opt{bibliography=totocnumbered}. % \begin{macrocode} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} -% \end{macrocode} -% \end{option} -% \end{option} -% -% -% \iffalse %</option> -%<*body> -% \fi +% \end{macrocode} +% \end{option}^^A bibtotocnumbered +% \end{option}^^A bibtotoc % % -% \subsection{Standardbezeichner} +% \subsection{Names} % -% \begin{macro}{\refname} -% \begin{macro}{\bibname} -% Je nach Klasse wird \cs{refname} oder \cs{bibname} verwendet. +% \begin{command}{\refname,\bibname} +% \changes{v3.36}{2022/02/15}{explicit definition for English languages} +% Depending on the class either \cs{refname} or \cs{bibname} is used. % \begin{macrocode} -%<article>\newcommand*\refname{References} -%<book|report>\newcommand*\bibname{Bibliography} +%<*body> +%<*article> +\newcommand*\refname{References} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\refname{References} +%</article> +%<*book|report> +\newcommand*\bibname{Bibliography} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\bibname{Bibliography} +%</book|report> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % % -% \subsection{Definitionen für das Literaturverzeichnis} +% \subsection{Printing the bibliography or references} % -% \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{command}{\setbibpreamble} +% \changes{v2.6c}{2000/06/10}{added} +% \changes{v2.7j}{2001/05/27}{\cs{renewcommand} replaced by \cs{def} for +% better \pkg{natbib} compatibility} % \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. +% \changes{v2.6c}{2000/06/10}{neue (intern)} +% \changes{v2.6d}{2000/07/20}{\cs{let} replaced by \cs{newcommand*}} +% \changes{v2.8q}{2002/01/10}{\cs{newcommand*} replaced by \cs{let}} +% \changes{v2.7j}{2001/05/27}{preamble printing moved to \env{thebibliography}} +% \cs{bibpreamble} should be interpreted as an internal macro. The user +% command name space has been used for compatibility with \pkg{natbib} +% only. The official \KOMAScript{} user interface is using +% \begin{quote} +% \cs{setbibpreamble}\marg{preamble} +% \end{quote} +% Also for compatibility \cs{bibpreamble} is not set by \cs{bib@heading} but +% inside environment \env{theenvironment}. % \begin{macrocode} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax \newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \bibpreamble +% \end{command}^^A \setbibpreamble % -% \begin{Length}{bibindent} -% Der Einzug der Einträge bei \texttt{openbib}. Voreingestellt sind -% 1,5\,em. +% \begin{length}{bibindent} +% The indent of entries with option \opt{bibliography=openstyle}. Default is 1.5\,em. % \begin{macrocode} \newdimen\bibindent \bibindent=1.5em % \end{macrocode} -% \end{Length} +% \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. +% \changes{v2.2a}{1995/02/01}{for \cls*{scrartcl} \cs{bibname} replaced by +% \cs{refname}} +% \changes{v2.3h}{1995/01/21}{using \cs{bib@heading}} +% \changes{v2.8q}{2002/01/10}{handling empty preamble} +% \changes{v2.9o}{2003/03/06}{fix of comparing \cs{bibpreamble} with \cs{@empty}} +% \changes{v2.98c}{2008/02/15}{new hooks \cs{bib@before@hook} and +% \cs{bib@after@hook}} +% This environment is used to print the bibliography or references. Note: This +% environment is redefined by almost all bibliography packages like +% \pkg{natbib} or \pkg{biblatex}. No one of these supports all features of +% \KOMAScript{}. So if such a package is used, users should consult the +% package manual instead of using a \KOMAScript{} feature. % \begin{macrocode} \newenvironment{thebibliography}[1]{% \if@bib@break@ @@ -601,9 +614,10 @@ \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{command}{\BreakBibliography} +% \changes{v2.98c}{2008/02/15}{added} +% Redefining \cs{BreakBibliography} to work with our definition of +% \env{thebibliography}. % \begin{macrocode} \renewcommand{\BreakBibliography}[1]{% \@bib@break @@ -612,9 +626,9 @@ \begin{thebibliography}{#1} }% % \end{macrocode} -% \end{macro} +% \end{command} % \begin{macrocode} -% Hier geht es jetzt mit \texttt{thebibliography} weiter. +% Start the list for the entries. \list{% \@biblabel{\@arabic\c@enumiv}% }{% @@ -662,39 +676,31 @@ \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{macro}{\if@bib@break@,\no@bib@break,\@bib@break} +% \changes{v2.98c}{2008/02/15}{added} +% To be used as global switch. +% \begin{description} +% \item[ToDo:] Maybe redefine \cs{@bib@break@true} and \cs{@bib@break@false}. +% \end{description} % \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 +% \end{macro}^^A \if@bib@break@,\no@bib@break,\@bib@break +% \begin{macro}{\bib@before@hook,\bib@after@hook} +% \changes{v2.98c}{2008/02/15}{added} % \begin{macrocode} \newcommand*{\bib@before@hook}{} \newcommand*{\bib@after@hook}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{environment} +% \end{macro}^^A \bib@before@hook,\bib@after@hook +% \end{environment}^^A thebibliography % -% \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{command}{\BreakBibliography} +% \changes{v2.98c}{2008/02/15}{added} +% The initial definition is a do nothing but warn, because the command makes +% sense only inside \env{thebibliography}. % \begin{macrocode} \newcommand{\BreakBibliography}[1]{% \ClassWarning{\KOMAClassName}{% @@ -705,37 +711,36 @@ }% } % \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. +% \end{command}^^A \BreakBibliography +% +% \begin{command}{\AfterBibliographyPreamble,\AtEndBibliography} +% \changes{v2.98c}{2008/02/15}{added} +% Add code to the two new hooks inside our definition of +% \env{thebibliography}. So any bibliography package can break this +% functionality. +% Note: The hooks are always emptied by selecting a style using +% \opt{bibliography=\meta{style name}}. % \begin{macrocode} \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} +%</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \iffalse -%</body> -% \fi % -% \iffalse +% \begin{macrocode} %</!letter> -% \fi -% +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-bibliography.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: |