索引页上的页码

索引页上的页码

我使用包定义了页码样式fancy,但是,索引页上的页码设置在页脚的中心。如何将页码放在正确的位置或将其从索引页中完全删除(至少……)?

\documentclass[]{article}

\usepackage{lastpage}

\usepackage{fancyhdr}
\pagestyle{fancy}

\fancyhf{}
\rhead{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}

\usepackage{makeidx}
\makeindex

\begin{document}

\section{A} \index{A}
\newpage
\section{B} \index{B}

\printindex

\end{document}

答案1

您必须重新定义plain页面样式。如果您还想保留它,您可以尝试类似这样的方法。@Ruedi 是第一个,但这并不适合评论……

\documentclass[]{article}

\usepackage{lastpage}

\usepackage{fancyhdr}
\pagestyle{fancy}

\fancyhf{}
\rhead{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}

% BACKUP PLAIN STYLE
\makeatletter
\let\ps@plainorig\ps@plain
\makeatother

\usepackage{makeidx}
\makeindex

\begin{document}

\section{A} \index{A}
\newpage
\section{B} \index{B}

% CHANGE PLAIN STYLE
\makeatletter
\let\ps@plain\ps@fancy
\makeatother

\printindex

% REVERT PLAIN STYLE
\makeatletter
\let\ps@plain\ps@plainorig
\makeatother

\end{document}

答案2

答案可以在 fancyhdr 手册的第 7 节中找到:

一些 Latex 命令(如 \chapter)使用 \thispagestyle 命令自动切换到纯页面样式,从而忽略当前有效的页面样式。要自定义此类页面,您必须重新定义纯页面样式

您可以将以下代码添加到序言中,以复制其他页面的页面样式:

\fancypagestyle{plain}{%
\fancyhf{}
\rhead{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}}

这基本上为“普通”页面样式设置了相同的选项。

相关内容