% ======================================================================
% common-1.tex
% Copyright (c) Markus Kohm, 2001-2015
%
% 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.
% ----------------------------------------------------------------------
% common-1.tex
% Copyright (c) Markus Kohm, 2001-2015
%
% 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.
% ======================================================================
%
% Paragraphs that are common for several chapters of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind
% Verwaltet von Markus Kohm
%
% ======================================================================

\KOMAProvidesFile{common-1.tex}
                 [$Date: 2015-03-31 11:10:59 +0200 (Tue, 31 Mar 2015) $
                  KOMA-Script guide (common paragraphs)]

\makeatletter
\@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}%
\@ifundefined{ifCommonscrextend}{\newif\ifCommonscrextend}{}%
\@ifundefined{ifCommonscrlttr}{\newif\ifCommonscrlttr}{}%
\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}%
\makeatother


\section{Kompatibilität zu früheren Versionen von \KOMAScript}
\seclabel{compatibilityOptions}
\ifshortversion\IgnoreThisfalse\IfNotCommon{typearea}{\IgnoreThistrue}\fi%
\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht typearea +
Es gilt sinngemäß, was in \autoref{sec:typearea.compatibilityOptions}
geschrieben wurde. \IfCommon{scrlttr2}{Allerdings existiert diese Möglichkeit
  bei \Class{scrlttr2} bereits seit Version~2.9t}.  
\else %------------------------------------------------------- nur typearea -
\BeginIndex{}{Kompatibilität}

\IfCommon{typearea}{Wer seine Dokumente im Quellcode archiviert, legt in der
  Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer
  wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen führen aber
  Verbesserungen und Korrekturen am Paket zu Änderungen im Verhalten,
  inbesondere beim Umbruch. Dies ist jedoch manchmal eher unerwünscht.}%
\IfCommon{maincls}{Wer seine Dokumente im Quellcode archiviert, legt in der
  Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer
  wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen führen aber
  Verbesserungen und Korrekturen am Paket zu unerwünschten Änderungen im
  Verhalten und insbesondere bezüglich des Umbruchs.}%
\IfCommon{scrextend}{Wer seine Dokumente im Quellcode archiviert, legt in der
  Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer
  wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber
  so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im
  Verhalten, inbesondere beim Umbruch, führen.}%
\IfCommon{scrlttr2}{In einigen Fällen ist es so, dass Verbesserungen und
  Korrekturen an der Klasse zu Änderungen im Verhalten, inbesondere beim
  Umbruch, führen. Dies ist jedoch nicht immer erwünscht.}%


\begin{Declaration}
  \KOption{version}\PName{Wert}\\
  \XOptionValue{version}{first}\\
  \XOptionValue{version}{last}
\end{Declaration}
\BeginIndex{Option}{version}%
\BeginIndex{Option}{version~=\PName{Wert}}%
\BeginIndex{Option}{version~=\PValue{last}}%
\BeginIndex{Option}{version~=\PValue{first}}%
\IfNotCommon{scrextend}{Seit }%
\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}%
\ChangedAt{v2.9t}{\Class{scrlttr2}}%
\ChangedAt{v3.01b}{\Package{typearea}}%
\IfCommon{typearea}{\ifshortversion 
    Version~2.96a besteht bei \KOMAScript, bei \Class{scrlttr2} bereits seit
    Version~2.9t und bei \Package{typearea} erst seit Version~3.01b,
  \else 
    Version~3.01b besteht bei \Package{typearea}
  \fi
}%
\IfCommon{maincls}{Version~2.96a besteht bei \KOMAScript\ }%
\IfCommon{scrlttr2}{Version~2.9t besteht bei \Class{scrlttr2} }%
\IfCommon{scrextend}{Bei \Package{scrextend} besteht }%
die Wahl, ob eine Quelldatei soweit irgend möglich auch zukünftig bei einem
\LaTeX{}-Lauf zu exakt demselben Ergebnis führen soll oder ob jeweils
entsprechend der Anpassungen der neusten Version\IfCommon{maincls}{ der
  Klasse}\IfCommon{scrlttr2}{ der Klasse} zu setzen ist. Zu welcher Version
