\tableofcontents 最后一页的 twocolumn pageref 偏移了一个

\tableofcontents 最后一页的 twocolumn pageref 偏移了一个

我想将前言的当前页和最后一页都放在页脚中,而不使用任何额外的包。onecolumn这样做没有问题,但twocolumn会导致最后一页目录页上的 pageref 指向紧随其后的页面,因此页码变成了奇数页:

我,清除,1,2,3,...:

我 /
清除
1 / 7
2 / 7
3 / 7
...

onecolumn它正确地产生了

我 /
清除
1 / 7
2 / 7
3 / 7
...

如果是偶数页,则twocolumn打印下一章的页面:

我,,1,2,3,...:

我 /1
二 /1
1 / 15
2 / 15
3 / 15
...

onecolumn它正确地产生了

我 /
二 /
1 / 15
2 / 15
3 / 15
...

这可能是什么原因造成的?

\documentclass[ a5paper
                ,17pt
                ,twocolumn
                ]{memoir}

\makeoddfoot    {plain}{}{{\thepage} / {\thelastpage}}{}
\makeevenfoot   {plain}{}{{\thepage} / {\thelastpage}}{}

\makepagestyle  {toc}
\makeoddfoot    {toc}{}{{\thepage} / {\pageref{lasttocpage}}}{}
\makeevenfoot   {toc}{}{{\thepage} / {\pageref{lasttocpage}}}{}

\AtBeginDocument{
    \addtocontents{toc}{
        \protect\thispagestyle{toc}
        \protect\pagestyle{toc}
    }
}

\begin{document}

\frontmatter

\pagestyle{toc}
\tableofcontents
\label{lasttocpage}
\pagestyle{toc}

\mainmatter

\chapter{Example} \chapter{Example} \chapter{Example} \chapter{Example}
% uncomment for even page ToC ending
%\chapter{Example} \chapter{Example} \chapter{Example} \chapter{Example}

\end{document}

答案1

尝试

\renewcommand\cfttocafterlisthook{\label{lasttocpage}}

memoir宏内部有钩子\tableofcontens,这样您就可以获得接近 toc 文件读数的内容。

相关内容