LaTeX 同一页面上有两个不同的页码

LaTeX 同一页面上有两个不同的页码

我想在 中的同一页上获得两个不同的页码LaTeX。例如,我想在页脚中显示总页码,在页眉中显示章节页码。我想知道如何获得这个。任何帮助都将不胜感激。谢谢。

% Document Class
\documentclass[a4paper,12pt]{book}
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{fancyhdr}
\usepackage{lastpage}

\fancypagestyle{Special}{%
\fancyhf{}% Clear fancy header/footer
\renewcommand{\headrulewidth}{0.7pt}
\renewcommand{\footrulewidth}{0.7pt}
\fancyhead[r]{Page \thepage\ of \pageref{LastPage}}
\fancyfoot[r]{Page \thepage\ of \pageref{LastPage}}
}


% Begin Document
\begin{document}

\tableofcontents

\mainmatter
\pagestyle{Special}

\chapter{First Chapter}
\section{Introduction}

\subsection{Intro1}
\subsection{Intro2}

% Blind Text
\blindtext[1]

\section{Material \& Method}

% Blind Text
\blindmathpaper

\chapter{Second Chapter}
\section{Introduction}

\subsection{Intro1}
\subsection{Intro2}

% Blind Text
\blindtext[1]

\section{Material \& Method}

% Blind Text
\blindmathpaper

% End Document
\end{document}

答案1

我引入了一个\newcounter{pagecntr}[chapter],它将在每个新章节中设置为零。我没有设法将其直接设置为 1。这就是为什么\setcounter{temp}{\thepagecntr}\stepcounter{temp}\thetemp每次我想打印它时我都需要做丑陋的事情。我想,有更好的方法,但是......没关系,它有效。

最后的技巧是使用everyshi每页都使我的新计数器增加一的包。

 % arara: pdflatex

\documentclass[a4paper,12pt]{book}
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{everyshi}
\newcounter{pagecntr}[chapter]
\EveryShipout{\stepcounter{pagecntr}}
\newcounter{temp}

\fancypagestyle{Special}{%
    \fancyhf{}% Clear fancy header/footer
    \renewcommand{\headrulewidth}{0.7pt}
    \renewcommand{\footrulewidth}{0.7pt}
    \fancyhead[r]{Page \setcounter{temp}{\thepagecntr}\stepcounter{temp}\thetemp}
    \fancyfoot[r]{Page \thepage\ of \pageref{LastPage}}
}

\begin{document}    
    \tableofcontents    
    \mainmatter
    \pagestyle{Special}     
    \chapter{First Chapter}
    \section{Introduction}  
    \subsection{Intro1}
    \subsection{Intro2} 
    \blindtext[1]
    \section{Material \& Method}    
    \blindmathpaper 
    \chapter{Second Chapter}
    \section{Introduction}  
    \subsection{Intro1}
    \subsection{Intro2} 
    \blindtext[1]   
    \section{Material \& Method}    
    \blindmathpaper 
\end{document}

在此处输入图片描述

注意:我建议写类似的内容,\thetemp\ of Ch.\ \thechapter因为如果不解释的话,一页上有两个数字会造成混淆。

答案2

这里还有一个建议,scrlayer-scrpage改为使用fancyhdr。页面样式scrheadings的定义中不包含页眉中的章节页码,并且Normal为此页面样式设置了一个别名。然后,scrheadings将其克隆到页面样式中,Special并在页眉中添加章节页码。onbackground的钩子@everystyle@用于在每一页上逐一显示章节页码。

\documentclass[a4paper,12pt]{book}
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{lastpage}
\newcounter{pagecntr}[chapter]

\setlength\headheight{14.5pt}
\usepackage[
  automark,
  markcase=upper,
  headsepline=.7pt,
  footsepline=.7pt
]{scrlayer-scrpage}
\AddToLayerPageStyleOptions{@everystyle@}{onbackground={\stepcounter{pagecntr}}}

\clearpairofpagestyles
\cfoot[\usekomafont{pagenumber}\thepage]{}
\refoot{\pagemark}
\rofoot{\pagemark}
\renewcommand*\pagemark{%
  \usekomafont{pagenumber}Page \thepage{} of \pageref{LastPage}%
}
\addtokomafont{pageheadfoot}{\upshape}

\DeclareNewPageStyleAlias{Normal}{scrheadings}

\newpairofpagestyles[scrheadings]{Special}{%
  \rohead{Page~\thepagecntr}%
  \rehead{Page~\thepagecntr}%
}

\begin{document}    
\tableofcontents    
\mainmatter

\chapter{First Chapter}
\section{Introduction}  
\subsection{Intro1}
\subsection{Intro2} 
\blindtext[1]
\section{Material \& Method}    
\blindmathpaper 

\chapter{Second Chapter}
\pagestyle{Special}
\section{Introduction}  
\subsection{Intro1}
\subsection{Intro2} 
\blindtext[1]   
\section{Material \& Method}    
\blindmathpaper 

\chapter{Second Chapter}
\pagestyle{Normal}
\section{Introduction}  
\subsection{Intro1}
\subsection{Intro2} 
\blindtext[1]   
\section{Material \& Method}    
\blindmathpaper 
\end{document}

在此处输入图片描述

相关内容