% ======================================================================
% common-7.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-7.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-7.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{Erkennung von rechten und linken Seiten}
\seclabel{oddOrEven}%
\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi%
\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++++++++ nicht maincls +
Es gilt sinngemäß, was in \autoref{sec:maincls.oddOrEven} geschrieben
wurde.
\else %------------------------------------------------------- nur maincls -
\BeginIndex{}{Seiten>gerade}%
\BeginIndex{}{Seiten>ungerade}%

Bei doppelseitigen Dokumenten wird zwischen linken und rechten Seiten
unterschieden. Dabei hat eine linke Seite immer eine gerade Nummer und eine
rechte Seite immer eine ungerade Nummer. %
\IfCommon{maincls}{Die Erkennung von rechten und linken Seiten ist damit
  gleichbedeutend mit der Erkennung von Seiten mit gerader oder ungerader
  Nummer. In \iffree{dieser Anleitung}{diesem Buch} ist vereinfachend von
  ungeraden und geraden Seiten die Rede.%

% Umbruchkorrekturtext
  \iftrue%
  Bei einseitigen Dokumenten existiert die Unterscheidung zwischen linken und
  rechten Seiten nicht. Dennoch gibt es natürlich auch bei einseitigen
  Dokumenten sowohl Seiten mit gerader als auch Seiten mit ungerader Nummer.%
  \fi}%
\IfCommon{scrlttr2}{In der Regel werden Briefe einseitig
gesetzt. Sollen Briefe mit einseitigem Layout jedoch auf Vorder- und Rückseite
gedruckt, oder ausnahmsweise tatsächlich doppelseitige Briefe erstellt werden,
kann unter Umständen das Wissen, ob man sich auf einer Vorder- oder einer
Rückseite befindet, nützlich sein.}%

\begin{Declaration}
  \Macro{ifthispageodd}\Parameter{Dann-Teil}\Parameter{Sonst-Teil}
\end{Declaration}%
\BeginIndex{Cmd}{ifthispageodd}%
Will man bei \KOMAScript{} feststellen, ob ein Text auf einer geraden oder
einer ungeraden Seite ausgegeben wird, so verwendet man die Anweisung
\Macro{ifthispageodd}. Dabei wird das Argument \PName{Dann-Teil} nur dann
ausgeführt, wenn man sich gerade auf einer ungeraden Seite
befindet. Anderenfalls kommt das Argument \PName{Sonst-Teil} zur Anwendung.

\begin{Example}
  Angenommen, Sie wollen einfach nur ausgeben, ob ein Text auf einer geraden
  oder ungeraden Seite ausgegeben wird. Sie könnten dann beispielsweise mit
  der Eingabe
  % Satzkorrektur: listings
  \begin{lstcode}[belowskip=-\baselineskip]
  Dies ist eine Seite mit 
  \ifthispageodd{un}{}gerader Seitenzahl.
  \end{lstcode}
  \iffree{}{mit leerem \PName{Sonst-Teil} }% Umbruchkorrekturtext!!!
  die Ausgabe
  \begin{quote}
    Dies ist eine Seite mit \ifthispageodd{un}{}gerader Seitenzahl.
  \end{quote}
  erhalten.\iffree{ Beachten Sie, dass in diesem Beispiel das Argument
  \PName{Sonst-Teil} leer geblieben ist.}{}% Umbruchkorrekturtext!!!
\end{Example}

Da die Anweisung \Macro{ifthispageodd} mit einem Mechanismus arbeitet, der
einem Label und einer Referenz darauf sehr ähnlich ist, werden nach jeder
Textänderung mindestens zwei \LaTeX-Durchläufe benötigt. Erst dann ist die
Entscheidung korrekt. Im ersten Durchlauf wird für die
Entscheidung eine Heuristik verwendet.

Näheres zur Problematik der Erkennung von linken und rechten Seiten oder
geraden und ungeraden Seitennummern ist für Experten in
\autoref{sec:maincls-experts.addInfos},
\autopageref{desc:maincls-experts.cmd.ifthispageodd} zu finden.%
%
\EndIndex{Cmd}{ifthispageodd}%
%
\EndIndex{}{Seiten>ungerade}%
\EndIndex{}{Seiten>gerade}
\fi %**************************************************** Ende nur maincls *


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