我在报告中使用 fancyhdr 和选定的字体。当开始新章节时,页面上的页码字体是正确的,但在其他页面上,它会恢复为其他字体。我认为这些有问题的页面是由 fancy 定义的?我不明白为什么 fancy 使页眉字体正确,但页脚页码字体却混乱。我搜索了很多,但找不到解决方案。请参阅我的 MWE:
\documentclass[a4paper,12pt]{report}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{fancyhdr}
\begin{document}
\pagestyle{fancy}
\chapter{Test}
The page number font for the page where a chapter starts is correct.
\newpage
\section{Wrong font}
The page number font on this page is wrong.
\end{document}
我是否正确定义了文档字体?如果正确,我该如何修复精美页面的页码字体,使其与文档字体相同?
这个问题出现在一份大型报告中,所以如果有一个不太可能与其他任何东西发生冲突的解决方案会更好。
答案1
如果我们仔细观察,fancyhdr.sty
就会发现
\fancyfoot[c]{\rmfamily\thepage} % page number
作为页面样式标题的默认代码fancy
。请注意\rmfamily
。它会覆盖您的无衬线设置。
你可能只需添加
\fancyfoot[c]{\thepage}
或者
\fancyfoot[c]{\sffamily\thepage}
到你的序言它应该会起作用。
如上所述,从长远来看,切换到更高级的类(例如memoir
KOMA 包中的类)可能会更容易。这样您就不需要那么多包来获得所需的布局。请注意,例如,它memoir
有自己集成良好的页面样式系统,因此fancyhdr
不应与该类一起使用。
答案2
我只想指出titleps
,自带的titlesec
不存在这个问题:
\documentclass[a4paper,12pt]{report}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{titleps}
\newpagestyle{myps}{%
\headrule
\sethead{\itshape\thesection. \MakeUppercase{\sectiontitle}}%
{}%
{\itshape\MakeUppercase{\chaptername~\thechapter.\enspace\chaptertitle}}
\setfoot{}{\thepage}{}}
\usepackage{lipsum}
\begin{document}
\pagestyle{myps}
\chapter{Test}
The page number font for the page where a chapter starts is correct.
\lipsum[1-5]
\section{Right font} The page number font on this page is right.
\end{document}