\pageref 指的是文档部分的倒数第二页,其中浮动内容由 \clearpage 清除,而不是最后一页

\pageref 指的是文档部分的倒数第二页,其中浮动内容由 \clearpage 清除,而不是最后一页

我有一份文档,其中我通过 输入主要部分\input{},添加label以引用页码(类似于lastpage-package 的工作方式),并使用\clearpage开始下一页的附录。对于附录,我实际上使用 -packagelastpage进行页码编号。主要部分使用阿拉伯数字编号,而附录使用罗马数字编号。

当主要部分的浮点数已被清除/设置时,label一切都按预期工作。在我的上一个文档中,我在 clearpage 命令之前没有清除浮点数,现在页面计数器指向实际最后一页之前的页面,因为它只包含浮点数。

从 MWE 中可以看出,第二页的页码是其中 1 应该替换为 2(主要部分/附录之前部分的总页数)。

我尝试使用\FloatBarrier-package placeins,它产生的结果与 完全相同\clearpage。我也尝试使用\afterpage-package,但它将所有页码都更改为罗马数字。

可行的方法是将标签移到后面,\clearpage并在其后添加另一个\newpage标签\clearpage。但这会添加一个额外的(页眉/页脚除外)空白页。

有没有办法按预期进行页码编排?因此,第二页的 MWE 中应该是 2/2,而不是 2/1。

编辑:将标签移动到最后一个浮点数内可以解决此特定文档的问题,但我想修复我正在使用的模板,以便我(希望)将来不必处理这个问题。

编辑 2:使用pageslts@cfr 推荐的 -package,我让它工作了。但是,如果我包含一个具有自己的页码方案的序言,\pagenumbering{arabic}为标题页设置并编辑为,lastpagerefpagesLTS.arabic.2会收到多个! Output routine didn't use all of \box255-errors。如果我使用其他未使用的页码方案,例如\pagenumbering{alph},或使用序言中的页码方案,我不会收到此类错误。在旧 MWE 之后查看新 MWE。我是否误读了 pageslts 的文档,或者为什么会出现此错误?

编辑 3:后续问题@cfr 将问题从编辑 2 浓缩为要点。我认为我的问题可能与input-commands 或页脚有关,因此我将我认为必要的内容包含在新的 MWE 中。

旧/原始 MWE:

\documentclass[footheight=27.2pt]{scrartcl}

\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{scrlayer-scrpage}
\usepackage{lastpage}
%\usepackage{afterpage}
%\usepackage{placeins}

\newpairofpagestyles{MainPartStyle}{
    \clearpairofpagestyles
    \pagenumbering{arabic}
    \cfoot*{\normalfont \thepage{}\ /\ \pageref*{MainPartLastPage}}
}
\newpairofpagestyles{AppendixStyle}{
    \clearpairofpagestyles
    \pagenumbering{roman}
    \cfoot*{\normalfont \thepage{}\ /\ \pageref*{LastPage}}
}

\begin{filecontents}{MainPart.tex}
\section{Section} \label{secSection}
This text gets written to \texttt{MainPart.tex}.

\subsection{Subsection 1} \label{secSubsection1}
\lipsum[1-3]

\begin{figure}[ht]
    \includegraphics[width=0.7\textwidth, height=0.7\textheight]{example-image-a}
    \caption{I am a figure}
\end{figure}


\subsection{Subsection 2} \label{secSubsection2}
\lipsum[2]
\end{filecontents}



\begin{document}

\pagestyle{MainPartStyle}
\input{MainPart}
\label{MainPartLastPage}
\clearpage      % my inital solution
%\FloatBarrier
%\afterpage{\FloatBarrier}
%\afterpage{\clearpage}

\section{Appendix}
\pagestyle{AppendixStyle} \label{secAppendix}
\listoffigures

\end{document}

-error的新 MWE pageslts ! Output routine didn't use all of \box255

\documentclass[footheight=27.2pt]{scrartcl}

\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{scrlayer-scrpage}
%\usepackage{alphalph}
\usepackage[alphMult=ab,AlphMulti=AB,romanMult,RomanMulti]{pageslts}


\newpairofpagestyles{MainPartStyle}{
    \clearpairofpagestyles
    \pagenumbering{arabic}
    \cfoot*{\normalfont \thepage{}\ /\ \lastpageref*{pagesLTS.arabic}}
    %\cfoot*{\normalfont \thepage{}\ /\ \lastpageref*{pagesLTS.arabic.2}}   % does not work
}
\newpairofpagestyles{PreambleStyle}{
    \clearpairofpagestyles
    \pagenumbering{roman}
    \cfoot*{\normalfont \thepage{}\ /\ \lastpageref*{pagesLTS.roman}}
}
\newpairofpagestyles{AppendixStyle}{
    \clearpairofpagestyles
    \pagenumbering{Roman}
    \cfoot*{\normalfont \thepage{}\ /\ \lastpageref*{pagesLTS.Roman}}
}

\begin{filecontents}[overwrite]{MainPart.tex}
\section{Section} \label{secSection}
This text gets written to \texttt{MainPart.tex}.

\subsection{Subsection 1} \label{secSubsection1}
\lipsum[1-3]

\begin{figure}[ht]
    \includegraphics[width=0.7\textwidth, height=0.5\textheight]{example-image-a}
    \caption{I am a figure}
\end{figure}


\subsection{Subsection 2} \label{secSubsection2}
\lipsum[2]
\end{filecontents}

\begin{filecontents}[overwrite]{Titlepage.tex}
\renewcommand*{\titlepagestyle}{empty}
\begin{titlepage}
    \begin{center}
        \vspace*{10cm}
        Title
        \vfill
    \end{center}
\end{titlepage}
\end{filecontents}


\begin{document}
%\pagenumbering{arabic}     % does not work, even with changes to \lastpageref in the pagestyle
%\pagenumbering{alph}       % works
\pagenumbering{roman}       % works
\setcounter{page}{0}
\input{titlepage}
\newpage

\pagestyle{PreambleStyle}
\tableofcontents
\newpage

\pagestyle{MainPartStyle}
\input{MainPart}
\clearpage

\section{Appendix}
\pagestyle{AppendixStyle}
\listoffigures
\newpage
\listoftables

\end{document}

相关内容