如何在使用 pagestyle{myheadings} 时更改页码

如何在使用 pagestyle{myheadings} 时更改页码

我正在使用 .sty 文件,它定义了myheadings如下样式:

\pagestyle{myheadings}
            \markboth{}{header part 1~header part 2~\textendash~header part 3}

pagestyle 在页眉右侧插入页码。我现在想将数字从纯数字更改XX of N。其他关于如何更改页码的答案似乎在中定义它们\cfoot,这与 myheadings 样式不匹配,但仅适用于页脚内的页码。

我猜有一个简单的命令需要更新,以便页面样式自动使用正确的格式,但我找不到哪一个。

答案1

无需额外的包(除了lastpage捕获最后一页的页码): b

C

\documentclass[12pt, openany]{book} 

\usepackage{lastpage}% for last page

\pagestyle{myheadings}
\markboth{}{header part 1~header part 2~\textendash~header part 3}

\makeatletter
\def \@evenhead {\thepage\ of \pageref{LastPage} \hfil \slshape \leftmark } % added <<<<
\def \@oddhead {{\slshape \rightmark }\hfil \thepage\ of \pageref{LastPage}} % added <<<<
\makeatother

\usepackage{kantlipsum}% only for dummy text
\begin{document}
    
    \kant[1-15]
    
 \end{document}

流行的软件包fancyhdr提供了更多控制页眉和页脚的多功能性。

\documentclass[12pt, openany]{book} 

\usepackage{lastpage}% for last page

\usepackage{fancyhdr}% added <<<<<<<<
\fancyhf{} % clear header and footer
\renewcommand{\headrulewidth}{0pt}% suppress line after header
\fancyhead[LO]{\slshape header part 1~header part 2~\textendash~header part 3}% Left Odd pages
\fancyhead[LE,RO]{\thepage\ of \pageref{LastPage}} % Left Even and Right Odd pages 

\pagestyle{fancy} % choose the style

\usepackage{kantlipsum}% only for dummy text
\begin{document}
    
    \kant[1-15]
    
\end{document}

相关内容