我有一本非常厚的 latex 书。在 3 个部分页面中的 1 个页面上,我得到了不需要的页码。我尝试逐个删除包,但无法找出错误所在,也无法进行 MWE。
因此该文件是 -https://github.com/marx-in-ua/das-kapital/blob/master/tex/book.ii.tex在样式文件中https://github.com/marx-in-ua/das-kapital/blob/master/tex/style.sty#L48我将部分页面设置为空样式:
\aliaspagestyle{part}{empty}
答案1
找到了。你对的重新定义\beforepartskip
是有缺陷的。
这是你的代码:
\renewcommand*{\beforepartskip}{\cleardoublepage\null\vspace{3cm}\noindent\hspace{1.5cm}}
但问题是,这个宏只是用来控制裸露部分的垂直间距,即标题上方的间距。所以这\cleardoublepage
是错误的。
的伪代码\part
与此类似
If open right: # the default
\cleardoublepage
Else:
\clearpage
End If
\thispagetyle{part}
# an irrelevant two column test
\beforepartskip
... # the rest of the part formatting
因此,当您在\cleardoublepage
里面时\beforepartskip
,\thispagetyle{part}
不再保证与标题位于同一页面上。
这三个跳过命令的默认值是
\newcommand{\beforepartskip}{\null\vfil}
\newcommand{\midpartskip}{\par\vskip 2\onelineskip}
\newcommand{\afterpartskip}{\vfil\newpage}
如上所述,它们都不包含\cleardoublepage
。
无关:您可能想要查阅一下\vspace*
。
顺便说一句:这是我删减的 MWE,然后只需要kapital.cls
,fonts.tex
和style.sty
。不需要 500 tex 文件。
\documentclass{kapital}
\usepackage{kantlipsum}
\begin{document}
\mainmatter
\kant[1]
\chapter{1}
\kant[1]
\chapter{2}
\kant[1]
\chapter{3}
\kant[1]
\end{document}