
Veja o MWE abaixo. Eu quero conseguir isso, o \nameref{c}
é impresso como Appendix
não como 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}
Observe que, por alguns motivos, quero usar \renewcommand\thechapter{}
em vez de \chapter*{...}
plus \addcontentsline...
.
Esta parece ser uma situação um pouco especial. No entanto, o seguinte MWE mostra uma aplicação que pode ser bastante frequente:
\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}
NB: Reescrevi minha pergunta original. Agora é muito mais direto ao ponto e também pode ser mais interessante para outros.
Responder1
\nameref
resolve seu problema, o exemplo abaixo também funciona sem redefinir \thechapter
e adiciona uma entrada ao índice e aos favoritos.
\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: Isso também funciona com \renewcommand*{\thechapter}{}
, pois na solução o título do capítulo é referenciado. Presumo que você também queira a string "Capítulo" sem número no início do capítulo acima do título do capítulo e que a numeração continue mesmo assim.
\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: Terceira variante devido à alteração da pergunta.
O nome title para \nameref
é armazenado internamente em \@currentlabelname
. Isso pode ser redefinido para uma nova string que será lida pelo próximo arquivo \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}
E uma variante, onde o texto de referência é substituído.
\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}
Responder2
Aqui está uma solução possível:
\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}
... e para o segundo 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}