将页码设置为粗体时出现问题

将页码设置为粗体时出现问题

它应该很简单,但我至今还没搞明白:页码适用于页眉和普通样式,但不适用于其他样式。我所做的一切似乎都不会影响\thepage,甚至\textbf等。

\documentclass[sfheadings]{mwbk}
\usepackage{lipsum}



%\pagestyle{headings}


\makeatletter
\let\ps@opening\ps@plain
\let\ps@closing\ps@headings
\renewcommand\heading@font{\sffamily\bfseries}
\renewcommand\hf@plain{%
  \let\@oddhead\@empty
  \def\@oddfoot{\heading@font\hfil\thepage\hfil}%
  \let\@evenhead\@empty
  \let\@evenfoot\@oddfoot
  }
\renewcommand\hf@headings{%
  \def\@oddhead{\heading@font\rightmark\hfil\thepage}%
  \let\@oddfoot\@empty
  \def\@evenhead{\heading@font\thepage\hfil\leftmark}% <<< heading@font only affects \leftmark
  \let\@evenfoot\@empty
    }
\makeatother


\begin{document}
\chapter{A chapter}
\lipsum[1-10]
\section{asdf}
\lipsum[15-17]


\end{document}

答案1

\pagestyle{headings}修改后需重新申报。

\ps@opening此外,和的指令也\ps@closing应延迟至\begin{document}

\documentclass[sfheadings]{mwbk}
\usepackage{lipsum}

\makeatletter
\renewcommand\heading@font{\sffamily\bfseries}
\renewcommand\hf@plain{%
  \let\@oddhead\@empty
  \def\@oddfoot{\heading@font\hfil\thepage\hfil}%
  \let\@evenhead\@empty
  \let\@evenfoot\@oddfoot
}
\renewcommand\hf@headings{%
  \def\@oddhead{\heading@font\rightmark\hfil\thepage}%
  \let\@oddfoot\@empty
  \def\@evenhead{\heading@font\thepage\hfil\leftmark}%
  \let\@evenfoot\@empty
}
\AtBeginDocument{%
  \let\ps@opening\ps@plain
  \let\ps@closing\ps@headings
}
\makeatother
\pagestyle{headings}


\begin{document}

\chapter{A chapter}

\lipsum[1-10]

\section{asdf}

\lipsum[15-17]

\end{document}

在此处输入图片描述

章节页面位于左侧只是为了方便(制作较小的图片)。

相关内容