非表示部分を使用するときにハイパーリファレンスを修正する方法

非表示部分を使用するときにハイパーリファレンスを修正する方法

次のような構造のドキュメントを作成したいと思います。

  • パート1(英語版):
    • セクション1
    • 第2節等
    • 付録A
    • 付録B
  • パート2(ドイツ語版):
    • セクション1
    • 第2節等
    • 付録A
    • 付録B

ドキュメントに「パート 1」の見出しを表示したくありません。そのため、セクションの番号付けを再開する「invisiblepart」を導入しました。

残念ながら、ハイパーリファレンスはすべてパート 1 につながります (以下のコードを参照)。

これをどう直せばいいでしょうかハイパーリファレンスの問題?


\documentclass{amsart}
  \makeatletter
    \@addtoreset{section}{part} 
  \makeatother
  \newcommand\invisiblepart[1]{%
    \refstepcounter{part}%
    \addcontentsline{toc}{part}{#1}%
  }
  \usepackage{hyperref}
\begin{document}
  \invisiblepart{English Version}
    \section{First English section}
       \label{sec11} Goto English Appendix \ref{app11}\pagebreak
    {\appendix\section{First English Appendix}
       \label{app11} Goto English Chapter \ref{sec11}\pagebreak}
  \invisiblepart{German Version}
    \section{First German Section}
       \label{sec21} Goto German Appendix \ref{app21}\pagebreak
    {\appendix\section{First German Appendix}
       \label{app21}Goto German Section \ref{sec21}}
\end{document}

答え1

解決策を見つけたここ:

Hyperref は時々賢すぎることがあります。これをもっと愚かにして、より堅牢にしましょう:

\usepackage[hypertexnames=false]{hyperref}

答え2

39ページhyperref マニュアルは次のように述べているamsrefs

パッケージの読み込み順序:
\usepackage{hyperref}
\usepackage{amsrefs}

同じかもしれませんamsart:)

関連情報