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 | 1133 |
1 files changed, 452 insertions, 681 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 2e703b4a8a5..1fb7cf7601c 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-fonts.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,44 +17,8 @@ % 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-2021 -% -% 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 3597 2021-05-17 12:54:47Z kohm $ +%%% From File: $Id: scrkernel-fonts.dtx 3723 2022-02-23 14:53:44Z kohm $ %<identify>%%% (run: identify) %<option>%%% (run: option) %<body>%%% (run: body) @@ -65,9 +29,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-05-17 14:54:47 +0200 (Mon, 17 May 2021) $ + \filedate$Date: 2022-02-23 15:53:44 +0100 (Mi, 23. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1827 $ + \filerevision$Revision: 3723 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-fonts.dtx}% @@ -76,7 +40,7 @@ (font size)] }% \reserved@a -% \changes{v3.09}{2011/02/23}{Neues Paket \texttt{scrfontsizes}} +% \changes{v3.09}{2011/02/23}{new package \pkg*{scrfontsizes}} %</dtx> %<*package&generator&identify> %<package&generator&identify>\ProvidesPackage{scrfontsizes}[% @@ -84,111 +48,102 @@ %<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} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-fonts.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} % -% \changes{v2.95}{2002/06/25}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \changes{v2.95}{2002/06/25}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/22}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/22}{implementation documentation in English} % -% \section{Schriftauswahl} +% \GetFileInfo{scrkernel-fonts.dtx} +% \title{Code for the Foats of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-fonts.dtx} mainly implements the font selection of +% \KOMAScript{}. This is not only the selection of the font sizes but also +% the implementation of font elements. Additionally it provides package +% \pkg*{scrfontsizes} to generate new font size files. +% \end{abstract} +% \tableofcontents % -% 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. +% \section{User Manual} % -% \StopEventually{\PrintIndex\PrintChanges} +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. The user documentation of alpha package \pkg*{scrfontsizes} +% is still missing. % -% \iffalse -%<*option> -% \fi % -% \subsection{Der Generator für Schriftgrößendateien} +% \MaybeStop{\PrintIndex} +% +% +% \section{Implementation of \KOMAScript{} Font Features} +% +% \subsection{Options of the font size files generator package} +% +% From version 3.09 there exist package \pkg*{scrfontsizes}, which is currently +% very rudimentary. However it can used to generate font size files that can +% be modified by the user afterwards. Currently it does not provide any options. % -% \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} +%<*generator&option> \ProcessOptions\relax +%</generator&option> % \end{macrocode} -% \iffalse -%</generator> -% \fi % -% \subsection{Option zur Auswahl der Größe der Grundschrift} +% \subsection{Font size options of the \KOMAScript{} classes} +% +% \begin{option}{10pt,11pt,12pt} +% These options do not exist as explicit options but are handled by +% \cs{DeclareOption*} via \cs{@pt@scan}. +% \end{option} % -% \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> +% \changes{v2.96}{2006/08/11}{\cs{@ptsize} different temporary meaning} +% \changes{v3.27}{2019/03/25}{\cs{providecommand} instead of \cs{newcommand}} +% The main meaning of \cs{@ptsize} is the base font size minus 10\,pt, or in +% other words: base font size = \cs{@ptsize} + 10\,pt. But, until the final +% font size has been set, we use it for the default size. \cs{providecommand} +% is used to define it, so a wrapper class can define a different default size +% before loading the final class. +% \begin{macrocode} +%<*class&option> \providecommand*\@ptsize{% %<!letter> 11% %<letter> 12% } -%</!extend> +%</class&option> % \end{macrocode} % \end{macro} -% \end{option} -% \end{option} -% \end{option} % % \begin{macro}{\@pt@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)}%^^A +% \changes{v2.6}{2000/01/04}{added} % \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> +% \changes{v2.6}{2000/01/04}{added} +% \changes{v2.97c}{2007/05/12}{\cs{KOMA@UseObsolete} replaced by +% \cs{KOMA@UseObsoleteOption}} +% \changes{v2.98c}{2008/03/22}{Usage of \cs{KOMA@UseObsoleteOption} fixed} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.12}{2013/03/04}{other font size options than \opt{10pt}, +% \opt{11pt}, \opt{12pt} are deprecated} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} renamed to \cs{Ifnumber}} +% This macro scans the current option and recognizes classic font size +% options. It is used with \cs{DeclareOption*}. +% \begin{macrocode} +%<*class&option> \newcommand*{\@pt@scan}{% \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan% } @@ -216,30 +171,29 @@ }{\@headlines}% }{\@headlines}% } -%</!extend> +%</class&option> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@pt@@scan +% \end{macro}^^A \@pt@scan % % \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. +% \changes{v2.96}{2006/08/11}{added} +% \changes{v3.00}{2008/05/01}{definition earlier because of \pkg*{scrextend}} +% This is the prefix for the \KOMAScript{} font size files. Wrapper classes +% are allowed to change it to use their own font size files. % \begin{macrocode} +%<*option&(class|extend)> \providecommand*{\@fontsizefilebase}{scrsize} % \end{macrocode} % \end{macro} % % \changes{v3.17}{2015/03/10}{die Schriftgröße wird in der internen -% Optionenliste gespeichert}%^^A +% Optionenliste gespeichert} % \begin{option}{fontsize} -% \changes{v2.96}{2006/08/11}{Funktion komplett geändert}%^^A +% \changes{v2.96}{2006/08/11}{Funktion komplett geändert} % \changes{v2.98c}{2008/03/26}{lädt nach Möglichkeit die zugehörige -% Schriftgrößendatei}%^^A -% \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed}%^^A +% Schriftgrößendatei} +% \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed} % gesetzt.} % Hier nun die Option, die tatsächlich verwendet wird. Es sei darauf % hingewiesen, dass damit auch Schriftgrößen wie \texttt{10.3pt} denkbar @@ -288,51 +242,35 @@ %<extend> scrextend.\scr@pkgextension }{fontsize}{#1}% } +%</option&(class|extend)> % \end{macrocode} % \end{option} % -% \iffalse -%</class|extend> -% \fi -% -% \iffalse -%</option> -%<*body> -% \fi % -% \subsection{Sicherstellen der Umgebung des Generators} +% \subsection{Packages required by the font size file generator package} % -% \iffalse -%<*generator> -% \fi -% Der Generator benötigt die Anweisung \cs{changefontsizes}, die entweder von -% einer \KOMAScript-Klasse oder vom Paket \texttt{scrextend} bereitgestellt -% wird: +% \pkg*{scrfontsizes} needs command \cs{changefontsizes}. This can either be +% provided by a \KOMAScript{} class or package \pkg*{scrextend}. % \begin{macrocode} +%<*generator&body> \@ifundefined{changefontsizes}{\RequirePackage{scrextend}}{} +%</generator&body> % \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} +% \subsection{The font size files} % -% \iffalse -%</body> -%<*10pt|11pt|12pt> -% \fi +% \changes{v2.6}{2000/01/04}{reading font size files works independent from size} +% \changes{v2.98c}{2008/03/26}{using my own \file{scrsize\dots.clo} files} % -% 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. +% We need at least the font size files for the three base sizes 10\,pt, 11\,pt +% and 12\,pt. From version 2.98c \KOMAScript{} prefers to use its own files, +% because these can be loaded without problems after |\begin{document}| and +% after another font size file has already been loaded. Nevertheless the base +% sizes are more or less from the standard classes. % % \begin{macrocode} +%<*10pt|11pt|12pt> \ProvidesFile{% %<10pt> scrsize10pt.clo% %<11pt> scrsize11pt.clo% @@ -344,27 +282,9 @@ ] % \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{command}{\normalsize,\small,\footnotesize,\scriptsize,\tiny,\large, +% \Large,\LARGE,\huge,\Huge} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} % \begin{macrocode} \def\normalsize{% %<*10pt> @@ -483,35 +403,14 @@ %</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}. +% \end{command} +% +% \begin{length}{\footnotesep,\footins,\floatsep,\textfloatsep,\intextsep, +% \dblfloatsep,\sbltextfloatsep,\partopsep} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} +% \begin{ilength}{\@fptop,\@fpsep,\@fpbot,\@dblfptop,\@dblfpsep,\@dblfpbot} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} +% The values are same as with the standard classes. % \begin{macrocode} %<*10pt> \setlength\footnotesep {6.65\p@} @@ -521,13 +420,13 @@ \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\partopsep {2\p@ \@plus 1\p@ \@minus 1\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@} @@ -537,13 +436,13 @@ \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\partopsep {3\p@ \@plus 1\p@ \@minus 1\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@} @@ -553,28 +452,18 @@ \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\partopsep {3\p@ \@plus 2\p@ \@minus 2\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{macro}{\@listi,\@listii,\@listiii,\@listiv,\@listv,\@listvi} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} +% The definitions are the same as with the standard classes. % \begin{macrocode} \def\@listi{\leftmargin\leftmargini %<*10pt> @@ -627,32 +516,39 @@ \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -% \end{macrocode} -% \iffalse %</10pt|11pt|12pt> -%<*body> -% \fi -% -% \iffalse -%<*class|extend> -% \fi +% \end{macrocode} +% \end{macro}^^A \@listi … \@listvi +% \end{ilength}^^A \@fptop … \@dblfpbot +% \end{length}^^A \footnotesep … \partopsep % -% \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{command}{\changefontsizes} +% \changes{v2.96}{2006/08/11}{added} +% \changes{v3.08b}{2011/02/22}{three \cs{def} replaced by \cs{edef}} +% \changes{v3.17}{2015/02/23}{define if undefined only} +% \changes{v3.17}{2015/02/23}{indirect definition for Falk} % \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. +% \changes{v3.17}{2015/02/23}{added} +% \changes{v3.17}{2015/03/25}{\cs{par@updaterelative} added} +% Fallback calculation of font size settings relative to known 10\,pt values: +% \begin{quote} +% \cs{changefontsizes}\oarg{baseline skip}\marg{font size} +% \end{quote} +% If the \meta{baseline skip} is given, it is used as \len{baselineskip} for +% \cs{normalsize} and all other baseline skips are relative to it. If it is +% not give, it is also calculated. % \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} +% \changes{v3.12}{2013/10/08}{added} +% Command +% \begin{quote} +% \cs{scr@setlength}\marg{\LaTeX length}\marg{base dimension}\marg{plus +% dimension}\marg{minus dimension} +% \end{quote} +% sets \meta{\LaTeX length} to \meta{base dimension} \texttt{plus} \meta{plus +% dimension} \texttt{minus} \meta{minus dimension}. Minimum value for +% \meta{plus dimension} and \meta{minus dimension} is 1\,pt. +% \begin{macrocode} +%<*body&(class|extend)> \newcommand*\scr@setlength[4]{% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{#1}{#2 \@plus#3 \@minus#4}% @@ -690,7 +586,7 @@ } % \end{macrocode} % \end{macro} -% \changes{v3.17}{2015/03/10}{e-\TeX-Warnung entfernt}%^^A +% \changes{v3.17}{2015/03/10}{\eTeX{} warning removed} % \begin{macrocode} \providecommand*{\simple@changefontsizes}[2][1.2\@tempdima]{% \KOMA@kav@removekey{.% @@ -708,15 +604,13 @@ \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. +% Now, \len{@temdimc} is the wanted basic font size in pt. \cs{@tempb} is the +% factor of the baseline skip rounded to two decimals. \len{@tempdima} is also +% the basic font size and \len{@tempdimb} the \len{baselineskip}. But +% \len{@tempdima} and \len{tempdimb} will change in further calculations +% depending on the wanted font size command. % -% Berechnungen für und Definition von \cs{normalsize}: +% Calculation and definition of \cs{normalsize}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% @@ -742,7 +636,7 @@ \let\noexpand\@listi\noexpand\@listI }% % \end{macrocode} -% Berechnungen für und Definition von \cs{small}: +% Calculation and definition of \cs{small}: % \begin{macrocode} \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -770,7 +664,7 @@ \let\noexpand\@listi\noexpand\@listi@small }% % \end{macrocode} -% Berechnungen für und Definition von \cs{footnotesize}: +% Calculation and definition of \cs{footnotesize}: % \begin{macrocode} \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -798,7 +692,7 @@ \let\noexpand\@listi\noexpand\@listi@footnotesize }% % \end{macrocode} -% Berechnungen für und Definition von \cs{scriptsize}: +% Calculation and definition of \cs{scriptsize}: % \begin{macrocode} \setlength{\@tempdima}{.66667\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -807,7 +701,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{tiny}: +% Calculation and definition of \cs{tiny}: % \begin{macrocode} \setlength{\@tempdima}{.5\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -816,7 +710,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{large}: +% Calculation and definition of \cs{large}: % \begin{macrocode} \setlength{\@tempdima}{1.2\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -825,7 +719,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{Large}: +% Calculation and definition of \cs{Large}: % \begin{macrocode} \setlength{\@tempdima}{1.44\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -834,7 +728,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{LARGE}: +% Calculation and definition of \cs{LARGE}: % \begin{macrocode} \setlength{\@tempdima}{1.728\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -843,7 +737,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{huge}: +% Calculation and definition of \cs{huge}: % \begin{macrocode} \setlength{\@tempdima}{2.074\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -852,7 +746,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{Huge}: +% Calculation and definition of \cs{Huge}: % \begin{macrocode} \setlength{\@tempdima}{2.488\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -861,15 +755,15 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Wechsel zu \cs{normalsize} und Berechnung weiterer schriftabhängigen -% Abstände für diese Schriftgröße. +% Activation of \cs{normalsize} and calculation of additional font size +% depending sized. % \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! +% After the activation of \cs{normalsize} above, we can use \cs{f@size} and +% \cs{f@baselineskip}. We cannot use \cs{baselineskip}, because this would be +% influenced by \cs{baselinestretch}. % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\footnotesep}{.7\@tempdimc}% @@ -892,7 +786,7 @@ \setlength{\@dblfpbot}{\@fptop}% \fi % \end{macrocode} -% Berechnungen für und Definition von \cs{@listi} und \cs{@listI}: +% Calculation and definition of \cs{@listi} and \cs{@listI}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus @@ -918,7 +812,7 @@ }% \let\@listI\@listi % \end{macrocode} -% Berechnungen für und Definition von \cs{@listi@small}: +% Calculation and definition of \cs{@listi@small}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus @@ -942,7 +836,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listi@footnotesize}: +% Calculation and definition of \cs{@listi@footnotesize}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus @@ -966,7 +860,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listii}: +% Calculation and definition of \cs{@listii}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% @@ -990,7 +884,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listiii}: +% Calculation and definition of \cs{@listiii}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% @@ -1013,7 +907,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listiv}: +% Calculation and definition of \cs{@listiv}: % \begin{macrocode} \@tempswafalse \begingroup @@ -1025,7 +919,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listv}: +% Calculation and definition of \cs{@listv}: % \begin{macrocode} \@tempswafalse \begingroup @@ -1037,7 +931,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listvi}: +% Calculation and definition of \cs{@listvi}: % \begin{macrocode} \@tempswafalse \begingroup @@ -1050,13 +944,15 @@ }% \@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. +% \changes{v2.97c}{2007/07/04}{setting \cs{intextsep}} +% \changes{v2.97c}{2007/07/04}{setting \cs{dblfloatsep}} +% \changes{v2.97c}{2007/07/04}{setting \cs{partopsep}} +% \changes{v3.12}{2013/10/08}{calculation of some lengths changed} +% Calculation and setting of \len{intextsep}, \len{dblfloatsep}, +% \len{partopsep}, \len{footnotesep}, \cs{skip}\len{footins}, \len{footsep}, +% \len{textfloatsep}, \len{@fptop}, \len{@fpsep}, \len{@fpbot}, +% \len{@dblfptop}, \len{@dblfpsep}, \len{@dblfpbot}. Setting of \len{topsep} +% and \len{parsep} is not needed because part of \cs{@listi}. % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -1083,10 +979,6 @@ \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}{% @@ -1099,24 +991,25 @@ because I do not change it% }% } +%</body&(class|extend)> % \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} +% \end{macro}^^A \simple@changefontsizes +% \end{command}^^A \changefontsizes +% +% +% \begin{command}{\generatefontfile} +% \changes{v3.09}{2011/02/23}{added} +% \changes{v3.17}{2015/03/26}{\cs{par@updaterelative} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% The main command of the generator: +% \begin{quote} +% \cs{generatefontfile}\marg{base name}\oarg{baseline skip}\marg{font size} +% \end{quote} +% It writes a font size file ``\meta{base name}\meta{font +% size}.clo''. \meta{base name} ``\texttt{scrbase}'' is protected and results +% in an error message. +% \begin{macrocode} +%<*generator&body> \newcommand*{\generatefontfile}[1]{% \Ifstr{#1}{scrsize}{% \ClassError{\KOMAClassName}{% @@ -1134,26 +1027,16 @@ \@@@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. +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}} +% Test for optional argument and use proper helper. % \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{macro}{\@generatefontfile,\@@generatefontfile} +% \changes{v3.09}{2011/02/23}{added} +% The helper macros are needed, because we are not using \pkg{xparse} currently. % \begin{macrocode} \newcommand*{\@generatefontfile}{} \def\@generatefontfile#1[#2]#3{% @@ -1173,37 +1056,28 @@ \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. +% \end{macro}^^A \@generatefontfile,\@@generatefontfile +% \begin{macro}{\@@@generatefontfile} +% \changes{v3.09}{2011/02/23}{added} +% Dummy used in error case to eat an optional and a mandatory argument. % \begin{macrocode} \newcommand*{\@@@generatefontfile}[2][]{} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \@@@generatefontfile % \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! +% \changes{v3.09}{2011/02/23}{added} +% Because \cs{generatefontfile} is allowed in the document preamble only, when +% the main aux file is not yet opened, we can use \cs{@mainaux} as temporary +% file handle. % \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. +% \changes{v3.09}{2011/02/23}{added} +% \changes{v3.16a}{2015/02/11}{\cs{footnotesize} fixed} +% Output of the font size file using the current font setting. It has to be +% used inside a local group! % \begin{macrocode} \newcommand*{\generate@fontfile}[2]{% \def\@ind{\space\space}% @@ -1451,53 +1325,21 @@ \immediate\closeout\@fontfile } \@onlypreamble\generatefontfile +%</generator&body> % \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} +% \end{macro}^^A \generate@fontfile +% \end{macro}^^A \@fontfile +% \end{command}^^A \generatefontfile % -% 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> +% Now, we want to initially load the font size file into the class. First we +% have to convert the \cs{@ptsize} to a length. Note, \cs{@ptsize} can already +% have a unit or the unit is \texttt{pt}. The original value is stored in +% \cs{@tempa} to be able to use a font size files with the original +% unit. \cs{@tempb} is the size in \texttt{pt} without the \texttt{pt} to be +% able to use a standard font size file. After this, \cs{@ptsize} is reduced +% by 10\,pt and the unit is cut off. +% \begin{macrocode} +%<*class&body> \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% @@ -1505,11 +1347,9 @@ \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. +% Now, let's try to input a file +% ``\file{\cs{fontsizefilebase}\cs{@tempa}.clo}''. This is a file with the +% original unit. % \begin{macrocode} \InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \ClassInfo{\KOMAClassName}{% @@ -1517,6 +1357,10 @@ \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}% }{% +% \end{macrocode} +% If this is not successful, try +% ``\file{\cs{fontsizefilebase}\cs{@tempb}pt.clo}''. +% \begin{macrocode} \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak @@ -1525,8 +1369,8 @@ \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. +% If this is still not successful try a font size file of the standard +% classes. % \begin{macrocode} %<*book> \InputIfFileExists{bk\@tempb.clo}{% @@ -1543,46 +1387,43 @@ \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. +% If this is still not successful, use the fallback calculation. % \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> +%</class&body> % \end{macrocode} % % -% \subsection{"`Alte"' Font-Auswahlbefehle} +% \subsection{Deprecated old font selection commands} % % \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. +% \changes{v3.20}{2015/10/14}{added} +% \changes{v3.20}{2015/10/14}{deprecated} +% This option is deprecated by specification already when it has been defined +% first, because it is used to define deprecated old font selection commands, +% that should not be used any longer. So the usage of this options always +% results in a warning. It can be used at load time only. % \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> +% \changes{v3.20}{2015/10/14}{added} +% \changes{v3.20}{2015/10/14}{deprecated} +% Depending on this command +% \begin{itemize} +% \item[0] an internal error message, +% \item[1] a warning, +% \item[2] an info message, +% \item[3] no message +% \end{itemize} +% is added to the usage of any deprecated font command. Values less than 0 +% result in not defining the commands anyhow. +% \begin{macrocode} +%<*class&option> \DeclareOption{enabledeprecatedfontcommands}{% \ClassWarningNoLine{\KOMAClassName}{% deprecated option `enabledeprecatedfontcommands'.\MessageBreak @@ -1601,22 +1442,18 @@ \BeforePackage{tex4ht}{% \let\scr@defineobsoletefonts\thr@@ } -%</class> -%</option> +%</class&option> % \end{macrocode} -% \end{macro}%^^A \scr@degineobsoletefonts -% \end{option}%^^A enabledeprecatedfontscommands +% \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> +% \changes{v3.12}{2013/10/31}{added} +% \changes{v3.20}{2015/10/14}{deprecated escalation} +% The command is similar to \cs{DeclareOldFontCommand} but adds a warning, +% info, error to the commands. +% \begin{macrocode} +%<*class&body> \newcommand*{\scr@DeclareOldFontCommand}[3]{% \ifnum\scr@defineobsoletefonts<\z@\else \ifnum\scr@defineobsoletefonts>\tw@ @@ -1632,13 +1469,12 @@ } % \end{macrocode} % \begin{macro}{\scr@ErrorWarningInfo} -% \changes{v3.20}{2015/10/14}{neu (intern)}%^^A -% \changes{v3.22}{2016/09/28}{message fixed}%^^A +% \changes{v3.20}{2015/10/14}{added} +% \changes{v3.22}{2016/09/28}{message fixed} % \begin{macrocode} \DeclareRobustCommand*{\scr@ErrorWarningInfo}[2]{% % \end{macrocode} -% Wenn \cs{scr@defineobsoletefonts} Null ist, wird eine Fehlermeldung -% ausgegeben. +% \cs{scr@defineobsoletefonts} = 0 means an error message: % \begin{macrocode} \ifnum \scr@defineobsoletefonts=\z@ \ClassError{\KOMAClassName}{undefined old font command `\string#1'}{% @@ -1672,17 +1508,17 @@ \else \ifcase \scr@defineobsoletefonts % \end{macrocode} -% Bei Eins gibt es eine Warnung: +% \cs{scr@defineobsoletefonts} = 0 means a warning: % \begin{macrocode} \or \expandafter\ClassWarning % \end{macrocode} -% Bei Zwei gibt es eine Info: +% \cs{scr@defineobsoletefonts} = 0 means an info message: % \begin{macrocode} \or \expandafter\ClassInfo % \end{macrocode} -% Sonst gibt es nichts: +% All other values mean no message: % \begin{macrocode} \else \expandafter\@gobbletwo @@ -1709,43 +1545,21 @@ }% \fi } -%</!extend> +%</class&body> % \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. +% \end{macro}^^A \scr@OldFontErrorWarningInfo +% \end{macro}^^A \scr@DeclareOldFontCommand % -% Der aus der \textsf{Script 2.0}-Familie bekannte Befehl \cs{sfb} ist -% hier ebenfalls definiert. -% \begin{macrocode} -%<*!extend> +% \begin{command}{\rm,\sf,\tt,\bf,\it,\sl,\sc} +% \changes{v3.12}{2013/10/13}{deprecated} +% \begin{command}{\sfb} +% \changes{v2.2c}{1995/05/25}{not in math mode} +% \changes{v2.3a}{1995/07/08}{independent from compatibility mode} +% \changes{v3.12}{2013/10/13}{deprecated} +% The old font selection commands from \LaTeX~2.09. They are not supported any +% more. The same for the \pkg*{Script 2.0} command \cs{sfb}. +% \begin{macrocode} +%<*class&body> \scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} @@ -1755,56 +1569,36 @@ \scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} -%</!extend> +%</class&body> % \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 +% \end{command} +% \end{command} % -% 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{command}{\cal,\mit} +% \changes{v2.3}{1995/06/25}{here instead in the \LaTeX{} kernel} +% \changes{v2.3g}{1996/01/14}{not needed braces removed} % \begin{macrocode} -%<*!extend> +%<*class&body> \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%</!extend> +%</class&body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \iffalse -%</class|extend> -% \fi % -% \subsection{Setzen der Schrift eines Elements} +% \subsection{Font 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} +% \begin{command}{\IfExistskomafont} +% \changes{v3.15}{2014/11/21}{added} +% Command +% \begin{quote} +% \cs{IfExistskomafont}\marg{font element}\marg{then code}\marg{else code} +% \end{quote} +% executes \meta{then code} if the font element \meta{font element} exists +% either as a real font element or an alias. Otherwise \meta{else code} is used. +% \begin{macrocode} +%<*scrkbase&body> \newcommand*{\IfExistskomafont}[1]{% \scr@ifundefinedorrelax{scr@fnt@#1}{% \scr@ifundefinedorrelax{scr@fnt@instead@#1}{\@secondoftwo}{\@firstoftwo}% @@ -1813,12 +1607,16 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \IfExistskomafont % -% \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{command}{\IfIsAliaskomafont} +% \changes{v3.25}{2017/12/08}{added} +% Command +% \begin{quote} +% \cs{IfIsAliaskomafont}\marg{font element}\marg{then code}\marg{else code} +% \end{quote} +% executes \meta{then code} if the font element \meta{font element} is an alias. +% Otherwise \meta{else code} is used. % \begin{macrocode} \newcommand*{\IfIsAliaskomafont}[1]{% \scr@ifundefinedorrelax{scr@fnt@#1}{% @@ -1828,13 +1626,19 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \IfIsAliaskomafont % -% \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{command}{\setkomafont} +% \changes{v2.8o}{2001/09/14}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% Command +% \begin{quote} +% \cs{setkomafont}\marg{element}\marg{font settings} +% \end{quote} +% sets the \meta{font settings} of font element \meta{element}. Setting of an +% unknown font element results in an error. Setting of an alias font element +% results in an info an the setting of the real element. Note: \meta{font +% settings} should be only font selection commands. % \begin{macrocode} \newcommand*{\setkomafont}[2]{% \@ifundefined{scr@fnt@#1}{% @@ -1866,13 +1670,19 @@ }% } % \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. +% \end{command}^^A \setkomafont +% +% \begin{command}{\addtokomafont} +% \changes{v2.8p}{2001/09/22}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% Command +% \begin{quote} +% \cs{addtokomafont}\marg{element}\marg{font settings} +% \end{quote} +% adds the \meta{font settings} to the settings of font element +% \meta{element}. Setting of an unknown font element results in an +% error. Setting of an alias font element results in an info an the setting of +% the real element. % \begin{macrocode} \newcommand*{\addtokomafont}[2]{% \@ifundefined{scr@fnt@#1}{% @@ -1906,14 +1716,17 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \addtokomafont % -% \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{command}{\usekomafont} +% \changes{v2.8p}{2001/09/28}{added} +% \changes{v2.96}{2006/08/18}{alias usage fixed} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% Command +% \begin{quote} +% \cs{usekomafont}\marg{element} +% \end{quote} +% activates the font settings of the font \meta{element}. % \begin{macrocode} \newcommand*{\usekomafont}[1]{% \@ifundefined{scr@fnt@#1}{% @@ -1943,38 +1756,32 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \usekomafont % -% \selectlanguage{english} -% \begin{macro}{\usesizeofkomafont} -% \changes{v3.12}{2013/03/30}{new} -% \changes{v3.17}{2015/04/03}{new more robust implementation} -% \changes{v3.24}{2017/05/06}{new more robust implementation} -% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel -% change} -% \begin{macro}{\usefamilyofkomafont} +% +% \begin{command}{\usesizeofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\useseriesofkomafont} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel change} +% \begin{command}{\usefamilyofkomafont,\useseriesofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\useshapeofkomafont} +% \begin{command}{\useshapeofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.16a}{2015/02/20}{fix of macro name} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\useencodingofkomafont} +% \begin{command}{\useencodingofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\usefontofkomafont} +% \begin{command}{\usefontofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel -% change} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel change} % Sometimes not the whole font but only single elements of a font is % wanted. % \begin{macrocode} @@ -2023,8 +1830,7 @@ % \changes{v3.12}{2013/03/30}{new (internal)} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel -% change} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel change} % Helper macro for all commands above despite the first and the last one. % \begin{macrocode} \newcommand*{\use@ofkomafont}[2]{% @@ -2042,25 +1848,13 @@ \selectfont } % \end{macrocode} -% \selectlanguage{ngerman} % \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 +% \changes{v3.17}{2015/04/03}{added} +% \changes{v3.24}{2017/05/06}{removed} +% \end{macro}^^A \g@scr@usefont +% \begin{macro}{\g@scr@f@encoding,\g@scr@f@family,\g@scr@f@series,\g@scr@f@shape, +% \g@scr@f@size,\g@scr@f@baselineskip,\g@scr@f@linespread} +% \changes{v3.24}{2017/05/06}{added} % \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 @@ -2070,55 +1864,44 @@ \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 +% \end{macro}^^A \g@scr@f@encoding … \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. +% \changes{v3.17}{2015/04/03}{added} +% \changes{v3.24}{2017/05/05}{\cs{uppercase} and \cs{lowercase} removed} +% \changes{v3.24}{2017/05/05}{\cs{MakeUppercase} and \cs{MakeLowercase} moved to +% \cs{scr@komafontonearglist}} +% A \cs{do} list of all macros, that should become \cs{relax} in the previous +% commands. % \begin{macrocode} \newcommand*{\scr@komafontrelaxlist}{% \do\normalcolor } % \end{macrocode} -% \end{macro}%^^A \scr@komafontrelaxlist +% \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. +% \changes{v3.19}{2015/08/20}{added} +% Like \cs{scr@komafontrelaxlist} but with \cs{@gobble} instead of \cs{relax}. % \begin{macrocode} \newcommand*{\scr@komafontgobblelist}{% \do\color } % \end{macrocode} -% \end{macro}%^^A \scr@komafontgobblelist +% \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. +% \changes{v3.24}{2017/05/05}{added} +% Like \cs{scr@komafontgobblelist} but with \cs{@firstofone} instead of +% \cs{@gobble}. % \begin{macrocode} \newcommand*{\scr@komafontonearglist}{% \do\MakeUppercase \do\MakeLowercase } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@komafontonearglist % \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. +% \changes{v3.17}{2015/04/03}{added} +% \changes{v3.19}{2015/08/20}{using \cs{scr@komafontgobblelist}} +% \changes{v3.24}{2017/05/05}{using \cs{scr@komafontonearglist}} +% Process all the \cs{do} lists. Note: Should be encapsulated into a local group. % \begin{macrocode} \newcommand*{\scr@prepareforkomafont}{% \long\def\do##1{\let##1\relax}\scr@komafontrelaxlist @@ -2126,71 +1909,59 @@ \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. +% \end{macro}^^A \scr@prepareforkomafont +% \begin{command}{\addtokomafontrelaxlist} +% \changes{v3.17}{2015/04/03}{added} +% Adds exactly one macro/command to \cs{scr@komafontrelaxlist}. % \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. +% \end{command}^^A \addtokomafontrelaxlist +% \begin{command}{\addtokomafontgobblelist} +% \changes{v3.19}{2015/08/20}{added} +% Adds exactly one macro/command to \cs{scr@komafontgobblelist}. % \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 +% \end{command}^^A \addtokomafontgobblelist +% \begin{command}{\addtokomafontonearglist} +% \changes{v3.24}{2017/05/05}{added} +% Adds exactly one macro/command to \cs{scr@komafontonearglist}. % \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} +% \end{command}^^A \addtokonafontonearglist +% \end{macro}^^A \use@ofkomafont +% \end{command}^^A \usefontofkomafont +% \end{command}^^A \useencodingofkomafont +% \end{command}^^A \useshapeofkomafont +% \end{command}^^A \usefamilyofkomafont,\useseriesofkomafont +% \end{command}^^A \usesizeofkomafont % -% 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{command}{\newkomafont} +% \changes{v2.95}{2004/07/21}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% \changes{v3.11c}{2013/02/18}{the warning needs an argument} +% \changes{v3.25}{2017/12/08}{warn if already exists as an alias} +% Command +% \begin{quote} +% \cs{newkomafont}\oarg{warning}\marg{element}\marg{font settings} +% \end{quote} +% defines a new font \meta{element} with the given \meta{font settings} as +% default. The optional \meta{warning} is shown whenever the font setting of +% the element is changed, but not when the element is used. Internally a macro +% \cs{@\meta{element}font} is defined with the \meta{font settings}. An +% additional macro \cs{scr@fnt@\meta{element}} is defined to just execute +% \cs{@meta{element}font}. But you also can define \cs{scr@fnt@\meta{element}} +% to use another internal font storage macro. So several elements can share +% the same font settings. % \begin{macrocode} \newcommand*{\newkomafont}[3][\relax]{% \scr@ifundefinedorrelax{scr@fnt@instead@#2}{}{% @@ -2211,13 +1982,17 @@ \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{command}{\aliaskomafont} +% \changes{v2.95}{2004/07/21}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% \changes{v3.25}{2017/12/08}{warning if element is already defined} +% Another possibility to share fonts is to define an +% alias by defining \cs{scr@fnt@instead@\meta{element}} with the name of +% another element. This can be done using +% \begin{quote} +% \cs{aliaskomafont}\marg{alias}\marg{element} +% \end{quote} +% It defines \marg{alias} to be an alias of \meta{element}. % \begin{macrocode} \newcommand*{\aliaskomafont}[2]{% \scr@ifundefinedorrelax{scr@fnt@#1}{}{% @@ -2234,24 +2009,20 @@ #2% }% } +%</scrkbase&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \iffalse -%</scrkbase> -% \fi -% -% \iffalse -%</body> -% \fi +% \end{command} +% \end{command} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-fonts.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: |