summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx1933
1 files changed, 1933 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx
new file mode 100644
index 00000000000..99ca110e5b6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx
@@ -0,0 +1,1933 @@
+% \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: