내 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의 다음 실행을 중지합니다.\pdflastximagepages
lualatex
편집하다:게다가 모든 책이 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}