% \CheckSum{3220}
% \iffalse meta-comment
% ======================================================================
% scrkernel-fonts.dtx
% Copyright (c) Markus Kohm, 2002-2013
%
% 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-fonts.dtx
% Copyright (c) Markus Kohm, 2002-2013
%
% 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-fonts.dtx 1483 2013-10-31 15:12:30Z mjk $
%<*driver>
\ProvidesFile{scrkernel-fonts.dtx}[2013/10/31 v3.12 KOMA-Script (font size)]
% \changes{v3.09}{2011/02/23}{Neues Paket \texttt{scrfontsizes}}
%</driver>
%<*package&generator&identify>
%<package&generator&identify>\ProvidesPackage{scrfontsizes}[%
%!KOMAScriptVersion
%<package&generator&identify>  package (font size file generator)]
%</package&generator&identify>
%<*driver>
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\CodelineIndex
\RecordChanges
\GetFileInfo{scrkernel-fonts.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/25}{%
%   erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
%
% \section{Schriftauswahl}
%
% Dieser Bereich befasst sich mit allem, was zur Schriftauswahl
% gehört. Die einzelnen Elemente, für die eine Schriftauswahl möglich
% ist, sind jedoch in den Dateien definiert, in denen diese Elemente
% auftreten.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
%<*option>
% \fi
%
% \subsection{Der Generator für Schriftgrößendateien}
%
% \iffalse
%<*generator>
% \fi
% Ab Version 3.09 gibt es einen Generator für neue
% Schriftgrößendateien. Dieser richtet sich vor allem an Klassenautoren und
% bietet die Möglichkeit, eine eigene berechnete Schriftgrößendatei als
% Grundlage für eine spezifisch angepasste Schriftgrößendateie zu erstellen.
% Optionen besitzt dieser jedoch nicht. Daher reduziert sich der Optionenteil
% auf ein einfaches
%    \begin{macrocode}
\ProcessOptions\relax
%    \end{macrocode}
% \iffalse
%</generator>
% \fi
%
% \subsection{Option zur Auswahl der Größe der Grundschrift}
%
% \iffalse
%<*class|extend>
% \fi
%  \begin{option}{10pt}
%  \begin{option}{11pt}
%  \begin{option}{12pt}
% Diese Optionen existieren nicht mehr als explizite Optionen, sondern
% werden in \texttt{scrtarea.dtx} über \cs{DeclareOption*}
% ausgewertet.
%  \begin{macro}{\@ptsize}
%    \changes{v2.96}{2006/08/11}{\cs{@ptsize} hat temporär eine andere
%      Bedeutung}
% Wir definieren \cs{@ptsize} als Grundschriftgrößee minus 10\,pt.
% Hier wird die Standardeinstellung 11\,pt für alle Klassen außer der
% Briefklasse gewählt. Bis zum Einstellen tatsächlichen Einstellen der
% Schriftgröße wird in \cs{@ptsize} allerdings die tatsächliche Größe
% angegeben, damit sich Rundungsfehler nicht so leicht summieren.
%    \begin{macrocode}
%<*!extend>
\newcommand*\@ptsize{%
%<!letter>  11%
%<letter>  12%
}
%</!extend>
%    \end{macrocode}
%  \end{macro}
%  \end{option}
%  \end{option}
%  \end{option}
%
% \begin{macro}{\@pt@scan}
%   \changes{v2.6}{2000/01/04}{neu (intern)}
% \begin{macro}{\@pt@@scan}
%   \changes{v2.6}{2000/01/04}{neu (intern)}
%   \changes{v2.97c}{2007/05/12}{\cs{KOMA@UseObsolete} durch
%     \cs{KOMA@UseObsoleteOption} ersetzt}
%   \changes{v2.98c}{2008/03/22}{Verwendung von \cs{KOMA@UseObsoleteOption}
%     korrigiert}
%   \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch
%     \cs{PackageInfoNoLine} ersetzt}
%   \changes{v3.12}{2013/03/04}{Alle Schriftgrößen-Optionen außer
%     \texttt{10pt}, \texttt{11pt} und \texttt{12pt} sind überholt.}
% Das Macro \cs{@pt@scan} wird benötigt, um die Schriftgröße nach der alten
% Methode zu erkennen.
%    \begin{macrocode}
%<*!extend>
\newcommand*{\@pt@scan}{%
  \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan%
}
\newcommand*{\@pt@@scan}{}
\def\@pt@@scan #1pt#2\@pt@@scan{%
  \ifstr{#2}{pt}{%
    \ifnumber{#1}{%
      \ifstr{#1}{10}{%
        \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}%
                               {#1#2}{fontsize=#1#2}%
      }{%
        \ifstr{#1}{11}{%
          \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}%
                                 {#1#2}{fontsize=#1#2}%
        }{%
          \ifstr{#1}{12}{%
            \KOMA@UseStandardOption{\PackageInfoNoLine{\KOMAClassName}}%
                                   {#1#2}{fontsize=#1#2}%
          }{%
            \KOMA@UseDeprecatedOption{\PackageWarningNoLine{\KOMAClassName}}%
                                     {#1#2}{fontsize=#1#2}%
          }%
        }%
      }
    }{\@headlines}%
  }{\@headlines}%
}
%</!extend>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \begin{macro}{\@fontsizefilebase}
%   \changes{v2.96}{2006/08/11}{neu (intern)}
%   \changes{v3.00}{2008/05/01}{Definition für \textsf{scrextend} vorgezogen}
% Dieses Makro speichert den Präfix der primären
% Schriftgrößenoptionsdateien. Es wird nur definiert, wenn es nicht bereits
% definiert ist. Damit können Wrapperklassen komplett andere Größen vorgeben,
% ohne mit \cs{ReplaceInput} arbeiten zu müssen.
%    \begin{macrocode}
\providecommand*{\@fontsizefilebase}{scrsize}
%    \end{macrocode}
% \end{macro}
%
% \begin{option}{fontsize}
%   \changes{v2.96}{2006/08/11}{Funktion komplett geändert}
%   \changes{v2.98c}{2008/03/26}{lädt nach Möglichkeit die zugehörige
%     Schriftgrößendatei}
%   \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed}
%     gesetzt.}
% Hier nun die Option, die tatsächlich verwendet wird. Es sei darauf
% hingewiesen, dass damit auch Schriftgrößen wie \texttt{10.3pt} denkbar
% wären.
%    \begin{macrocode}
\KOMA@key{fontsize}{%
%<*!extend>
  \scr@ifundefinedorrelax{changefontsizes}{%
    \@defaultunits\@tempdima#1pt\relax\@nnil
    \edef\@ptsize{#1}%
  }{%
%</!extend>
    \expandafter\@defaultunits\expandafter\@tempdima#1 pt\relax\@nnil
    \edef\@tempa{#1}%
    \setlength{\@tempdimb}{\@tempdima}%
    \edef\@tempb{\strip@pt\@tempdimb}%
    \addtolength{\@tempdimb}{-10\p@}%
    \edef\@ptsize{\strip@pt\@tempdimb}%
    \edef\@tempa{%
      \noexpand\makeatletter
      \noexpand\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{%
%<!extend>        \noexpand\ClassInfo{\KOMAClassName}{%
%<extend>        \noexpand\PackageInfo{scrextend}{%
          File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
      }{%
        \noexpand\InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{%
%<!extend>          \noexpand\ClassInfo{\KOMAClassName}{%
%<extend>          \noexpand\PackageInfo{scrextend}{%
            File `\@fontsizefilebase\@tempb pt.clo' used instead of%
            \noexpand\MessageBreak
            file `\@fontsizefilebase\@tempa.clo' to setup font sizes}%
        }{%
          \noexpand\changefontsizes{#1}%
        }%
      }%
      \noexpand\catcode`\noexpand\@=\the\catcode`\@
    }%
%<extend>  \scr@ifundefinedorrelax{changefontsizes}{%
%<extend>    \expandafter\AtEndOfPackage\expandafter{\@tempa}%
%<extend>  }{%
    \@tempa
  }%
  \FamilyKeyStateProcessed
}
%    \end{macrocode}
% \end{option}
%
% \iffalse
%</class|extend>
% \fi
%
% \iffalse
%</option>
%<*body>
% \fi
%
% \subsection{Sicherstellen der Umgebung des Generators}
%
% \iffalse
%<*generator>
% \fi
% Der Generator benötigt die Anweisung \cs{changefontsizes}, die entweder von
% einer \KOMAScript-Klasse oder vom Paket \texttt{scrextend} bereitgestellt
% wird:
%    \begin{macrocode}
\@ifundefined{changefontsizes}{\RequirePackage{scrextend}}{}
%    \end{macrocode}
% \iffalse
%</generator>
% \fi
%
% \subsection{Einlesen der Schriftgrößendatei}
%
% \changes{v2.6}{2000/01/04}{Einlesen der Schriftgrößen-Options-Datei
%   funktioniert nun mit diversen Größen}
% \changes{v2.98c}{2008/03/26}{Eigene \texttt{scrsize}-Dateien definiert}
%
% \iffalse
%</body>
%<*10pt|11pt|12pt>
% \fi
%
% Es werden min. drei Schriftgrößendateien benötigt. Ab Version 2.98c
% verwendet \KOMAScript{} vorzugsweise eigene Dateien, die auch noch zu einem
% späteren Zeitpunkt geladen werden können.  Ansonsten sind diese Dateien
% weitestgehend dem Quellcode der Standardklassen \texttt{classes.dtx}
% entnommen.
%
%    \begin{macrocode}
\ProvidesFile{%
%<10pt>  scrsize10pt.clo%
%<11pt>  scrsize11pt.clo%
%<12pt>  scrsize12pt.clo%
}[\KOMAScriptVersion\space font size class option %
%<10pt>  (10pt)%
%<11pt>  (11pt)%
%<12pt>  (12pt)%
]
%    \end{macrocode}
%
% \begin{macro}{\normalsize}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\small}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\footnotesize}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\scriptsize}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\tiny}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\large}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\Large}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\LARGE}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\huge}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\Huge}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% Siehe \texttt{classes.dtx}.
%    \begin{macrocode}
\def\normalsize{%
%<*10pt>
  \@setfontsize\normalsize\@xpt\@xiipt
  \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
  \abovedisplayshortskip \z@ \@plus3\p@
  \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
%</10pt>
%<*11pt>
  \@setfontsize\normalsize\@xipt{13.6}%
  \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
  \abovedisplayshortskip \z@ \@plus3\p@
  \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
%</11pt>
%<*12pt>
  \@setfontsize\normalsize\@xiipt{14.5}%
  \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
  \abovedisplayshortskip \z@ \@plus3\p@
  \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
%</12pt>
  \belowdisplayskip \abovedisplayskip
  \let\@listi\@listI
}
\def\small{%
%<*10pt>
  \@setfontsize\small\@ixpt{11}%
  \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
  \abovedisplayshortskip \z@ \@plus2\p@
  \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
  \def\@listi{\leftmargin\leftmargini
    \topsep 4\p@ \@plus2\p@ \@minus2\p@
    \parsep 2\p@ \@plus\p@ \@minus\p@
    \itemsep \parsep}%
%</10pt>
%<*11pt>
  \@setfontsize\small\@xpt\@xiipt
  \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
  \abovedisplayshortskip \z@ \@plus3\p@
  \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
  \def\@listi{\leftmargin\leftmargini
    \topsep 6\p@ \@plus2\p@ \@minus2\p@
    \parsep 3\p@ \@plus2\p@ \@minus\p@
    \itemsep \parsep}%
%</11pt>
%<*12pt>
  \@setfontsize\small\@xipt{13.6}%
  \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
  \abovedisplayshortskip \z@ \@plus3\p@
  \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
  \def\@listi{\leftmargin\leftmargini
    \topsep 9\p@ \@plus3\p@ \@minus5\p@
    \parsep 4.5\p@ \@plus2\p@ \@minus\p@
    \itemsep \parsep}%
%</12pt>
  \belowdisplayskip \abovedisplayskip
}
\def\footnotesize{%
%<*10pt>
  \@setfontsize\footnotesize\@viiipt{9.5}%
  \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
  \abovedisplayshortskip \z@ \@plus\p@
  \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
  \def\@listi{\leftmargin\leftmargini
    \topsep 3\p@ \@plus\p@ \@minus\p@
    \parsep 2\p@ \@plus\p@ \@minus\p@
    \itemsep \parsep}%
%</10pt>
%<*11pt>
  \@setfontsize\footnotesize\@ixpt{11}%
  \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
  \abovedisplayshortskip \z@ \@plus\p@
  \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
  \def\@listi{\leftmargin\leftmargini
    \topsep 4\p@ \@plus2\p@ \@minus2\p@
    \parsep 2\p@ \@plus\p@ \@minus\p@
    \itemsep \parsep}%
%</11pt>
%<*12pt>
   \@setfontsize\footnotesize\@xpt\@xiipt
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 6\p@ \@plus2\p@ \@minus2\p@
               \parsep 3\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}%
