我需要制作一系列书籍,排版部门要求我提供总页数为 16 倍的文件。我尝试按照这个答案如何确保文档总页数是四的倍数?\frontmatter
,使用与和一起工作的示例\mainmatter
,但我无法修改它以输出 16 的倍数。有什么建议吗?
编辑:为方便起见,完整代码如下:
\usepackage{xparse}
\usepackage{refcount,lastpage,etoolbox}
\usepackage{kantlipsum}
\makeatletter
\patchcmd\mainmatter{\cleardoublepage}
{%
\clearpage\edef\@currentlabel{\number\numexpr\arabic{page}\ifodd\arabic{page}+1\fi\relax}%
\label{LastFrontmatterPage}%
\cleardoublepage
}{}{}
\makeatother
\ExplSyntaxOn
\cs_new:Npn \egreg_int_coremainder:nn #1 #2
{
\int_mod:nn { #2 - \int_mod:nn { #1 } { #2 } } { #2 }
}
\NewDocumentCommand{\checkmultipleoffour} { O{0} }
{
\prg_replicate:nn
{
\egreg_int_coremainder:nn { #1 + \getrefnumber{LastFrontmatterPage} + \getpagerefnumber{LastPage} } { 4 }
}
{ \thispagestyle{empty}\null\clearpage }
}
\ExplSyntaxOff
\AtEndDocument{\checkmultipleoffour}