내 문서에서 다음을 사용하여 머리글/바닥글의 특정 항목을 숨기고 싶습니다.ifthen
(새 페이지 스타일을 정의하는 대신) 예를 들어 처음 몇 페이지의 페이지 번호를 숨기고 싶습니다.
\cfoot{\ifthenelse{\thepage<11}{}{\thepage}}
이렇게 하면 11보다 작은 페이지(즉, 1~10페이지)에서는 페이지 번호가 숨겨지고, 페이지 번호가 11 이상인 경우 중앙 바닥글에 페이지 번호가 표시됩니다.
그러나 이는 페이지 번호가 아랍어인 경우에만 작동하는 것 같습니다. 처음 5페이지의 페이지 번호를 로마자로 변경하고 싶다고 가정해 보겠습니다. 그러면 내 페이지에는 다음과 같이 번호가 매겨집니다.
i, ii, iii, iv, v, 1, 2, 3, 4, 5, 6, ...
ifthen
예를 들어 첫 번째 페이지의 경우 표현식이 \cfoot
다음과 같이 평가되기 때문에 이렇게 하면 조건이 엉망이 됩니다.
\ifthenelse{i<11}{}{\thepage}
그리고 i<11
말이 안 돼요.
\thepage
이제 제 질문은 페이지 번호가 로마자인 경우 숫자가 아닌 값이 될 수 있는 대신 사용할 수 있는 더 나은 카운터가 있습니까?입니다 .
답변1
출력 정의가 아닌 페이지 카운터 값에 대한 수치 테스트를 수행하려면 \value{page}
than 을 사용하십시오 (어떤 경우에는 실패할 수 있음).\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}