Referenznamen angeben

Referenznamen angeben

Siehe MWE unten. Ich möchte erreichen, dass das \nameref{c}als gedruckt wird und Appendixnicht als 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}

\renewcommand\thechapter{}Beachten Sie, dass ich aus bestimmten Gründen anstelle von \chapter*{...}plus verwenden möchte \addcontentsline....

Dies scheint eine etwas spezielle Situation zu sein. Das folgende MWE zeigt jedoch eine Anwendung, die recht häufig vorkommen könnte:

\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: Ich habe meine ursprüngliche Frage umgeschrieben. Sie ist jetzt viel prägnanter und möglicherweise auch für andere interessanter.

Antwort1

\namereflöst dein Problem, das folgende Beispiel funktioniert auch ohne Neudefinition \thechapterund fügt einen Eintrag zum Inhaltsverzeichnis und den Lesezeichen hinzu.

\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: Das funktioniert auch mit \renewcommand*{\thechapter}{}, da in der Lösung auf den Titel des Kapitels verwiesen wird. Ich gehe davon aus, dass Du auch am Anfang des Kapitels oberhalb des Kapiteltitels die Zeichenfolge "Kapitel" ohne Nummer haben möchtest und die Nummerierung trotzdem weiterläuft.

\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: Dritte Variante wegen geänderter Fragestellung.

Der Namenstitel für \namerefwird intern in gespeichert \@currentlabelname. Dieser kann in einen neuen String umdefiniert werden, der vom nächsten gelesen wird \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}

Und eine Variante, bei der stattdessen der Referenztext ersetzt wird.

\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}

Antwort2

Hier ist eine mögliche Lösung:

\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}

... und zum zweiten 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}

verwandte Informationen