为什么 \pagenumbering 和 \setpagecounter 会破坏 \cleardoublepage?

为什么 \pagenumbering 和 \setpagecounter 会破坏 \cleardoublepage?

我花了几个小时才找到论文中的一个错误,发现\cleardoublepage它对双面文档的行为不正确。它应该强制命令后的页面从奇怪的页面,以便在打印装订书籍时,内边距位于左侧。

我已经找到了原因。下面平均能量损失\cleardoublepage,如果以下代码中任何一行设置为该状态,则两行都会失败。

为了解决这个问题,首先第一页必须是奇数,其次还必须删除该\pagenumbering{roman}行。

\documentclass[a4paper,10pt,twoside,english]{book}
\usepackage{lipsum}

\begin{document}
\setcounter{page}{0} %Title page must start from an odd number for \cleardoublepage later to work!?
\centering\Huge Testing \texttt{\textbackslash cleardoublepage}
\clearpage\pagenumbering{roman} %The roman numbering here breaks \cleardoublepage too
\normalsize\lipsum[2-7]\clearpage 
\cleardoublepage
\chapter{I need to begin on an odd page}
\end{document}

在我的论文中,我希望我的标题页面标签为 p.0,则下一页从罗马书 i、ii、iii 开始...然后切换到阿拉伯语。我无法让章节显示为奇数页。我可以猜出原因,通过任意切换页码系统和页码计数器,可以将偶数页变成页面标签奇数,反之亦然。然而,我认为没有必要\cleardoublepage检查奇数标签,但不是实际页码(输出中显示的页数,页面标签例如,第 ii 页实际上可能是第三页)。有什么方法可以解决这个问题?

答案1

您的问题本质上是由于在第一个物理页面上将页码设置为 0,这意味着所有页面的奇偶校验都失效了。本质上,\clear(double)page您示例中的所有命令都不起作用,因为页码和章节命令已经发出了这些命令。

\documentclass[a4paper,10pt,twoside,english]{book}
\usepackage{lipsum}

\begin{document}

\begin{titlepage}
\centering\Huge Testing \texttt{\string\cleardoublepage}
\end{titlepage}

\frontmatter

\lipsum[2-7]

\chapter{I need to begin on an odd page}
\end{document}

保持物理页面和打印页面的奇偶校验

1  -    Title
2  2    blank before front matter (you could use a thispagestyle if 2 not needed
3  i    front matter
4  ii
5  iii  first chapter

相关内容