
下の MWE を参照してください。 はではなく として\nameref{c}
印刷されるようにしたいのです。Appendix
Some Stuff
\documentclass{book}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{hyperref}
\begin{document}
\chapter{First Chapter}
\lipsum[1]
We refer to the \nameref{c}.
\lipsum
\begin{appendices}
\renewcommand\thechapter{}
\chapter{Some stuff}\label{c}
\lipsum
\end{appendices}
\end{document}
いくつかの理由により、 plus\renewcommand\thechapter{}
ではなくを使用することに注意してください。\chapter*{...}
\addcontentsline...
これは少し特殊な状況のように思えます。ただし、次の MWE は、かなり頻繁に発生する可能性のあるアプリケーションを示しています。
\documentclass{book}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{hyperref}
\begin{document}
\chapter{First Chapter}
\lipsum[1]
This is explained in the next chapter.
%I want to set a link on "next chapter" which points to the second chapter
\lipsum[2]
\chapter{Second Chapter}
\lipsum[3]
\end{document}
注: 元の質問を書き直しました。より要点が明確になり、他の人にとってより興味深いものになるかもしれません。
答え1
\nameref
問題は解決しますが、以下の例も再定義せずに機能し\thechapter
、目次とブックマークにエントリを追加します。
\documentclass{book}
\usepackage{lipsum}
\usepackage{hyperref}
\usepackage{bookmark}
\bookmarksetup{numbered}
\begin{document}
\tableofcontents
\chapter{First Chapter}
\lipsum[1]
We refer to the \nameref{chap:second}.
\lipsum
\cleardoublepage
\addcontentsline{toc}{chapter}{Second Chapter}
\chapter*{Second Chapter}
\label{chap:second}
\lipsum
\end{document}
PS: これは でも機能します\renewcommand*{\thechapter}{}
。ソリューションでは章のタイトルが参照されるためです。章のタイトルの上の章の先頭に番号なしの文字列「Chapter」を表示し、番号付けを継続することも必要であると想定しています。
\documentclass{book}
\usepackage{lipsum}
\usepackage{hyperref}
\usepackage{bookmark}
\bookmarksetup{numbered}
\begin{document}
\tableofcontents
\chapter{First Chapter}
\lipsum[1]
We refer to the \nameref{chap:second}.
\lipsum
\renewcommand*{\thechapter}{}
\chapter{Second Chapter}
\label{chap:second}
\lipsum
\end{document}
PPS: 質問が変更されたため、3 番目のバリエーションです。
の名前 title は、\nameref
に内部的に格納されます\@currentlabelname
。これは、次の によって読み取られる新しい文字列に再定義できます\label
。
\documentclass{book}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{hyperref}
\makeatletter
\newcommand*{\SetNameTitle}[1]{%
\def\@currentlabelname{#1}%
}
\makeatother
\begin{document}
\chapter{First Chapter}
\lipsum[1]
We refer to the \nameref{c}.
\lipsum
\begin{appendices}
\renewcommand\thechapter{}
\chapter{Some stuff}
\SetNameTitle{\appendixname}
\label{c}
\lipsum
\end{appendices}
\end{document}
代わりに参照テキストが置き換えられるバリエーションもあります。
\documentclass{book}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{hyperref}
\begin{document}
\chapter{First Chapter}
\lipsum[1]
We refer to the \hyperref[c]{\appendixname}.
\lipsum
\begin{appendices}
\renewcommand\thechapter{}
\chapter{Some stuff}\label{c}
\lipsum
\end{appendices}
\end{document}
答え2
考えられる解決策は次のとおりです:
\documentclass{book}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{hyperref}
\begin{document}
\chapter{First Chapter}
\lipsum[1]
We refer to the \hyperlink{c}{Appendix}.
\lipsum
\begin{appendices}
\renewcommand\thechapter{}
\cleardoublepage
\phantomsection\hypertarget{c}{}
\chapter{Some stuff}\label{c}
\lipsum
\end{appendices}
\end{document}
...そして 2 番目の MWE の場合:
\documentclass{book}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{hyperref}
\begin{document}
\chapter{First Chapter}
\lipsum[1]
This is explained in the \hyperlink{c}{next chapter}.
%Now the link points to the second chapter and is printed as "next chapter"
\lipsum[2]
\cleardoublepage
\phantomsection\hypertarget{c}{}
\chapter{Second Chapter}
\lipsum[3]
\end{document}