lastpage 包:与 nameref 包不兼容

lastpage 包:与 nameref 包不兼容

当我尝试使用nameref 包以及lastpage 包(当然是2013/01/28之前的版本)我有以下两个错误:

! Package lastpage Error: no auxiliary file allowed
! Extra \else

但没有名称引用包(并按名称引用章节)我的 LaTeX 文档构建没有问题。
这个错误是什么意思?可能的原因是什么?

我的文档文件:

\documentclass[a4paper,oneside,12pt]{report}
\usepackage[polish]{babel}
\usepackage[latin2]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{indentfirst}
\usepackage{titlesec}
\usepackage{nameref}
\usepackage{lastpage}
\usepackage{fancyhdr}
\onehalfspacing
\titleformat*{\section}{\normalsize\bfseries}
\setlength{\parindent}{1cm}
\begin{document}
\pagestyle{plain}
Text.
%\input{./title.tex}
\pagenumbering{arabic}
\fancypagestyle{plain}{% 
    \fancyhf{}
        \fancyfoot[C]{Strona \normalsize\thepage\ z \pageref{LastPage}}
    \renewcommand{\headrulewidth}{0pt} % remove line between header and main text
}
\tableofcontents
\listoffigures
\pagestyle{plain}
Text.
%\input{./ch1.tex}
%\input{./ch2.tex}
%\input{./ch3.tex}
%\input{./ch4.tex}
%\input{./biblio.tex}
\end{document}

答案1

由于某些原因,在完成之前尝试对文件进行某些操作时互相争斗namereflastpage.aux

如果你说,一切都会好起来

\usepackage{zref-user,zref-lastpage}

而不是\usepackage{lastpage}

\fancypagestyle{plain}{%
  \fancyhf{}
  \fancyfoot[C]{\normalsize Strona \thepage\ z \zpageref{LastPage}}
  \renewcommand{\headrulewidth}{0pt} % remove line between header and main text
}

注意命令\zpageref。 (也\normalsize应该在 之前Strona)。

答案2

自从lastpage2012/01/28 v1.2l 不兼容nameref是固定的。

nameref包重新定义\label为具有五个参数而不是两个参数,因此

\newlabel{LastPage}{{}{\thepage}{}{}{}}

代替

\newlabel{LastPage}{{}{\thepage}}

必须在包中使用lastpage,当nameref在文档中使用时。(当namerefhyperref都被使用,没有问题,因为hyperref使用了另一种标签格式,该格式已被 视为lastpage。)

从 2013/01/28 版本开始使用lastpage1.2l 版本,您的 MWE 运行没有任何问题。

感谢您报告不兼容问题!(请参阅软件包文档中的致谢和历史记录。)

相关内容