
Ich möchte Folgendes einfügen:
- etwas Text auf der Außenseite der Seite,
- etwas weiterer Text auf der Innenseite der Seite.
Dazu verwende ich den vom Paket bereitgestellten ( \checkoddpage
) -Test . Das funktioniert ziemlich gut, außer wenn sich herausstellt, dass auf der aktuellen Seite, auf der der Code eingefügt wird, nicht mehr genügend Platz übrig ist, wie das folgende MWE zeigt (die ersten beiden sind in Ordnung, die letzten beiden nicht).\ifoddpage
changepage
\documentclass{book}
\usepackage[inner=10mm,outer=30mm]{geometry}
\usepackage[strict]{changepage}
\newcommand{\onouterside}{%
\begin{minipage}[t]{0.3\linewidth}
Some text supposed to be on the outer side.
\end{minipage}
}
\newcommand{\oninnerside}{%
\begin{minipage}[t]{0.75\linewidth}
Some text supposed to be on the inner side.
\end{minipage}
}
\newcommand{\test}{%
\checkoddpage%
\ifoddpage%
\oninnerside
\hspace*{11mm}%
\onouterside
\else%
\hspace*{-20mm}%
\onouterside
\hspace*{11mm}%
\oninnerside
\fi%
}
\begin{document}
\test
\newpage
\test
\newpage
\rule{0.4pt}{.969\textheight}\par
\test
\newpage
\mbox{}
\newpage
\rule{0.4pt}{.969\textheight}\par
\test
\end{document}
Wie kann ich den Test für gerade/ungerade Seiten robust gestalten? Sollte ich den vertikalen Abstand der Texte ermitteln und ihn mit dem verbleibenden vertikalen Abstand auf der aktuellen Seite vergleichen und, wenn ja, wie kann ich letzteren ermitteln?
Antwort1
Hüten Sie sich davor, irgendetwas auf der vertikalen Hauptliste zu tun:-)
Dadurch wird der Test im horizontalen Modus durchgeführt, wo die Dinge sicherer sind.
\documentclass{book}
\usepackage[inner=10mm,outer=30mm]{geometry}
\usepackage[strict]{changepage}
\newcommand{\onouterside}{%
\begin{minipage}[t]{0.3\linewidth}
Some text supposed to be on the outer side.
\end{minipage}
}
\newcommand{\oninnerside}{%
\begin{minipage}[t]{0.75\linewidth}
Some text supposed to be on the inner side.
\end{minipage}
}
\newcommand{\test}{%
\mbox{}\checkoddpage%
\ifoddpage%
\oninnerside
\hspace*{11mm}%
\onouterside
\else%
\hspace*{-20mm}%
\onouterside
\hspace*{11mm}%
\oninnerside
\fi%
}
\begin{document}
\test
\newpage
\test
\newpage
\rule{0.4pt}{.969\textheight}\par
\test
\newpage
\mbox{}
\newpage
\rule{0.4pt}{.969\textheight}\par
\test
\end{document}