Verwenden von ifthen zum Ausblenden der Seitenzahl auf bestimmten Seiten mit einem Seitennummerierungsstil wie Roman

Verwenden von ifthen zum Ausblenden der Seitenzahl auf bestimmten Seiten mit einem Seitennummerierungsstil wie Roman

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 \cfootwie folgt ausgewertet würde:

\ifthenelse{i<11}{}{\thepage}

und i<11macht 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 \ifnumist 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 \pagenumberingNutzung

\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}    

verwandte Informationen