SOP(标准操作程序)文件的两页编号方案

SOP(标准操作程序)文件的两页编号方案

我正在为化妆品行业编写几个 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:一页长。

A

标准操作程序 2:第一页,九页。

b

SOP2 的最后一页以及完整文件的最后一页。

C

以及目录。

d

\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}

相关内容