diff options
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.dtx | 1933 |
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: |