![\@abspage@last가 헤더에 숫자를 입력하지 못했습니다.](https://rvso.com/image/449626/%5C%40abspage%40last%EA%B0%80%20%ED%97%A4%EB%8D%94%EC%97%90%20%EC%88%AB%EC%9E%90%EB%A5%BC%20%EC%9E%85%EB%A0%A5%ED%95%98%EC%A7%80%20%EB%AA%BB%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
\@abspage@last
페이지 스타일 아래 에서 오른쪽 헤더의 총 페이지 수를 조판하려고 했습니다 fancy
. 숫자 대신 텍스트 abspage@last
가 인쇄됩니다. 왜? 그리고 그것을 처리하는 방법은 무엇입니까?
MWE:
\documentclass[a4paper]{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{Page \thepage\ of \makeatletter\@abspage@last\makeatother}
\begin{document}
First page:\\
total pages are: \@abspage@last\\ % typeset abspage@last. Why not give error message?
total pages are: \makeatletter\@abspage@last\makeatother % typeset the right number
\clearpage
Second page
\clearpage
Third page
\end{document}
답변1
당신은 필요\makeatletter
약 \rhead{...}
, 내부는 아니지만 더 잘할 수 있습니다.
\@abspage@last
문서에서 사용할 수 있는 "공식적인" 인터페이스는 없습니다 . 주로 마지막 페이지 번호를 저장하는 것이 아니라 다른 번호 매기기 구성표를 포함한 총 페이지 수를 저장하기 위한 것이기 때문입니다.
번호 매기기 체계를 변경하지 않는 경우 먼저 자체 인터페이스를 정의하여 사용할 수 있습니다.
\documentclass[a4paper]{article}
\usepackage{fancyhdr}
\makeatletter
\newcommand{\lastpagenumber}{\@abspage@last}
\makeatother
\pagestyle{fancy}
\fancyhf{}
\rhead{Page \thepage\ of \lastpagenumber}
\begin{document}
First page:
\clearpage
Second page
\clearpage
Third page
\end{document}
기본값은 1073741823이며, 파일이 .aux
아직 존재하지 않을 때 얻을 수 있습니다.
재실행이 필요하다는 경고를 받으려면 \@abspage@last
다음과 같은지 확인하면 됩니다 \maxdimen
.
\documentclass[a4paper]{article}
\usepackage{fancyhdr}
\makeatletter
\newcommand{\lastpagenumber}{%
\ifnum\@abspage@last=\maxdimen
\@lastpagewarning
\else
\@abspage@last
\fi
}
\newcommand{\@lastpagewarning}{%
\@latex@warning@no@line{Could not determine last page number, rerun LaTeX}%
??\gdef\@lastpagewarning{??}%
}
\makeatother
\pagestyle{fancy}
\fancyhf{}
\rhead{Page \thepage\ of \lastpagenumber}
\begin{document}
First page:
\clearpage
Second page
\clearpage
Third page
\end{document}
.aux
파일이 없거나 어떤 이유로 아직 정의되지 않은 경우 \@abspage@last
다음과 같은 메시지가 표시됩니다.
LaTeX Warning: Could not determine last page number, rerun LaTeX.
물론 문서의 페이지 수가 1073741823이면 실패하겠지만...