% \CheckSum{105}
% \iffalse meta-comment
% ======================================================================
% scrkernel-version.dtx
% Copyright (c) Markus Kohm, 2002-2019
%
% 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-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 3449 2020-01-24 07:28:10Z 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.
% \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.
%    \begin{macrocode}
\begingroup
  \catcode`\@11\relax
%<*ignorethis>
  \ifx\newcommand\undefined
    \gdef\@CheckKOMAScriptVersion#1{%
      \global\KOMAdefVariable{KOMAScriptVersion}{\space\space#1}%
      \aftergroup\endinput
    }%
  \else
%</ignorethis>
  \ifx\KOMAScriptVersion\undefined
    \newcommand*{\@CheckKOMAScriptVersion}[1]{%
      \gdef\KOMAScriptVersion{#1}%
    }%
  \else
    \newcommand*{\@CheckKOMAScriptVersion}[1]{%
      \def\@tempa{#1}%
      \ifx\KOMAScriptVersion\@tempa\else
        \@latex@warning@no@line{%
          \noexpand\KOMAScriptVersion\space is 
          `\KOMAScriptVersion',\MessageBreak
          but `#1' was expected!\MessageBreak
          You should not use classes, packages or files
          from\MessageBreak
          different KOMA-Script versions%
        }%
      \fi
    }
%<*ignorethis>
  \fi
%</ignorethis>
  \fi
  \@CheckKOMAScriptVersion{2020/01/24 v3.29 KOMA-Script}%
\endgroup
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \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}

\begin{document}
  \maketitle
  \DocInput{\filename}
\end{document}
%</dtx>
% \fi
%
% \begin{macro}{\scr@pkgextension}
% \changes{v3.17}{2015/03/17}{Neu (intern)}%^^A
% \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}}.
%    \begin{macrocode}
%<*class|package>
%<package>\providecommand*{\scr@pkgextension}{\@pkgextension}
%<class>\providecommand*{\scr@clsextension}{\@clsextension}
\AtBeginDocument{%
%<package>  \let\scr@pkgextension\@pkgextension
%<class>  \let\scr@clsextension\@clsextension
}
%</class|package>
%    \end{macrocode}
% \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{macrocode}
\newcommand*{\KOMAClassName}{%
%<article|(letter&long)>  scrartcl%
%<report>  scrreprt%
%<book>  scrbook%
%<letter&!long>  scrlttr2%
}
%<*!long>
\newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension}
\edef\KOMAClassFileName{\KOMAClassFileName}
%</!long>
\newcommand*{\ClassName}{%
%<article|(letter&long)>  article%
%<report>  report%
%<book>  book%
%<letter&!long>  letter%
}
%<*long>
\newcommand*{\KOMALongClassName}{}
%<!letter>\edef\KOMALongClassName{scr\ClassName}
%<letter>\def\KOMALongClassName{scrletter}
\newcommand*{\KOMALongClassFileName}{\KOMALongClassName.\@clsextension}
\edef\KOMALongClassFileName{\KOMALongClassFileName}
%</long>
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%    \begin{macrocode}
%<!long>\ProvidesClass{\KOMAClassName}[%
%<long>\ProvidesClass{\KOMALongClassName}[%
%!KOMAScriptVersion
  document class (\ClassName)%
]
%<*long>
\let\ClassName\relax
%<letter>\providecommand*{\@ptsize}{12}
\expandafter\let\expandafter\KOMAClassName\expandafter\relax
\expandafter\LoadClassWithOptions\expandafter{\KOMAClassName}
%<letter>\RequirePackage{scrletter}
%</long>
%    \end{macrocode}
% \iffalse
%</class>
% \fi
%
% \iffalse
%<*package&letter>
% \fi
%    \begin{macrocode}
\ProvidesPackage{scrletter}[%
%!KOMAScriptVersion
  letter package extending any KOMA-Script class%
]
%    \end{macrocode}
% \iffalse
%</package&letter>
% \fi
%
% \Finale
%
\endinput
%
% end of file `scrkernel-version.dtx'
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
%%% End:
