我使用 titlesec 包定义了个人页面样式。定义的样式为:
\newpagestyle{myStylePage}[\large\sffamily]{\headrule
\sethead{\thechapter . \chaptertitle}{}{\thesection . \sectiontitle}
\setfoot{}{\usepage}{}
}
我希望此样式仅应用于我的所有章节。但我不希望将此样式应用于\tableofcontents
。为了解决这个问题,我尝试定义另一种样式:
\newpagestyle{myEmptyPage}{
\sethead{}{}{}
\setfoot{}{\usepage}{}
}
我的文件如下:
\pagestyle{myEmptyPage}
\pagenumbering{roman}
\tableofcontents
\pagenumbering{arabic}
\pagestyle{myStylePage}
\include{tex/introduction}
... etc.
我的问题是目录的第二页以与 中定义的相同样式出现myStylePage
。我做错了什么?
答案1
您不需要定义新的样式,因为“空页眉、页码位于页脚中心”是plain
页面样式,它也用于章节起始页。
因此我相信以下内容应该可以满足您的需求。
\documentclass{book}
\usepackage{titleps} % or titlesec with appropriate option
\newpagestyle{myStylePage}[\large\sffamily]{%
\headrule
\sethead{\thechapter. \chaptertitle}{}{\thesection. \sectiontitle}
\setfoot{}{\usepage}{}%
}
\begin{document}
\frontmatter
\pagestyle{plain}
\tableofcontents
\mainmatter
\pagestyle{myStylePage}
My beautiful document
\end{document}
如果您使用该类report
进行单面打印,请不要。:)但如果您需要这样做,只需向该类添加一个选项:
\documentclass[oneside]{book}
也许您正在使用scrreprt
;然后使用scrbook
相同的命令。
如果你不相信我,想继续使用report
(或任何没有的类\frontmatter
,\mainmatter
如scrreprt
),将\frontmatter
命令更改为
\clearpage\pagenumbering{roman}
并\mainmatter
进入
\clearpage\pagenumbering{arabic}
但不忘记\clearpage
。
答案2
\pagenumbering
和\pagestyle
应用于使用它们的整个页面,即,就像在页面开头使用它们一样。当目录末尾没有分页符时,\pagenumbering{arabic} \pagestyle{myStylePage}
应用于目录的最后一页以及目录下面的文本(如果同一页上有文本)。\newpage
目录后面的 负责处理此问题。\clearpage
(或\cleardoublepage
)将开始一个新页面,并强制打印所有浮动对象,但目录中可能没有浮动对象。