You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2254 lines
82 KiB
2254 lines
82 KiB
% \CheckSum{3406}
|
|
% \iffalse meta-comment
|
|
% ======================================================================
|
|
% scrkernel-fonts.dtx
|
|
% Copyright (c) Markus Kohm, 2002-2019
|
|
%
|
|
% This file is part of the LaTeX2e KOMA-Script bundle.
|
|
%
|
|
% This work may be distributed and/or modified under the conditions of
|
|
% the LaTeX Project Public License, version 1.3c of the license.
|
|
% The latest version of this license is in
|
|
% http://www.latex-project.org/lppl.txt
|
|
% and version 1.3c or later is part of all distributions of LaTeX
|
|
% version 2005/12/01 or later and of this work.
|
|
%
|
|
% This work has the LPPL maintenance status "author-maintained".
|
|
%
|
|
% The Current Maintainer and author of this work is Markus Kohm.
|
|
%
|
|
% This work consists of all files listed in manifest.txt.
|
|
% ----------------------------------------------------------------------
|
|
% scrkernel-fonts.dtx
|
|
% Copyright (c) Markus Kohm, 2002-2019
|
|
%
|
|
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
|
|
% Version 1.3c, verteilt und/oder veraendert werden.
|
|
% Die neuste Version dieser Lizenz ist
|
|
% http://www.latex-project.org/lppl.txt
|
|
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
|
|
% Version 2005/12/01 oder spaeter und dieses Werks.
|
|
%
|
|
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
|
|
% (allein durch den Autor verwaltet).
|
|
%
|
|
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
|
|
%
|
|
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
|
|
% ======================================================================
|
|
% \fi
|
|
%
|
|
% \CharacterTable
|
|
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
|
|
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
|
|
% Digits \0\1\2\3\4\5\6\7\8\9
|
|
% Exclamation \! Double quote \" Hash (number) \#
|
|
% Dollar \$ Percent \% Ampersand \&
|
|
% Acute accent \' Left paren \( Right paren \)
|
|
% Asterisk \* Plus \+ Comma \,
|
|
% Minus \- Point \. Solidus \/
|
|
% Colon \: Semicolon \; Less than \<
|
|
% Equals \= Greater than \> Question mark \?
|
|
% Commercial at \@ Left bracket \[ Backslash \\
|
|
% Right bracket \] Circumflex \^ Underscore \_
|
|
% Grave accent \` Left brace \{ Vertical bar \|
|
|
% Right brace \} Tilde \~}
|
|
%
|
|
% \iffalse
|
|
%%% From File: $Id: scrkernel-fonts.dtx 3390 2019-11-18 17:09:35Z kohm $
|
|
%<identify>%%% (run: identify)
|
|
%<option>%%% (run: option)
|
|
%<body>%%% (run: body)
|
|
%<10pt>%%% (run: 10pt)
|
|
%<11pt>%%% (run: 11pt)
|
|
%<11pt>%%% (run: 12pt)
|
|
%<*dtx>
|
|
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
|
|
\begingroup
|
|
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
|
|
\filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
|
|
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
|
|
\filerevision$Revision: 1827 $
|
|
\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}}
|
|
%</dtx>
|
|
%<*package&generator&identify>
|
|
%<package&generator&identify>\ProvidesPackage{scrfontsizes}[%
|
|
%!KOMAScriptVersion
|
|
%<package&generator&identify> package (font size file generator)]
|
|
%</package&generator&identify>
|
|
%<*dtx>
|
|
\documentclass[parskip=half-]{scrdoc}
|
|
\usepackage[english,ngerman]{babel}
|
|
\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}
|
|
%</dtx>
|
|
% \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}%^^A
|
|
% \changes{v3.27}{2019/03/25}{\cs{providecommand} statt \cs{newcommand}}%^^A
|
|
% 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>
|
|
\providecommand*\@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)}%^^A
|
|
% \begin{macro}{\@pt@@scan}
|
|
% \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}%^^A
|
|
% 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.}
|
|
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
|
|
% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A
|
|
% 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)}%^^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
|
|
% 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}
|
|
%
|
|
% \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}%^^A
|
|
% \changes{v2.98c}{2008/03/26}{lädt nach Möglichkeit die zugehörige
|
|
% 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
|
|
% 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
|
|
\KOMA@kav@xreplacevalue{.%
|
|
%<class> \KOMAClassFileName
|
|
%<extend> scrextend.\scr@pkgextension
|
|
}{fontsize}{#1}%
|
|
}
|
|
% \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}%^^A
|
|
% \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)}%^^A
|
|
% \changes{v3.08b}{2011/02/22}{drei falsche \cs{def} durch \cs{edef}
|
|
% 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
|
|
% 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]{%
|
|
\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
|
|
\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}
|
|
% \changes{v3.17}{2015/03/10}{e-\TeX-Warnung entfernt}%^^A
|
|
% \begin{macrocode}
|
|
\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
|
|
% 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}
|
|
\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}%
|
|
\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}%
|
|
\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}%
|
|
}%
|
|
% \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
|
|
%<!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}
|
|
\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}
|
|
\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}
|
|
\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}
|
|
\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}
|
|
\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}
|
|
\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
|
|
}%
|
|
% \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}
|
|
\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
|
|
}
|
|
\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}%^^A \simple@changefontsizes
|
|
% \end{macro}%^^A \changefontsizes
|
|
% \iffalse
|
|
%</class|extend>
|
|
%<*generator>
|
|
% \fi
|
|
% \begin{macro}{\generatefontfile}
|
|
% \changes{v3.09}{2011/02/23}{Neu}%^^A
|
|
% \changes{v3.17}{2015/03/26}{\cs{par@updaterelative} added}%^^A
|
|
% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^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
|
|
% 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}
|
|
% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
|
|
% \cs{kernel@ifnextchar}}%^^A
|
|
% 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}
|
|
\kernel@ifnextchar [{\@generatefontfile{#1}}{\@@generatefontfile{#1}}%
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \begin{macro}{\@generatefontfile}
|
|
% \changes{v3.09}{2011/02/23}{Neu (intern)}%^^A
|
|
% \begin{macro}{\@@generatefontfile}
|
|
% \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
|
|
% |\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)}%^^A
|
|
% 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)}%^^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
|
|
% 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)}%^^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
|
|
% 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.\scr@pkgextension\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\footnotesize{\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%
|
|
\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%
|
|
\@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}%
|
|
\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
|
|
% Größendateien der Standardklassen zu verwenden.
|
|
% \begin{macrocode}
|
|
%<*book>
|
|
\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}
|
|
\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}
|
|
}%
|
|
%<book> }%
|
|
}%
|
|
}
|
|
%</!extend>
|
|
%</class|extend>
|
|
%</body>
|
|
% \end{macrocode}
|
|
%
|
|
%
|
|
% \subsection{"`Alte"' Font-Auswahlbefehle}
|
|
%
|
|
% \begin{option}{enabledeprecatedfontcommands}
|
|
% \changes{v3.20}{2015/10/14}{neue (veraltete) Option}%^^A
|
|
% Diese Option ist bereits bei ihrer Definition veraltet. Sie stellt quasi die
|
|
% nächste Eskalation für die veralteten Font-Auswahlbefehle dar. Man kann mit
|
|
% ihrer Hilfe notfalls noch einmal die alten Befehle zurück holen. Dabei wird
|
|
% in der Voreinstellung weiterhin eine Warnung ausgegeben.
|
|
% \begin{macro}{\scr@defineobsoletefonts}
|
|
% \changes{v3.20}{2015/10/14}{neue (veraltete) Anweisung (intern)}%^^A
|
|
% Über diese Anweisung wird eingestellt, ob die veralteten Befehle mit
|
|
% Fehlermeldung, Warnung, Info oder gar nicht gemeldet werden.
|
|
% Negative Werte bedeuten, dass die Befehle nicht definiert werden. Null steht
|
|
% für interne Fehlermeldung. Eins ist eine Warnung. Zwei ist eine Info und
|
|
% darüber hinaus werden die Befehle einfach definiert. Voreingestellt ist
|
|
% derzeit noch Null. In naher Zukunft wird das aber -1 werden.
|
|
% \begin{macrocode}
|
|
%<*option>
|
|
%<*class>
|
|
\DeclareOption{enabledeprecatedfontcommands}{%
|
|
\ClassWarningNoLine{\KOMAClassName}{%
|
|
deprecated option `enabledeprecatedfontcommands'.\MessageBreak
|
|
Note, that this option was already depreacted when\MessageBreak
|
|
it has been defined. Support for old font commands\MessageBreak
|
|
has been removed from KOMA-Script more than one\MessageBreak
|
|
decade ago. It is not recommended to use them any\MessageBreak
|
|
longer. Therefore usage of this class option also\MessageBreak
|
|
is not recommended%
|
|
}%
|
|
\let\scr@defineobsoletefonts\@ne
|
|
}
|
|
\scr@ifundefinedorrelax{scr@defineobsoletefonts}{%
|
|
\let\scr@defineobsoletefonts\z@
|
|
}{}
|
|
\BeforePackage{tex4ht}{%
|
|
\let\scr@defineobsoletefonts\thr@@
|
|
}
|
|
%</class>
|
|
%</option>
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@degineobsoletefonts
|
|
% \end{option}%^^A enabledeprecatedfontscommands
|
|
%
|
|
% \begin{macro}{\scr@DeclareOldFontCommand}
|
|
% \changes{v3.12}{2013/10/31}{neu}%^^A
|
|
% \changes{v3.20}{2015/10/14}{veraltet eskaliert}%^^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.
|
|
% \begin{macrocode}
|
|
%<*body>
|
|
%<*class|extend>
|
|
%<*!extend>
|
|
\newcommand*{\scr@DeclareOldFontCommand}[3]{%
|
|
\ifnum\scr@defineobsoletefonts<\z@\else
|
|
\ifnum\scr@defineobsoletefonts>\tw@
|
|
\DeclareOldFontCommand{#1}{#2}{#3}%
|
|
\else
|
|
\DeclareOldFontCommand{#1}{%
|
|
\scr@ErrorWarningInfo{#1}{#2}#2%
|
|
}{%
|
|
\scr@ErrorWarningInfo{#1}{#3}#3%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
% \end{macrocode}
|
|
% \begin{macro}{\scr@ErrorWarningInfo}
|
|
% \changes{v3.20}{2015/10/14}{neu (intern)}%^^A
|
|
% \changes{v3.22}{2016/09/28}{message fixed}%^^A
|
|
% \begin{macrocode}
|
|
\DeclareRobustCommand*{\scr@ErrorWarningInfo}[2]{%
|
|
% \end{macrocode}
|
|
% Wenn \cs{scr@defineobsoletefonts} Null ist, wird eine Fehlermeldung
|
|
% ausgegeben.
|
|
% \begin{macrocode}
|
|
\ifnum \scr@defineobsoletefonts=\z@
|
|
\ClassError{\KOMAClassName}{undefined old font command `\string#1'}{%
|
|
You should note that since 1994 LaTeX2e provides a new font selection
|
|
scheme\MessageBreak
|
|
called NFSS2 with several new, combinable font commands.
|
|
KOMA-Script\MessageBreak
|
|
classes had defined the old font commands like `\string#1'
|
|
only for compatibility\MessageBreak
|
|
with old LaTeX 2.09 document styles of Script 2.0. Nevertheless,
|
|
these\MessageBreak
|
|
commands are deprecated and undocumented at least since 2003. Since
|
|
2013\MessageBreak
|
|
KOMA-Script classes warned about soon removement of these deprecated
|
|
commands.\MessageBreak
|
|
Now, after two decades of LaTeX2e and NFSS2, these commands will not
|
|
work any\MessageBreak
|
|
more. If loading a package results in this error message, you should
|
|
contact\MessageBreak
|
|
the author of that package and ask him to replace the deprecated font
|
|
command\MessageBreak
|
|
`\string#1', e.g., by `\detokenize{#2}`. Otherwise you should
|
|
reconfigure\MessageBreak
|
|
or replace the package. If you have used the old font command
|
|
`\string#1' yourself,\MessageBreak
|
|
you should replace it, e.g., by `\detokenize{#2}'.\MessageBreak
|
|
To make it work for now, you can use the already also deprecated class
|
|
option\MessageBreak
|
|
`enabledeprecatedfontcommands'.%
|
|
}%
|
|
\else
|
|
\ifcase \scr@defineobsoletefonts
|
|
% \end{macrocode}
|
|
% Bei Eins gibt es eine Warnung:
|
|
% \begin{macrocode}
|
|
\or
|
|
\expandafter\ClassWarning
|
|
% \end{macrocode}
|
|
% Bei Zwei gibt es eine Info:
|
|
% \begin{macrocode}
|
|
\or
|
|
\expandafter\ClassInfo
|
|
% \end{macrocode}
|
|
% Sonst gibt es nichts:
|
|
% \begin{macrocode}
|
|
\else
|
|
\expandafter\@gobbletwo
|
|
\fi
|
|
{\KOMAClassName}{deprecated old font command `\string#1' used.\MessageBreak
|
|
You should note, that since 1994 LaTeX2e provides a\MessageBreak
|
|
new font selection scheme called NFSS2 with several\MessageBreak
|
|
new, combinable font commands. New KOMA-Script classes\MessageBreak
|
|
defined the old font commands like `\string#1' only for\MessageBreak
|
|
compatibility with LaTeX 2.09 document styles of\MessageBreak
|
|
Script 2.0. These commands are deprecated and\MessageBreak
|
|
undocumented at least since 2003. Since 2013,\MessageBreak
|
|
KOMA-Script classes warned about soon removement of\MessageBreak
|
|
these deprecated commands. Now, after two decades of\MessageBreak
|
|
LaTeX2e, NFSS2, and KOMA-Script these commands will\MessageBreak
|
|
not work any longer. If loading a package results in\MessageBreak
|
|
this message you should contact the author of that\MessageBreak
|
|
package and ask him to replace the depracted font\MessageBreak
|
|
command `\string#1', e.g., by `\detokenize{#2}'.\MessageBreak
|
|
Otherwise you should reconfigure or replace the\MessageBreak
|
|
package. If you have used the old font command\MessageBreak
|
|
`\string #1' yourself you should replace it, e.g., by\MessageBreak
|
|
`\detokenize{#2}'%
|
|
}%
|
|
\fi
|
|
}
|
|
%</!extend>
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@OldFontErrorWarningInfo
|
|
% \end{macro}%^^A \scr@DeclareOldFontCommand
|
|
%
|
|
% \begin{macro}{\rm}
|
|
% \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
|
|
% 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}%^^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}%^^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}%^^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
|
|
% 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}{\IfExistskomafont}
|
|
% \changes{v3.15}{2014/11/21}{neue Anweisung}%^^A
|
|
% Führe das zweite Argument aus, wenn ein Fontelement existiert, sonst das
|
|
% dritte.
|
|
% \begin{macrocode}
|
|
\newcommand*{\IfExistskomafont}[1]{%
|
|
\scr@ifundefinedorrelax{scr@fnt@#1}{%
|
|
\scr@ifundefinedorrelax{scr@fnt@instead@#1}{\@secondoftwo}{\@firstoftwo}%
|
|
}{%
|
|
\@firstoftwo
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \begin{macro}{\IfIsAliaskomafont}
|
|
% \changes{v3.25}{2017/12/08}{neue Anweisung}%^^A
|
|
% Führe das zweite Argument aus, wenn ein Fontelement ein Alias is, sonst das
|
|
% dritte.
|
|
% \begin{macrocode}
|
|
\newcommand*{\IfIsAliaskomafont}[1]{%
|
|
\scr@ifundefinedorrelax{scr@fnt@#1}{%
|
|
\scr@ifundefinedorrelax{scr@fnt@instead@#1}{\@secondoftwo}{\@firstoftwo}%
|
|
}{%
|
|
\@secondoftwo
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \begin{macro}{\setkomafont}
|
|
% \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.
|
|
% \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}%^^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
|
|
% \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}%^^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.
|
|
% \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}%^^A
|
|
% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A
|
|
% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A
|
|
% \begin{macro}{\usefamilyofkomafont}
|
|
% \changes{v3.12}{2013/03/30}{neu}%^^A
|
|
% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \begin{macro}{\useseriesofkomafont}
|
|
% \changes{v3.12}{2013/03/30}{neu}%^^A
|
|
% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \begin{macro}{\useshapeofkomafont}
|
|
% \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
|
|
% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \begin{macro}{\useencodingofkomafont}
|
|
% \changes{v3.12}{2013/03/30}{neu}%^^A
|
|
% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
|
|
% \begin{macro}{\usefontofkomafont}
|
|
% \changes{v3.12}{2013/03/30}{neu}%^^A
|
|
% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A
|
|
% \changes{v3.24}{2017/05/06}{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
|
|
\scr@prepareforkomafont
|
|
\def\selectfont{%
|
|
\global\let\g@scr@f@size\f@size
|
|
\global\let\g@scr@f@baselineskip\f@baselineskip
|
|
\global\let\g@scr@f@linespread\f@linespread
|
|
}%
|
|
\selectfont
|
|
\sbox\@tempboxa{%
|
|
\usekomafont{#1}{\relax}%
|
|
}%
|
|
\endgroup
|
|
\linespread{\g@scr@f@linespread}%
|
|
\fontsize{\g@scr@f@size}{\g@scr@f@baselineskip}%
|
|
\selectfont
|
|
}
|
|
\newcommand*{\usefamilyofkomafont}{\use@ofkomafont{family}}
|
|
\newcommand*{\useseriesofkomafont}{\use@ofkomafont{series}}
|
|
\newcommand*{\useshapeofkomafont}{\use@ofkomafont{shape}}
|
|
\newcommand*{\useencodingofkomafont}{\use@ofkomafont{encoding}}
|
|
\newcommand*{\usefontofkomafont}[1]{%
|
|
\begingroup
|
|
\scr@prepareforkomafont
|
|
\def\selectfont{%
|
|
\global\let\g@scr@f@encoding\f@encoding
|
|
\global\let\g@scr@f@family\f@family
|
|
\global\let\g@scr@f@series\f@series
|
|
\global\let\g@scr@f@shape\f@shape
|
|
\global\let\g@scr@f@size\f@size
|
|
\global\let\g@scr@f@baselineskip\f@baselineskip
|
|
\global\let\g@scr@f@linespread\f@linespread
|
|
}%
|
|
\selectfont
|
|
\sbox\@tempboxa{%
|
|
\usekomafont{#1}{\relax}%
|
|
}%
|
|
\endgroup
|
|
\linespread{\g@scr@f@linespread}%
|
|
\fontsize{\g@scr@f@size}{\g@scr@f@baselineskip}%
|
|
\usefont{\g@scr@f@encoding}{\g@scr@f@family}{\g@scr@f@series}{\g@scr@f@shape}%
|
|
}
|
|
% \end{macrocode}
|
|
% \begin{macro}{\use@ofkomafont}
|
|
% \changes{v3.12}{2013/03/30}{neu (intern)}%^^A
|
|
% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A
|
|
% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A
|
|
% Kleines Hilfsmakro für all diese Anweisungen bis auf die erste und die letzte.
|
|
% \begin{macrocode}
|
|
\newcommand*{\use@ofkomafont}[2]{%
|
|
\begingroup
|
|
\scr@prepareforkomafont
|
|
\def\selectfont{%
|
|
\global\expandafter\let\csname g@scr@f@#1\expandafter\endcsname
|
|
\csname f@#1\endcsname
|
|
}%
|
|
\selectfont
|
|
\sbox\@tempboxa{%
|
|
\usekomafont{#2}{\relax}%
|
|
}%
|
|
\endgroup
|
|
\@nameuse{font#1}{\csname g@scr@f@#1\endcsname}%
|
|
\selectfont
|
|
}
|
|
% \end{macrocode}
|
|
% \begin{macro}{\g@scr@usefont}
|
|
% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A
|
|
% \changes{v3.24}{2017/05/06}{entfernt}%^^A
|
|
% \end{macro}%^^A \g@scr@usefont
|
|
% \begin{macro}{\g@scr@f@encoding}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macro}{\g@scr@f@family}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macro}{\g@scr@f@series}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macro}{\g@scr@f@shape}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macro}{\g@scr@f@size}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macro}{\g@scr@f@baselineskip}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macro}{\g@scr@f@linespread}
|
|
% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A
|
|
% \begin{macrocode}
|
|
\newcommand*{\g@scr@f@encoding}{}\let\g@scr@f@encoding\f@encoding
|
|
\newcommand*{\g@scr@f@family}{}\let\g@scr@f@family\f@family
|
|
\newcommand*{\g@scr@f@series}{}\let\g@scr@f@series\f@series
|
|
\newcommand*{\g@scr@f@shape}{}\let\g@scr@f@shape\f@shape
|
|
\newcommand*{\g@scr@f@size}{}\let\g@scr@f@size\f@size
|
|
\newcommand*{\g@scr@f@baselineskip}{}\let\g@scr@f@baselineskip\f@baselineskip
|
|
\newcommand*{\g@scr@f@linespread}{}\let\g@scr@f@linespread\f@linespread
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \g@scr@f@linespread
|
|
% \end{macro}%^^A \g@scr@f@family
|
|
% \end{macro}%^^A \g@scr@f@series
|
|
% \end{macro}%^^A \g@scr@f@shape
|
|
% \end{macro}%^^A \g@scr@f@size
|
|
% \end{macro}%^^A \g@scr@f@baselineskip
|
|
% \end{macro}%^^A \g@scr@f@linespread
|
|
% \begin{macro}{\scr@komafontrelaxlist}
|
|
% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A
|
|
% \changes{v3.24}{2017/05/05}{\cs{uppercase} und \cs{lowercase} entfernt}%^^A
|
|
% \changes{v3.24}{2017/05/05}{\cs{MakeUppercase} und \cs{MakeLowercase} nach
|
|
% \cs{scr@komafontonearglist} verschoben}%^^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\normalcolor
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@komafontrelaxlist
|
|
% \begin{macro}{\scr@komafontgobblelist}
|
|
% \changes{v3.19}{2015/08/20}{neu (intern)}%^^A
|
|
% Wie \cs{scr@komafontrelaxlist} nur dass |\@gobble| statt |\relax| verwendet
|
|
% wird.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@komafontgobblelist}{%
|
|
\do\color
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@komafontgobblelist
|
|
% \begin{macro}{\scr@komafontonearglist}
|
|
% \changes{v3.24}{2017/05/05}{neu (intern)}%^^A
|
|
% Hilfsmakro mit einer |\do|-Liste aller Makros, die in obige Font-Makros
|
|
% vor der Anwendung des Fonts |\@firstofone| verwenden sollen.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@komafontonearglist}{%
|
|
\do\MakeUppercase \do\MakeLowercase
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@prepareforkomafont}
|
|
% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A
|
|
% \changes{v3.19}{2015/08/20}{abarbeiten von \cs{scr@komafontgobblelist}}%^^A
|
|
% \changes{v3.24}{2017/05/05}{abarbeiten von \cs{scr@komafontonearglist}}%^^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| bzw. |\@gobble| 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
|
|
\long\def\do##1{\let##1\@gobble}\scr@komafontgobblelist
|
|
\long\def\do##1{\let##1\@firstofone}\scr@komafontonearglist
|
|
}
|
|
% \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
|
|
% \begin{macro}{\addtokomafontgobblelist}
|
|
% \changes{v3.19}{2015/08/20}{Neu}
|
|
% Diese Anweisung erlaubt es genau ein Makro der obigen |\do|-Liste
|
|
% hinzuzufügen.
|
|
% \begin{macrocode}
|
|
\newcommand*{\addtokomafontgobblelist}[1]{%
|
|
\l@addto@macro\scr@komafontgobblelist{\do#1}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \addtokomafontgobblelist
|
|
% \begin{macro}{\addtokomafontonearglist}
|
|
% \changes{v3.24}{2017/05/05}{Neu}
|
|
% Diese Anweisung erlaubt es genau ein Makro der obigen |\do|-Liste
|
|
% hinzuzufügen
|
|
% \begin{macrocode}
|
|
\newcommand*{\addtokomafontonearglist}[1]{%
|
|
\l@addto@macro\scr@komafontonearglist{\do#1}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \addtokonafontonearglist
|
|
% \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}%^^A
|
|
% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}
|
|
% \changes{v3.11c}{2013/02/18}{die Warnung hat ein Argument}%^^A
|
|
% \changes{v3.25}{2017/12/08}{Warnung, wenn bereits als Alias definiert}%^^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
|
|
% 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]{%
|
|
\scr@ifundefinedorrelax{scr@fnt@instead@#2}{}{%
|
|
\PackageWarning{scrkbase}{%
|
|
Making stand-alone element `#2' from\MessageBreak
|
|
alias to `\@nameuse{scr@fnt@instead@#2}'
|
|
}%
|
|
\expandafter\let\csname scr@fnt@instead@#2\endcsname\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}%^^A
|
|
% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}%^^A
|
|
% \changes{v3.25}{2017/12/08}{Warnung, wenn bereits als Font definiert}%^^A
|
|
% Mit \cs{aliaskomafont} wird hingegen einfach ein Alias definiert. Dieser
|
|
% Befehl kennt zwei Argumente: der Name des Elements und der Names des
|
|
% Elements, das stattdessen verwendet werden soll.
|
|
% \begin{macrocode}
|
|
\newcommand*{\aliaskomafont}[2]{%
|
|
\scr@ifundefinedorrelax{scr@fnt@#1}{}{%
|
|
\PackageWarning{scrkbase}{%
|
|
Redefining stand alone element `#1' as\MessageBreak
|
|
alias to `#2'%
|
|
}
|
|
\expandafter\let\csname scr@fnt@#1\endcsname\relax
|
|
}%
|
|
\scr@ifundefinedorrelax{scr@fnt@wrn@#1}{}{%
|
|
\expandafter\let\csname scr@fnt@wrn@#1\encsname\relax
|
|
}
|
|
\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:
|
|
|