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 | 1009 |
1 files changed, 541 insertions, 468 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 index 31005b6cade..4b2ccb34aae 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx @@ -1,8 +1,8 @@ -% \CheckSum{3227} +% \CheckSum{3224} % \iffalse meta-comment % ====================================================================== % scrkernel-fonts.dtx -% Copyright (c) Markus Kohm, 2002-2014 +% Copyright (c) Markus Kohm, 2002-2015 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrkernel-fonts.dtx -% Copyright (c) Markus Kohm, 2002-2014 +% Copyright (c) Markus Kohm, 2002-2015 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -55,17 +55,22 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-fonts.dtx 1829 2014-11-21 09:27:52Z kohm $ +%%% From File: $Id: scrkernel-fonts.dtx 2063 2015-04-03 11:55:42Z kohm $ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2014-11-21 10:27:52 +0100 (Fri, 21 Nov 2014) $ - \def\filerevision$#1: #2 ${\gdef\filerevision{#2}} + \filedate$Date: 2015-04-03 13:55:42 +0200 (Fri, 03 Apr 2015) $ + \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 1827 $ -\endgroup -\ProvidesFile{scrkernel-fonts.dtx}[\filedate\space\filerevision\space - KOMA-Script (font size)] + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\ProvidesFile{scrkernel-fonts.dtx}% + [\filedate\space\filerevision\space + KOMA-Script source + (font size)] + }% +\reserved@a % \changes{v3.09}{2011/02/23}{Neues Paket \texttt{scrfontsizes}} %</driver> %<*package&generator&identify> @@ -134,14 +139,14 @@ % \iffalse %<*class|extend> % \fi -% \begin{option}{10pt} -% \begin{option}{11pt} -% \begin{option}{12pt} +% \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 +% \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 @@ -156,18 +161,18 @@ } %</!extend> % \end{macrocode} -% \end{macro} -% \end{option} -% \end{option} -% \end{option} +% \end{macro} +% \end{option} +% \end{option} +% \end{option} % % \begin{macro}{\@pt@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)} +% \changes{v2.6}{2000/01/04}{neu (intern)}^^A % \begin{macro}{\@pt@@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)} +% \changes{v2.6}{2000/01/04}{neu (intern)}^^A % \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} +% \changes{v2.98c}{2008/03/22}{Verwendung von \cs{KOMA@UseObsoleteOption}^^A % korrigiert} % \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch % \cs{PackageInfoNoLine} ersetzt} @@ -206,11 +211,11 @@ } %</!extend> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\@fontsizefilebase} -% \changes{v2.96}{2006/08/11}{neu (intern)} +% \changes{v2.96}{2006/08/11}{neu (intern)}^^A % \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 @@ -221,11 +226,13 @@ % \end{macrocode} % \end{macro} % +% \changes{v3.17}{2015/03/10}{die Schriftgröße wird in der internen +% Optionenliste gespeichert}^^A % \begin{option}{fontsize} -% \changes{v2.96}{2006/08/11}{Funktion komplett geändert} +% \changes{v2.96}{2006/08/11}{Funktion komplett geändert}^^A % \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} +% Schriftgrößendatei}^^A +% \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed}^^A % gesetzt.} % Hier nun die Option, die tatsächlich verwendet wird. Es sei darauf % hingewiesen, dass damit auch Schriftgrößen wie \texttt{10.3pt} denkbar @@ -269,6 +276,10 @@ \@tempa }% \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.% +%<class> \KOMAClassFileName +%<extend> scrextend.\scr@pkgextension + }{fontsize}{#1}% } % \end{macrocode} % \end{option} @@ -300,7 +311,7 @@ % \subsection{Einlesen der Schriftgrößendatei} % % \changes{v2.6}{2000/01/04}{Einlesen der Schriftgrößen-Options-Datei -% funktioniert nun mit diversen Größen} +% funktioniert nun mit diversen Größen}^^A % \changes{v2.98c}{2008/03/26}{Eigene \texttt{scrsize}-Dateien definiert} % % \iffalse @@ -620,19 +631,23 @@ % \fi % % \begin{macro}{\changefontsizes} -% \changes{v2.96}{2006/08/11}{neue Anweisung (benötigt \eTeX)} +% \changes{v2.96}{2006/08/11}{neue Anweisung (benötigt \eTeX)}^^A % \changes{v3.08b}{2011/02/22}{drei falsche \cs{def} durch \cs{edef} -% ersetzt} +% ersetzt}^^A +% \changes{v3.17}{2015/02/23}{wird nur definiert, wenn nicht vorhanden}^^A +% \begin{macro}{\simple@changefontsizes} +% \changes{v3.17}{2015/02/23}{auf speziellen Wunsch von Falk}^^A +% \changes{v3.17}{2015/03/25}{\cs{par@updaterelative} hinzugefügt}^^A % 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 +% \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 + \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{#1}{#2 \@plus#3 \@minus#4}% \else \ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi @@ -668,32 +683,23 @@ } % \end{macrocode} % \end{macro} +% \changes{v3.17}{2015/03/10}{e-\TeX-Warnung entfernt}^^A % \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% +\providecommand*{\simple@changefontsizes}[2][1.2\@tempdima]{% + \KOMA@kav@removekey{.% +%<class> \KOMAClassFileName +%<extend> scrextend.\scr@pkgextension + }{fontsize}% + \@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 @@ -705,385 +711,397 @@ % % 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 - }% + \expandafter\ifnum\scr@v@is@lt{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 - }% + \setlength{\@tempdima}{0.9125\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \expandafter\ifnum\scr@v@is@lt{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 - }% + \setlength{\@tempdima}{.83334\@tempdimc}% + \setlength{\@tempdimb}{\@tempb\@tempdima}% + \expandafter\ifnum\scr@v@is@lt{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}% - }% + \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}% - }% + \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}% - }% + \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}% - }% + \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}% - }% + \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}% - }% + \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}% - }% + \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 + \normalsize +%<!extend> \expandafter\ifnum\scr@v@is@ge{3.17}\@nameuse{par@updaterelative}\fi % \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 + \expandafter\ifnum\scr@v@is@lt{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 + \expandafter\ifnum\scr@v@is@lt{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 - }% + \expandafter\ifnum\scr@v@is@lt{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 - }% + \expandafter\ifnum\scr@v@is@lt{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 - }% + \expandafter\ifnum\scr@v@is@lt{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 - }% + \expandafter\ifnum\scr@v@is@lt{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 - }% + \@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 - }% + \@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 + \@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 +% 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}% + \expandafter\ifnum\scr@v@is@lt{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 + \fi +} +\scr@ifundefinedorrelax{changefontsizes}{% + \let\changefontsizes\simple@changefontsizes +}{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package&extend> \PackageWarning{scrextend}{% + \string\changefontsizes\space already defined.\MessageBreak + I hope, the definition is compatible,\MessageBreak + because I do not change it% }% } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \simple@changefontsizes +% \end{macro}^^A \changefontsizes % \iffalse %</class|extend> %<*generator> % \fi % \begin{macro}{\generatefontfile} -% \changes{v3.09}{2011/02/23}{Neu} +% \changes{v3.09}{2011/02/23}{Neu}^^A +% \changes{v3.17}{2015/03/26}{\cs{par@updaterelative} added}^^A % 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 @@ -1118,9 +1136,9 @@ } % \end{macrocode} % \begin{macro}{\@generatefontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)} +% \changes{v3.09}{2011/02/23}{Neu (intern)}^^A % \begin{macro}{\@@generatefontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)} +% \changes{v3.09}{2011/02/23}{Neu (intern)}^^A % 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 @@ -1148,7 +1166,7 @@ % \end{macro} % \end{macro} % \begin{macro}{\@@@generatorfontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)} +% \changes{v3.09}{2011/02/23}{Neu (intern)}^^A % Dieses Hilfsmakro wird hingegen im Fehlerfall aufgerufen, um die Ausgabe % einer Schriftgrößendatei zu verhindern. % \begin{macrocode} @@ -1156,7 +1174,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\@fontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)} +% \changes{v3.09}{2011/02/23}{Neu (intern)}^^A % 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 @@ -1167,7 +1185,8 @@ \let\@fontfile\@mainaux % \end{macrocode} % \begin{macro}{\generate@fontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)} +% \changes{v3.09}{2011/02/23}{Neu (intern)}^^A +% \changes{v3.16a}{2015/02/11}{\cs{footnotesize} korrigiert} % 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 @@ -1182,7 +1201,7 @@ \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% + \csname ver@scrfontsizes.\scr@pkgextension\endcsname,^^J% \@percentchar\space Copyright (c) Markus Kohm.^^J% \@percentchar^^J% \string\ProvidesFile{#1#2.clo}[% @@ -1220,7 +1239,7 @@ \begingroup\footnotesize\@listi \immediate\write\@fontfile{% \string\def\string\footnotesize{\@percentchar^^J% - \@ind\string\@setfontsize\string\small{\f@size}{\f@baselineskip}% + \@ind\string\@setfontsize\string\footnotesize{\f@size}{\f@baselineskip}% \@percentchar^^J% \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J% \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J% @@ -1400,6 +1419,8 @@ \endgroup \immediate\write\@fontfile{% \string\@ifundefined{@list@extra}{}{\@percentchar^^J% + \string\expandafter\string\ifnum\string\scr@v@is@ge{3.17}% + \string\par@updaterelative\string\fi^^J% \@ind\string\l@addto@macro{\string\@listi}{\string\@list@extra}% \@percentchar^^J% \@ind\string\let\string\@listI=\string\@listi^^J% @@ -1480,14 +1501,18 @@ % 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}{ +\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}% + \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}% + \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}% }{% \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak file `\@fontsizefilebase\@tempa.clo' to setup font sizes}% + \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}% + \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb pt}% }{% % \end{macrocode} % Wurde bis hier noch keine Datei geladen, wird nun versucht, die @@ -1497,18 +1522,25 @@ \InputIfFileExists{bk\@tempb.clo}{% \ClassInfo{\KOMAClassName}{% File `bk\@tempb.clo' used to setup font sizes}% + \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}% + \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb}% }{% %</book> \InputIfFileExists{size\@tempb.clo}{% \ClassInfo{\KOMAClassName}{% File `size\@tempb.clo' used to setup font sizes}% + \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}% + \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb}% }{% % \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}% + \edef\@tempa{% + \noexpand\changefontsizes{\@tempa}% + \noexpand\KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}% + }\@tempa % \end{macrocode} % Damit sollten nun die Schriftgrößen eingestellt sein. % \begin{macrocode} @@ -1523,7 +1555,7 @@ % \subsection{"`Alte"' Font-Auswahlbefehle} % % \begin{macro}{\scr@DeclareOldFontCommand} -% \changes{v3.12}{2013/10/31}{neu} +% \changes{v3.12}{2013/10/31}{neu}^^A % 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. @@ -1572,24 +1604,24 @@ % \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} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\sf} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\tt} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\bf} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\it} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\sl} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\sc} +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A +% \begin{macro}{\sfb} +% \changes{v2.2c}{1995/05/25}{nicht mehr mathematisch}^^A +% \changes{v2.3a}{1995/07/08}{keine Unterscheidung mehr für den +% Kompatibilitätsmodus}^^A +% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}^^A % 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 @@ -1614,25 +1646,25 @@ \@nomath\sfb} %</!extend> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \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} +% \begin{macro}{\cal} +% \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}^^A % 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} +% \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}^^A +% \begin{macro}{\mit} +% \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}^^A % 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} +% \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}^^A % % 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 @@ -1644,8 +1676,8 @@ \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} %</!extend> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % % \iffalse %</class|extend> @@ -1658,7 +1690,7 @@ % \fi % % \begin{macro}{\IfExistskomafont} -% \changes{v3.15}{2014/11/21}{neue Anweisung} +% \changes{v3.15}{2014/11/21}{neue Anweisung}^^A % Führe das zweite Argument aus, wenn ein Fontelement existiert, sonst das % dritte. % \begin{macrocode} @@ -1673,7 +1705,7 @@ % \end{macro} % % \begin{macro}{\setkomafont} -% \changes{v2.8o}{2001/09/14}{neu} +% \changes{v2.8o}{2001/09/14}{neu}^^A % \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} % Mit Hilfe dieses Makros kann die Schriftart von % \KOMAScript-Elementen gesetzt werden. @@ -1710,7 +1742,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\addtokomafont} -% \changes{v2.8p}{2001/09/22}{neu} +% \changes{v2.8p}{2001/09/22}{neu}^^A % \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 @@ -1751,8 +1783,8 @@ % \end{macro} % % \begin{macro}{\usekomafont} -% \changes{v2.8p}{2001/09/28}{neu} -% \changes{v2.96}{2006/08/18}{Benutzung eines Fontalias korrigiert} +% \changes{v2.8p}{2001/09/28}{neu}^^A +% \changes{v2.96}{2006/08/18}{Benutzung eines Fontalias korrigiert}^^A % \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} % Mit Hilfe dieses Makros kann auf die Schriftart von % \KOMAScript-Elementen umgeschaltet werden. @@ -1788,93 +1820,134 @@ % \end{macro} % % \begin{macro}{\usesizeofkomafont} -% \changes{v3.12}{2013/03/30}{neu} +% \changes{v3.12}{2013/03/30}{neu}^^A +% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}^^A % \begin{macro}{\usefamilyofkomafont} -% \changes{v3.12}{2013/03/30}{neu} +% \changes{v3.12}{2013/03/30}{neu}^^A +% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}^^A % \begin{macro}{\useseriesofkomafont} -% \changes{v3.12}{2013/03/30}{neu} +% \changes{v3.12}{2013/03/30}{neu}^^A +% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}^^A % \begin{macro}{\useshapeofkomafont} -% \changes{v3.12}{2013/03/30}{neu} +% \changes{v3.12}{2013/03/30}{neu}^^A +% \changes{v3.16a}{2015/02/20}{Makroname korrigiert}^^A +% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}^^A % \begin{macro}{\useencodingofkomafont} -% \changes{v3.12}{2013/03/30}{neu} +% \changes{v3.12}{2013/03/30}{neu}^^A +% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}^^A % \begin{macro}{\usefontofkomafont} -% \changes{v3.12}{2013/03/30}{neu} +% \changes{v3.12}{2013/03/30}{neu}^^A +% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}^^A % 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 + \scr@prepareforkomafont + \sbox\@tempboxa{% + \usekomafont{#1}{% + \xdef\g@scr@usefont{% + \noexpand\fontsize{\f@size}{\f@baselineskip}\noexpand\selectfont + }% + }% }% - \selectfont + \endgroup + \g@scr@usefont } \newcommand*{\usefamilyofkomafont}{\use@ofkomafont{family}} \newcommand*{\useseriesofkomafont}{\use@ofkomafont{series}} -\newcommand*{\useshaperofkomafont}{\use@ofkomafont{shape}} +\newcommand*{\useshapeofkomafont}{\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 + \scr@prepareforkomafont + \sbox\@tempboxa{% + \usekomafont{#1}{% + \xdef\g@scr@usefont{% \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 + \noexpand\usefont{\f@encoding}{\f@family}{\f@series}{\f@shape}% + }% + }% }% - \selectfont + \endgroup + \g@scr@usefont } % \end{macrocode} % \begin{macro}{\use@ofkomafont} -% \changes{v3.12}{2013/03/30}{neu (intern)} +% \changes{v3.12}{2013/03/30}{neu (intern)}^^A +% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}^^A % 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}% + \scr@prepareforkomafont + \sbox\@tempboxa{% + \usekomafont{#2}{% + \xdef\g@scr@usefont{% + \expandafter\noexpand + \csname font#1\endcsname{\csname f@#1\endcsname}\noexpand\selectfont }% - \fi - \reserved@a + }% }% - \selectfont + \endgroup + \g@scr@usefont +} +% \end{macrocode} +% \begin{macro}{\g@scr@usefont} +% \changes{v3.17}{2015/04/03}{neu (intern)}^^A +% Globale definiertes Hilfsmakro. Dieses Makro sollte niemals für irgend etwas +% anderes als obige Befehle verwendet werden. Anderenfalls ist die Funktion +% sowohl dieses anderen als auch obiger Befehle nicht mehr gewährleistet! +% \begin{macrocode} +\newcommand*{\g@scr@usefont}{% + \PackageError{scrkbase}{% + undefined usage of \string\g@scr@usefont + }{% + \string\g@scr@usefont\space is an internal macro of KOMA-Script and + should\MessageBreak + not be used this way.\MessageBreak + This may be an internal error of KOMA-Script, a mistake of a package + author,\MessageBreak + or a mistake of the user.% + }% +} +% \end{macrocode} +% \end{macro}^^A \g@scr@usefont +% \begin{macro}{\scr@komafontrelaxlist} +% \changes{v3.17}{2015/04/03}{neu (intern)}^^A +% Hilfsmakro mit einer |\do|-Liste aller Makros, die in obigen Font-Makros vor +% der Anwendung des Fonts |\relax| verwenden sollen. +% \begin{macrocode} +\newcommand*{\scr@komafontrelaxlist}{% + \do\color \do\normalcolor + \do\uppercase \do\lowercase \do\MakeUppercase \do\MakeLowercase +} +% \end{macrocode} +% \end{macro}^^A \scr@komafontrelaxlist +% \begin{macro}{\scr@prepareforkomafont} +% \changes{v3.17}{2015/04/03}{neu (intern)}^^A +% Hilfsmakro, das die Vorbereitungen für die obigen Font-Makros trifft. In der +% Voreinstellung ist das lediglich die Anwendung der |\do|-Liste, so dass die +% dort angegebenen Makros alle |\relax| werden. Da die Anweisung dazu |\do| +% umdefiniert, sollte die Anweisung immer in einer Gruppe eingeschlossen +% werden. +% \begin{macrocode} +\newcommand*{\scr@prepareforkomafont}{% + \long\def\do##1{\let##1\relax}\scr@komafontrelaxlist +} +% \end{macrocode} +% \end{macro}^^A \scr@prepareforkomafont +% \begin{macro}{\addtokomafontrelaxlist} +% \changes{v3.17}{2015/04/03}{Neu} +% Diese Anweisung erlaubt es genau ein Makro der obigen |\do|-Liste +% hinzuzufügen. +% \begin{macrocode} +\newcommand*{\addtokomafontrelaxlist}[1]{% + \l@addto@macro\scr@komafontrelaxlist{\do#1}% } % \end{macrocode} +% \end{macro}^^A \addtokomafontrelaxlist % \end{macro} % \end{macro} % \end{macro} @@ -1899,9 +1972,9 @@ % Hilfsmakros: % % \begin{macro}{\newkomafont} -% \changes{v2.95}{2004/07/21}{neu} +% \changes{v2.95}{2004/07/21}{neu}^^A % \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} -% \changes{v3.11c}{2013/02/18}{die Warnung hat ein Argument} +% \changes{v3.11c}{2013/02/18}{die Warnung hat ein Argument}^^A % 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 @@ -1922,7 +1995,7 @@ } % \end{macrocode} % \begin{macro}{\aliaskomafont} -% \changes{v2.95}{2004/07/21}{neu} +% \changes{v2.95}{2004/07/21}{neu}^^A % \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 |