%</12pt>
  \belowdisplayskip \abovedisplayskip
}
%<*10pt>
\def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
\def\tiny{\@setfontsize\tiny\@vpt\@vipt}
\def\large{\@setfontsize\large\@xiipt{14}}
\def\Large{\@setfontsize\Large\@xivpt{18}}
\def\LARGE{\@setfontsize\LARGE\@xviipt{22}}
\def\huge{\@setfontsize\huge\@xxpt{25}}
\def\Huge{\@setfontsize\Huge\@xxvpt{30}}
%</10pt>
%<*11pt>
\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\def\tiny{\@setfontsize\tiny\@vipt\@viipt}
\def\large{\@setfontsize\large\@xiipt{14}}
\def\Large{\@setfontsize\Large\@xivpt{18}}
\def\LARGE{\@setfontsize\LARGE\@xviipt{22}}
\def\huge{\@setfontsize\huge\@xxpt{25}}
\def\Huge{\@setfontsize\Huge\@xxvpt{30}}
%</11pt>
%<*12pt>
\def\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\def\tiny{\@setfontsize\tiny\@vipt\@viipt}
\def\large{\@setfontsize\large\@xivpt{18}}
\def\Large{\@setfontsize\Large\@xviipt{22}}
\def\LARGE{\@setfontsize\LARGE\@xxpt{25}}
\def\huge{\@setfontsize\huge\@xxvpt{30}}
\let\Huge=\huge
%</12pt>
\normalsize
%    \end{macrocode}
% \begin{Length}{\footnotesep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\footins}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\floatsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\textfloatsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\intextsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\dblfloatsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\sbltextfloatsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\@fptop}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\@fpsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\@fpbot}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\@dblfptop}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\@dblfpsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\@dblfpbot}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{Length}{\partopsep}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% Siehe \texttt{classes.dtx}.
%    \begin{macrocode}
%<*10pt>
\setlength\footnotesep    {6.65\p@}
\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@}
\setlength\floatsep       {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\textfloatsep   {20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\intextsep      {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop         {0\p@ \@plus 1fil}
\setlength\@fpsep         {8\p@ \@plus 2fil}
\setlength\@fpbot         {0\p@ \@plus 1fil}
\setlength\@dblfptop      {0\p@ \@plus 1fil}
\setlength\@dblfpsep      {8\p@ \@plus 2fil}
\setlength\@dblfpbot      {0\p@ \@plus 1fil}
\setlength\partopsep      {2\p@ \@plus 1\p@ \@minus 1\p@}
%</10pt>
%<*11pt>
\setlength\footnotesep    {7.7\p@}
\setlength{\skip\footins} {10\p@ \@plus 4\p@ \@minus 2\p@}
\setlength\floatsep       {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\textfloatsep   {20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\intextsep      {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop         {0\p@ \@plus 1fil}
\setlength\@fpsep         {8\p@ \@plus 2fil}
\setlength\@fpbot         {0\p@ \@plus 1fil}
\setlength\@dblfptop      {0\p@ \@plus 1fil}
\setlength\@dblfpsep      {8\p@ \@plus 2fil}
\setlength\@dblfpbot      {0\p@ \@plus 1fil}
\setlength\partopsep      {3\p@ \@plus 1\p@ \@minus 1\p@}
%</11pt>
%<*12pt>
\setlength\footnotesep    {8.4\p@}
\setlength{\skip\footins} {10.8\p@ \@plus 4\p@ \@minus 2\p@}
\setlength\floatsep       {12\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\textfloatsep   {20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\intextsep      {14\p@ \@plus 4\p@ \@minus 4\p@}
\setlength\dblfloatsep    {14\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop         {0\p@ \@plus 1fil}
\setlength\@fpsep         {10\p@ \@plus 2fil}
\setlength\@fpbot         {0\p@ \@plus 1fil}
\setlength\@dblfptop      {0\p@ \@plus 1fil}
\setlength\@dblfpsep      {10\p@ \@plus 2fil}
\setlength\@dblfpbot      {0\p@ \@plus 1fil}
\setlength\partopsep      {3\p@ \@plus 2\p@ \@minus 2\p@}
%</12pt>
%    \end{macrocode}
% \begin{macro}{\@listi}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\@listii}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\@listiii}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\@listiv}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\@listv}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% \begin{macro}{\@listvi}
%   \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert}
% Siehe \texttt{classes.dtx}.
%    \begin{macrocode}
\def\@listi{\leftmargin\leftmargini
%<*10pt>
            \parsep 4\p@ \@plus2\p@ \@minus\p@
            \topsep 8\p@ \@plus2\p@ \@minus4\p@
            \itemsep4\p@ \@plus2\p@ \@minus\p@}
%</10pt>
%<*11pt>
            \parsep 4.5\p@ \@plus2\p@ \@minus\p@
            \topsep 9\p@   \@plus3\p@ \@minus5\p@
            \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
%</11pt>
%<*12pt>
            \parsep 5\p@  \@plus2.5\p@ \@minus\p@
            \topsep 10\p@ \@plus4\p@   \@minus6\p@
            \itemsep5\p@  \@plus2.5\p@ \@minus\p@}
%</12pt>
\let\@listI\@listi
\def\@listii {\leftmargin\leftmarginii
              \labelwidth\leftmarginii
              \advance\labelwidth-\labelsep
%<*10pt>
              \topsep    4\p@ \@plus2\p@ \@minus\p@
              \parsep    2\p@ \@plus\p@  \@minus\p@
%</10pt>
%<*11pt>
              \topsep    4.5\p@ \@plus2\p@ \@minus\p@
              \parsep    2\p@   \@plus\p@  \@minus\p@
%</11pt>
%<*12pt>
              \topsep    5\p@   \@plus2.5\p@ \@minus\p@
              \parsep    2.5\p@ \@plus\p@    \@minus\p@
%</12pt>
              \itemsep   \parsep}
\def\@listiii{\leftmargin\leftmarginiii
              \labelwidth\leftmarginiii
              \advance\labelwidth-\labelsep
%<10pt>              \topsep    2\p@ \@plus\p@\@minus\p@
%<11pt>              \topsep    2\p@ \@plus\p@\@minus\p@
%<12pt>              \topsep    2.5\p@\@plus\p@\@minus\p@
              \parsep    \z@
              \partopsep \p@ \@plus\z@ \@minus\p@
              \itemsep   \topsep}
\def\@listiv {\leftmargin\leftmarginiv
              \labelwidth\leftmarginiv
              \advance\labelwidth-\labelsep}
\def\@listv  {\leftmargin\leftmarginv
              \labelwidth\leftmarginv
              \advance\labelwidth-\labelsep}
\def\@listvi {\leftmargin\leftmarginvi
              \labelwidth\leftmarginvi
              \advance\labelwidth-\labelsep}
%    \end{macrocode}
% \iffalse
%</10pt|11pt|12pt>
%<*body>
% \fi
%
% \iffalse
%<*class|extend>
% \fi
%
% \begin{macro}{\changefontsizes}
%   \changes{v2.96}{2006/08/11}{neue Anweisung (benötigt \eTeX)}
%   \changes{v3.08b}{2011/02/22}{drei falsche \cs{def} durch \cs{edef}
%     ersetzt}
% Diese Anweisung bietet berechnete Schriftgrößen als Fallbacklösung an. Das
% optionale erste Argument ist dabei der Grundlinienabstand. Das zweite
% Argument ist die gewünschte Grundschriftgröße.
% \begin{macro}{\scr@setlength}
%   \changes{v3.12}{2013/10/08}{neue Anweisung (intern)}%^^A
% Setzt die Länge in |#1| auf den Wert |#2| plus |#3| minus |#4|, wobei
% allerdings für |#2|, |#3| und |#4| Mindestwerte von 1\,pt verwendet werden.
%    \begin{macrocode}
\newcommand*\scr@setlength[4]{%
  \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
    \setlength{#1}{#2 \@plus#3 \@minus#4}%
  \else
    \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi
      \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi
        \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
          \setlength{#1}{\p@ \@plus\p@ \@minus\p@}%
        \else
          \setlength{#1}{\p@ \@plus\p@ \@minus#4}%
        \fi
      \else
        \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
          \setlength{#1}{\p@ \@plus#3 \@minus\p@}%
        \else
          \setlength{#1}{\p@ \@plus#3 \@minus#4}%
        \fi
      \fi
    \else
      \ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi
        \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
          \setlength{#1}{#2 \@plus\p@ \@minus\p@}%
        \else
          \setlength{#1}{#2 \@plus\p@ \@minus#4}%
        \fi
      \else
        \ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
          \setlength{#1}{#2 \@plus#3 \@minus\p@}%
        \else
          \setlength{#1}{#2 \@plus#3 \@minus#4}%
        \fi
      \fi
    \fi
  \fi
}
%    \end{macrocode}
% \end{macro}
%    \begin{macrocode}
\newcommand*{\changefontsizes}[2][1.2\@tempdima]{%
%<!extend>  \ClassWarning{\KOMAClassName}{%
%<extend>  \PackageWarning{scrextend}{%
    Using fallback calculation to setup font sizes\MessageBreak
    for basic size `#2'}%
  \scr@ifundefinedorrelax{dimexpr}{%
%<!extend>    \ClassError{\KOMAClassName}{%
%<extend>    \PackageError{scrextend}{%
      feature only allowed using e-TeX%
    }{%
      The fallback calculation to setup font sizes was implemented
      using e-TeX.\MessageBreak
      You should not continue, because the fallback calculation would fail%
    }
  }{%
    \@defaultunits\@tempdima#2pt\relax\@nnil
    \setlength{\@tempdimc}{\@tempdima}%
    \addtolength{\@tempdimc}{-10\p@}%
    \edef\@ptsize{\strip@pt\@tempdimc}%
    \@defaultunits\@tempdimb#1pt\relax\@nnil
    \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}%
    \edef\@tempb{\the\@tempdimc}%
    \setlength{\@tempdimc}{\@tempdima}%
    \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}%
    \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil%
%    \end{macrocode}
% Ab hier ist \cs{@tempdimc} die gewünschte Grundschriftgröße in pt und
% \cs{@tempb} der Faktor für den Grundlinienabstand auf 2 Stellen hinter dem
% Komma. Zunächst ist auch \cs{@tempdima} noch die geforderte
% Grundschriftgröße und \cs{@tempdimb} der geforderte
% Grundlinienabstand. Allerdings verändern sich \cs{@tempdima} und
% \cs{@tempdimb} im Laufe der nachfolgenden Definitionen abhängig von der zu
% definierenden Schriftgröße.
%
% Berechnungen für und Definition von \cs{normalsize}:
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\abovedisplayskip}{%
        \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
      \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
      \setlength{\belowdisplayshortskip}{%
        .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
    \else
      \scr@setlength{\abovedisplayskip}%
                    {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
      \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
      \scr@setlength{\belowdisplayshortskip}%
                    {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
    \fi
    \setlength{\belowdisplayskip}{\abovedisplayskip}%
    \edef\normalsize{%
      \noexpand\@setfontsize\noexpand\normalsize
      {\the\@tempdima}{\the\@tempdimb}%
      \abovedisplayskip \the\abovedisplayskip
      \abovedisplayshortskip \the\abovedisplayshortskip
      \belowdisplayskip \the\belowdisplayskip
      \belowdisplayshortskip \the\belowdisplayshortskip
      \let\noexpand\@listi\noexpand\@listI
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{small}:
%    \begin{macrocode}
    \setlength{\@tempdima}{0.9125\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\abovedisplayskip}{%
        \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
      \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
      \setlength{\belowdisplayshortskip}{%
        .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
    \else
      \scr@setlength{\abovedisplayskip}%
                    {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
      \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
      \scr@setlength{\belowdisplayshortskip}%
                    {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
    \fi
    \setlength{\belowdisplayskip}{\abovedisplayskip}%
    \edef\small{%
      \noexpand\@setfontsize\noexpand\small
      {\the\@tempdima}{\the\@tempdimb}%
      \abovedisplayskip \the\abovedisplayskip
      \abovedisplayshortskip \the\abovedisplayshortskip
      \belowdisplayskip \the\belowdisplayskip
      \belowdisplayshortskip \the\belowdisplayshortskip
      \let\noexpand\@listi\noexpand\@listi@small
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{footnotesize}:
%    \begin{macrocode}
    \setlength{\@tempdima}{.83334\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\abovedisplayskip}{%
        \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
      \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
      \setlength{\belowdisplayshortskip}{%
        .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
    \else
      \scr@setlength{\abovedisplayskip}%
                    {.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
      \scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
      \scr@setlength{\belowdisplayshortskip}%
                    {.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
    \fi
    \setlength{\belowdisplayskip}{\abovedisplayskip}%
    \edef\footnotesize{%
      \noexpand\@setfontsize\noexpand\footnotesize
      {\the\@tempdima}{\the\@tempdimb}%
      \abovedisplayskip \the\abovedisplayskip
      \abovedisplayshortskip \the\abovedisplayshortskip
      \belowdisplayskip \the\belowdisplayskip
      \belowdisplayshortskip \the\belowdisplayshortskip
      \let\noexpand\@listi\noexpand\@listi@footnotesize
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{scriptsize}:
%    \begin{macrocode}
    \setlength{\@tempdima}{.66667\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\scriptsize{%
      \noexpand\@setfontsize\noexpand\scriptsize
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{tiny}:
%    \begin{macrocode}
    \setlength{\@tempdima}{.5\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\tiny{%
      \noexpand\@setfontsize\noexpand\tiny
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{large}:
%    \begin{macrocode}
    \setlength{\@tempdima}{1.2\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\large{%
      \noexpand\@setfontsize\noexpand\large
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{Large}:
%    \begin{macrocode}
    \setlength{\@tempdima}{1.44\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\Large{%
      \noexpand\@setfontsize\noexpand\Large
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{LARGE}:
%    \begin{macrocode}
    \setlength{\@tempdima}{1.728\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\LARGE{%
      \noexpand\@setfontsize\noexpand\LARGE
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{huge}:
%    \begin{macrocode}
    \setlength{\@tempdima}{2.074\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\huge{%
      \noexpand\@setfontsize\noexpand\huge
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{Huge}:
%    \begin{macrocode}
    \setlength{\@tempdima}{2.488\@tempdimc}%
    \setlength{\@tempdimb}{\@tempb\@tempdima}%
    \edef\Huge{%
      \noexpand\@setfontsize\noexpand\Huge
      {\the\@tempdima}{\the\@tempdimb}%
    }%
%    \end{macrocode}
% Wechsel zu \cs{normalsize} und Berechnung weiterer schriftabhängigen
% Abstände für diese Schriftgröße.
%    \begin{macrocode}
    \normalsize
%    \end{macrocode}
% Ab hier kann nun \cs{f@size} für die Schriftgröße und \cs{f@baselineskip}
% für den normalen Grundlinienabstand (ohne \cs{baselinestretch}) verwendet
% werden. Allerdings ist das keine Länge!
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\footnotesep}{.7\@tempdimc}%
      \setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus
        .6\@tempdimc}%
      \setlength{\floatsep}{\@tempdimc \@plus .1667\@tempdimc \@minus
        .3333\@tempdimc}%
      \setlength{\textfloatsep}{1.6667\@tempdimc \@plus .1667\@tempdimc \@minus
        .3333\@tempdimc}%
      \setlength{\intextsep}{\@tempb\@tempdimc \@plus .3333\@tempdimc \@minus
        .3333\@tempdimc}%
      \setlength{\dblfloatsep}{\@tempb\@tempdimc \@plus .1667\@tempdimc \@minus
        .3333\@tempdimc}%
      \setlength{\dbltextfloatsep}{\textfloatsep}%
      \setlength{\@fptop}{0\p@ \@plus 1fil}%
      \setlength{\@fpsep}{.8333\@tempdimc \@plus 2fil}%
      \setlength{\@fpbot}{\@fptop}%
      \setlength{\@dblfptop}{0\p@ \@plus 1fil}%
      \setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}%
      \setlength{\@dblfpbot}{\@fptop}%
    \fi
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listi} und \cs{@listI}:
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus
        .5\@tempdimc}%
      \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}%
    \else
      \setlength{\@tempdimb}{\f@baselineskip}%
      \scr@setlength{\parsep}%
                    {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}%
      \scr@setlength{\topsep}%
                    {.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}%
    \fi
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listi\endcsname
    \endgroup
    \edef\@listi{\leftmargin\leftmargini
      \topsep \the\topsep
      \parsep \the\parsep
      \itemsep \parsep
      \if@tempswa\noexpand\@list@extra\fi
    }%
    \let\@listI\@listi
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listi@small}:
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus
        .41667\@tempdimc}%
      \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}%
    \else
      \scr@setlength{\parsep}%
                    {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
      \scr@setlength{\topsep}%
                    {.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}%
    \fi
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listi\endcsname
    \endgroup
    \edef\@listi@small{\leftmargin\leftmargini
      \topsep \the\topsep
      \parsep \the\parsep
      \itemsep \parsep
      \if@tempswa\noexpand\@list@extra\fi
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listi@footnotesize}:
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus
        .16667\@tempdimc}%
      \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}%
    \else
      \scr@setlength{\parsep}%
                    {.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}%
      \scr@setlength{\topsep}%
                    {.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}%
    \fi
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listi\endcsname
    \endgroup
    \edef\@listi@footnotesize{\leftmargin\leftmargini
      \topsep \the\topsep
      \parsep \the\parsep
      \itemsep \parsep
      \if@tempswa\noexpand\@list@extra\fi
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listii}:
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}%
      \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}%
    \else
      \scr@setlength{\parsep}%
                    {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
      \scr@setlength{\topsep}%
                    {.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}%
    \fi
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listii\endcsname
    \endgroup
    \edef\@listii{\leftmargin\leftmarginii
      \labelwidth=\dimexpr \leftmargin-\labelsep
      \topsep \the\topsep
      \parsep \the\parsep
      \itemsep \parsep
      \if@tempswa\noexpand\@list@extra\fi
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listiii}:
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}%
    \else
      \scr@setlength{\topsep}%
                    {.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
    \fi
    \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}%
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listiii\endcsname
    \endgroup
    \edef\@listiii{\leftmargin\leftmarginiii
      \labelwidth=\dimexpr \leftmargin-\labelsep
      \topsep \the\topsep
      \parsep \z@
      \partopsep \the\partopsep
      \itemsep \topsep
      \if@tempswa\noexpand\@list@extra\fi
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listiv}:
%    \begin{macrocode}
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listiv\endcsname
    \endgroup
    \edef\@listiv{\leftmargin\leftmarginiv
      \labelwidth=\dimexpr \leftmargin-\labelsep\relax
      \if@tempswa\noexpand\@list@extra\fi
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listv}:
%    \begin{macrocode}
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listv\endcsname
    \endgroup
    \edef\@listv{\leftmargin\leftmarginv
      \labelwidth=\dimexpr \leftmargin-\labelsep\relax
      \if@tempswa\noexpand\@list@extra\fi
    }%
%    \end{macrocode}
% Berechnungen für und Definition von \cs{@listvi}:
%    \begin{macrocode}
    \@tempswafalse
    \begingroup
      \def\@list@extra{\aftergroup\@tempswatrue}%
      \csname @listvi\endcsname
    \endgroup
    \edef\@listvi{\leftmargin\leftmarginvi
      \labelwidth=\dimexpr \leftmargin-\labelsep\relax
      \if@tempswa\noexpand\@list@extra\fi
    }%
    \@listi
%    \end{macrocode}
% Einige Platzierungsabstände sind ebenfalls schriftgrößenabhängig. %^^A
% \changes{v2.97c}{2007/07/04}{\cs{intextsep} setzen}%^^A
% \changes{v2.97c}{2007/07/04}{\cs{dblfloatsep} setzen}%^^A
% \changes{v2.97c}{2007/07/04}{\cs{partopsep} setzen}%^^A
% \changes{v3.12}{2013/10/08}{Berechnung einiger Größen verändert}%^^A
% Ab Version~3.12 wird deren Berechnung korrigiert. Viele der Größen sind nun
% nicht mehr von der Schriftgröße, sondern dem Grundlinienabstand abhängig.
%    \begin{macrocode}
    \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax
      \setlength{\@tempdimb}{\@tempb\@tempdima}%
      \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}%
      \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}%
      \setlength\dblfloatsep\intextsep
      \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}%
    \else
      \setlength{\@tempdimb}{\f@baselineskip}%
      \setlength{\footnotesep}{.555\@tempdimb}%
      \scr@setlength{\skip\footins}%
                    {.75\@tempdimb}{.3333\@tempdimb}{.1667\@tempdimb}%
      \scr@setlength{\floatsep}%
                    {\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}%
      \scr@setlength{\textfloatsep}%
                    {1.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}%
      \setlength{\intextsep}{\floatsep}%
      \setlength{\dblfloatsep}{\floatsep}%
      \setlength{\dbltextfloatsep}{\textfloatsep}%
      \setlength{\@fptop}{\z@ \@plus 1fil}%
      \setlength{\@fpsep}{.6667\@tempdimb \@plus 2fil}%
      \setlength{\@fpbot}{\@fptop}%
      \setlength{\@dblfptop}{\@fptop}%
      \setlength{\@dblfpsep}{\@fpsep}%
      \setlength{\@dblfpbot}{\@fptop}%
      \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}%
%    \end{macrocode}
% Hinweis: \cs{topsep} und \cs{parsep} werden hier nicht gesetzt, weil dies
% bereits durch das \cs{@listi} zurvor erfolgte.
%    \begin{macrocode}
    \fi
  }%
}
%    \end{macrocode}
% \end{macro}
% \iffalse
%</class|extend>
%<*generator>
% \fi
% \begin{macro}{\generatefontfile}
%   \changes{v3.09}{2011/02/23}{Neu}
% Dies ist die zentrale Anweisung des neuen Generators. Es wird eine neue
% Schriftgrößendatei ausgegeben. Der Name dieser Datei setzt sich aus dem
% ersten obligaorischen Argument gefolgt von der Schriftgröße und der
% Erweiterung \texttt{.clo} zusammen. Da Schriftgrößendateien, die mit
% »\texttt{scrsize}« beginnen, \KOMAScript{} vorbehalten sind wird dieses
% erste Argument verweigert.
%    \begin{macrocode}
\newcommand*{\generatefontfile}[1]{%
  \ifstr{#1}{scrsize}{%
    \ClassError{\KOMAClassName}{%
      Font file name `scrsize' not allowed%
    }{%
      Font files with name `scrsize<fontsize>.clo' are reserved for
      KOMA-Script.\MessageBreak
      You should use another prefix and rename \string\@fontsizefilebase\space
      either before\MessageBreak
      loading a KOMA-Script class using one of \string\documentclass,
      \string\LoadClass,\MessageBreak
      or \string\LoadClassWithOptions\space or before loading package
      `scrextend' using another\MessageBreak
      class.}%
    \@@@generatefontfile
  }{%
%    \end{macrocode}
% Das zweite Argument ist optional. Ist es angegeben, so gibt es den
% gewünschten Zeilenabstand an. Ist es nicht angegeben, so wird der
% Zeilenabstand |\changefontsized| überlassen. Das dritte Argument ist
% schließlich die gewünschte Schriftgröße.
%    \begin{macrocode}
    \@ifnextchar [{\@generatefontfile{#1}}{\@@generatefontfile{#1}}%
  }%
}
%    \end{macrocode}
% \begin{macro}{\@generatefontfile}
%   \changes{v3.09}{2011/02/23}{Neu (intern)}
% \begin{macro}{\@@generatefontfile}
%   \changes{v3.09}{2011/02/23}{Neu (intern)}
% Diese beiden Hilfsmakros werden benötigt, um Aufrufe von |\generatefontfile|
% mit oder ohne optionales, zweites Argument zu behandeln. In jedem Fall wird
% die gewünschte Schriftgröße innerhalb einer Gruppe mit Hilfe von
% |\changefontsizes| bestimmt und dann eine Datei mit den dabei ermittelten
% Einstellungen ausgegeben.
%    \begin{macrocode}
\newcommand*{\@generatefontfile}{}
\def\@generatefontfile#1[#2]#3{%
  \begingroup
    \@ifundefined{setparsizes}{\setlength{\parskip}{0pt}}%
                              {\setparsizes{0pt}{0pt}{0pt}}%
    \changefontsizes[{#2}]{#3}%
    \generate@fontfile{#1}{#3}%
  \endgroup
}
\newcommand\@@generatefontfile[2]{%
  \begingroup
    \@ifundefined{setparsizes}{\setlength{\parskip}{0pt}}%
                              {\setparsizes{0pt}{0pt}{0pt}}%
    \changefontsizes{#2}%
    \generate@fontfile{#1}{#2}%
  \endgroup
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macro}{\@@@generatorfontfile}
%   \changes{v3.09}{2011/02/23}{Neu (intern)}
% Dieses Hilfsmakro wird hingegen im Fehlerfall aufgerufen, um die Ausgabe
% einer Schriftgrößendatei zu verhindern.
%    \begin{macrocode}
\newcommand*{\@@@generatefontfile}[2][]{}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@fontfile}
%   \changes{v3.09}{2011/02/23}{Neu (intern)}
% Da später die Verwendung von |\generatefontfile| noch auf die Präambel
% beschränkt werden wird, ist es kein Problem hier |\@mainaux| für die Ausgabe
% zu missbrauchen. Das funktioniert aber nur, weil |\@mainaux| erst innerhalb
% von |\begin{document}| tatsächlich geöffnet wird. Die Dateisparsamkeit an
% dieser Stelle ist also eigentlich ein ziemlich unsauberer Hack!
%    \begin{macrocode}
\newcommand*{\@fontfile}{}
\let\@fontfile\@mainaux
%    \end{macrocode}
% \begin{macro}{\generate@fontfile}
%   \changes{v3.09}{2011/02/23}{Neu (intern)}
% Es wird nun eine Schriftgrößendatei ausgegeben. Dabei werden die aktuellen
% Einstellungen verwendet. Dabei wird die Tatsache ausgenutzt, dass diese
% Anweisung immer innerhalb einer Gruppe aufgerufen wird. Das erste Argument
% ist der Dateinamenpräfix (also so etwas wie »\texttt{scrsize}«, das zweite
% Argument die gewünschte Schriftgröße. Es ist zu beachten, dass alle Werte in
% der Datei in pt angegeben werden, auch wenn die gewünschte Schriftgröße eine
% ganz andere Einheit besitzt. Das macht schlicht die Arbeit etwas einfacher.
%    \begin{macrocode}
\newcommand*{\generate@fontfile}[2]{%
  \def\@ind{\space\space}%
  \immediate\openout\@fontfile #1#2.clo
  \immediate\write\@fontfile{\@percentchar^^J%
    \@percentchar\space This is file `#1#2.clo', generated with^^J%
    \@percentchar\space scrfontsizes
    \csname ver@scrfontsizes.sty\endcsname,^^J%
    \@percentchar\space Copyright (c) Markus Kohm.^^J%
    \@percentchar^^J%
    \string\ProvidesFile{#1#2.clo}[%
    \the\year/\ifnum\month<10 0\fi\the\month/\ifnum\day<10 0\fi\the\day%
    \space generated font size class option (#2)]}%
  \immediate\write\@fontfile{%
    \string\def\string\normalsize{\@percentchar^^J%
      \@ind\string\@setfontsize\string\normalsize{\f@size}{\f@baselineskip}%
      \@percentchar^^J%
      \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
      \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
      \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
      \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
      \@ind\string\let\string\@listi\string\@listI^^J%
    }\@percentchar%
  }%
  \begingroup\small\@listi
    \immediate\write\@fontfile{%
      \string\def\string\small{\@percentchar^^J%
        \@ind\string\@setfontsize\string\small{\f@size}{\f@baselineskip}%
        \@percentchar^^J%
        \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
        \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
        \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
        \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
        \@ind\string\def\string\@listi{\@percentchar^^J%
          \@ind\@ind\string\leftmargin\string\leftmargini^^J%
          \@ind\@ind\string\topsep \the\topsep^^J%
          \@ind\@ind\string\parsep \the\parsep^^J%
          \@ind\@ind\string\itemsep \string\parsep^^J%
        \@ind}\@percentchar^^J%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\footnotesize\@listi
    \immediate\write\@fontfile{%
      \string\def\string\footnotesize{\@percentchar^^J%
        \@ind\string\@setfontsize\string\small{\f@size}{\f@baselineskip}%
        \@percentchar^^J%
        \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
        \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
        \@ind\string\belowdisplayskip\space \the\belowdisplayskip^^J%
        \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
        \@ind\string\def\string\@listi{\@percentchar^^J%
          \@ind\@ind\string\leftmargin\string\leftmargini^^J%
          \@ind\@ind\string\topsep \the\topsep^^J%
          \@ind\@ind\string\parsep \the\parsep^^J%
          \@ind\@ind\string\itemsep \string\parsep^^J%
        \@ind}\@percentchar^^J%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\scriptsize
    \immediate\write\@fontfile{%
      \string\def\string\scriptsize{%
        \string\@setfontsize\string\scriptsize{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\tiny
    \immediate\write\@fontfile{%
      \string\def\string\tiny{%
        \string\@setfontsize\string\tiny{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\large
    \immediate\write\@fontfile{%
      \string\def\string\large{%
        \string\@setfontsize\string\large{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\Large
    \immediate\write\@fontfile{%
      \string\def\string\Large{%
        \string\@setfontsize\string\Large{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\LARGE
    \immediate\write\@fontfile{%
      \string\def\string\LARGE{%
        \string\@setfontsize\string\LARGE{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\huge
    \immediate\write\@fontfile{%
      \string\def\string\huge{%
        \string\@setfontsize\string\huge{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \begingroup\Huge
    \immediate\write\@fontfile{%
      \string\def\string\Huge{%
        \string\@setfontsize\string\Huge{\f@size}{\f@baselineskip}%
      }\@percentchar%
    }%
  \endgroup
  \immediate\write\@fontfile{\string\normalsize}%
  \immediate\write\@fontfile{%
    \string\setlength{\string\footnotesep}{\the\footnotesep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\skip\string\footins}{\the\skip\footins}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\floatsep}{\the\floatsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\textfloatsep}{\the\textfloatsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\intextsep}{\the\intextsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\dblfloatsep}{\the\dblfloatsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\dbltextfloatsep}{\the\dbltextfloatsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\@fptop}{\the\@fptop}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\@fpsep}{\the\@fpsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\@fpbot}{\the\@fpbot}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\@dblfptop}{\the\@dblfptop}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\@dblfpsep}{\the\@dblfpsep}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\@dblfpbot}{\the\@dblfpbot}\@percentchar
  }%
  \immediate\write\@fontfile{%
    \string\setlength{\string\partopsep}{\the\partopsep}\@percentchar
  }%
  \begingroup
    \@listi
    \immediate\write\@fontfile{%
      \string\def\string\@listi{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmargini^^J%
        \@ind\string\topsep \the\topsep^^J%
        \@ind\string\parsep \the\parsep^^J%
        \@ind\string\itemsep \string\parsep^^J%
      }\@percentchar
    }%
  \endgroup
  \immediate\write\@fontfile{%
    \string\let\string\@listI\string\@listi
  }%
  \begingroup
    \@listii
    \immediate\write\@fontfile{%
      \string\def\string\@listii{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginii^^J%
        \@ind\string\labelwidth\string\leftmarginii^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
        \@ind\string\topsep \the\topsep^^J%
        \@ind\string\parsep \the\parsep^^J%
        \@ind\string\itemsep \string\parsep^^J%
      }\@percentchar
    }%
  \endgroup
  \begingroup
    \@listiii
    \immediate\write\@fontfile{%
      \string\def\string\@listiii{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginiii^^J%
        \@ind\string\labelwidth\string\leftmarginiii^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
        \@ind\string\topsep \the\topsep^^J%
        \@ind\string\parsep \the\parsep^^J%
        \@ind\string\partopsep \the\partopsep^^J%
       \@ind\string\itemsep \string\topsep^^J%
      }\@percentchar
    }%
  \endgroup
  \begingroup
    \@listiv
    \immediate\write\@fontfile{%
      \string\def\string\@listiv{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginiv^^J%
        \@ind\string\labelwidth\string\leftmarginiv^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
      }\@percentchar
    }%
  \endgroup
  \begingroup
    \@listv
    \immediate\write\@fontfile{%
      \string\def\string\@listv{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginv^^J%
        \@ind\string\labelwidth\string\leftmarginv^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
      }\@percentchar
    }%
  \endgroup
  \begingroup
    \@listvi
    \immediate\write\@fontfile{%
      \string\def\string\@listvi{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginvi^^J%
        \@ind\string\labelwidth\string\leftmarginvi^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
      }\@percentchar
    }%
  \endgroup
  \immediate\write\@fontfile{%
    \string\@ifundefined{@list@extra}{}{\@percentchar^^J%
      \@ind\string\l@addto@macro{\string\@listi}{\string\@list@extra}%
      \@percentchar^^J%
      \@ind\string\let\string\@listI=\string\@listi^^J%
      \@ind\string\l@addto@macro{\string\@listii}{\string\@list@extra}%
      \@percentchar^^J%
      \@ind\string\l@addto@macro{\string\@listiii}{\string\@list@extra}%
      \@percentchar^^J%
      \@ind\string\l@addto@macro{\string\footnotesize}{\string\protect
        \string\add@extra@listi{ftns}}\@percentchar^^J%
      \@ind\string\l@addto@macro{\string\small}{\string\protect
        \string\add@extra@listi{sml}}\@percentchar^^J%
    }\@percentchar^^J%
    \string\@listi^^J%
    \string\endinput^^J%
    \@percentchar^^J%
    \@percentchar\space End of file `#1#2.clo'.
  }
  \immediate\closeout\@fontfile
}
\@onlypreamble\generatefontfile
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \iffalse
%</generator>
%<*class|extend>
% \fi
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{Length}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% Zunächst wird die gewünschte Größe, die in \cs{@ptsize} abgelegt ist, als
% Länge ermittelt. In \cs{@tempa} wird die ursprünglich gewünschte Größe
% abgelegt, damit zwischen \texttt{10pt}, \texttt{10} und \texttt{10dd}
% unterschieden werden kann. In \cs{@tempb} wird hingegen die Größe in pt
% abgelegt, damit die Standard-Dateien verwendet werden können. Dann wird
% \cs{@ptsize} schon einmal richtig eingestellt.
%    \begin{macrocode}
%<*!extend>
\expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil
\edef\@tempa{\@ptsize}%
\setlength{\@tempdimb}{\@tempdima}%
\edef\@tempb{\strip@pt\@tempdimb}%
\addtolength{\@tempdimb}{-10\p@}%
\edef\@ptsize{\strip@pt\@tempdimb}%
%    \end{macrocode}
% Jetzt wird zunächst versucht, ob eine Datei
% "`\texttt{\cs{fontsizefilebase}\cs{@tempa}.clo}"' vorhanden ist, also eine,
% bei der die ursprünliche Einheit im Namen angegeben ist. Wenn das der Fall
% ist, wird diese verwendet. Wenn nicht wird das Ganze für \cs{@tempb} um die
% Einheit pt erweitert wiederholt.
%    \begin{macrocode}
\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{
  \ClassInfo{\KOMAClassName}{%
    File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
}{%
  \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{%
    \ClassInfo{\KOMAClassName}{%
      File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak
      file `\@fontsizefilebase\@tempa.clo' to setup font sizes}%
  }{%
%    \end{macrocode}
% Wurde bis hier noch keine Datei geladen, wird nun versucht, die
% Größendateien der Standardklassen zu verwenden.
%    \begin{macrocode}
%<*book>
    \InputIfFileExists{bk\@tempb.clo}{%
      \ClassInfo{\KOMAClassName}{%
        File `bk\@tempb.clo' used to setup font sizes}%
    }{%
%</book>
      \InputIfFileExists{size\@tempb.clo}{%
        \ClassInfo{\KOMAClassName}{%
          File `size\@tempb.clo' used to setup font sizes}%
      }{%
%    \end{macrocode}
% Sind auch diese Dateien nicht vorhanden, so wird als Fallback eine
% Berechnung der Schriftgrößen verwendet. Es sei darauf hingewiesen, dass
% dabei auch \cs{@tempa}, \cs{@tempb} und \cs{@ptsize} neu gesetzt werden.
%    \begin{macrocode}
        \changefontsizes{\@tempa}%
%    \end{macrocode}
% Damit sollten nun die Schriftgrößen eingestellt sein.
%    \begin{macrocode}
      }%
%<book>    }%
  }%
}
%</!extend>
%    \end{macrocode}
% 
%
% \subsection{"`Alte"' Font-Auswahlbefehle}
%
% \begin{macro}{\scr@DeclareOldFontCommand}
%   \changes{v3.12}{2013/10/31}{neu}
% Diese Anweisung arbeitet prinzipiell wie die \LaTeX-Kern-Anweisung
% \cs{DeclareOldFontCommand}, wirft aber zusätzlich mit Warnungen um sich, um
% dem Anwender die Verwendung der alten Befehle zu versauern.
%    \begin{macrocode}
%<*!extend>
\newcommand*{\scr@DeclareOldFontCommand}[3]{%
  \DeclareRobustCommand #1{\@fontswitch {%
      \ClassWarning{\KOMAClassName}{%
        Usage of deprecated font command `\string#1'!\MessageBreak
        You should note, that in 1994 font command `\string#1' has\MessageBreak
        been defined for compatiblitiy to Script 2.0 only.\MessageBreak
        Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak
        shouldn't use such commands any longer and within\MessageBreak
        KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak
        See `fntguide.pdf' for more information about\MessageBreak
        recommended font commands.\MessageBreak
        Note also, that KOMA-Script will remove the definition\MessageBreak
        of `\string#1' anytime until release of about version 3.20.\MessageBreak
        But for now, KOMA-Script will replace deprecated
        `\string#1'\MessageBreak
        by `\detokenize{#2}'%
      }%
      #2%
    }{%
      \ClassWarning{\KOMAClassName}{%
        Usage of deprecated font command `\string#1'!\MessageBreak
        You should note, that in 1994 font command `\string#1' has\MessageBreak
        been defined for compatiblitiy to Script 2.0 only.\MessageBreak
        Now, after two decades of LaTeX2e and NFSS2, you\MessageBreak
        shouldn't use such commands any longer and within\MessageBreak
        KOMA-Script usage of `\string#1' is definitely deprecated.\MessageBreak
        See `fntguide.pdf' for more information about\MessageBreak
        recommended font commands.\MessageBreak
        Note also, that KOMA-Script will remove the definition\MessageBreak
        of `\string#1' anytime until release of about version 3.20.\MessageBreak
        But for now, KOMA-Script will replace deprecated
        `\string#1'\MessageBreak
        by `\detokenize{#3}'%
      }%
      #3%
    }%
  }%
}
%</!extend>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\rm}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\sf}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\tt}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\bf}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\it}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\sl}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\sc}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
%  \begin{macro}{\sfb}
%    \changes{v2.2c}{1995/05/25}{nicht mehr mathematisch}
%    \changes{v2.3a}{1995/07/08}{keine Unterscheidung mehr für den
%      Kompatibilitätsmodus}
%   \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}
% Um die Umstellung von \LaTeX\ auf \LaTeXe\ zu erleichtern, gibt es
% die alten Font-Auswahlbefehle \cs{rm}, \cs{sf}, \cs{tt}, \cs{bf},
% \cs{it}, \cs{sl} und \cs{sc} auch in den Klassen. Es ist zu
% beachten, dass diese Befehle hier nach dem alten
% Fontauswahlverfahren arbeiten. Es werden also immer alle Parameter
% zugleich geändert. Somit ist zu empfehlen, dass statt dieser Befehle
% zukünftig in der Regel die neuen \cs{text\dots}-Befehle verwendet
% werden.
%
% Der aus der \textsf{Script 2.0}-Familie bekannte Befehl \cs{sfb} ist
% hier ebenfalls definiert.
%    \begin{macrocode}
%<*!extend>
\scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\scr@DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\scr@DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\scr@DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{%
  \@nomath\sfb}
%</!extend>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\cal}
%    \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}
% Der Befehl ist in \LaTeX{} nicht mehr definiert. Deshalb wird er nun
% neu und gleich robust deklariert. Dafür fällt \cs{pcal} weg.
%    \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}
%  \begin{macro}{\mit}
%    \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}
% Der Befehl ist in \LaTeX{} nicht mehr definiert. Deshalb wird er nun
% neu und gleich robust deklariert. Dafür fällt \cs{pmit} weg.
%   \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}
%
% Die beiden Befehle \cs{cal} und \cs{mit} war bis zur \LaTeX-Version
% vom 1.12.1994 patch level 3 noch im Kernal definiert. Jetzt sind die
% beiden den Klassen überlassen. Hier ist die Definition aus den
% Standard-classes übernommen.
%    \begin{macrocode}
%<*!extend>
\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
%</!extend>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \iffalse
%</class|extend>
% \fi
%
% \subsection{Setzen der Schrift eines Elements}
%
% \iffalse
%<*scrkbase>
% \fi
%
% \begin{macro}{\setkomafont}
%   \changes{v2.8o}{2001/09/14}{neu}
%   \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}
% Mit Hilfe dieses Makros kann die Schriftart von
% \KOMAScript-Elementen gesetzt werden.
%    \begin{macrocode}
\newcommand*{\setkomafont}[2]{%
  \@ifundefined{scr@fnt@#1}{%
    \@ifundefined{scr@fnt@instead@#1}{%
      \PackageError{scrkbase}{%
        font of element `#1' can't be set}{%
        You've told me to redefine the font selection of the
        element,\MessageBreak%
        but either no such element is known by
        KOMA-Script\MessageBreak%
        or the element does not use a special font selection%
      }%
    }{%
      \PackageInfo{scrkbase}{%
        You've told me to redefine the font selection of the\MessageBreak
        element `#1' that is an alias of element\MessageBreak
        `\csname scr@fnt@instead@#1\endcsname'%
      }%
      \expandafter\setkomafont\expandafter{%
        \csname scr@fnt@instead@#1\endcsname}{#2}%
    }%
  }{%
    \expandafter\expandafter\expandafter\def\csname scr@fnt@#1\endcsname{#2}%
  }%
  \@ifundefined{scr@fnt@wrn@#1}{}{%
    \PackageWarning{scrkbase}{%
      \csname scr@fnt@wrn@#1\endcsname{#1}%
    }%
  }%
}
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\addtokomafont}
%   \changes{v2.8p}{2001/09/22}{neu}
%   \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}
% Dieses Makro funktioniert fast wie obiges, allerdings fügt es der
% vorhandenen Definition etwas an. Dazu wird \cs{l@addto@macro} aus
% \textsf{scrkbase} verwendet.
%    \begin{macrocode}
\newcommand*{\addtokomafont}[2]{%
  \@ifundefined{scr@fnt@#1}{%
    \@ifundefined{scr@fnt@instead@#1}{%
      \PackageError{scrkbase}{%
        font of element `#1' can't be extended%
      }{%
        You've told me to extend the font selection of the
        element,\MessageBreak
        but either no such element is known by
        KOMA-Script\MessageBreak
        or the element does not use a special font selection%
      }%
    }{%
      \PackageInfo{scrkbase}{%
        You've told me to extend the font selection of the\MessageBreak
        element `#1' that is an alias of element\MessageBreak
        `\csname scr@fnt@instead@#1\endcsname'%
      }%
      \expandafter\addtokomafont\expandafter{%
        \csname scr@fnt@instead@#1\endcsname}{#2}%
    }%
  }{%
    \expandafter\expandafter\expandafter\l@addto@macro
    \csname scr@fnt@#1\endcsname{#2}%
  }%
  \@ifundefined{scr@fnt@wrn@#1}{}{%
    \PackageWarning{scrkbase}{%
      \csname scr@fnt@wrn@#1\endcsname{#1}%
    }%
  }%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\usekomafont}
%   \changes{v2.8p}{2001/09/28}{neu}
%   \changes{v2.96}{2006/08/18}{Benutzung eines Fontalias korrigiert}
%   \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}
% Mit Hilfe dieses Makros kann auf die Schriftart von
% \KOMAScript-Elementen umgeschaltet werden.
%    \begin{macrocode}
\newcommand*{\usekomafont}[1]{%
  \@ifundefined{scr@fnt@#1}{%
    \@ifundefined{scr@fnt@instead@#1}{%
      \PackageError{scrkbase}{%
        font of element `#1' can't be used%
      }{%
        You've told me to use the font selection of the
        element,\MessageBreak
        but either no such element is known by
        KOMA-Script\MessageBreak
        or the element does not use a special font selection%
      }%
    }{%
      \PackageInfo{scrkbase}{%
        You've told me to use the font selection of the
        element\MessageBreak
        `#1' that is an alias of element `\csname
        scr@fnt@instead@#1\endcsname'\MessageBreak
      }%
      \expandafter\expandafter\expandafter\usekomafont
      \expandafter\expandafter\expandafter{%
        \csname scr@fnt@instead@#1\endcsname}%
    }%
  }{%
    \@nameuse{scr@fnt@#1}%
  }%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\usesizeofkomafont}
%   \changes{v3.12}{2013/03/30}{neu}
% \begin{macro}{\usefamilyofkomafont}
%   \changes{v3.12}{2013/03/30}{neu}
% \begin{macro}{\useseriesofkomafont}
%   \changes{v3.12}{2013/03/30}{neu}
% \begin{macro}{\useshapeofkomafont}
%   \changes{v3.12}{2013/03/30}{neu}
% \begin{macro}{\useencodingofkomafont}
%   \changes{v3.12}{2013/03/30}{neu}
% \begin{macro}{\usefontofkomafont}
%   \changes{v3.12}{2013/03/30}{neu}
% Manchmal wollen die Leute tatsächlich gar nicht den kompletten Font eines
% Elements, sondern nur einen Teilaspekt davon. Aber Version~3.12 wird das mit
% Hilfe neuer Anweisungen unterstützt.
%    \begin{macrocode}
\newcommand*{\usesizeofkomafont}[1]{%
  \begingroup
    \let\color\@gobble\let\normalcolor\relax
    \@tempcnta=\currentgrouplevel
    \usekomafont{#1}{%
      \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax
        \edef\reserved@a{\noexpand\egroup\noexpand\endgroup
          \noexpand\fontsize{\f@size}{\f@baselineskip}%
          \noexpand\bgroup}%
      \else
        \edef\reserved@a{\noexpand\endgroup
          \noexpand\fontsize{\f@size}{\f@baselineskip}}%
      \fi
      \reserved@a
    }%
  \selectfont
}
\newcommand*{\usefamilyofkomafont}{\use@ofkomafont{family}}
\newcommand*{\useseriesofkomafont}{\use@ofkomafont{series}}
\newcommand*{\useshaperofkomafont}{\use@ofkomafont{shape}}
\newcommand*{\useencodingofkomafont}{\use@ofkomafont{encoding}}
\newcommand*{\usefontofkomafont}[1]{%
  \begingroup
    \let\color\@gobble\let\normalcolor\relax
    \@tempcnta=\currentgrouplevel
    \usekomafont{#1}{%
      \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax
        \edef\reserved@a{\noexpand\egroup\noexpand\endgroup
          \noexpand\fontsize{\f@size}{\f@baselineskip}%
          \noexpand\fontfamily{\f@family}%
          \noexpand\fontseries{\f@series}%
          \noexpand\fontshape{\f@shape}%
          \noexpand\fontencoding{\f@encoding}%
          \noexpand\bgroup}%
      \else
        \edef\reserved@a{\noexpand\endgroup
          \noexpand\fontsize{\f@size}{\f@baselineskip}}%
          \noexpand\fontfamily{\f@family}%
          \noexpand\fontseries{\f@series}%
          \noexpand\fontshape{\f@shape}%
          \noexpand\fontencoding{\f@encoding}%
      \fi
      \reserved@a
    }%
  \selectfont
}
%    \end{macrocode}
% \begin{macro}{\use@ofkomafont}
%   \changes{v3.12}{2013/03/30}{neu (intern)}
% Kleines Hilfsmakro für all diese Anweisungen bis auf die erste und die letzte.
%    \begin{macrocode}
\newcommand*{\use@ofkomafont}[2]{%
  \begingroup
    \let\color\@gobble\let\normalcolor\relax
    \@tempcnta=\currentgrouplevel
    \usekomafont{#2}{%
      \ifnum \currentgrouplevel>\numexpr\@tempcnta\relax
        \edef\reserved@a{\noexpand\egroup\noexpand\endgroup
          \expandafter\noexpand\csname font#1\endcsname
          {\csname f@#1\endcsname}%
          \noexpand\bgroup}%
      \else
        \edef\reserved@a{\noexpand\endgroup
          \expandafter\noexpand\csname font#1\endcsname
          {\csname f@#1\endcsname}%
        }%
      \fi
      \reserved@a
    }%
  \selectfont
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% Um dann ein Element zu definieren, definiert man zunächst ein
% Makro, das die Schriftart enthält. Dann definiert man
% \cs{scr@fnt@\emph{Elementname}}. Wobei der Inhalt dieses Makros das
% Makro ist, das die Schriftart speichert. Damit ist das Element
% definiert. Soll ein Element durch ein anderes Element gesteuert
% werden, so definiert man stattdessen
% \cs{scr@fnt@instead@\emph{Elementname}}, wobei der Inhalt des Makros
% dann der Name jenes anderen Elements ist. Soll beim Ändern der
% Schrift eines Elements eine zusätzliche Warnung ausgegeben werden,
% so kann der Text dieser Warnung in
% \cs{scr@fnt@wrn@\emph{Elementname}} abgelegt werden. Die Warnung wird dann
% als Befehl mit einem Argument definiert. Also alles
% eigentlich ganz einfach. Damit es noch einfacher wird, ein paar 
% Hilfsmakros:
%
% \begin{macro}{\newkomafont}
%   \changes{v2.95}{2004/07/21}{neu}
%   \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}
%   \changes{v3.11c}{2013/02/18}{die Warnung hat ein Argument}
% Mit \cs{newkomafont} wird ein neues Element definiert. Das erste optionale
% Argument ist dabei die optionale Warnung. Ist dieses nicht gesetzt oder
% \cs{relax}, so wird keine Warnung definiert. Das erste obligatorische
% Argument ist der Name des Elements. Als letztes folgt die Voreinstellung für
% die Schrift dieses Elements. Als Fontmakro wird übrigens
% \cs{@\emph{Elementname}font} definiert.
%    \begin{macrocode}
\newcommand*{\newkomafont}[3][\relax]{%
  \expandafter\newcommand\expandafter*\csname @#2font\endcsname{#3}%
  \expandafter\expandafter\expandafter\newcommand
  \expandafter\expandafter\expandafter*%
  \expandafter\csname scr@fnt@#2\expandafter\endcsname\expandafter{%
    \csname @#2font\endcsname%
  }%
  \ifx\relax#1\relax\else
    \expandafter\newcommand\expandafter*\csname scr@fnt@wrn@#2\endcsname[1]{#1}%
  \fi
}
%    \end{macrocode}
% \begin{macro}{\aliaskomafont}
%   \changes{v2.95}{2004/07/21}{neu}
%   \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}
% Mit \cs{aliaskomafont} wird hingegen einfach ein Alias definiert. Dieser
% Befehlt kennt zwei Argumente: der Name des Elements und der Names des
% Elements, das stattdessen verwendet werden soll.
%    \begin{macrocode}
\newcommand*{\aliaskomafont}[2]{%
  \expandafter\newcommand\expandafter*\csname scr@fnt@instead@#1\endcsname{%
    #2%
  }%
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \iffalse
%</scrkbase>
% \fi
%
% \iffalse
%</body>
% \fi
%
% \Finale
%
\endinput
%
% end of file `scrkernel-fonts.dtx'
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
%%% End:
