请帮忙,我正在编写一个项目(文档类=书),我正在使用 fancyhdr 来更改标题的格式。我的问题是该格式不适用于目录的前几页。我的意思是,这是第 2 页和第 3 页的标题格式,这是标准格式:
而第 4 页的页眉格式是我想要的(衬线字体,没有大写字母):
我该怎么做才能在第 2 页和第 3 页也拥有我想要的格式?
我的代码的第一行是:
\begin{document}
\afterpage{\markboth{\sf Índice}{\sf Índice}}
\tableofcontents
\markboth{\sf Índice}{\sf Índice}
\include{...}
答案1
将来,请制作一个适当的最小工作示例;这样做不仅可以自行解决您的问题,还可以让其他人更轻松地帮助您。
另外,不要使用\sf
(以及\bf
、\it
等);这些是弃用的字体更改命令。相反,您应该使用\sffamily
或\textsf{text}
,因为这些命令适合 LaTeX2e 新字体选择方案。
对于您的标题:真的没有必要重新发明轮子;您可以尝试使用包来处理标题。 fancyhdr
可能是最受欢迎的;它可以用很少的几行来实现您想要的:
\documentclass{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancyfoot{}
\fancyhead{}
\fancyhead[RO,LE]{\thepage}
\fancyhead[C]{\textsf{\nouppercase{\leftmark}}}
\pagestyle{fancy}
\begin{document}
\tableofcontents
\lipsum\lipsum
\end{document}
\fancyfoot{}
在这里,我们首先使用和清除当前的页眉和页脚\fancyhead{}
;这样我们就可以有一个干净的页面。然后我们在偶数页的左侧和奇数页的右侧设置页码;然后,在所有页面的中间,我们放置\leftmark
,这是您在类中的章节名称book
。我们使用 来设置它的样式\textsf
,以获得无衬线字体;我们使用\nouppercase
来防止 LaTeX 将整个内容大写。就这样。
fancyhdr
确实是一个极好的软件包,有着出色的文档;仔细查看一下将会非常有帮助。