当我尝试使用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
由于某些原因,在完成之前尝试对文件进行某些操作时互相争斗nameref
。lastpage
.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
自从lastpage
2012/01/28 v1.2l 不兼容nameref
是固定的。
该nameref
包重新定义\label
为具有五个参数而不是两个参数,因此
\newlabel{LastPage}{{}{\thepage}{}{}{}}
代替
\newlabel{LastPage}{{}{\thepage}}
必须在包中使用lastpage
,当nameref
在文档中使用时。(当nameref
和hyperref
都被使用,没有问题,因为hyperref
使用了另一种标签格式,该格式已被 视为lastpage
。)
从 2013/01/28 版本开始使用lastpage
1.2l 版本,您的 MWE 运行没有任何问题。
感谢您报告不兼容问题!(请参阅软件包文档中的致谢和历史记录。)