summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-version.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-version.dtx233
1 files changed, 105 insertions, 128 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
index ceca58f8c5..bb6e1ca9dd 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{105}
% \iffalse meta-comment
% ======================================================================
% scrkernel-version.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,78 +17,62 @@
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrkernel-version.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-version.dtx 3636 2021-11-13 18:16:17Z kohm $
-% \fi
-%
-% \iffalse
-% Nicht verwirren lassen! In dieser Datei steht die Dokumentation und
-% der Code vor dem Treiber. Das ist notwendig, weil der Code bereits
-% am Anfang des Treibers selbst benötigt wird.
-% \fi
-%
-% \selectlanguage{ngerman}
-%
-% \changes{v2.0e}{1994/07/07}{erste Version von \textsf{scrartcl},
-% \textsf{scrreprt} und \textsf{scrbook}}
-% \changes{v2.95}{2002/06/25}{erste Version aus der Aufteilung von
-% \texttt{scrclass.dtx}}
-%
-% \section{Version des \KOMAScript-Kerns}
-%
-% Dies ist die erste Datei in allen Dateien, Klassen und Paketen, die
-% zum \KOMAScript-Kern gehören (Ausnahme: \texttt{scrlfile}).
-%
-% \StopEventually{\PrintIndex\PrintChanges}
-%
-% \begin{macro}{\KOMAScriptVersion}
-% \changes{v2.95}{2002/06/25}{neu}%^^A
-% Dieses Makro gibt an, zu welcher \KOMAScript-Version die Datei
-% gehört. Die Klassen und Pakete des \KOMAScript-Kerns verwenden
-% dieses Makro außerdem als eigene Versionsangabe.
+%%% From File: $Id: scrkernel-version.dtx 3774 2022-04-28 07:46:52Z kohm $
+%
+% ATTENTION: In this file parts of the code and documentation are before the
+% driver. This must be, because this part of the code is needed by the driver
+% in this file and most of the other KOMA-Script dtx-files.
+%
+% \fi^^A meta-comment
+%
+% \changes{v2.0e}{1994/07/07}{first release of \cls*{scrartcl},
+% \cls*{scrreprt}, and \cls*{scrbook}}
+% \changes{v2.95}{2002/06/25}{first version of this file by splitting of
+% \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/11}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/11}{whole implementation documentation in English}
+%
+% \GetFileInfo{scrkernel-version.dtx}
+% \title{The Version of the \href{https://komascript.de}{\KOMAScript} Kernel
+% and therefore the Classes and most of the Packages}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Version \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% \filename{} is not only used for the code of all \KOMAScript{} classes and
+% most of the \KOMAScript{} packages. It is also used by most of the
+% installation drivers (\file{ins}-files) for the definition of
+% \KOMAScript{} version.
+% \end{abstract}
+% \tableofcontents
+%
+%
+% \section{User Manual}
+%
+% You can find the user documentation of the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
+%
+% \MaybeStop{\PrintIndex}
+%
+% \section{Implementation of the \KOMAScript{} Kernel Version Information}
+%
+% \begin{command}{\KOMAScriptVersion}
+% \changes{v2.95}{2002/06/25}{added}
+% This is the \KOMAScript{} version the file is related to. It is also added
+% to the classes and most of the packages by the installation drivers. This is
+% done using \file{scrdocstrip.tex} and additionally loading this file.
% \begin{macro}{\@CheckKOMAScriptVersion}
-% \changes{v2.95}{2002/06/25}{neu (intern)}%^^A
-% Je nachdem, ob \cs{KOMAScriptVersion} bereits definiert ist nicht,
-% wird die Definition überprüft oder eine globale Definition
-% vorgenommen. Da das ganze auch bei der Erstellung der Doku
-% geschieht, wird mit \cs{makeatletter} innerhalb einer Gruppe
-% gearbeitet.
+% \changes{v2.95}{2002/06/25}{added}
+% Depending on \cs{KOMAScriptVersion} already defined or not, the existing
+% definition is compared with the version here or \cs{KOMAScriptVersion} is
+% newly and globally defined. This has to work not only in class or package
+% files, but also in document files. So \cs{makeatletter} inside a group is
+% needed for the internal macros. Additionally a guard \texttt{ignorethis} is
+% used, to avoid adding code, that is needed only for the installation driver,
+% also to classes or packages.
% \begin{macrocode}
\begingroup
\catcode`\@11\relax
@@ -123,41 +106,41 @@
\fi
%</ignorethis>
\fi
- \@CheckKOMAScriptVersion{2021/11/13 v3.35 KOMA-Script}%
+% \end{macrocode}
+% Note: Following line will be patched by \file{makebetaorrelase.sh} and
+% therefore the syntax or general structure of the line must not be changed!
+% \begin{macrocode}
+ \@CheckKOMAScriptVersion{2022/05/01 v3.36 KOMA-Script}%
\endgroup
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{command}
%
% \iffalse
%<*dtx>
-% \fi
\ProvidesFile{scrkernel-version.dtx}[\KOMAScriptVersion (versions)]
-% \iffalse
-\documentclass[parskip=half-]{scrdoc}
-\usepackage[english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-version.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}
\begin{document}
- \maketitle
- \DocInput{\filename}
+ \DocInput{scrkernel-version.dtx}
\end{document}
%</dtx>
% \fi
%
+% \subsection{Implementation of class and package names and file names}
+%
+% \begin{description}
+% \item[ToDo] Maybe, this should be split in one file for each class. The file
+% extension code should be moved to \file{scrkernel-miscellaneous.dtx}.
+% \end{description}
+%
% \begin{macro}{\scr@pkgextension}
-% \changes{v3.17}{2015/03/17}{Neu (intern)}%^^A
+% \changes{v3.17}{2015/03/17}{added}
% \begin{macro}{\scr@clsextension}
-% \changes{v3.17}{2015/03/17}{Neu (intern)}%^^A
-% \changes{v3.18}{2015/06/17}{fixed}%^^A
-% Die beiden sind prinzipiell das gleiche wie \cs{@pkgextension} und
-% \cs{@clsextension} aber auch noch nach \cs{begin{document}}.
+% \changes{v3.17}{2015/03/17}{added}
+% \changes{v3.18}{2015/06/17}{fixed}
+% Last but not least same like \cs{@pkgextension} and \cs{@clsextension} but
+% still valid after the preamble.
% \begin{macrocode}
%<*class|package>
%<package>\providecommand*{\scr@pkgextension}{\@pkgextension}
@@ -171,22 +154,20 @@
% \end{macro}
% \end{macro}
%
-% \iffalse
-%<*class>
-% \fi
-% \begin{macro}{\KOMAClassFileName}
-% \changes{v3.17}{2014/03/12}{Neu}%^^A
-% \begin{macro}{\KOMAClassName}
-% \changes{v2.95}{2004/11/04}{Neu}%^^A
-% \begin{macro}{\KOMALongClassFileName}
-% \changes{v3.27}{2019/02/16}{Neu}%^^A
-% \begin{macro}{\KOMALongClassName}
-% \changes{v3.27}{2019/02/16}{Neu}%^^A
-% \begin{macro}{\ClassName}
-% \changes{v2.95}{2004/11/04}{Neu}%^^A
-% Für \KOMAScript-Klassen wird hier einmalig der Name der Klasse definiert und
-% und die Klasse der Klasse angegeben.
+% \begin{command}{\KOMAClassFileName}
+% \changes{v3.17}{2014/03/12}{added}
+% \begin{command}{\KOMAClassName}
+% \changes{v2.95}{2004/11/04}{added}
+% \begin{command}{\KOMALongClassFileName,\KOMALongClassName}
+% \changes{v3.27}{2019/02/16}{added}
+% \begin{command}{\ClassName}
+% \changes{v2.95}{2004/11/04}{added}
+% We define the name of each \KOMAScript{} class and the name of the
+% \emph{class} of the class (usually name of the corresponding standard class)
+% once. This allows to use code, that outputs the name of the class, for
+% several classes without using always class specific code.
% \begin{macrocode}
+%<*class>
\newcommand*{\KOMAClassName}{%
%<article|(letter&long)> scrartcl%
%<report> scrreprt%
@@ -211,11 +192,10 @@
\edef\KOMALongClassFileName{\KOMALongClassFileName}
%</long>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
% \begin{macrocode}
%<!long>\ProvidesClass{\KOMAClassName}[%
%<long>\ProvidesClass{\KOMALongClassName}[%
@@ -229,30 +209,27 @@
\expandafter\LoadClassWithOptions\expandafter{\KOMAClassName}
%<letter>\RequirePackage{scrletter}
%</long>
-% \end{macrocode}
-% \iffalse
%</class>
-% \fi
+% \end{macrocode}
%
-% \iffalse
-%<*package&letter>
-% \fi
% \begin{macrocode}
+%<*package&letter>
\ProvidesPackage{scrletter}[%
%!KOMAScriptVersion
letter package extending any KOMA-Script class%
]
-% \end{macrocode}
-% \iffalse
%</package&letter>
-% \fi
+% \end{macrocode}
%
% \Finale
+% \PrintChanges
%
\endinput
-%
-% end of file `scrkernel-version.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: