summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-12-26 23:18:36 +0000
committerKarl Berry <karl@freefriends.org>2013-12-26 23:18:36 +0000
commit9b219d1b664067729034647a4b37626cf2bf5e26 (patch)
tree00708467b44f90736dc32ed1bebb95e9c4710139 /Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
parentc00c8298eb6913b74270a36c1f1018f1e9946f7b (diff)
koma-script (26dec13)
git-svn-id: svn://tug.org/texlive/trunk@32489 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx497
1 files changed, 497 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
new file mode 100644
index 00000000000..d98490a00ba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx
@@ -0,0 +1,497 @@
+% \CheckSum{142}
+% \iffalse meta-comment
+% ======================================================================
+% scrkernel-compatibility.dtx
+% Copyright (c) Markus Kohm, 2006-2013
+%
+% 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-2013
+%
+% 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 1512 2013-11-11 10:35:04Z mjk $
+%<*driver>
+% \fi
+\ProvidesFile{scrkernel-compatibility.dtx}[2013/11/05 v3.11b KOMA-Script
+ (compatibility)]
+% \iffalse
+\documentclass{scrdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[latin1]{inputenc}
+\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}
+%</driver>
+% \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}
+%
+% \iffalse
+%<*option>
+% \fi
+%
+% \subsection{Optionen für die Kompatibilität mit den Standardklassen}
+% Hier gibt es derzeit nur eine Optione, die nur beim Laden aber nicht zur
+% Laufzeit verwendet werden kann:
+%
+% \begin{option}{emulatestandardclasses}
+% \changes{v3.12}{2013/11/11}{Neue Option}
+% 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)}
+% Für die späteren Änderungen wird ein Schalter benötigt, der jedoch nicht
+% wie gewohnt geändert werden kann.
+% \begin{macrocode}
+%<*class&!letter>
+\newif\if@scr@emulatestandardclasses
+\let\scr@emulatestandardclassestrue\relax
+\let\scr@emulatestandardclassesfalse\relax
+\DeclareOption{emulatestandardclasses}{%
+ \let\if@scr@emulatestandardclasses\iftrue
+ \KOMAExecuteOptions{%
+ fontsize=10pt,%
+%<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}%
+ }%
+}
+%</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}
+%
+% \begin{option}{version}
+% \changes{v2.9u}{2005/03/05}{Neue Option}
+% \changes{v2.95}{2006/03/16}{Option kann nur beim Laden der Klasse gesetzt
+% werden}
+% \begin{macro}{\scr@compatibility}
+% \changes{v2.9u}{2005/03/05}{Neues Macro}
+% \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}
+% 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}
+%<class>\newcommand*
+%<package>\providecommand*
+ {\scr@compatibility}{\scr@v@last}
+%<typearea>\newcommand*{\scr@ta@compatibility}{\scr@compatibility}
+\KOMA@key{version}[last]{%
+ \scr@ifundefinedorrelax{scr@v@#1}{%
+ \def\scr@compatibility{0}%
+%<class> \ClassWarningNoLine{\KOMAClassName}{%
+%<package> \PackageWarningNoLine{%
+%<extend> scrextend%
+%<typearea> typearea%
+%<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'%
+ }%
+ }{%
+%<class> \ClassInfoNoLine{\KOMAClassName}{%
+%<package> \PackageInfoNoLine{scrextend}{%
+ Switching compatibility level to `#1'%
+ }%
+%<class|extend> \edef\scr@compatibility{\@nameuse{scr@v@#1}}%
+%<typearea> \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}%
+ \FamilyKeyStateProcessed
+ }%
+}
+% \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%
+%<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
+ }%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\scr@v@first}
+% \changes{v2.9u}{2005/03/05}{Neues Macro}
+% \begin{macro}{\scr@v@2.9}
+% \changes{v2.9u}{2005/03/05}{Neues Macro}
+% \begin{macro}{\scr@v@2.9t}
+% \changes{v2.9u}{2005/03/05}{Neues Macro}
+% \begin{macro}{\scr@v@2.95}
+% \changes{v2.95}{2006/03/23}{Neues Macro}
+% \begin{macro}{\scr@v@2.95a}
+% \changes{v2.96a}{2006/11/27}{Neues Macro}
+% \begin{macro}{\scr@v@2.95b}
+% \changes{v2.96a}{2006/11/27}{Neues Macro}
+% \begin{macro}{\scr@v@2.96}
+% \changes{v2.96a}{2006/11/27}{Neues Macro}
+% \begin{macro}{\scr@v@2.96a}
+% \changes{v2.96a}{2006/11/27}{Neues Macro}
+% \begin{macro}{\scr@v@2.97}
+% \changes{v2.97}{2007/03/02}{Neues Macro}
+% \begin{macro}{\scr@v@2.97a}
+% \changes{v2.97a}{2007/03/07}{Neues Macro}
+% \begin{macro}{\scr@v@2.97b}
+% \changes{v2.97b}{2007/03/25}{Neues Macro}
+% \begin{macro}{\scr@v@2.97c}
+% \changes{v2.97c}{2007/05/12}{Neues Macro}
+% \changes{v2.97d}{2007/10/09}{Wert geändert}
+% \begin{macro}{\scr@v@2.97d}
+% \changes{v2.97d}{2007/10/03}{Neues Macro}
+% \changes{v2.97d}{2007/10/09}{Wert geändert}
+% \begin{macro}{\scr@v@2.97e}
+% \changes{v2.97e}{2007/11/27}{Neues Macro}
+% \begin{macro}{\scr@v@2.98}
+% \changes{v2.98}{2007/12/24}{Neues Macro}
+% \begin{macro}{\scr@v@2.98a}
+% \changes{v2.98a}{2008/01/08}{Neues Macro}
+% \begin{macro}{\scr@v@2.98b}
+% \changes{v2.98b}{2008/01/30}{Neues Macro}
+% \begin{macro}{\scr@v@2.98c}
+% \changes{v2.98c}{2008/02/01}{Neues Macro}
+% \begin{macro}{\scr@v@3.00}
+% \changes{v3.00}{2008/11/04}{Neues Macro}
+% \begin{macro}{\scr@v@3.01}
+% \changes{v3.01}{2008/11/14}{Neues Macro}
+% \begin{macro}{\scr@v@3.01a}
+% \changes{v3.01a}{2008/11/20}{Neues Macro}
+% \begin{macro}{\scr@v@3.01b}
+% \changes{v3.01b}{2008/11/24}{Neues Macro}
+% \begin{macro}{\scr@v@3.01c}
+% \changes{v3.01c}{2008/12/09}{Neues Macro}
+% \begin{macro}{\scr@v@3.02}
+% \changes{v3.02}{2009/01/01}{Neues Macro}
+% \begin{macro}{\scr@v@3.02b}
+% \changes{v3.02b}{2009/01/24}{Neues Macro}
+% \begin{macro}{\scr@v@3.02c}
+% \changes{v3.02c}{2009/01/28}{Neues Macro}
+% \begin{macro}{\scr@v@3.03}
+% \changes{v3.03}{2009/04/01}{Neues Macro}
+% \begin{macro}{\scr@v@3.03a}
+% \changes{v3.03a}{2009/04/02}{Neues Macro}
+% \begin{macro}{\scr@v@3.03b}
+% \changes{v3.03b}{2009/04/12}{Neues Macro}
+% \begin{macro}{\scr@v@3.04}
+% \changes{v3.04}{2009/07/07}{Neues Macro}
+% \begin{macro}{\scr@v@3.05}
+% \changes{v3.05}{2009/07/08}{Neues Macro}
+% \begin{macro}{\scr@v@3.04a}
+% \changes{v3.04a}{2009/07/24}{Neues Macro}
+% \begin{macro}{\scr@v@3.05a}
+% \changes{v3.05a}{2010/03/10}{Neues Macro}
+% \begin{macro}{\scr@v@3.06}
+% \changes{v3.06}{2010/06/17}{Neues Macro}
+% \begin{macro}{\scr@v@3.07}
+% \changes{v3.07}{2010/09/14}{Neues Macro}
+% \begin{macro}{\scr@v@3.08}
+% \changes{v3.08}{2010/10/28}{Neues Macro}
+% \begin{macro}{\scr@v@3.08a}
+% \changes{v3.08a}{2011/01/25}{Neues Macro}
+% \begin{macro}{\scr@v@3.08b}
+% \changes{v3.08b}{2011/02/22}{Neues Macro}
+% \begin{macro}{\scr@v@3.09}
+% \changes{v3.09}{2011/04/02}{Neues Macro}
+% \begin{macro}{\scr@v@3.09a}
+% \changes{v3.09a}{2011/04/12}{Neues Macro}
+% \begin{macro}{\scr@v@3.10}
+% \changes{v3.10}{2011/08/30}{Neues Macro}
+% \begin{macro}{\scr@v@3.10a}
+% \changes{v3.10a}{2012/03/08}{Neues Macro}
+% \begin{macro}{\scr@v@3.10b}
+% \changes{v3.10b}{2012/03/13}{Neues Macro}
+% \begin{macro}{\scr@v@3.11}
+% \changes{v3.11}{2012/05/15}{Neues Macro}
+% \begin{macro}{\scr@v@3.11a}
+% \changes{v3.11a}{2012/05/25}{Neues Macro}
+% \begin{macro}{\scr@v@3.11b}
+% \changes{v3.11b}{2012/07/29}{Neues Macro}
+% \begin{macro}{\scr@v@3.12}
+% \changes{v3.12}{2013/03/05}{Neues Macro}
+% \begin{macro}{\scr@v@last}
+% \changes{v2.9u}{2005/03/05}{Neues Macro}
+% 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@last}{11}
+% \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{option}
+%
+%
+% \iffalse
+%</option>
+%<*body>
+% \fi
+%
+% \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.
+%
+% \iffalse
+%<*letter>
+% \fi
+% \begin{macro}{\@setif}
+% \changes{v2.8q}{2001/10/08}{Neu}
+% \changes{v2.95}{2006/03/31}{Nur vor Version 2.95}
+% 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}
+\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
+% \end{macrocode}
+% \end{macro}
+% \iffalse
+%</letter>
+% \fi
+%
+% \iffalse
+%</body>
+% \fi
+%
+% \Finale
+%
+\endinput
+%
+% end of file `scrkernel-compatibility.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: