这篇文章底部的示例代码产生了以下页面顺序:
- 封面
- 元数据页面
- 目录
- 空白页(似乎是从目录继续)
- 章节
我真的很困惑为什么会出现空白页 (4)。据我所知,这似乎与我放在第 (2) 页上的命令有关\vspace*{\fill}
。但这让我很困惑。这难道不意味着前目录?
我想保留它,\vspace*{\fill}
因为(在我排版的实际书中)我使用它来垂直居中元数据页面上的内容。
这是怎么回事?
\documentclass[12pt, oneside]{book}
%%%%%%%%
% Headers and footers.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO,RE]{\textit{\nouppercase{\leftmark}}}
\fancyfoot[C]{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\title{Sample title}
\author{Sample author}
\date{Sample date}
\begin{document}
\frontmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Title page.
\begin{titlepage}
Sample title page.
\end{titlepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Metadata page.
\thispagestyle{empty}
\topskip0pt
\vspace*{\fill}
Sample metadata page.
\vspace*{\fill}
{
\setcounter{tocdepth}{0}
\tableofcontents
}
\mainmatter
\chapter{Sample chapter title}
Sample chapter text.
\end{document}
答案1
抱歉我迟到了。设置\topskip
中间文档是导致问题的原因。
如果你真的想“精确地居中”元数据,请发布\mbox{}
并留出负空间\topskip
。但我不认为这是必要的,甚至对目的来说也不是好事。
\documentclass[12pt, oneside]{book}
%%%%%%%%
% Headers and footers.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO,RE]{\textit{\nouppercase{\leftmark}}}
\fancyfoot[C]{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\title{Sample title}
\author{Sample author}
\date{Sample date}
\begin{document}
\frontmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Title page.
\begin{titlepage}
Sample title page.
\end{titlepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Metadata page.
\thispagestyle{empty}
\mbox{}
\vspace{-\topskip}
\vspace{\fill}
Sample metadata page.
\vspace*{\fill}
\setcounter{tocdepth}{0}
\tableofcontents
\mainmatter
\chapter{Sample chapter title}
Sample chapter text.
\end{document}
这将有四页。
顺便说一句,在周围添加括号\setcounter{tocdepth}{0}
不会使设置本地化,因为\setcounter
它具有全局范围。设置LE,RO
或LO,RE
只会oneside
产生恼人的警告,因为oneside
在生成页眉或页脚时不会检查页码的奇偶性。
答案2
\mainmatter
当您使用 class 选项时,命令似乎会移动到下一个奇数页oneside
。
尝试一下这个修改过的 MWE 版本,谢谢。
% chapterprob.tex SE 577746
\documentclass[12pt, oneside]{book}
%\documentclass[12pt]{book}
%%%%%%%%
% Headers and footers.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO,RE]{\textit{\nouppercase{\leftmark}}}
\fancyfoot[C]{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\title{Sample title}
\author{Sample author}
\date{Sample date}
\begin{document}
%\frontmatter
\pagenumbering{roman}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Title page.
\begin{titlepage}
Sample title page.
\end{titlepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Metadata page.
\thispagestyle{empty}
\topskip0pt
\vspace*{\fill}
Sample metadata page.
\vspace*{\fill}
{
\setcounter{tocdepth}{0}
\tableofcontents
}
%\mainmatter
%\pagenumbering{arabic}
\chapter{Sample chapter title}
\pagenumbering{arabic}
Sample chapter text.
\end{document}
请注意,我使用了\frontmatter
而不是来改变页码的表示形式(这是宏所做的事情之一)。\mainmatter
\pagenumbering
\...matter