In meinem Dokument möchte ich bestimmte Dinge aus den Kopf-/Fußzeilen ausblenden, indem ichifthen
(anstatt neue Seitenstile zu definieren). Ich möchte beispielsweise die Seitenzahl auf den ersten Seiten ausblenden:
\cfoot{\ifthenelse{\thepage<11}{}{\thepage}}
Dadurch wird die Seitenzahl auf Seiten mit weniger als 11 (also auf den Seiten 1 bis 10) ausgeblendet. Ab 11 wird die Seitenzahl in der mittleren Fußzeile angezeigt.
Dies scheint jedoch nur zu funktionieren, wenn die Seitennummerierung arabisch ist. Angenommen, ich möchte die Seitennummerierung der ersten fünf Seiten in römisch ändern. Dann würden meine Seiten wie folgt nummeriert sein:
i, ii, iii, iv, v, 1, 2, 3, 4, 5, 6, ...
Dies würde meine Bedingung durcheinanderbringen ifthen
, da beispielsweise der Ausdruck in für die erste Seite \cfoot
wie folgt ausgewertet würde:
\ifthenelse{i<11}{}{\thepage}
und i<11
macht keinen Sinn.
Meine Frage lautet nun: Gibt es vielleicht einen besseren Zähler als \thepage
, der ein nicht numerischer Wert sein kann, wenn die Seitennummerierung römisch ist?
Antwort1
Verwenden Sie lieber \value{page}
als \thepage
, um einen numerischen Test für den Wert des Seitenzählers und nicht für seine Ausgabedefinition durchzuführen (was in bestimmten Fällen ohnehin fehlschlagen würde).
Meiner Meinung nach besteht keine Notwendigkeit, zu verwenden \ifthenelse
. Das TeX-Grundelement \ifnum
ist hier ausreichend.
\documentclass{article}
\usepackage{fancyhdr}
\usepackage{blindtext}
\def\pagethreshold{10}
\fancypagestyle{plain}{%
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\cfoot{%
\ifnum\pagethreshold<\value{page}
\arabic{page}% or \thepage
\else
% Do something else
\fi
}
}
\pagestyle{plain}
\begin{document}
\blindtext[100]
\end{document}
Update für mögliche \pagenumbering
Nutzung
\documentclass{article}
\usepackage{fancyhdr}
\usepackage{blindtext}
\newif\ifshowpagenumbers
\showpagenumbersfalse% Don't show them
\def\pagetreshold{10}
\fancypagestyle{plain}{%
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\cfoot{%
\ifshowpagenumbers
\thepage
\else
\ifnum\pagetreshold<\value{page}
\arabic{page}% or \thepage
\else
%
\fi
\fi
}
}
\pagestyle{plain}
\begin{document}
\pagenumbering{roman}
\blindtext[50]
\clearpage
\showpagenumberstrue% Show them!
\pagenumbering{arabic}
\blindtext[50]
\end{document}