Kompatibilität herzustellen ist, wird dabei über die Option \Option{version}
festgelegt. Kompatibilität zur ältesten unterstützten \KOMAScript-Version kann
mit \OptionValue{version}{first}\important{\OptionValue{version}{first}}
oder \OptionValue{version}{2.9} oder \OptionValue{version}{2.9t}
erreicht werden. Bei Angabe einer unbekannten Version als \PName{Wert} wird
eine Warnung ausgegeben und sicherheitshalber \OptionValue{version}{first}
angenommen. 

Mit \OptionValue{version}{last}
kann die jeweils neuste Version ausgewählt werden. In diesem Fall wird also
auf zukünftige Kompatibilität verzichtet. Wird die Option ohne Wertangabe
verwendet, so wird ebenfalls \PValue{last}
angenommen. \ChangedAt{v3.01a}{\Class{scrbook}\and \Class{scrreprt}\and
  \Class{scrartcl}\and \Class{scrlttr2}\and \Package{scrextend}}Dies
entspricht auch der Voreinstellung, solange keine obsolete Option verwendet
wird. 

Bei\textnote{Achtung!} der Verwendung einer obsoleten Option von
\KOMAScript~2 setzt \KOMAScript~3 automatisch \OptionValue{version}{first}. In
der dabei ausgegebenen Warnung wird erklärt, wie man diese
Kompatibilitätsumschaltung verhindern kann. Alternativ kann man auch nach der
obsoleten Option selbst eine abweichende Einstellung für Option
\Option{version} wählen.

Die Frage der Kompatibilität betrifft in erster Linie Fragen des
Umbruchs. Neue Möglichkeiten, die sich nicht auf den Umbruch auswirken, sind
auch dann verfügbar, wenn man per Option die Kompatibilität zu einer älteren
Version ausgewählt hat. Die Option hat keine Auswirkungen auf
Umbruchänderungen, die bei Verwendung einer neueren Version durch Beseitigung
eindeutiger Fehler entstehen. Wer\textnote{Tipp!} auch im Fehlerfall
unbedingte Umbruchkompatibilität benötigt, sollte stattdessen mit dem Dokument
auch die verwendete \KOMAScript-Version archivieren.

\IfCommon{scrlttr2}{\begin{Example}
  Die Beispielbriefe dieses Kapitels sollen alle Möglichkeiten nutzen, die in
  der neusten Version von \KOMAScript{} zur Verfügung stehen. Dazu muss beim
  Laden der Klasse die Kompatibilität entsprechend gesetzt werden:%
  \lstinputcode[xleftmargin=1em,lastline=1]{letter-0.tex}%
  \iftrue% Umbruchkorrektur
    Hier wurde einfach mit dem symbolischen Wert \PValue{last} die neuste
    Version gewählt.%
  \else%
    Um nicht bei jeder neuen Version eine neue Versionsnummer angeben zu
    müssen, wurde hier die Möglichkeit des symbolischen Wertes \PValue{last}
    gewählt.%
  \fi
\end{Example}}

Es\textnote{Achtung!} ist zu beachten, dass die Option \Option{version} nach
dem Laden %
\IfCommon{maincls}{der Klasse }%
\IfCommon{scrlttr2}{der Klasse }%
\IfCommon{typearea}{des Pakets \Package{typearea} }%
\IfCommon{scrextend}{des Pakets \Package{scrextend} }%
nicht mehr verändert werden kann. 
Das Setzen mit \Macro{KOMAoptions} oder
\Macro{KOMAoption} ist 
% Umbruchkorrektur!!!!
\IfNotCommon{scrlttr2}{\IfNotCommon{typearea}{für diese Option }}%
daher nicht vorgesehen.%
%
\EndIndex{Option}{version~=\PName{Wert}}%
\EndIndex{Option}{version~=\PValue{first}}%
\EndIndex{Option}{version~=\PValue{last}}%
\EndIndex{Option}{version}%
%
\EndIndex{}{Kompatibilität}

\fi % *************************************************** Ende nur typearea *


%%% Local Variables:
%%% mode: latex
%%% coding: iso-latin-1
%%% TeX-master: "../guide"
%%% End:
