LastPage가 정의되지 않음 - "페이지 x/y"를 가져올 수 없음 - 여러 번 컴파일한 후에도

LastPage가 정의되지 않음 - "페이지 x/y"를 가져올 수 없음 - 여러 번 컴파일한 후에도

내 MWE는 다음과 같습니다.

\documentclass[11pt,letterpaper,oneside,notitlepage]{article}

\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage[loose]{units}
\usepackage{url}
\usepackage{pgf,tikz}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{multirow}
\usepackage{dcolumn}
\newcolumntype{.}{D{.}{.}{-1}}
\usepackage{booktabs}
\usepackage{alltt}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=it,up]{caption}
\usepackage[margin=1in]{geometry}


% these commands use the fancyhdr package to get "x of y" style
% page numbering.  The headrulewidth command gets rid of a decorative 
% horizontal rule that is default with "fancy" pagestyle.
\pagestyle{fancy}
\cfoot{\thepage\ of \pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}


\begin{document}

\cfoot{{Cyclic triaxial test report  \ \ \ \ \ \ \   Page \thepage\ of \pageref{{LastPage}} \ \ \ \ \ \ \ Test ID: {testid} \\ {{\bf PRELIMINARY REPORT - NOT FOR ENGINEERING USE!}}}}

\subsection*{1}
\subsection*{2}
\subsection*{3}
\clearpage 
\subsection*{a}
\clearpage 
\subsection*{b}
\clearpage 
\subsection*{c}
\clearpage 
\subsection*{d}
\clearpage 
\clearpage 
\end{document}

누구든지 조언을 해줄 수 있나요? 제목 그대로 여러번 컴파일을 해도 LastPage일을 할 수 없습니다. 나는 pdfLaTeX.

답변1

의 인수에서 추가 중괄호 쌍을 억제합니다 \pageref. 당신은

\pageref{{LastPage}}

그리고 그래야 해

\pageref{LastPage}

{LastPage}추가 중괄호 쌍으로 인해 LaTeX는 상호 참조를 생성하기 위해 잘못된 문자열을 찾습니다 (올바른 문자열은 LastPage). 귀하의 코드는 이에 대한 몇 가지 경고를 생성합니다.

LaTeX Warning: Reference `{LastPage}' on page 1 undefined on input line 35.

이전에 설명한 일부 수정 사항이 포함된 코드는 다음과 같습니다.

\documentclass[11pt,letterpaper,oneside,notitlepage]{article}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage[loose]{units}
\usepackage{url}
\usepackage{pgf,tikz}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{multirow}
\usepackage{dcolumn}
\newcolumntype{.}{D{.}{.}{-1}}
\usepackage{booktabs}
\usepackage{alltt}
\usepackage[font=small,format=plain,labelfont=bf,up,textfont=it,up]{caption}
\usepackage[margin=1in]{geometry}


% these commands use the fancyhdr package to get "x of y" style
% page numbering.  The headrulewidth command gets rid of a decorative 
% horizontal rule that is default with "fancy" pagestyle.
\pagestyle{fancy}
\fancyfoot[C]{\thepage\ of \pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}

\begin{document}

\fancyfoot[C]{{Cyclic triaxial test report\qquad Page \thepage\ of \pageref{LastPage}\qquad  Test ID: {testid} \\ {\bfseries PRELIMINARY REPORT -- NOT FOR ENGINEERING USE!}}}

\subsection*{1}
\subsection*{2}
\subsection*{3}
\clearpage 
\subsection*{a}
\clearpage 
\subsection*{b}
\clearpage 
\subsection*{c}
\clearpage 
\subsection*{d}AAA
\clearpage 
\clearpage 
\end{document}

여기에 이미지 설명을 입력하세요

\cfoot{...}가장 현대적인 인터페이스로 변경되었습니다 \fancyfoot[C]{...}. 길이 도 고정했습니다 headheight. MWE가 경고를 생성합니다

Package Fancyhdr Warning: `\headheight` is too small (`12.0pt`): Make it
at least `13.59999pt`.

그래서 나는 geometry그가 메시지에서 제안한 대로 길이를 늘리는 설정을 사용했습니다. 또한 이는 \bf최신 문서에서는 사용하면 안되는 오래된 TeX 명령이라는 점에 유의하세요. 대신 사용해야 합니다 \bfseries.

아마도 바닥글에 간격을 두는 다른 방법을 고려해야 할 것입니다. \qquad(예제 코드에서 했던 것처럼) 또는 \hspace{<length>}모든 단일 공백을 함께 사용할 수 있습니다 .

답변2

최근에 이 상황 에 \pdfximage대해 버전을 테스트했지만 프로덕션에서 이 특정 문제에 대해서는 권장하지 않습니다. 생성된 PDF 파일이 비어 있거나 손상된 경우 해당 (빈) PDF 파일이 미리 삭제되지 않으면 이 예제에서는 TeX의 다음 실행을 중지합니다.\pdflastximagepageslualatex

편집하다:게다가 모든 책이 1페이지에서 시작하는 것은 아니며 \pdfximage명령은 문서의 뒷부분에서 사용될 수 있으므로 이 예는 단지 데모용일 뿐이므로 개선이 필요합니다.

%! lualatex example.tex
\documentclass[a4paper]{article}
\def\myfile{example.pdf}
\IfFileExists{\myfile}  % Is document typeset for the first time?
  {\pdfximage{\myfile}} % Positive response...
  {\relax}              % Negative response...
\usepackage{fancyhdr}
\pagestyle{fancy}\fancyhf{}
\fancyhead[C]{Page \thepage\ of \the\pdflastximagepages}
\begin{document}
Some text.\par\newpage Some more text.
\end{document}

lastpage죄송합니다. 질문에 답변하는 대신 패키지 사용을 피하는 방식으로 문제를 해결하는 경향이 있습니다 . 그 이유는 Colophon을 생략하거나 빈 페이지 또는 심지어 많은 페이지를 생략할 때, 예를 들어 책에 부록, 메모 페이지, 광고 페이지 등이 포함되어 있을 때 마지막 페이지 전에 참조해야 하는 경우가 많기 때문입니다. 이것이 제가 일반적으로 사용하는 솔루션입니다. \label{mylastpage}문서의 어느 곳에나 넣을 수 있습니다 .

\documentclass[a4paper]{article}
\usepackage{fancyhdr}
\pagestyle{fancy}\fancyhf{}
\fancyhead[C]{Page \thepage\ of \pageref{mylastpage}}
\begin{document}
Some text.\newpage Some more text.
\label{mylastpage}
\end{document}

MWE, 1부 MWE, 파트 2

관련 정보