You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
720 lines
23 KiB
720 lines
23 KiB
% \CheckSum{224}
|
|
% \iffalse meta-comment
|
|
% ======================================================================
|
|
% scrkernel-compatibility.dtx
|
|
% Copyright (c) Markus Kohm, 2006-2020
|
|
%
|
|
% This file is part of the LaTeX2e KOMA-Script bundle.
|
|
%
|
|
% This work may be distributed and/or modified under the conditions of
|
|
% the LaTeX Project Public License, version 1.3c of the license.
|
|
% The latest version of this license is in
|
|
% http://www.latex-project.org/lppl.txt
|
|
% and version 1.3c or later is part of all distributions of LaTeX
|
|
% version 2005/12/01 or later and of this work.
|
|
%
|
|
% This work has the LPPL maintenance status "author-maintained".
|
|
%
|
|
% The Current Maintainer and author of this work is Markus Kohm.
|
|
%
|
|
% This work consists of all files listed in manifest.txt.
|
|
% ----------------------------------------------------------------------
|
|
% scrkernel-compatibility.dtx
|
|
% Copyright (c) Markus Kohm, 2006-2020
|
|
%
|
|
% 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-compatibility.dtx 3492 2020-06-02 09:02:18Z kohm $
|
|
%<identify>%%% (run: identify)
|
|
%<init>%%% (run: init)
|
|
%<option>%%% (run: option)
|
|
%<body>%%% (run: body)
|
|
%<*dtx>
|
|
% \fi
|
|
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
|
|
\begingroup
|
|
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
|
|
\filedate$Date: 2020-06-02 11:02:18 +0200 (Tue, 02 Jun 2020) $
|
|
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
|
|
\filerevision$Revision: 1638 $
|
|
\edef\reserved@a{%
|
|
\noexpand\endgroup
|
|
\noexpand\ProvidesFile{scrkernel-compatibility.dtx}%
|
|
[\filedate\space\filerevision\space
|
|
KOMA-Script source
|
|
(compatibility)]
|
|
}%
|
|
\reserved@a
|
|
% \iffalse
|
|
\documentclass{scrdoc}
|
|
\usepackage[english,ngerman]{babel}
|
|
\CodelineIndex
|
|
\RecordChanges
|
|
\GetFileInfo{scrkernel-compatibility.dtx}
|
|
\title{\KOMAScript{} \partname\ \texttt{\filename}%
|
|
\footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
|
|
\date{\filedate}
|
|
\author{Markus Kohm}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
\tableofcontents
|
|
\DocInput{\filename}
|
|
\end{document}
|
|
%</dtx>
|
|
% \fi
|
|
%
|
|
% \selectlanguage{ngerman}
|
|
%
|
|
% \changes{v2.95}{2006/03/16}{%
|
|
% erste Version aus der Aufteilung von \textsf{scrclass.dtx}}
|
|
%
|
|
%
|
|
% \section{Kompatibilität mit den Standardklassen oder
|
|
% zu früheren Versionen}
|
|
%
|
|
% \KOMAScript{} ist bezüglich der Anwenderschnittstelle von vornherein
|
|
% aufwärtskompatibel mit den Standardklassen. Allerdings unterscheiden sich
|
|
% diverse Voreinstellungen doch sehr erheblich von denen der
|
|
% Standardklassen. In Zukunft soll man beim Laden der Klassen (nicht jedoch
|
|
% später!) mit Option \texttt{emulatestandardclasses} die Voreinstellungen
|
|
% anpassen können. Dabei wird jedoch nicht komplette Umbruchkompatibilität mit
|
|
% den Standardklassen erreicht, sondern nur einige Einstellungen werden
|
|
% angepasst.
|
|
%
|
|
%
|
|
% Manchmal ist es sinnvoll, dass sich eine neue Version von \KOMAScript{}
|
|
% etwas anders verhält als frühere Versionen. Gleichzeitig ist es aber für den
|
|
% Anwender manchmal auch notwendig, dass sich neue Versionen ganz genau so
|
|
% verhalten wie frühere. Daher wird eine Option geboten, mit der man die
|
|
% Kompatibilität selbst steuern kann. Voreingestellt ist jeweils maximale
|
|
% Kompatibilität.
|
|
%
|
|
% \StopEventually{\PrintIndex\PrintChanges}
|
|
%
|
|
%
|
|
% \subsection{Optionen für die Kompatibilität mit den Standardklassen}
|
|
% Hier gibt es derzeit nur eine Option, die nur beim Laden aber nicht zur
|
|
% Laufzeit verwendet werden kann:
|
|
%
|
|
% \begin{option}{emulatestandardclasses}
|
|
% \changes{v3.12}{2013/11/11}{Neue Option}%^^A
|
|
% \changes{v3.20}{2016/02/16}{\texttt{headings!=standardclasses} auch für
|
|
% \textsf{scrartcl}}%^^A
|
|
% Diese Option muss sich auf diverse andere Einstellungen auswirken und
|
|
% sollte deshalb so früh wie möglich verwendet werden. Vieles ändert sie
|
|
% sofort, manches aber auch erst später.
|
|
% \begin{macro}{\if@scr@emulatestandardclasses}
|
|
% \changes{v3.12}{2013/11/11}{Neuer Schalter (intern)}%^^A
|
|
% Für die späteren Änderungen wird ein Schalter benötigt, der jedoch nicht
|
|
% wie gewohnt geändert werden kann.
|
|
% \begin{macrocode}
|
|
%<*option&class&!letter>
|
|
\newif\if@scr@emulatestandardclasses
|
|
\let\scr@emulatestandardclassestrue\relax
|
|
\let\scr@emulatestandardclassesfalse\relax
|
|
\DeclareOption{emulatestandardclasses}{%
|
|
\let\if@scr@emulatestandardclasses\iftrue
|
|
\KOMAExecuteOptions{%
|
|
fontsize=10pt,%
|
|
%<article|book|report> headings=standardclasses,%
|
|
cleardoublepage=current
|
|
}%
|
|
\newcommand*{\defaultpapersize}{letter}%
|
|
\AtEndOfClass{%
|
|
\setkomafont{descriptionlabel}{\bfseries}%
|
|
\setkomafont{dictum}{\normalfont\small}%
|
|
\setkomafont{caption}{}%
|
|
\setkomafont{captionlabel}{}%
|
|
\setcapindent{0pt}%
|
|
\RequirePackage[pagestyleset=standard,markcase=upper]{scrlayer-scrpage}%
|
|
\PreventPackageFromLoading{scrpage2}%
|
|
\setkomafont{pagenumber}{\normalfont}%
|
|
\setkomafont{pageheadfoot}{\normalfont}%
|
|
\cfoot[\pagemark]{}%
|
|
%<article|report> \pagestyle{plain}%
|
|
}%
|
|
}
|
|
%</option&class&!letter>
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \end{option}
|
|
%
|
|
%
|
|
% \subsection{Option für die Kompatibilität zu früheren Versionen}
|
|
% Die gesamte Kompatibilitätssteuerung erfolgt mit einer einzigen Option, bei
|
|
% der man angibt, zu welcher Version Kompatibilität hergestellt werden
|
|
% soll. Dies bedeutet ggf. dann auch, dass einzelne neuere Möglichkeiten nicht
|
|
% zur Verfügung stehen.
|
|
% \changes{v3.01b}{2008/12/09}{Kompatibilitätseinstellungen werden in Paketen
|
|
% nur definiert, wenn sie noch nicht vorhanden sind}%^^A
|
|
%
|
|
% \begin{option}{version}
|
|
% \changes{v2.9u}{2005/03/05}{Neue Option}%^^A
|
|
% \changes{v2.95}{2006/03/16}{Option kann nur beim Laden der Klasse gesetzt
|
|
% werden}%^^A
|
|
% \begin{macro}{\scr@compatibility}
|
|
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
|
|
% \changes{v3.01a}{2008/11/20}{Voreinstellung auf \textit{last} geändert}
|
|
% \begin{macro}{\scr@ta@compatibility}
|
|
% \changes{v3.01b}{2008/12/09}{Neues Macro}%^^A
|
|
% In einigen Fällen sind Verbesserungen nicht kompatibel mit früheren
|
|
% Versionen. Deshalb sind solche Verbesserungen nur verfügbar, wenn mit diesem
|
|
% Schalter die neue Version ausgewählt wird. Aber es gilt: Entweder kompatibel
|
|
% oder in allen Dingen neu. Mischmasch machen wir nicht. Die aktuell
|
|
% eingestellte Kompatibilität wird in \cs{scr@compatibility} als Zahl
|
|
% gespeichert. In den Makros \cs{scr@v@\emph{Version}} werden die
|
|
% zugehörigen Nummern gespeichert.
|
|
% \begin{macrocode}
|
|
%<*init>
|
|
%<class>\newcommand*
|
|
%<package>\providecommand*
|
|
{\scr@compatibility}{\scr@v@last}
|
|
%<typearea>\newcommand*{\scr@ta@compatibility}{\scr@compatibility}
|
|
%</init>
|
|
%<*option>
|
|
\KOMA@key{version}[last]{%
|
|
\scr@ifundefinedorrelax{scr@v@#1}{%
|
|
\def\scr@compatibility{0}%
|
|
%<class> \ClassWarningNoLine{\KOMAClassName}{%
|
|
%<*package>
|
|
\PackageWarningNoLine{%
|
|
%<extend> scrextend%
|
|
%<typearea> typearea%
|
|
%<letter> scrletter%
|
|
}{%
|
|
%</package>
|
|
You have set option `version' to value `#1', but\MessageBreak
|
|
this value of version is not supported.\MessageBreak
|
|
Because of this, version was set to `first'%
|
|
}%
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@replacevalue{.%
|
|
%<class> \KOMAClassFileName
|
|
%<package&extend> scrextend.\scr@pkgextension
|
|
%<package&typearea> typearea.\scr@pkgextension
|
|
%<package&letter> scrletter.\scr@pkgextension
|
|
}{version}{first}%
|
|
}{%
|
|
%<class> \ClassInfoNoLine{\KOMAClassName}{%
|
|
%<*package>
|
|
\PackageInfoNoLine{%
|
|
%<extend> scrextend%
|
|
%<typearea> typearea%
|
|
%<letter> scrletter%
|
|
}{%
|
|
%</package>
|
|
Switching compatibility level to `#1'%
|
|
}%
|
|
%<class|extend|letter> \edef\scr@compatibility{\@nameuse{scr@v@#1}}%
|
|
%<typearea> \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}%
|
|
\FamilyKeyStateProcessed
|
|
\KOMA@kav@xreplacevalue{.%
|
|
%<class> \KOMAClassFileName
|
|
%<package&extend> scrextend.\scr@pkgextension
|
|
%<package&typearea> typearea.\scr@pkgextension
|
|
%<package&letter> scrletter.\scr@pkgextension
|
|
}{version}{#1}%
|
|
}%
|
|
}
|
|
%<class>\KOMA@kav@add{.\KOMAClassFileName}{version}{last}
|
|
% \end{macrocode}
|
|
% Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim
|
|
% Laden gesetzt werden. Danach geht es nicht mehr. Ausnahmsweise wird hier
|
|
% auch nicht mit \cs{FamilyKeyState} signalisiert, sondern direkt ein Fehler
|
|
% ausgegeben.
|
|
% \begin{macrocode}
|
|
%<class>\AtEndOfClass{%
|
|
%<package>\AtEndOfPackage{%
|
|
\KOMA@key{version}[]{%
|
|
%<class> \ClassError{\KOMAClassName}{%
|
|
%<*package>
|
|
\PackageError{%
|
|
%<extend> scrextend%
|
|
%<typearea> typearea%
|
|
%<letter> scrletter%
|
|
}{%
|
|
%</package>
|
|
Option `version' too late%
|
|
}{%
|
|
Option `version' may be set only while loading the
|
|
%<class> class.\MessageBreak
|
|
%<package> package.\MessageBreak
|
|
But you've tried to set it up later.%
|
|
}%
|
|
\FamilyKeyStateProcessed
|
|
}%
|
|
}
|
|
%</option>
|
|
% \end{macrocode}
|
|
%
|
|
% \begin{macrocode}
|
|
%<*init>
|
|
% \end{macrocode}
|
|
% \begin{macro}{\scr@v@first}
|
|
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.9}
|
|
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.9t}
|
|
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.95}
|
|
% \changes{v2.95}{2006/03/23}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.95a}
|
|
% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.95b}
|
|
% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.96}
|
|
% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.96a}
|
|
% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.97}
|
|
% \changes{v2.97}{2007/03/02}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.97a}
|
|
% \changes{v2.97a}{2007/03/07}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.97b}
|
|
% \changes{v2.97b}{2007/03/25}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.97c}
|
|
% \changes{v2.97c}{2007/05/12}{Neues Macro}%^^A
|
|
% \changes{v2.97d}{2007/10/09}{Wert geändert}%^^A
|
|
% \begin{macro}{\scr@v@2.97d}
|
|
% \changes{v2.97d}{2007/10/03}{Neues Macro}%^^A
|
|
% \changes{v2.97d}{2007/10/09}{Wert geändert}%^^A
|
|
% \begin{macro}{\scr@v@2.97e}
|
|
% \changes{v2.97e}{2007/11/27}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.98}
|
|
% \changes{v2.98}{2007/12/24}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.98a}
|
|
% \changes{v2.98a}{2008/01/08}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.98b}
|
|
% \changes{v2.98b}{2008/01/30}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@2.98c}
|
|
% \changes{v2.98c}{2008/02/01}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.00}
|
|
% \changes{v3.00}{2008/11/04}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.01}
|
|
% \changes{v3.01}{2008/11/14}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.01a}
|
|
% \changes{v3.01a}{2008/11/20}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.01b}
|
|
% \changes{v3.01b}{2008/11/24}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.01c}
|
|
% \changes{v3.01c}{2008/12/09}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.02}
|
|
% \changes{v3.02}{2009/01/01}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.02b}
|
|
% \changes{v3.02b}{2009/01/24}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.02c}
|
|
% \changes{v3.02c}{2009/01/28}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.03}
|
|
% \changes{v3.03}{2009/04/01}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.03a}
|
|
% \changes{v3.03a}{2009/04/02}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.03b}
|
|
% \changes{v3.03b}{2009/04/12}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.04}
|
|
% \changes{v3.04}{2009/07/07}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.05}
|
|
% \changes{v3.05}{2009/07/08}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.04a}
|
|
% \changes{v3.04a}{2009/07/24}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.05a}
|
|
% \changes{v3.05a}{2010/03/10}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.06}
|
|
% \changes{v3.06}{2010/06/17}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.07}
|
|
% \changes{v3.07}{2010/09/14}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.08}
|
|
% \changes{v3.08}{2010/10/28}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.08a}
|
|
% \changes{v3.08a}{2011/01/25}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.08b}
|
|
% \changes{v3.08b}{2011/02/22}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.09}
|
|
% \changes{v3.09}{2011/04/02}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.09a}
|
|
% \changes{v3.09a}{2011/04/12}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.10}
|
|
% \changes{v3.10}{2011/08/30}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.10a}
|
|
% \changes{v3.10a}{2012/03/08}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.10b}
|
|
% \changes{v3.10b}{2012/03/13}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.11}
|
|
% \changes{v3.11}{2012/05/15}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.11a}
|
|
% \changes{v3.11a}{2012/05/25}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.11b}
|
|
% \changes{v3.11b}{2012/07/29}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.12}
|
|
% \changes{v3.12}{2013/03/05}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.13}
|
|
% \changes{v3.13}{2014/03/19}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.13a}
|
|
% \changes{v3.13a}{2014/08/07}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.14}
|
|
% \changes{v3.14}{2014/10/28}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.15}
|
|
% \changes{v3.15}{2014/11/20}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.16}
|
|
% \changes{v3.16}{2015/02/08}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.17}
|
|
% \changes{v3.17}{2015/02/08}{Neues Macro}%^^A
|
|
% \begin{macro}{\scr@v@3.17a}
|
|
% \changes{v3.17a}{2015/05/06}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.17c}
|
|
% \changes{v3.17c}{2015/05/13}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.18}
|
|
% \changes{v3.18}{2015/05/14}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.18a}
|
|
% \changes{v3.18a}{2015/07/03}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.19}
|
|
% \changes{v3.19}{2015/07/26}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.19a}
|
|
% \changes{v3.19a}{2015/10/03}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.20}
|
|
% \changes{v3.20}{2015/10/06}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.21}
|
|
% \changes{v3.21}{2016/05/19}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.22}
|
|
% \changes{v3.22}{2016/07/29}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.23}
|
|
% \changes{v3.23}{2017/02/04}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.23}
|
|
% \changes{v3.24}{2017/04/22}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.25}
|
|
% \changes{v3.25}{2017/09/07}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.26}
|
|
% \changes{v3.26}{2018/03/31}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.26a}
|
|
% \changes{v3.26a}{2018/12/30}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.26b}
|
|
% \changes{v3.26b}{2018/12/30}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.27}
|
|
% \changes{v3.27}{2019/02/02}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.27a}
|
|
% \changes{v3.27a}{2019/10/13}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.28}
|
|
% \changes{v3.28}{2019/11/20}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.29}
|
|
% \changes{v3.29}{2020/01/06}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.30}
|
|
% \changes{v3.30}{2020/02/24}{Neues Macro}
|
|
% \begin{macro}{\scr@v@3.31}
|
|
% \changes{v3.31}{2020/04/26}{Neues Macro}
|
|
% \begin{macro}{\scr@v@last}
|
|
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
|
|
% Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die
|
|
% höchste vorhandene Nummer):
|
|
% \begin{macrocode}
|
|
\@namedef{scr@v@first}{0}
|
|
\@namedef{scr@v@2.9}{0}
|
|
\@namedef{scr@v@2.9t}{0}
|
|
\@namedef{scr@v@2.9u}{1}
|
|
\@namedef{scr@v@2.95}{2}
|
|
\@namedef{scr@v@2.95a}{2}
|
|
\@namedef{scr@v@2.95b}{2}
|
|
\@namedef{scr@v@2.96}{2}
|
|
\@namedef{scr@v@2.96a}{3}
|
|
\@namedef{scr@v@2.97}{3}
|
|
\@namedef{scr@v@2.97a}{3}
|
|
\@namedef{scr@v@2.97b}{3}
|
|
\@namedef{scr@v@2.97c}{4}
|
|
\@namedef{scr@v@2.97d}{5}
|
|
\@namedef{scr@v@2.97e}{6}
|
|
\@namedef{scr@v@2.98}{6}
|
|
\@namedef{scr@v@2.98a}{6}
|
|
\@namedef{scr@v@2.98b}{6}
|
|
\@namedef{scr@v@2.98c}{7}
|
|
\@namedef{scr@v@3.00}{8}
|
|
\@namedef{scr@v@3.01}{8}
|
|
\@namedef{scr@v@3.01a}{8}
|
|
\@namedef{scr@v@3.01b}{9}
|
|
\@namedef{scr@v@3.01c}{9}
|
|
\@namedef{scr@v@3.02}{9}
|
|
\@namedef{scr@v@3.02b}{9}
|
|
\@namedef{scr@v@3.02c}{10}
|
|
\@namedef{scr@v@3.03}{10}
|
|
\@namedef{scr@v@3.03a}{10}
|
|
\@namedef{scr@v@3.03b}{10}
|
|
\@namedef{scr@v@3.04}{10}
|
|
\@namedef{scr@v@3.04a}{10}
|
|
\@namedef{scr@v@3.05}{10}
|
|
\@namedef{scr@v@3.05a}{10}
|
|
\@namedef{scr@v@3.06}{10}
|
|
\@namedef{scr@v@3.07}{10}
|
|
\@namedef{scr@v@3.08}{10}
|
|
\@namedef{scr@v@3.08a}{10}
|
|
\@namedef{scr@v@3.08b}{10}
|
|
\@namedef{scr@v@3.09}{10}
|
|
\@namedef{scr@v@3.09a}{10}
|
|
\@namedef{scr@v@3.10}{10}
|
|
\@namedef{scr@v@3.10a}{10}
|
|
\@namedef{scr@v@3.10b}{10}
|
|
\@namedef{scr@v@3.11}{10}
|
|
\@namedef{scr@v@3.11a}{10}
|
|
\@namedef{scr@v@3.11b}{10}
|
|
\@namedef{scr@v@3.12}{11}
|
|
\@namedef{scr@v@3.13}{12}
|
|
\@namedef{scr@v@3.13a}{13}
|
|
\@namedef{scr@v@3.14}{13}
|
|
\@namedef{scr@v@3.15}{14}
|
|
\@namedef{scr@v@3.16}{14}
|
|
\@namedef{scr@v@3.17}{15}
|
|
\@namedef{scr@v@3.17a}{15}
|
|
\@namedef{scr@v@3.17c}{15}
|
|
\@namedef{scr@v@3.18}{15}
|
|
\@namedef{scr@v@3.18a}{15}
|
|
\@namedef{scr@v@3.19}{15}
|
|
\@namedef{scr@v@3.19a}{15}
|
|
\@namedef{scr@v@3.20}{15}
|
|
\@namedef{scr@v@3.21}{15}
|
|
\@namedef{scr@v@3.22}{16}
|
|
\@namedef{scr@v@3.23}{16}
|
|
\@namedef{scr@v@3.24}{16}
|
|
\@namedef{scr@v@3.25}{17}
|
|
\@namedef{scr@v@3.26}{17}
|
|
\@namedef{scr@v@3.26a}{17}
|
|
\@namedef{scr@v@3.26b}{17}
|
|
\@namedef{scr@v@3.27}{17}
|
|
\@namedef{scr@v@3.27a}{17}
|
|
\@namedef{scr@v@3.28}{17}
|
|
\@namedef{scr@v@3.29}{17}
|
|
\@namedef{scr@v@3.30}{17}
|
|
\@namedef{scr@v@3.31}{18}
|
|
\@namedef{scr@v@last}{18}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{macro}
|
|
% \end{option}
|
|
% \begin{macrocode}
|
|
%</init>
|
|
% \end{macrocode}
|
|
%
|
|
% \begin{macro}{\scr@v@is@lt}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version jünger als die angegebene ist.
|
|
% \begin{macrocode}
|
|
%<*option&(class|extend)>
|
|
\newcommand*{\scr@v@is@lt}[1]{%
|
|
\scr@compatibility<\@nameuse{scr@v@#1}
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@v@is@gt}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version älter als die angegebene ist.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@v@is@gt}[1]{%
|
|
\scr@compatibility>\@nameuse{scr@v@#1}
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@v@is@le}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version jünger als oder die angegebene ist.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@v@is@le}[1]{%
|
|
\numexpr\scr@compatibility-\@ne\relax<\@nameuse{scr@v@#1}
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@v@is@ge}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version älter als oder die angegebene ist.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@v@is@ge}[1]{%
|
|
\numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1}
|
|
}
|
|
%</option&(class|extend)>
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \begin{macro}{\scr@ta@v@is@lt}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version jünger als die angegebene ist.
|
|
% \begin{macrocode}
|
|
%<*option&package&typearea>
|
|
\newcommand*{\scr@ta@v@is@lt}[1]{%
|
|
\scr@ta@compatibility<\@nameuse{scr@v@#1}
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@ta@v@is@gt}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version älter als die angegebene ist.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@ta@v@is@gt}[1]{%
|
|
\scr@ta@compatibility>\@nameuse{scr@v@#1}
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@ta@v@is@le}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version jünger als oder die angegebene ist.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@ta@v@is@le}[1]{%
|
|
\numexpr\scr@ta@compatibility-\@ne <\@nameuse{scr@v@#1}
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
% \begin{macro}{\scr@ta@v@is@ge}
|
|
% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A
|
|
% Bedingung, dass die eingestellte Version älter als oder die angegebene ist.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@ta@v@is@ge}[1]{%
|
|
\numexpr\scr@ta@compatibility+\@ne >\@nameuse{scr@v@#1}
|
|
}
|
|
%</option&package&typearea>
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
%
|
|
% \subsection{Kompatibilität mit früheren Versionen von \textsf{scrlttr2}}
|
|
% In früheren Versionen von \textsf{scrlttr2} gab es weitere Befehle, die
|
|
% eventuell von \texttt{lco}-Dateien oder Paketen verwendet werden.
|
|
% Gemeldete Inkompatibitlitäten sind nach Möglichkeit zu lösen.
|
|
%
|
|
% \begin{macro}{\@setif}
|
|
% \changes{v2.8q}{2001/10/08}{Neu}%^^A
|
|
% \changes{v2.95}{2006/03/31}{Nur vor Version 2.95}%^^A
|
|
% Dies war ein Makro, mit dem man einen Schalter über die symbolischen
|
|
% Werte \texttt{true}, \texttt{false}, \texttt{on} und \texttt{off} setzen
|
|
% kann. Das erste, optionale Argument war der Name des Schalters ohne Präfix
|
|
% "`\texttt{if}"'. Das zweite Argument war der Name der Option und das dritte
|
|
% der gewünschte Wert. War das optionale Argument nicht gesetzt oder leer, so
|
|
% wurde der Optionenname mit einem vorangestellten "`\texttt{@}"' als Name des
|
|
% Schalters verwendet. Dieses Makro wird nun mit Hilfe von \cs{KOMA@set@ifkey}
|
|
% nachgebildet. Dadurch ist es nicht absolut fehlerkompatibel, das es nun mehr
|
|
% Werte versteht als vorher.
|
|
% \begin{macrocode}
|
|
%<*class&letter&body>
|
|
\expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility\relax
|
|
\newcommand*{\@setif}[2][]{%
|
|
\begingroup
|
|
\edef\@tempa{#1}\ifx\@tempa\@empty
|
|
\def\@tempa{\KOMA@set@ifkey{#2}{@#2}}%
|
|
\else
|
|
\def\@tempa{\KOMA@set@ifkey{#2}{#1}}%
|
|
\fi
|
|
\expandafter\endgroup\@tempa
|
|
}%
|
|
\fi
|
|
%</class&letter&body>
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \Finale
|
|
%
|
|
\endinput
|
|
%
|
|
% end of file `scrkernel-compatibility.dtx'
|
|
%%% Local Variables:
|
|
%%% mode: doctex
|
|
%%% TeX-master: t
|
|
%%% End:
|
|
|