我有一份手稿(实际上是我的博士论文),其中使用罗马数字显示前言的页码,使用阿拉伯数字显示正文的页码。
\includepdf
现在我想使用包中的句子在文档开头添加一个外部页面pdfpages
。它是书的外部封面,因此不应将其计入页码。
理想情况下,应该发生的是覆盖页码(以及页码后面的空白页)应该用自己的计数器编号,既不是罗马数字,也不是阿拉伯数字。更准确地说,我在一些包含封面的 PDF 文档中看到,那些初始外部的页面被标记为C1和C2(为了覆盖, 我想)。
请注意我不要希望在外部添加的页面中打印页码,但只为它们分配不同的页码(即不同的页码计数器),以便其余页面保留其旧页码。
所以,我的问题是:如何在 LaTeX 中做到这一点?
这是一个 MWE:
\documentclass[11pt]{book}
\usepackage{pdfpages}
\usepackage{hyperref} %[pdfpagelabels] is default
\begin{document}
\includepdf{pdffile.pdf}
\frontmatter
\pagenumbering{roman}
Some front matter here
\newpage
And more
\mainmatter
\pagenumbering{arabic}
This is the main content
\newpage
And even more
\end{document}
查看生成的 PDF 文档时,前两页编号为 1 和 2(在文档和 PDF 查看器中均如此),然后开始前页,编号为“i”、“ii”等。然后,开始正文,页面再次编号为 1、2 等。
事实上,该包裹hyperref
会发出警告,因为有两页标记为“1”,还有两页标记为“2”。
所以,我怎样才能将前言之前的那些页面编号为“C1”、“C2”等(至少在 PDF 查看器中)?
答案1
嗯,我自己发现的。
解决方案是通过重新定义命令来自定义页码\thepage
,使用
\renewcommand{\thepage}{C\arabic{page}}
另外,如果我们想避免页码出现在覆盖部分,我们可以使用
\thispagestyle{empty}
因此,对我有用的 MWE 是这样的:
\documentclass[11pt]{book}
\usepackage{pdfpages}
\usepackage{hyperref} %[pdfpagelabels] is default
\begin{document}
% ///////////////////////////////////////
\thispagestyle{empty}
\renewcommand{\thepage}{C\arabic{page}}
% ///////////////////////////////////////
\includepdf{pdffile.pdf}\thispagestyle{empty}
\frontmatter
\pagenumbering{roman}
Some front matter here
\newpage
And more
\mainmatter
\pagenumbering{arabic}
This is the main content
\newpage
And even more
\end{document}
编辑:我改变了首字母\pagestyle{empty}
以\thispagestyle{empty}
确保文档的其余部分不受影响。
编辑:我刚刚在这里发现了类似问题的类似答案:附录的自定义页码