
아래 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}
\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: 질문이 변경되었기 때문에 세 번째 변형입니다.
의 이름 제목은 \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}
... 두 번째 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}