\documentclass{mwrep}
%page number on the end of chapter
\makeatletter
\let\ps@closing\ps@plain
\makeatother
%margins
\usepackage{anysize}
\marginsize{3cm}{3cm}{2cm}{2cm}
\usepackage{lipsum}
%mark
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{}\chead{}\rhead{}\lfoot{}\cfoot{}\rfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
%mark
\begin{document}
\chapter{AAAAAAA}
\section{aaaaaaa}
\lipsum
\section{bbbbbbb}
\lipsum
\section{ccccccc}
\lipsum
\chapter{BBBBBBB}
\section{aaaaaaa}
\lipsum
\section{bbbbbbb}
\lipsum
\section{ccccccc}
\lipsum
\chapter{CCCCCCC}
\section{aaaaaaa}
\lipsum
\section{bbbbbbb}
\lipsum
\section{ccccccc}
\lipsum
\end{document}
当您删除%mark
s 之间的代码时,您会在每一页上得到一个数字。当我使用 时fancyhdr
,这些设置会被覆盖,并且章节开头和结尾的页码会被省略。有办法解决这个问题吗?我只是用它fancyhdr
来更改页码的位置。
答案1
该类mwrep
具有一种非常特殊的管理页面样式的方式,因此与其交互fancyhdr
可能很困难;但这似乎有效:
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}\fancyfoot[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{opening}{\fancyhf{}\fancyfoot[R]{\thepage}%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\fancypagestyle{closing}{\fancyhf{}\fancyfoot[R]{\thepage}%
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
我们只是重新定义了opening
页面closing
样式,以便他们使用这种fancyhdr
方式来做生意。
还删除与有关的代码\ps@closing
。
一个没有的解决方案fancyhdr
可能是
\makeatletter
\def\ps@plain{%
\let\@oddhead\@empty
\def\@oddfoot{\reset@font\hfil\thepage}%
\let\@evenhead\@empty
\let\@evenfoot\@oddfoot}
\let\ps@opening=\ps@plain
\let\ps@closing=\ps@plain
\makeatother
\pagestyle{plain}
综合考虑,我更喜欢第一个解决方案,尽管有点长,因为它允许您在需要时仅使用提供的命令自定义页面样式,而不是输入诸如等fancyhdr
低级命令。\@oddfoot