summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/doc/common-oddorevenpage-en.tex
blob: 61908ce3a1aff8fa8182d4d9fa7185a5f7bbbfc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
% ======================================================================
% common-oddorevenpage-en.tex
% Copyright (c) Markus Kohm, 2001-2022
%
% 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.md.
% ======================================================================
%
% Paragraphs that are common for several chapters of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ======================================================================

\KOMAProvidesFile{common-oddorevenpage-en.tex}
                 [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
                  KOMA-Script guide (common paragraph: Detection of Odd and
                                     Even Pages)]
\translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen}

\section{Detecting Odd and Even Pages}
\seclabel{oddOrEven}%
\BeginIndexGroup%
\BeginIndex{}{page>odd}%
\BeginIndex{}{page>even}%

\IfThisCommonFirstRun{}{%
  The information in \autoref{sec:maincls.oddOrEven} applies equally to this
  chapter. So if you have already read and understood
  \autoref{sec:\ThisCommonFirstLabelBase.oddOrEven}, you can skip ahead to
  \autopageref{sec:\ThisCommonLabelBase.oddOrEven.next},
  \autopageref{sec:\ThisCommonLabelBase.oddOrEven.next}.%
}

In two-sided documents we distinguish left and right pages. Left pages always
have an even page number, and right pages always have an odd page number. %
\IfThisCommonLabelBase{maincls}{%
  Identifying right and left pages is equivalent to identifying even- or
  odd-numbered pages, and so we normally refer to them as even and odd pages
  in this \iffree{guide}{book}.

  % Umbruchkorrekturtext
  \iftrue%
    In one-sided documents, the distinction between left and right pages does
    not exist. Nevertheless, there are still pages with even and odd page 
    numbers.%
  \fi%
}{%
  \IfThisCommonLabelBase{scrlttr2}{%
    As a rule, letters will be set one-sided. However, if you need to print
    letters using both sides of the paper or, in exceptional cases, are
    generating real two-sided letters, it may be useful to know whether you
    are currently on an even or odd page.%
  }{}%
}


\begin{Declaration}
  \Macro{Ifthispageodd}\Parameter{true part}\Parameter{false part}
\end{Declaration}%
If\IfThisCommonLabelBase{maincls}{%
  \ChangedAt{v3.28}{\Class{scrbook}\and \Class{scrreprt}\and
    \Class{scrartcl}}%
}{%
  \IfThisCommonLabelBase{scrlttr2}{%
    \ChangedAt{v3.28}{\Class{scrlttr2}}%
  }{%
    \IfThisCommonLabelBase{scrextend}{%
      \ChangedAt{v3.28}{\Package{scrextend}}%
    }{}%
  }%
} %
you want to determine whether text appears on an even or odd page,
\KOMAScript{} provides the \Macro{Ifthispageodd} command. The \PName{true
	part} argument is executed only if you are currently on an odd page. 
Otherwise the \PName{false part} argument is executed.
%
\IfThisCommonLabelBase{scrextend}{\iffalse}{\csname iftrue\endcsname}%
\begin{Example}
  Suppose you simply want to show whether a text will be placed onto an
  even or odd page. You may achieve that
  using{\phantomsection\xmpllabel{Ifthispageodd}}
\begin{lstcode}
  This page has an \Ifthispageodd{odd}{even} 
  page number.
\end{lstcode}
  This results in the output
  \begin{quote}
    This page has an \Ifthispageodd{odd}{even} page number.
  \end{quote}
\end{Example}
\fi

Because the \Macro{Ifthispageodd} command uses a mechanism that is very
similar to a label and a reference to it, at least two {\LaTeX} runs are
required after each change to the text. Only then will the decision be
correct. In the first run, a heuristic is used to make the initial choice.

In \autoref{sec:maincls-experts.addInfos},
\DescPageRef{maincls-experts.cmd.Ifthispageodd}, advanced users can find more
information about the problems of detecting left and right pages, or even and
odd page numbers.%
\IfThisCommonLabelBase{scrextend}{%
  An example for \Macro{Ifthispageodd} is shown on
  \PageRefxmpl{maincls.Ifthispageodd} in \autoref{sec:maincls.oddOrEven}.%
}{}%
%
\EndIndexGroup
%
\EndIndexGroup

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "scrguide-en.tex"
%%% coding: utf-8
%%% ispell-local-dictionary: "en_GB"
%%% eval: (flyspell-mode 1)
%%% End: