我正在为化妆品行业编写几个 SOP(标准操作程序)。我需要在页脚中使用两种页码方案,一种用于文档的所有页面,另一种用于特定 SOP 的所有页面,如下所示:
全球页数:1/180
标准操作程序 页码:1/7
主目录必须显示全局编号,而每个 SOP 的目录必须显示本地编号。
怎么做?
\documentclass {article}
\usepackage{fancyhdr}
\fancyhf{} %clear header and footer
\fancypagestyle{firststyle}{
\rfoot{
\fbox{
\begin{tabular}{r}
Global Page: \thepage/\thepage \\
SOP Page: \thepage/\thepage \\
\end{tabular}
}}
}
\usepackage{titletoc}
\begin{document}
\tableofcontents
\newpage
\addcontentsline{toc}{section}{SOP 1 - Administration}
\pagestyle{firststyle}
\startlist{toc}
\printlist{toc}{}{\section*{Contents - SOP 1}}
\setcounter{page}{1}
\section{OBJECTIVE}
\section{RESPONSIBILITY}
\section{PROCEDURES}
\stopcontents
\newpage
\setcounter{section}{0}
\addcontentsline{toc}{section}{SOP 2 - Prodution}
\startlist{toc}
\printlist{toc}{}{\section*{Contents - SOP 2}}
\setcounter{page}{1}
\section{OBJECTIVE}
\section{RESPONSIBILITY}
\section{PROCEDURES}
\end{document}
答案1
定义了两个页面计数器:正常页码和在每个 SOP 之前重置的辅助页码。
第二个代码取自文档中的两组页码
使用该包获取了文档的总物理页数lastpage
。
完整文档共有 11 页:SOP 1(一页)SOP 2(9 页)和 ToC(一页)。
标准操作程序 1:一页长。
标准操作程序 2:第一页,九页。
SOP2 的最后一页以及完整文件的最后一页。
以及目录。
\documentclass{article}
\usepackage{atenddvi} % added <<<<<<<<<<<<<
\usepackage{lastpage} % added <<<<<<<<<<<<<
\usepackage[user]{zref}% added <<<<<<<<<<<<<
\usepackage{titletoc}
\usepackage{kantlipsum}% ONLY dummy text
\usepackage{fancyhdr}
\fancypagestyle{firststyle}{% changed <<<<<<<<<<<<<<<<
\fancyhf{} %clear header and footer
\fancyfoot[R]{\stepcounter{pageaux}
\fbox{%
\begin{tabular}{r}
Global Page: \thepage/\pageref{LastPage} \\
SOP Page: \thepageaux/\ref{\currentauxref} \\
\end{tabular}}
}}
\pagestyle{firststyle}
%%********************************* from https://tex.stackexchange.com/a/82560/161015
\newcounter{pageaux}
\def\currentauxref{PAGEAUX1}
\makeatletter
\newcommand{\resetpageaux}{%
\clearpage
\edef\@currentlabel{\thepageaux}\label{\currentauxref}%
\xdef\currentauxref{PAGEAUX\thepage}%
\setcounter{pageaux}{0}}
\AtEndDvi{\edef\@currentlabel{\thepageaux}\label{\currentauxref}}
\makeatother
%%*********************************
\begin{document}
\thispagestyle{empty}
\tableofcontents
\newpage
\addcontentsline{toc}{section}{SOP 1 - Administration}
\resetpageaux% reset aux page numbers
\startlist{toc}
\printlist{toc}{}{\section*{Contents - SOP 1}}
\section{OBJECTIVE}
\kant[9]
\section{RESPONSIBILITY}
\kant[2]
\section{PROCEDURES}
\kant[9]
\stopcontents
\newpage
\setcounter{section}{0}
\addcontentsline{toc}{section}{SOP 2 - Production}
\resetpageaux% reset aux page numbers
\startlist{toc}
\printlist{toc}{}{\section*{Contents - SOP 2}}
\section{OBJECTIVE}
\kant[1-8]
\section{RESPONSIBILITY}
\kant[1-8]
\section{PROCEDURES}
\kant[1-8]
\stopcontents
\end{document}