No meu documento, quero ocultar certas coisas dos cabeçalhos/rodapés usandoifthen
(em vez de definir novos estilos de página). Por exemplo, gostaria de ocultar o número da página nas primeiras páginas:
\cfoot{\ifthenelse{\thepage<11}{}{\thepage}}
Isso ocultará o número da página em páginas menores que 11 (portanto, páginas de 1 a 10) e mostrará o número da página se for 11 ou superior, no rodapé central.
No entanto, isso parece funcionar apenas se a numeração das páginas for árabe. Digamos que eu queira alterar a numeração das primeiras cinco páginas para romano. Então minhas páginas seriam numeradas da seguinte forma:
i, ii, iii, iv, v, 1, 2, 3, 4, 5, 6, ...
Isso atrapalharia minha ifthen
condicional, porque, por exemplo, para a primeira página, a expressão in \cfoot
seria avaliada da seguinte forma:
\ifthenelse{i<11}{}{\thepage}
e i<11
não faz sentido.
Minha pergunta agora é: talvez haja um contador melhor para usar, em vez de \thepage
, que pode ser um valor não numérico se a numeração da página for romana?
Responder1
Em vez disso, use \value{page}
than \thepage
, para realizar um teste numérico no valor do contador de páginas, não na sua definição de saída (que de qualquer maneira falharia em certos casos).
Na minha opinião, não há necessidade de usar \ifthenelse
. A primitiva TeX \ifnum
é suficiente aqui.
\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}
Atualização para possível \pagenumbering
uso
\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}