diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx | 446 |
1 files changed, 262 insertions, 184 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx index 32004b4d369..d6a04c6554a 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx @@ -1,8 +1,8 @@ -% \CheckSum{722} +% \CheckSum{769} % \iffalse meta-comment % ====================================================================== % scrkernel-miscellaneous.dtx -% Copyright (c) Markus Kohm, 2002-2018 +% Copyright (c) Markus Kohm, 2002-2019 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrkernel-miscellaneous.dtx -% Copyright (c) Markus Kohm, 2002-2018 +% 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. @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-miscellaneous.dtx 2995 2018-07-18 06:46:34Z kohm $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 3262 2019-10-10 08:25:29Z kohm $ %<init>%%% (run: init) %<option>%%% (run: option) %<execoption>%%% (run: execoption) @@ -65,9 +65,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2018-07-18 08:46:34 +0200 (Wed, 18 Jul 2018) $ + \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 2995 $ + \filerevision$Revision: 3262 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}% @@ -79,7 +79,6 @@ % \iffalse \documentclass[parskip=half-]{scrdoc} \usepackage[english,ngerman]{babel} -\usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges \GetFileInfo{scrkernel-miscellaneous.dtx} @@ -104,47 +103,47 @@ % % \section{Verschiedenes} % -% Es gibt eine ganze Menge für das sich einzeln keine eigene Datei +% Es gibt eine ganze Menge für das sich einzeln keine eigene Datei % lohnt oder eine Einordnunge schwierig ist. All das nennen wird % "`Verschiedenes"'. % % \subsection{Erweiterung der Internationalisierung} % -% \changes{v2.2c}{1995/05/25}{Anpassung an CJK von Werner Lemberg.}^^A +% \changes{v2.2c}{1995/05/25}{Anpassung an CJK von Werner Lemberg.}%^^A % % Die Standardnamen wie \cs{figurename} etc. sind nicht immer -% ausreichend, da manche Sprachen Zählwörter vor oder nach dem -% jeweiligen Zähler einfügen müssen (man denke da sogar im +% ausreichend, da manche Sprachen Zählwörter vor oder nach dem +% jeweiligen Zähler einfügen müssen (man denke da sogar im % Deutschen an "`Abbildung~1"' und "`Erste Abbildung"'). Desweiteren -% werden bei manchen Sprachen die Zwischenräume anders gesetzt -% bzw. sogar ganz unterdrückt. +% werden bei manchen Sprachen die Zwischenräume anders gesetzt +% bzw. sogar ganz unterdrückt. % % Es gibt drei Ebenen, die man modifizieren kann, um verschiedenste % Sprachen zu implementieren: Ebene~1 besteht aus den hinl"anglich % bekannten Makros wie \cs{figurename} und alle weiteren Makros, die -% z.\,B. \textsf{german} modifiziert. Desweiteren können die Makros -% \cs{sectfont} etc. etwaige zusätzliche Fonts aktivieren. Ebene~2 ist -% die zusätzliche Adaptierung von den Zählern selbst (\cs{thesection} -% könnte z.\,B. chinesische Schriftzeichen ansprechen anstelle von +% z.\,B. \textsf{german} modifiziert. Desweiteren können die Makros +% \cs{sectfont} etc. etwaige zusätzliche Fonts aktivieren. Ebene~2 ist +% die zusätzliche Adaptierung von den Zählern selbst (\cs{thesection} +% könnte z.\,B. chinesische Schriftzeichen ansprechen anstelle von % arabischen Ziffern). Die allgemeinste Form der dritten Ebene % besteht aus den Makros \cs{chaptermarkformat}, -% \cs{sectionmarkformat} etc. welche die Änderung der Reihenfolge von -% Zähler und Titel sowie die genaue Kontrolle der Zwischenräume -% etc. ermöglichen. +% \cs{sectionmarkformat} etc. welche die Änderung der Reihenfolge von +% Zähler und Titel sowie die genaue Kontrolle der Zwischenräume +% etc. ermöglichen. % -% Für die gängigen Sprachen können alle Makros für die dritte +% Für die gängigen Sprachen können alle Makros für die dritte % Ebene identisch definiert werden. Bei Verwendung von "`exotischen"' -% Sprachen, aber auch speziellen Darstellungen in den gängigen -% Sprachen können diese Makros umdefiniert werden. +% Sprachen, aber auch speziellen Darstellungen in den gängigen +% Sprachen können diese Makros umdefiniert werden. % -% Das Konzept für der Internationalisierung mit der dritten Ebene -% wurde ursprünglich von Werner Lemberg\footnote{Werner Lemberg ist im +% Das Konzept für der Internationalisierung mit der dritten Ebene +% wurde ursprünglich von Werner Lemberg\footnote{Werner Lemberg ist im % InterNet unter \texttt{a7621gac@awiuni11.bitnet} zu erreichen.} % entwickelt. Die "`caption files"' seines CJK-Pakets % (\textbf{C}hinesisch, \textbf{J}apanisch, \textbf{K}oreanisch) bauen -% auf diesem Konzept auf. Damit ist \KOMAScript{} für alle möglichen -% Sprachanpassungen bestens gerüstet. In der dritten Ebene wird -% übrigens auch die Einhaltung der DUDEN-Regeln für die +% auf diesem Konzept auf. Damit ist \KOMAScript{} für alle möglichen +% Sprachanpassungen bestens gerüstet. In der dritten Ebene wird +% übrigens auch die Einhaltung der DUDEN-Regeln für die % Gliederungsnummern realisiert. % % \StopEventually{\PrintIndex\PrintChanges} @@ -154,8 +153,8 @@ % \fi % \subsection{Test auf die eine \KOMAScript-Klasse} % -% Hier haben wir zunächst ein paar Definitionen speziell für das Paket -% \textsf{scrletter}, die genau dann benötigt werden, wenn das Paket nicht mit +% Hier haben wir zunächst ein paar Definitionen speziell für das Paket +% \textsf{scrletter}, die genau dann benötigt werden, wenn das Paket nicht mit % einer \KOMAScript-Klasse verwendet wird. % % \begin{macrocode} @@ -178,9 +177,9 @@ % \end{macrocode} % % \begin{macro}{\setparsizes} -% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}^^A +% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}%^^A % \begin{macro}{\par@updaterelative} -% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}^^A +% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}%^^A % Diese beiden Befehle werden normalerweise von den \KOMAScript-Klassen % definiert. Wird das Paket mit einer anderen Klasse verwendet, existieren % sie nicht. Es wird dann eine vereinfachte Definition verwendet. @@ -192,28 +191,28 @@ } \providecommand*{\par@updaterelative}{} % \end{macrocode} -% \end{macro}^^A \par@updaterelative -% \end{macro}^^A \setparsizes +% \end{macro}%^^A \par@updaterelative +% \end{macro}%^^A \setparsizes % \begin{macrocode} }{} % \end{macrocode} % % \begin{macro}{\scr@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung}^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A -% Wird wie \cs{renewcommand} verwendet, verzögert die Umdefinierung aber bis +% \changes{v3.20}{2014/04/10}{neu Anweisung}%^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A +% Wird wie \cs{renewcommand} verwendet, verzögert die Umdefinierung aber bis % zu einem optionalen Zeitpunkt. Dazu wird intern % \cs{scrletter@extra@\meta{macro}} definiert. % \begin{macro}{\@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A +% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A % \begin{macro}{\do@renewforletter@list} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A -% Die do-Liste der später umzudefinierenden Anweisungen. +% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A +% Die do-Liste der später umzudefinierenden Anweisungen. % \begin{macro}{\do@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}^^A +% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A +% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A % Definiert die in der do-Liste gespeicherten Anweisungen um. % \begin{macrocode} %</package&letter> @@ -228,23 +227,23 @@ %<*option> % \fi % -% \subsection{Optionen für Entwürfe} +% \subsection{Optionen für Entwürfe} % % \begin{option}{draft} -% \changes{v2.95}{2002/12/05}{mit \textsl{keyval} reimplementiert}^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}^^A -% \changes{v3.25}{2017/11/21}{Beachtung von Option \texttt{overfullrule}}^^A +% \changes{v2.95}{2002/12/05}{mit \textsl{keyval} reimplementiert}%^^A +% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A +% \changes{v3.25}{2017/11/21}{Beachtung von Option \texttt{overfullrule}}%^^A % \begin{option}{final} -% \changes{v2.95}{2002/12/05}{obsolete Option}^^A +% \changes{v2.95}{2002/12/05}{obsolete Option}%^^A % \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} % ersetzt} -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A +% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A % \changes{v3.02c}{2008/02/17}{optionales Argument im Fall von % \textsf{scrextend} gesetzt} % \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit % \cs{FamilyKeyStateProcessed}}% -% Der einzige Unterschied zwischen Entwürfen und Endversionen ist aus -% Sicht der Klassen, ob Zeilenüberhänge mit einem schwarzen Balken +% Der einzige Unterschied zwischen Entwürfen und Endversionen ist aus +% Sicht der Klassen, ob Zeilenüberhänge mit einem schwarzen Balken % angezeigt werden sollen oder nicht. % \begin{macrocode} %<*class|extend> @@ -286,8 +285,8 @@ %</class|extend> % \end{macrocode} % \begin{option}{overfullrule} -% \changes{v3.25}{2017/11/21}{new option}^^A -% \selectlanguage{english}^^A +% \changes{v3.25}{2017/11/21}{new option}%^^A +% \selectlanguage{english}%^^A % Because option \texttt{draft} can result in unwanted effects I've added a % new option to explicite only change the overfull rule setting. However for % \textsf{scrextend} and the \KOMAScript{} classes the result is the same. @@ -327,13 +326,13 @@ %</package&extend> %</class|extend> % \end{macrocode} -% \selectlanguage{ngerman}^^A -% \end{option}^^A overfullrule -% \end{option}^^A final -% \end{option}^^A draft +% \selectlanguage{ngerman}%^^A +% \end{option}%^^A overfullrule +% \end{option}%^^A final +% \end{option}%^^A draft % % -% \subsection{Optionen für Gleichungen} +% \subsection{Optionen für Gleichungen} % % Briefe haben derzeit keine Gleichungen. % \iffalse @@ -342,7 +341,7 @@ % % \begin{option}{leqno} % \begin{option}{fleqno} -% Es können Gleichungsnummern links oder linksbündige Gleichungen +% Es können Gleichungsnummern links oder linksbündige Gleichungen % eingestellt werden. % \begin{macrocode} %<*!extend> @@ -357,22 +356,22 @@ %</!letter> % \fi % -% \subsection{Optionen für \texttt{egreg}} +% \subsection{Optionen für \texttt{egreg}} % % \texttt{egreg} hat in einem Kommentar zu % \url{https://tex.stackexchange.com/questions/289853} verlauten lassen, dass % er \KOMAScript{} u.\,a. deshalb nicht verwendet, weil \KOMAScript{} -% serifenlose Fonts für Überschriften voreingestellt hat. Er hätte lieber die -% hässlichen, fetten Antiqua-Fonts. Außerdem reicht es ihm nicht, dass man das -% einfach per \cs{setkomafont} ändern kann. Er will eine Option dafür. Nun, +% serifenlose Fonts für Ãœberschriften voreingestellt hat. Er hätte lieber die +% hässlichen, fetten Antiqua-Fonts. Außerdem reicht es ihm nicht, dass man das +% einfach per \cs{setkomafont} ändern kann. Er will eine Option dafür. Nun, % die soll er haben: % % \begin{option}{egegdoesnotlikesansseriftitles} -% \changes{v3.20}{2016/01/29}{neu (speziell)} -% \changes{v3.20a}{2016/05/19}{auch in der Briefklasse} +% \changes{v3.20}{2016/01/29}{neu (speziell)} +% \changes{v3.20a}{2016/05/19}{auch in der Briefklasse} % \begin{macro}{\@gr@gsffamily} -% \changes{v3.20}{2016/01/29}{neu (intern)} -% \changes{v3.20a}{2016/05/19}{auch in der Briefklasse} +% \changes{v3.20}{2016/01/29}{neu (intern)} +% \changes{v3.20a}{2016/05/19}{auch in der Briefklasse} % Schaltet je nach Einstellung von Option % \texttt{egegdoesnotlikesansseriftitles} entweder auf \cs{sffamily} um oder % eben nicht. @@ -384,8 +383,8 @@ } %</!(package&letter)> % \end{macrocode} -% \end{macro}^^A \@gr@gsffamily -% \end{option}^^A egregdoesnotlikesansseriftitles +% \end{macro}%^^A \@gr@gsffamily +% \end{option}%^^A egregdoesnotlikesansseriftitles % % \iffalse %</option> @@ -393,24 +392,24 @@ % \fi % % -% \subsection{Standardeinstellungen für die Optionen} +% \subsection{Standardeinstellungen für die Optionen} % -% Am Ende aller Optionen wird zunächst die Standardeinstellungen der -% Optionen vorgenommen und dann alle Optionen ausgeführt. Dies -% geschieht zwischen den Optionen und dem Körper dieser Datei. +% Am Ende aller Optionen wird zunächst die Standardeinstellungen der +% Optionen vorgenommen und dann alle Optionen ausgeführt. Dies +% geschieht zwischen den Optionen und dem Körper dieser Datei. % -% Es müssen die Standardoptionen festgelegt und alle Optionen -% ausgewählt werden. +% Es müssen die Standardoptionen festgelegt und alle Optionen +% ausgewählt werden. % \changes{v2.97c}{2007/04/19}{Verwendung von \cs{KOMAExecuteOptions} an % Stelle von \cs{KOMAoptions} und \cs{KOMAProcessOptions} an Stelle von % \cs{ProcessOptions}} % \changes{v2.97c}{2007/04/19}{Optionen, die der Voreinstellung ohnehin -% entsprechen, werden nicht explizit gesetzt}^^A +% entsprechen, werden nicht explizit gesetzt}%^^A % \changes{v2.97c}{2007/07/18}{Option \texttt{twoside} bei den % Voreinstellungen rausgenommen} % \changes{v2.98c}{2008/03/10}{Option \texttt{headings!=big} zu den -% Voreinstellungen hinzugefügt} -% \changes{v3.11c}{2013/03/04}{Option \texttt{headings!=big} nicht für die +% Voreinstellungen hinzugefügt} +% \changes{v3.11c}{2013/03/04}{Option \texttt{headings!=big} nicht für die % Briefklasse} % \begin{macrocode} %<*class> @@ -429,10 +428,10 @@ % \fi % % -% \subsection{Temporäre Umschaltung zwischen ein- und zweispaltigem +% \subsection{Temporäre Umschaltung zwischen ein- und zweispaltigem % Satz} % -% Briefe sind immer einspaltig, benötigen also den Schalter nicht. +% Briefe sind immer einspaltig, benötigen also den Schalter nicht. % \iffalse %<*!letter> % \fi @@ -441,11 +440,11 @@ % \begin{macro}{\@restonecoltrue} % \begin{macro}{\@restonecolfalse} % Damit innerhalb einer Umgebung lokal auf ein- oder zweispaltigen -% Satz umgeschaltet werden kann, wird ein Schalter benötigt. Dieser -% wird dann dafür verwendet, sich zu merken, dass eine Umschaltung +% Satz umgeschaltet werden kann, wird ein Schalter benötigt. Dieser +% wird dann dafür verwendet, sich zu merken, dass eine Umschaltung % stattgefunden hat und am Ende der Umgebung wieder aufzuheben % ist. Der Schalter wird nicht in Umgebungen verwendet, die -% geschachtelt werden. Verwendung findet er beispielsweise für +% geschachtelt werden. Verwendung findet er beispielsweise für % Titelseiten und das Inhaltsverzeichnis. % \begin{macrocode} %<*!extend> @@ -466,7 +465,7 @@ %</!letter> % \fi % -% \subsection{Definitionen für den schlauen Spruch} +% \subsection{Definitionen für den schlauen Spruch} % % Den schlauen Spruch gibt es nicht bei Briefen. % \iffalse @@ -474,34 +473,34 @@ % \fi % % \begin{macro}{\dictum} -% \changes{v2.8q}{2001/20/04}{neu}^^A -% \changes{v2.9l}{2003/01/28}{\cs{edef} durch \cs{def} ersetzt} -% \changes{v2.9q}{2004/04/19}{zur Vermeidung von Problemen durch +% \changes{v2.8q}{2001/20/04}{neu}%^^A +% \changes{v2.9l}{2003/01/28}{\cs{edef} durch \cs{def} ersetzt} +% \changes{v2.9q}{2004/04/19}{zur Vermeidung von Problemen durch % \cs{raggeddictum} Gruppe eingef"ugt} % \begin{macro}{\dictumwidth} -% \changes{v2.8q}{2001/20/04}{neu}^^A +% \changes{v2.8q}{2001/20/04}{neu}%^^A % \begin{macro}{\raggeddictum} -% \changes{v2.8q}{2001/20/04}{neu}^^A +% \changes{v2.8q}{2001/20/04}{neu}%^^A % \begin{macro}{\raggeddictumtext} -% \changes{v2.8q}{2001/20/04}{neu}^^A +% \changes{v2.8q}{2001/20/04}{neu}%^^A % \begin{macro}{\raggeddictumauthor} -% \changes{v2.8q}{2001/20/04}{neu}^^A +% \changes{v2.8q}{2001/20/04}{neu}%^^A % \begin{KOMAfont}{dictum} -% \changes{v2.8q}{2001/20/04}{neues Element}^^A -% \changes{v3.20}{2016/01/29}{\cs{sffamily} durch \cs{@gr@gsffamily} -% ersetzt}^^A +% \changes{v2.8q}{2001/20/04}{neues Element}%^^A +% \changes{v3.20}{2016/01/29}{\cs{sffamily} durch \cs{@gr@gsffamily} +% ersetzt}%^^A % \begin{KOMAfont}{dictumtext} -% \changes{v2.8q}{2001/20/04}{neues Element}^^A +% \changes{v2.8q}{2001/20/04}{neues Element}%^^A % \begin{KOMAfont}{dictumauthor} -% \changes{v2.8q}{2001/20/04}{neues Element}^^A +% \changes{v2.8q}{2001/20/04}{neues Element}%^^A % \begin{macro}{\dictumauthorformat} -% \changes{v2.8q}{2001/20/04}{neu}^^A +% \changes{v2.8q}{2001/20/04}{neu}%^^A % \begin{macro}{\dictumrule} -% \changes{v3.10}{2011/09/02}{neu}^^A +% \changes{v3.10}{2011/09/02}{neu}%^^A % Ein \emph{dictum} ist ein Spruch. Er besteht aus dem Spruch selbst -% und verfügt optional über einen Autor, der dann mit einer Linie +% und verfügt optional über einen Autor, der dann mit einer Linie % abgetrennt wird. Gibt es keinen Autor, gibt es auch keine Linie. Die -% Schriften für Autor und Spruch können getrennt voneinander +% Schriften für Autor und Spruch können getrennt voneinander % eingestellt werden. Die Anordnung des Spruchs wird durch % \cs{raggeddictumtext} gesetzt. Die des Autors durch % \cs{raggeddictumauthor}. Die Formatierung selbst geschieht mit dem @@ -548,7 +547,7 @@ %</!letter> % \fi % -% \subsection{Längen für Minipages und Rahmen} +% \subsection{Längen für Minipages und Rahmen} % % \begin{Length}{@mpfootins} % \begin{Length}{fboxsep} @@ -577,14 +576,15 @@ % \fi % % \begin{macro}{\theequation} -% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}^^A +% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}%^^A +% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent}%^^A % Darstellung der Gleichungsnummer: % \begin{macrocode} %<*!extend> %<book|report>\@addtoreset{equation}{chapter} \renewcommand*\theequation{% %<*book> - \expandafter\ifnum\scr@v@is@gt{2.97d}\relax + \expandafter\ifnum\scr@v@is@gt{2.97d}% \if@mainmatter\thechapter.\fi \else %</book> @@ -604,21 +604,21 @@ % Seiten} % % \begin{macro}{\ifthispageodd} -% \changes{v2.8q}{2001/11/22}{neu}^^A -% Häufig wird mit \cs{ifodd}\cs{value\{page\}} getestet, ob man sich +% \changes{v2.8q}{2001/11/22}{neu}%^^A +% Häufig wird mit \cs{ifodd}\cs{value\{page\}} getestet, ob man sich % gerade auf einer rechten oder einer linken Seite % befindet. Dummerweise funktioniert das aber genaugenommen nur -% zufällig manchmal. Ob man sich auf einer linken oder einer rechten -% Seite befindet, ergibt sich nämlich erst bei der Ausgabe. Deshalb -% wird hier ein Makro definiert, das über eine Art Label-Mechanismus +% zufällig manchmal. Ob man sich auf einer linken oder einer rechten +% Seite befindet, ergibt sich nämlich erst bei der Ausgabe. Deshalb +% wird hier ein Makro definiert, das über eine Art Label-Mechanismus % arbeitet. Es werden bewusst keine echten \cs{label} und \cs{pageref} % verwendet, weil diese Befehle von verschiedenen Paketen manipuliert % werden. % % \begin{macro}{\new@tpo@label} -% \changes{v2.8q}{2001/11/22}{neu (intern)}^^A -% \changes{v2.95b}{2006/07/28}{verwendet jetzt \cs{@newl@bel}}^^A -% \changes{v3.20}{2016/03/25}{use after definition in \texttt{aux}-file}^^A +% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A +% \changes{v2.95b}{2006/07/28}{verwendet jetzt \cs{@newl@bel}}%^^A +% \changes{v3.20}{2016/03/25}{use after definition in \texttt{aux}-file}%^^A % Definition eines neuen \emph{true}-\emph{page}-\emph{odd} Labels. % Wird in der \texttt{aux}-Datei verwendet. % \begin{macrocode} @@ -635,8 +635,8 @@ % \end{macro} % % \begin{macro}{\scr@tpo} -% \changes{v2.8q}{2001/11/22}{neu (intern)}^^A -% Es wird ein Zähler benötigt, der die aktuelle Nummer der Anfrage +% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A +% Es wird ein Zähler benötigt, der die aktuelle Nummer der Anfrage % beinhaltet. % \begin{macrocode} \newcommand*{\scr@tpo}{0} @@ -644,22 +644,22 @@ % \end{macro} % % \begin{macro}{\is@thispageodd} -% \changes{v2.8q}{2001/11/22}{neu (intern)}^^A -% \changes{v2.9l}{2003/01/28}{renamed \cs{if@thispageodd}}^^A -% \changes{v2.95b}{2006/07/28}{basiert nun auf \cs{@newl@bel}}^^A -% \changes{v3.17}{2015/03/23}{in zwei Anweisungen ausgeteilt}^^A +% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A +% \changes{v2.9l}{2003/01/28}{renamed \cs{if@thispageodd}}%^^A +% \changes{v2.95b}{2006/07/28}{basiert nun auf \cs{@newl@bel}}%^^A +% \changes{v3.17}{2015/03/23}{in zwei Anweisungen ausgeteilt}%^^A % \begin{macro}{\is@thispageodd@setlabel} -% \changes{v3.17}{2015/03/23}{neu (intern)}^^A -% \changes{v3.20}{2016/03/25}{schreibe in die \texttt{aux}-Datei nur -% \cs{if@filesw}}^^A -% \changes{v3.23}{2017/02/23}{Macro leert sich nach Benutzung selbst}^^A +% \changes{v3.17}{2015/03/23}{neu (intern)}%^^A +% \changes{v3.20}{2016/03/25}{schreibe in die \texttt{aux}-Datei nur +% \cs{if@filesw}}%^^A +% \changes{v3.23}{2017/02/23}{Macro leert sich nach Benutzung selbst}%^^A % Diese Makros machen die eigentliche Arbeit. Sie funktionieren nicht wie % ein normales \cs{iffalse} oder \cs{iftrue}, denn es kann nicht % geschachtelt innerhalb anderer \cs{if\dots} \dots \cs{fi} -% Klammerungen verwendet werden. Es sollte daher niemals außerhalb von -% \cs{ifthispageodd} verwendet werden. Da über die \texttt{aux}-Datei +% Klammerungen verwendet werden. Es sollte daher niemals außerhalb von +% \cs{ifthispageodd} verwendet werden. Da über die \texttt{aux}-Datei % gearbeitet wird, funktioniert das Ganze nur, wenn die Datei auch -% geschrieben wird und min. zwei \LaTeX-Läufe erfolgen. +% geschrieben wird und min. zwei \LaTeX-Läufe erfolgen. % \begin{macrocode} \newcommand*{\is@thispageodd}[1][\is@thispageodd@setlabel]{% \@bsphack @@ -700,7 +700,7 @@ % \end{macro} % % \begin{macro}{\ifthispagewasodd} -% \changes{v2.9l}{2003/01/20}{neuer Schalter}^^A +% \changes{v2.9l}{2003/01/20}{neuer Schalter}%^^A % \begin{macro}{\thispagewasoddtrue} % \begin{macro}{\thispagewasoddfalse} % Dieser Schalter speichert auf Rolf Niepraschks speziellen Wunsch die @@ -730,20 +730,20 @@ % \end{macro} % % -% \subsection{Definitionen für tiefer gestellten Text} +% \subsection{Definitionen für tiefer gestellten Text} % % \begin{macro}{\textsubscript} -% \changes{v2.8h}{2001/07/19}{neu}^^A +% \changes{v2.8h}{2001/07/19}{neu}%^^A % \begin{macro}{\@textsubscript} -% \changes{v2.8h}{2001/07/19}{neu (intern)}^^A +% \changes{v2.8h}{2001/07/19}{neu (intern)}%^^A % \changes{v3.10}{2011/09/05}{\cs{providecommand} statt \cs{newcommand}, % damit das auch noch funktioniert, wenn \textsf{scrextend} nach -% \textsf{fixltx2e} geladen wird}^^A -% \changes{v3.25}{2017/11/15}{wird nur noch definiert, wenn nicht vorhanden}^^A +% \textsf{fixltx2e} geladen wird}%^^A +% \changes{v3.25}{2017/11/15}{wird nur noch definiert, wenn nicht vorhanden}%^^A % Im \LaTeX-Kern wird zwar ein Makro \cs{textsuperscript} definiert, -% um Texte hochstellen zu können, die entsprechende Anweisung zum +% um Texte hochstellen zu können, die entsprechende Anweisung zum % Tiefstellen fehlt jedoch. Das wird hier nachgeholt, wobei nahezu -% unverändert auf die Definition aus dem \LaTeX-Kern zurückgegriffen +% unverändert auf die Definition aus dem \LaTeX-Kern zurückgegriffen % wird. % \begin{macrocode} %<*class|extend> @@ -767,18 +767,18 @@ % \end{macro} % % -% \subsection{Unsichtbare Stütze} +% \subsection{Unsichtbare Stütze} % \label{sec:strut} % % \begin{macro}{\scr@endstrut} -% \changes{v3.25}{2017/11/15}{neu (intern)}^^A -% Wird am Ende eines vermutlich horizontalen Materials eine unsichtbare Stütze -% der Art \cs{strut} eingebaut, werden Leerzeichen, die davor stehen plötzlich -% zu Leerzeichen in der Ausgabe, auch wenn das gar nicht erwünscht wird. Das +% \changes{v3.25}{2017/11/15}{neu (intern)}%^^A +% Wird am Ende eines vermutlich horizontalen Materials eine unsichtbare Stütze +% der Art \cs{strut} eingebaut, werden Leerzeichen, die davor stehen plötzlich +% zu Leerzeichen in der Ausgabe, auch wenn das gar nicht erwünscht wird. Das % kann man verhindern, indem man \cs{unskip} davor setzt. Dummer Weise hat -% eine solche Stütze dann aber das Problem, dass das letzte Wort davor nicht -% mehr getrennt wird. Verrückter Weise kann man das wiederum mit \cs{nobreak} -% lösen. Das sollte dann auch nur im horizontalen Modus gemacht werden. +% eine solche Stütze dann aber das Problem, dass das letzte Wort davor nicht +% mehr getrennt wird. Verrückter Weise kann man das wiederum mit \cs{nobreak} +% lösen. Das sollte dann auch nur im horizontalen Modus gemacht werden. % \begin{macrocode} %<*class|letter|extend> \providecommand*{\scr@endstrut}{\unskip\ifhmode\nobreak\strut\fi} @@ -791,26 +791,26 @@ % \subsection{Warnung vor Paketen} % \label{sec:packagewarning} % -% \changes{v3.12}{2013/07/08}{neue Warnungen vor bestimmten Paketen}^^A +% \changes{v3.12}{2013/07/08}{neue Warnungen vor bestimmten Paketen}%^^A % \begin{macro}{\scr@package@not@recommended} -% \changes{v3.12}{2013/07/08}{neu (intern)}^^A +% \changes{v3.12}{2013/07/08}{neu (intern)}%^^A % Beim Laden verschiedener Pakete wird nun eine Warnung ausgegeben. In der % Regel mit einer Alternativempfehlung. % \begin{macro}{\class@shoulddisablepackagewarning@list} -% \changes{v3.24}{2017/06/25}{neu (nur für Klassenautoren)}^^A -% Ab \KOMAScript~3.24 ist für Klassenautoren und nur für diese dokumentiert, +% \changes{v3.24}{2017/06/25}{neu (nur für Klassenautoren)}%^^A +% Ab \KOMAScript~3.24 ist für Klassenautoren und nur für diese dokumentiert, % dass bei Vorhandensein des Makros -% \cs{class@shoulddisablepackagewarning@list} während dem Laden der -% \KOMAScript-Klasse für nicht empfohlene Pakete ein +% \cs{class@shoulddisablepackagewarning@list} während dem Laden der +% \KOMAScript-Klasse für nicht empfohlene Pakete ein % \cs{in@}-Vergleich gegen genau den Inhalt dieses Makros stattfindet. Wird % der Paketname dabei gefunden, so unterbleibt das Absetzen der Warnung. Zur -% korrekten Syntax des zweiten Arguments von \cs{in@} sei ausdrücklich auf den +% korrekten Syntax des zweiten Arguments von \cs{in@} sei ausdrücklich auf den % Kernel hingewiesen. Ebenso sind Klassenautoren verantwortlich, eine bereits -% vorhandene Liste nicht einfach zu überschreiben, sondern korrekt zu -% ergänzen! Eine Definition von \cs{class@shoulddisablepackagewarning@list} +% vorhandene Liste nicht einfach zu überschreiben, sondern korrekt zu +% ergänzen! Eine Definition von \cs{class@shoulddisablepackagewarning@list} % nach dem Laden der \KOMAScript-Klasse ist wirkungslos. Da diese % Schnittstelle Klassenautoren vorbehalten bleiben soll, die wissen, was sie -% tun, gibt es keine weitergehende Dokumentation dazu und natürlich auch kein +% tun, gibt es keine weitergehende Dokumentation dazu und natürlich auch kein % Beispiel. % \begin{macrocode} %<*class> @@ -837,13 +837,13 @@ }% }% % \end{macrocode} -% \end{macro}^^A \class@shoulddisablepackagewarning@list +% \end{macro}%^^A \class@shoulddisablepackagewarning@list % -% \textsf{emptypage} wird nicht benötigt, weil es bereits entsprechende -% Einstellungen in \KOMAScript{} gibt. Darüber hinaus verwendet es +% \textsf{emptypage} wird nicht benötigt, weil es bereits entsprechende +% Einstellungen in \KOMAScript{} gibt. Darüber hinaus verwendet es % \cs{thispagestyle} an Stelle von \cs{pagestyle} in einer Gruppe, was -% dazu führen kann, dass nach einem \cs{cleardoublepage}, das keine leere -% Seite erzeugt, die nächste Seite den entsprechenden Seitenstil bekommt. +% dazu führen kann, dass nach einem \cs{cleardoublepage}, das keine leere +% Seite erzeugt, die nächste Seite den entsprechenden Seitenstil bekommt. % \begin{macrocode} \scr@package@not@recommended{emptypage}{% option\MessageBreak @@ -854,7 +854,7 @@ % \textsf{fancyhdr} verwendet veraltete Font-Befehle und beachtet die % Font-Einstellungen und diverse andere Befehle und Optionen von \KOMAScript{} % nicht. -% \changes{v3.24}{2017/06/25}{improved \textsf{fancyhdr} warning}^^A +% \changes{v3.24}{2017/06/25}{improved \textsf{fancyhdr} warning}%^^A % \begin{macrocode} \scr@package@not@recommended{fancyhdr}{% \MessageBreak @@ -867,18 +867,18 @@ explicite user intervention to work} % \end{macrocode} % \changes{v3.23}{2017/02/04}{Verwendung von \textsf{minitoc} kann nicht -% empfohlen werden}^^A -% \textsf{minitoc} definiert u.\,a. \cs{@sect} hart um und zerstört so diverse -% Erweiterungen von \KOMAScript. Es ist nicht abschließend untersucht, was das -% Paket noch alles zerstört. Derzeit gibt es nur einen Workaround für das +% empfohlen werden}%^^A +% \textsf{minitoc} definiert u.\,a. \cs{@sect} hart um und zerstört so diverse +% Erweiterungen von \KOMAScript. Es ist nicht abschließend untersucht, was das +% Paket noch alles zerstört. Derzeit gibt es nur einen Workaround für das % genannte Problem mit \cs{@sect} (siehe: % Abschnitt~\ref{sec:packageworkarounds}). % \begin{macrocode} \scr@package@not@recommended{minitoc}{} % \end{macrocode} % -% \selectlanguage{english}^^A -% \changes{v3.26}{2018/07/18}{\textsf{multitoc} not recommended}^^A +% \selectlanguage{english}%^^A +% \changes{v3.26}{2018/07/18}{\textsf{multitoc} not recommended}%^^A % \textsf{multitoc} not recommended, because up to version 2.01 it breaks all % additional list-ofs and even table of contents, list of figures and list of % tables, if option \texttt{toc}, \texttt{lof} or \texttt{lot} has not been @@ -905,10 +905,10 @@ } %</!letter> % \end{macrocode} -% \selectlanguage{ngerman}^^A +% \selectlanguage{ngerman}%^^A % -% \textsf{parskip} ist nur ein Notfallpaket für Klassen, die selbst keinen -% Absatzabstand unterstützen. +% \textsf{parskip} ist nur ein Notfallpaket für Klassen, die selbst keinen +% Absatzabstand unterstützen. % \begin{macrocode} \scr@package@not@recommended{parskip}{% option\MessageBreak @@ -916,7 +916,7 @@ % \end{macrocode} % % \changes{v3.16}{2015/01/21}{Verwendung von \textsf{titleps} kann nicht -% empfohlen werden}^^A +% empfohlen werden}%^^A % \textsf{titleps} beachtet die Font-Einstellungen und diverse andere Befehle % und Optionen von \KOMAScript{} nicht. % \begin{macrocode} @@ -924,22 +924,55 @@ package `scrlayer-scrpage'} % \end{macrocode} % -% \textsf{titlesec} beschädigt diverse \KOMAScript{} Erweiterungen und -% benötigt eigene Workarounds (siehe Abschnitt~\ref{sec:packageworkarounds}), +% \textsf{titlesec} beschädigt diverse \KOMAScript{} Erweiterungen und +% benötigt eigene Workarounds (siehe Abschnitt~\ref{sec:packageworkarounds}), % so dass es einfach nicht gut mit \KOMAScript{} harmoniert. % \begin{macrocode} %<*!letter> +%<*ignorethis> \scr@package@not@recommended{titlesec}{% the package only\MessageBreak if you really need it, because it breaks several\MessageBreak KOMA-Script features, i.e., option `headings' and\MessageBreak the extended optional argument of the section\MessageBreak commands} +%</ignorethis> %</!letter> % \end{macrocode} % -% \selectlanguage{english}^^A -% \changes{v3.25}{2017/11/21}{Usage of \textsf{tocbibind} not recommended}^^A +% \selectlanguage{english}%^^A +% \changes{v3.27}{2019/07/24}{\textsf{sectsty} up to v2.0.2 is +% incompatible}%^^A +% \textsf{sectsty} up to version 2.0.2 uses internal commands of +% \KOMAScript{}, that has been removed already 2001 in \KOMAScript{} 2.8e. So +% it was never compatible with \KOMAScript~3. +% \begin{macrocode} +%<*!letter> +\AfterPackage*{sectsty}{% + \@ifpackagelater{sectsty}{2002/02/26}{% + \ClassInfo{\KOMAClassName}{Unknown `sectsty' release.\MessageBreak + Cross your fingers, that is compatible% + }% + }{% + \ClassWarning{\KOMAClassName}{% + Incompatible package `sectsty' loaded!\MessageBreak + Package `sectsty' up to version 2.0.2 is incompatible\MessageBreak + with KOMA-Script from version 2.8e released in 2001.\MessageBreak + You should avoid that package and configure the\MessageBreak + section titles of your document using the KOMA-Script\MessageBreak + user interface, e.g., \string\chapterlinesformat,\MessageBreak + \string\RedeclareSectionCommand\space etc. or you should ask\MessageBreak + the `sectsty' maintainer for a more compatible release.\MessageBreak + Ignoring this warning could result in several error\MessageBreak + messages and formatting issues after loading package\MessageBreak + `sectsty'% + }% + }% +} +%</!letter> +% \end{macrocode} +% +% \changes{v3.25}{2017/11/21}{Usage of \textsf{tocbibind} not recommended}%^^A % \textsf{tocbibind} does several things, that break \KOMAScript, i.e.: % \begin{itemize} % \item usage of \cs{MakeUppercase} within running heads, @@ -964,7 +997,7 @@ %</!letter> % \end{macrocode} % -% \changes{v3.26}{2018/07/18}{Usage of \textsf{tocloft} not recommended}^^A +% \changes{v3.26}{2018/07/18}{Usage of \textsf{tocloft} not recommended}%^^A % \textsf{tocloft} does redefine \cs{tableofcontents}, \cs{listoffigures}, % \cs{listoftables}, \cs{l@part} \dots{} \cs{l@subparagraph} and breaks % \KOMAScript, i.e.: @@ -1005,18 +1038,18 @@ %</!letter> %</class> % \end{macrocode} -% \selectlanguage{ngerman}^^A -% \end{macro}^^A \scr@package@not@recommended +% \selectlanguage{ngerman}%^^A +% \end{macro}%^^A \scr@package@not@recommended % -% \subsection{Workarounds für fremde Pakete} +% \subsection{Workarounds für fremde Pakete} % \label{sec:packageworkarounds} % % \changes{v3.23}{2017/02/04}{\textsf{minitoc} verursacht ein schwerwiegendes -% Problem}^^A +% Problem}%^^A % Das Paket \textsf{minitoc} verursacht ein schwerwiegendes Problem indem es % \cs{@sect} hart umdefiniert, ohne zuvor zu testen, ob die Definition den % Erwartungen entspricht. Ich werde hier einmal versuchen, mich darum herum zu -% lavieren. Eine wirklich gute Lösung ist das sicher nicht. Man sollte das +% lavieren. Eine wirklich gute Lösung ist das sicher nicht. Man sollte das % Paket schlicht besser nicht mit \KOMAScript{} zusammen verwenden. % \begin{macrocode} %<*class> @@ -1118,15 +1151,16 @@ % \end{macrocode} % % \changes{v3.13a}{2014/10/09}{\textsf{titlesec} hat ein schwerwiegendes -% Problem}^^A +% Problem}%^^A % Das Paket \textsf{titlesec} hat ein schwerwiegendes Problem, wenn -% Überschriften nicht per \cs{@startsection} definiert sind. Ich werde hier -% einmal versuchen, mich darum herum zu lavieren. Eine wirklich gute Lösung +% Ãœberschriften nicht per \cs{@startsection} definiert sind. Ich werde hier +% einmal versuchen, mich darum herum zu lavieren. Eine wirklich gute Lösung % ist das sicher nicht. Man sollte das Paket schlicht besser nicht mit % \KOMAScript{} zusammen verwenden. % \begin{macrocode} %<*class> %<*!letter> +%<*ignorethis> \BeforePackage{titlesec}{% \let\scr@ttl@saved@section\section \let\scr@ttl@saved@subsection\subsection @@ -1134,15 +1168,31 @@ \let\scr@ttl@saved@paragraph\paragraph \let\scr@ttl@saved@subparagraph\subparagraph } +%</ignorethis> \AfterPackage{titlesec}{% % \end{macrocode} % Hack getestet mit \textsf{titlesec} 2011/12/15 v2.10.0 bis 2016/03/21 % v2.10.2. Daher bis zu diesem Datum freigeschaltet. -% \changes{v3.20}{2016/03/22}{\textsf{titlesec}-Hack auch für Version -% 2016/03/15}^^A -% \changes{v3.20}{2016/03/24}{\textsf{titlesec}-Hack auch für Version -% 2016/03/21}^^A +% \changes{v3.20}{2016/03/22}{\textsf{titlesec}-Hack auch für Version +% 2016/03/15}%^^A +% \changes{v3.20}{2016/03/24}{\textsf{titlesec}-Hack auch für Version +% 2016/03/21}%^^A +% \selectlanguage{english}%^^A +% \changes{v3.27}{2019/07/23}{\textsf{titlesec} does not support KOMA-Script +% classes}%^^A +% After several years \textsf{titlesec} still does not really support +% \KOMAScript{} classes and \KOMAScript{} would still need an ugly hack using +% internal \texttt{titlesec} macros and deactivating several features of +% \KOMAScript{} to make the package work. So IMO the better solution is to +% remove such hacks from the \KOMAScript{} classes. Maybe the +% \textsf{titlesec} author will support the \KOMAScript{} classes in some +% future, maybe not. Maybe \textsf{scrhack} will provide an ugly workaround to +% make \texttt{titlesec} work in any kind with \KOMAScript{} classes. But the +% classes are the wrong place to provide such hacks. However, if you need such +% a hack, see the following code, that is not longer used or supported or copy +% the section commands code from a standard class. % \begin{macrocode} +%<*ignorethis> \@ifpackagelater{titlesec}{2016/03/22}{% \ClassInfo{\KOMAClassName}{% Deactivating the `titlesec' workaround,\MessageBreak @@ -1202,7 +1252,35 @@ \let\scr@ttl@saved@subparagraph\relax \let\scr@ttl@@extract\relax }% +%</ignorethis> + \@ifpackagelater{titlesec}{2019/07/17}{% + \ClassInfo{\KOMAClassName}{Unknown `titesec' release.\MessageBreak + Cross your fingers, that is compatible% + }% + }{% + \scr@class@titlesec@warning + }% } +\providecommand*{\scr@class@titlesec@warning}{% + \ClassWarning{\KOMAClassName}{% + Usage of this version of package `titlesec'\MessageBreak + with KOMA-Script class `\KOMAClassName' is\MessageBreak + not recommended, because the package does not\MessageBreak + support KOMA-Script classes, but break them.\MessageBreak + If you want to use `titlesec' with KOMA-Script\MessageBreak + classes instead of using the KOMA-Script's\MessageBreak + user interface to configure the headings of\MessageBreak + parts, +%<!article> chapters, sections +%<article> sections, subsections + ... subparagraphs,\MessageBreak + please ask the author of `titlesec' for support.\MessageBreak + Expect errors like:\MessageBreak + \space\space- ``Illegal unit of measure (pt inserted).''\MessageBreak + \space\space- ``Missing number, treated as zero''\MessageBreak + after loading `titlesec'% + }% +} %</!letter> %</class> % \end{macrocode} |