我记得在某处读到过(现在似乎找不到实际的页面)为了避免重复引用,应该将未编号的页面(例如,标题页,版权页等)hyperref
的页码切换为“未使用的”(例如)。\alph
此外,人们通常使用罗马数字(例如,\roman
)来表示前言(例如,目录、图表列表、介绍等)。
我突然想到,如果前言比较长,这两种编号可能会发生冲突,而且您仍然会得到重复的引用。例如,假设您有 10 页未编号的页面,编号为 a 到 j,假设您有 60 页前言,编号为 i 到 dx:未编号部分的“d”会不会与前言中的“d”发生冲突?有没有办法避免这种情况?
答案1
确实,页码冲突仍然可能发生,尽管在正常情况下不太可能发生。但可以轻松避免:只需修改“不可见”的页码,使其包含永远不能成为罗马数字的一部分的内容。以下示例引入了一种新的页码样式myalph
,它只是z
在alph
输出前面添加一个:
\documentclass{article}
\makeatletter
\newcommand{\@myalph}{z\@alph}
\makeatother
\usepackage{hyperref}
\begin{document}
\pagenumbering{myalph}
\setcounter{page}{9}
test
\newpage
\pagenumbering{roman}
test
\end{document}
答案2
有五种“标准”页码样式:arabic
、roman
、Roman
、alph
、Alph
和。当and (i、v、x、l、c、d、m)fnsymbol
之间发生冲突时,您可以使用and或and或/ and ,而无需重新定义任何内容。(如果您在后记中使用另一种页码样式,当然,您可能仍必须使用 Vihrov 的解决方案。)alph
roman
alph
Roman
Alph
roman
alph
Alph
fnsymbol