В моем документе я хочу скрыть определенные элементы из верхних/нижних колонтитулов с помощьюifthen
(вместо определения новых стилей страниц). Например, я хотел бы скрыть номер страницы на первых нескольких страницах:
\cfoot{\ifthenelse{\thepage<11}{}{\thepage}}
Это позволит скрыть номер страницы на страницах, которые меньше 11 (то есть страницы с 1 по 10), и отобразить номер страницы, если номер страницы 11 или больше, в центральном нижнем колонтитуле.
Однако, похоже, это работает только если нумерация страниц арабская. Допустим, я хочу изменить нумерацию первых пяти страниц на римскую. Тогда мои страницы будут пронумерованы следующим образом:
i, ii, iii, iv, v, 1, 2, 3, 4, 5, 6, ...
Это испортило бы мое ifthen
условное выражение, потому что, например, для первой страницы выражение \cfoot
будет иметь следующий вид:
\ifthenelse{i<11}{}{\thepage}
и i<11
не имеет смысла.
Теперь у меня вопрос: возможно, есть более подходящий счетчик вместо \thepage
, который может иметь нечисловое значение, если нумерация страниц римская?
решение1
\value{page}
Вместо этого используйте \thepage
, чтобы выполнить численную проверку значения счетчика страниц, а не его выходного определения (которое в любом случае не сработает в определенных случаях).
По моему мнению, нет необходимости использовать . Здесь достаточно \ifthenelse
примитива TeX .\ifnum
\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}
Обновление для возможного \pagenumbering
использования
\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}