使用 Polyglossia (TeX Live 2015) 时附录目录链接不起作用

使用 Polyglossia (TeX Live 2015) 时附录目录链接不起作用

梅威瑟:

\documentclass{book}

\usepackage{appendix}
\usepackage{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}

\begin{document}
  \tableofcontents
  \include{chapter1}
  \begin{appendices}
    \include{appendixA}
  \end{appendices}
\end{document}

在这个例子中,目录正确指向附录的页码,但链接不起作用(它没有指向任何地方)。使用 PDF 的目录也不起作用。\appendix但是使用可以。

更奇怪的是,这种情况只发生在 Ubuntu 16.04 中附带的 TeX Live 2015 上。以前的 LTS 版本不会发生这种情况。

这是一个已知错误吗?我该如何正确解决它?

答案1

由于polyglossia允许使用unicode字符,将名称Apéndice作为内容\appendixname会给需要设置正确链接的超锚点带来问题。

appendix包定义\Hy@chapname\appendixnameApéndice在这种情况下是“错误的”。

重新定义\Hy@chapname可以解决问题——只需使用带有“常规”字母的锚点名称,即没有重音符号。等等。

\documentclass{book}

\usepackage{appendix}
\usepackage{polyglossia}

\setdefaultlanguage{spanish}


\usepackage{hyperref}


\makeatletter
\newcommand{\usebetterlinkanchor}[1]{%
  \def\Hy@chapapp{#1}%
}
\makeatother



\begin{document}
  \tableofcontents
  \chapter{Chapter 1}
    \begin{appendices} 
      \usebetterlinkanchor{appendixchapters}
      \chapter{Appendix}
    \end{appendices}
\end{document}

相关内容