下面我编写了一个文档的最小工作示例,其中将罗马数字(在目录中)转换为文档“正文”中的阿拉伯数字。
请注意,我使用 imakeidx 包,以便在文档末尾有一个名称/概念的索引。
但是,发生了一些意外错误。事实上,使用下面的代码作为输入:
\documentclass[12pt,oneside,english]{report} \usepackage[a4paper]{geometry} \geometry{verbose, tmargin=2cm, bmargin=2cm, lmargin=2cm, rmargin=2cm, headsep=0.5cm, footskip=1cm} \usepackage{imakeidx} \makeindex[columns=3, options = -s Analyticalindexsetting.mst] \usepackage[hidelinks]{hyperref} \begin{document} \frontmatter \phantomsection \linespread{1} \thispagestyle{empty} \large \begin{center} \Large{{\underline{\textsc{University XXXXX}}}} \end{center} \vspace{0.1cm} \begin{center} \Large{{\textit{DEPARTMENT OF XXXXXX}}} \vspace{1.5cm}\\ \normalsize{\textit{\textbf{MsC Degree}}}\\ \normalsize{\textbf{\\In}}\\ \normalsize{\textbf{\\XXXXX}} \end{center} \vspace{1cm} \begin{center} {\LARGE \textbf{YYYYYYYY} \smallskip\\} \end{center} \vspace{3cm} \begin{tabular}{ll} \textit{DEFENDED BY} \hspace{5cm} & \textit{SUPERVISOR} \vspace{0.6cm} & JJJJJJJJ\hspace{3cm} & Prof. OOOOO \\ \end{tabular} \clearpage \begingroup \pagestyle{empty} \null \newpage \endgroup \pagenumbering{roman} \pagestyle{plain} \phantomsection \tableofcontents \chapter{FFFFFFFFFFFFFFFFF}\label{chap: Brownian motion theory} \justify \pagenumbering{arabic} \lhead{\textbf{\rightmark}} \section{WWWWWW}\label{subsec: History of Brownian motion} \justify \noindent As pointed out in Hist\index{Hist}... \printindex \backmatter \end{document}
我得到了包含五页的输出:
- 论文标题(不编号);
- 空白页(未编号);
- 目录(以 i 编号);
- 正文(编号为1),其中出现了“Hist”一词;
- 名称/概念索引(按 2 编号)。
最后一页(即“名称/概念索引”页)如下所示:
但是如果我点击“Hist”旁边的数字 1,链接会将我带到“论文标题”页面(实际上没有编号),而不是“Hist”一词实际所在的页面,即“正文”页面(实际上是编号为 1 的页面)。
我认为问题在于“论文标题”页被自动“识别”为文档的第一页,因此索引中的数字 1 自动指的是该页面,而不是实际编号为 1 的页面(即“正文”页)。
据您所知,如何才能修复此类问题,以便链接准确地指向实际编号为 1 的页面(即我上面示例中的“正文”页面)?