![PDF Latex lastpage 不起作用](https://linux22.com/image/274019/PDF%20Latex%20lastpage%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我添加了最后一页包,尝试显示分页器,但最后一页不会显示。我的代码有什么问题,最后一页只会显示“??”:
{.select date_format(now()," %M %d, %Y %r") as run_date}
{.select username from deskpad.user where user_id=@user_teller}
\documentclass{article}
\usepackage[paperheight=11in,paperwidth=8.5in,margin=0.1in,headheight=0.5in,footskip=0.4in,includehead,includefoot]{geometry}
\usepackage{graphicx}
\usepackage{fancyheadings}
\usepackage{fancybox}
\usepackage{longtable}
\usepackage{setspace}
\usepackage{textcomp}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage[absolute]{textpos}
\renewcommand{\familydefault}{\sfdefault}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\fancyhead[l]{
}
\fancyfoot[l]{
\small{
\begin{tabular}{p{4.0in} p{4.0in}}
\hspace{15pt} \small{ \emph{ Date Printed: {.\run_date\} } } & \raggedleft{ \small{ \emph{ Page \thepage\ of \pageref{Last Page} } } \hspace{15pt}} \tabularnewline
\end{tabular}
}
}
答案1
正确的键是\pageref{LastPage}
,不带空格。当页数发生变化时,需要运行两次 LaTeX 才能获得正确的参考:第一次运行时,将值写入文件中.aux
,并在下一次运行中读回。
这也是一种更好的方法来实现页脚的相同结果,即使用L
和R
字段,而不需要对宽度进行任何猜测。
请注意,fancyheadings
已经过时,不应加载,fancyhdr
这就足够了。
我还省略了示例中不需要的包;该kantlipsum
包只是提供\kant
生成模拟文本的命令。
\documentclass{article}
\usepackage[
paperheight=11in,
paperwidth=8.5in,
margin=0.1in,
headheight=0.5in,
footskip=0.4in,
includehead,
includefoot
]{geometry}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{kantlipsum}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\fancyfoot[L]{%
\small\hspace{15pt}\emph{Date Printed: \today}%
}
\fancyfoot[R]{%
\small\emph{Page \thepage\ of \pageref{LastPage}}\hspace{15pt}%
}
\begin{document}
\kant[1-20]
\end{document}
答案2
您需要\pageref{LastPage}
,因为标签是LastPage
,而不是Last Page
。您可能还必须至少编译文档两次(作为开始),以便正确显示引用。请参阅了解引用和标签的工作原理。