使用不同的页码样式时,\acro 包中的首字母缩略词反向链接引用错误的页码

使用不同的页码样式时,\acro 包中的首字母缩略词反向链接引用错误的页码

我正在尝试使用acro包和hyperref包设置有效的反向链接。我设置了make-links我的 AC 设置,并获得了指向首次使用页面的链接。我的文档\pagenumbering{roman}在目录之前使用,然后我的文档切换为使用\pagenumbering{arabic}。我将所有首字母缩略词放在使用阿拉伯数字的章节中,并使超链接按预期显示。但是,单击它时,首字母缩略词的反向链接指向我文档开头的罗马第 1 页,而不是阿拉伯第 1 页实际上包含首字母缩略词。

我如何更改 \acro 反向链接引用的 \pagenumbering 样式,以便我的反向链接引用正确的页面?

感谢任何解决此问题的技巧或窍门。

这是使用与我正在处理的文档相同结构的 MWE。

\documentclass[11pt]{report}

%%%%% Preamble %%%%%%
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[norsk]{babel}
\usepackage{graphicx,color,boxedminipage}
\usepackage{lipsum}
\usepackage[margin=3cm]{geometry}
\usepackage{hyperref}
\setlength{\headheight}{13.6pt} %Endret margin/setheight
\usepackage{fancyhdr,fancyvrb, etoc, fancyhdr, titling, tikz}
\usepackage{fancybox}
\usepackage{acro}
\acsetup{make-links,
link-only-first = true ,
pdfcomments/use = true ,
pages / display = first ,
pages / fill = {\hfill} ,
list/locale/display = true
}

\DeclareAcronym{ROV}{
short = ROV,
long = Fjernstyrt undervannsfartøy,
foreign = Remotely Operated Vehicle,
foreign-babel = english,
foreign-locale = engelsk,
}

%%%%% Document %%%%%%
\begin{document}
\newgeometry{margin=4cm}
\setlength{\parskip}{0.5cm}
\selectlanguage{norsk}
% topptext
\newcommand*\myheaderfooterfont{\normalfont\bfseries\sffamily}
\newlength\FHoffset
\setlength\FHoffset{1cm}
\addtolength\headwidth{2\FHoffset}
\pagestyle{fancyplain}
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\lhead[\fancyplain{}{\myheaderfooterfont \bfseries\thepage}]{\fancyplain{}{\myheaderfooterfont \bfseries\rightmark}}
\rhead{\fancyplain{}{\myheaderfooterfont \bfseries text}}
\chead{}
\cfoot{\bfseries\thepage}
\lfoot{}
\rfoot{}
\begin{center}
    \textbf{Titlepage}
\end{center}
\thispagestyle{empty}
\newpage
\restoregeometry
\pagenumbering{roman} 
\chapter*{Dummy 1}
\lipsum[1-1]
\newpage
\chapter*{Acronym list}
\printacronyms[heading=none]
\tableofcontents
\chapter{Dummy 3}
\pagenumbering{arabic} 
\section{Introduction}
Dummy text \ac{ROV} dummy text.

\end{document}```

答案1

您的 MWE 可以大大简化。(将来,请检查您的软件包并逐个删除它们,看看哪些会影响问题。)经过几分钟的工作,以下小得多的文档仍然显示了该问题:

\documentclass[11pt]{report}

%%%%% Preamble %%%%%%
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage{acro}
\acsetup{make-links,
link-only-first = true ,
pdfcomments/use = true ,
pages / display = first ,
pages / fill = {\hfill} ,
list/locale/display = true
}

\DeclareAcronym{ROV}{
short = ROV,
long = Fjernstyrt undervannsfartøy,
foreign = Remotely Operated Vehicle,
foreign-babel = english,
foreign-locale = engelsk,
}

\usepackage{hyperref}

%%%%% Document %%%%%%
\begin{document}
\begin{center}
    \textbf{Titlepage}
\end{center}
\thispagestyle{empty}
\newpage
\pagenumbering{roman} 
\chapter*{Dummy 1}
\lipsum[1-1]
\newpage
\chapter*{Acronym list}
\printacronyms[heading=none]
\tableofcontents
\chapter{Dummy 3}
\pagenumbering{arabic} 
\section{Introduction}
Dummy text \ac{ROV} dummy text.

\end{document}

现在,如果你真的注释掉该指令\thispagestyle{empty},你会看到你的封面以阿拉伯数字编号,页码为 1。事实上,这就是您痛苦的根源。

为了解决这个问题,以下是一个选项(与上面的序言相同)

%%%%% Document %%%%%%
\begin{document}
\pagenumbering{roman}
\setcounter{page}{0}
\begin{center}
    \textbf{Titlepage}
\end{center}
\thispagestyle{empty}
\newpage
\chapter*{Dummy 1}
\lipsum[1-1]
\newpage
\chapter*{Acronym list}
\printacronyms[heading=none]
\tableofcontents
\newpage
\pagenumbering{arabic}
\chapter{Dummy 3}
\section{Introduction}
Dummy text \ac{ROV} dummy text.

\end{document}

相关内容