无法更改页脚和页眉页码的位置

无法更改页脚和页眉页码的位置

我正在使用该命令\pagestype{myheadings}来确保页眉除页码外不包含任何其他内容。

但是,我无法让章节第一页的页码显示在页角。

以下是我迄今为止所做工作的示例代码:

\documentclass[12pt,a4paper]{book}

\usepackage[T1]{fontenc}
\usepackage[french]{babel}

\pagestyle{myheadings}

\title{Test book}
\author{Someone}
\date{\today}

\usepackage{lipsum}  

\begin{document}
    \sloppy
    \maketitle
    
    \chapter{First chapter}
    \lipsum[1-100]
    
    \backmatter
    \tableofcontents
\end{document}

问题示例图

致以最诚挚的问候!

答案1

本书class使用plain页面样式作为章节第一页。以下是中的定义book.cls

\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
     ----------->>  \thispagestyle{plain}%    <<-----------
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}

至少有两种方法可以改变这种状况。

使用fancyhdr包并重新定义plain样式(参见文档第 12-13 页)。

\usepackage{fancyhdr}
\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyhead[LE,RO]{\thepage}%
  \renewcommand{\headrulewidth}{0pt}%
  \renewcommand{\footrulewidth}{0pt}%
  }

通过etoolbox

\usepackage{etoolbox}
\patchcmd{\chapter}{plain}{myheadings}{}{}

事实上这相当于

\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{myheadings}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\makeatother

相关内容