更改章节编号/字母后更正链接和参考文献

更改章节编号/字母后更正链接和参考文献

我正在尝试将某些章节的编号从数字更改为字母,使用方法:

\documentclass{report}
\setlength\parindent{0pt}
\usepackage{hyperref}
\begin{document}

Reference to chapter 1: \ref{chapter_1}

Reference to chapter A: \ref{chapter_a}

\chapter{A chapter}
\label{chapter_1}

\setcounter{chapter}{0}
\renewcommand{\thechapter}{\Alph{chapter}}%
\chapter{Another one}
\label{chapter_a}

\end{document} 

当然,使用\setcounter{chapter}{0},我最终得到了两个章节“1”,一个表示为数字,另一个表示为字母,这会弄乱可点击的引用hyperref(在上面的例子中,两个可点击的引用都指向第一章)。

有没有办法解决这个问题——将一个章节改为使用字母而不是数字,而不用通过重置章节编号来弄乱参考文献?

答案1

另一种可能性:使用\renewcommand{\theHchapter}{otherchapter\thechapter}它来防止章节计数器值加倍而造成混淆hyperref,因为这会设置链接锚点。

\documentclass{report}
\setlength\parindent{0em}
\usepackage{hyperref}
\begin{document}

Reference to chapter 1: \ref{chapter_1}

Reference to chapter A: \ref{chapter_a}

\chapter{A chapter}
\label{chapter_1}


%\appendix
\setcounter{chapter}{0}

\renewcommand{\thechapter}{\Alph{chapter}}%
\renewcommand{\theHchapter}{otherchapter\thechapter}
\chapter{Another one}
\label{chapter_a}

\end{document} 

答案2

只需添加选项\usepackage[hypertexnames=false]{hyperref}

\documentclass{report}
\setlength\parindent{0pt}
\usepackage[hypertexnames=false]{hyperref}
\begin{document}

Reference to chapter 1: \ref{chapter_1}

Reference to chapter A: \ref{chapter_a}

\chapter{A chapter}
\label{chapter_1}

\setcounter{chapter}{0}
\renewcommand{\thechapter}{\Alph{chapter}}%
\chapter{Another one}
\label{chapter_a}


\end{document} 

选项[hypertexnames=false]允许使用 hyperrref 的计数器,但不允许使用与 对应的 TeX 计数器\usepackage{hyperref},这实际上是\usepackage[hypertexnames=true]{hyperref}

相关内容