是否可以显示包含的 pdf 文件的页码?目前,我使用 fancyhdr 有以下页脚/页眉定义
%-------------------------------------------------
% Header & Footer
%-------------------------------------------------
\pagestyle{fancy}
\fancyhf{}
\fancyhead[C]{{\scriptsize}}
\fancyfoot[R]{{\scriptsize\thepage{}/\pageref{LastPage}}}
\fancyheadoffset{0mm}
\fancyfootoffset{0mm}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
并使用 pdfpages 包含以下命令
\newcommand{\InsertPdfPages}[1]{%
\includepdf[pages={#1},pagecommand={\pagestyle{fancy}}]{./NP2-18.pdf}%
}
但我希望 pdf 包含的页面的页脚看起来像这样
\fancyfoot[R]{{\scriptsize\thepage{}(\thepdfincludedpage)/\pageref{LastPage}}}
结果包含的页面的页脚如下所示
169(23)/423 % <current page>(<number of pdf included page>)/<total number of pages>
答案1
开始的示例:
\documentclass{article}
\usepackage{lastpage}
\usepackage{pdfpages}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[R]{{\scriptsize\thepage/\pageref{LastPage}}}
\fancyheadoffset{0mm}
\fancyfootoffset{0mm}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{fancyinsert}{%
\fancyfoot[R]{{\scriptsize\thepage(\theinsertpage)/\pageref{LastPage}}}%
}
\newcounter{insertpage}
\newcommand{\InsertPdfPages}[1]{%
\setcounter{insertpage}{0}%
\includepdf[
pages={#1},
pagecommand={%
\stepcounter{insertpage}%
\thispagestyle{fancyinsert}%
},
]{NP2-18.pdf}%
}
\begin{document}
\InsertPdfPages{1-2}
Last page.
\end{document}
不是很清楚,“插入页”是哪种页码:
- 插入的 PDF 文档的绝对页码,
- “
\thepage
”插入的 PDF 文档的编号, - 插入页面范围的绝对页码。
该示例实现了后一种解释。
\thepage
下一个示例提供了更复杂的页面范围的示例:
\documentclass{article}
\usepackage{lastpage}
\usepackage{pdfpages}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[R]{{\scriptsize\thepage/\pageref{LastPage}}}
\fancyheadoffset{0mm}
\fancyfootoffset{0mm}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{fancyinsert}{%
\fancyfoot[R]{{\scriptsize\thepage(\theinsertpage)/\pageref{LastPage}}}%
}
\newcounter{insertpage}
\newcommand{\InsertPdfPages}[1]{%
\setcounter{insertpage}{0}%
\includepdf[
pages={#1},
pagecommand={%
\stepcounter{insertpage}%
\thispagestyle{fancyinsert}%
},
]{NP2-18.pdf}%
}
\begin{document}
\renewcommand*{\theinsertpage}{%
\ifcase\value{insertpage}%
20\or
21\or
22\or
23\or
24\or
41\or
43\or
44\or
50\or
51\or
52%
\fi
}%
\InsertPdfPages{20-24,41,43,44,50-52}
Last page.
\end{document}
或者解析页面列表的变体:
\documentclass{article}
\usepackage{lastpage}
\usepackage{pdfpages}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[R]{{\scriptsize\thepage/\pageref{LastPage}}}
\fancyheadoffset{0mm}
\fancyfootoffset{0mm}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{fancyinsert}{%
\fancyfoot[R]{{\scriptsize\thepage(\theinsertpage)/\pageref{LastPage}}}%
}
\newcounter{insertpage}
\usepackage{kvsetkeys}
\makeatletter
\newcommand{\InsertPdfPages}[1]{%
\comma@parse{#1}{\@InsertPdfPages}%
}
\newcommand*{\@InsertPdfPages}[1]{%
\@@InsertPdfPages#1-#1-\@nil
}
\def\@@InsertPdfPages#1-#2-#3\@nil{%
\InsertPdfPageRange{#1}{#2}%
}
\makeatother
\newcommand*{\InsertPdfPageRange}[2]{%
\setcounter{insertpage}{#1}%
\addtocounter{insertpage}{-1}%
\includepdf[
pages={#1-#2},
pagecommand={%
\stepcounter{insertpage}%
\thispagestyle{fancyinsert}%
},
]{NP2-18.pdf}%
}
\begin{document}
\InsertPdfPages{20-24,41,43,44,50-52}
Last page.
\end{document}