ifthen을 사용하여 로마자와 같은 페이지 번호 매기기 스타일을 사용하여 특정 페이지의 페이지 번호를 숨깁니다.

ifthen을 사용하여 로마자와 같은 페이지 번호 매기기 스타일을 사용하여 특정 페이지의 페이지 번호를 숨깁니다.

내 문서에서 다음을 사용하여 머리글/바닥글의 특정 항목을 숨기고 싶습니다.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}    

관련 정보