
이 질문을 참조하면:Hyperref는 텍스트의 장과 페이지를 참조합니다.그리고 가능한 중복목차로 돌아가는 클릭 가능한 링크
이것은 기본적으로 다시 두 번째 질문이지만 참아주세요.
첫 번째 질문의 답변을 사용했지만 약간 편집되었습니다. 이제 모든 챕터 이름이 목차에 다시 연결됩니다. (위의 '챕터 #' 부분이 아닌 이름만 있습니다. 큰 문제는 아닙니다. 해결 방법을 알고 계시다면 알아두세요 :))
문제는 이것이 TOC 라인 자체를 TOC에 연결하도록 변경한다는 것입니다. 이제 TOC에서 한 장을 클릭하면 해당 장은또한TOC에 대한 링크입니다.
MWE:
\documentclass[11pt]{report}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{xparse}
\AtBeginDocument{
\let\oldchapter\chapter
\RenewDocumentCommand{\chapter}{s o m}{%
\clearpage
\IfBooleanTF{#1}
{\oldchapter*{\hyperref[toc]{#3}}}% \chapter*[..]{...}
{\IfValueTF{#2}
{\oldchapter[#2]{\hyperref[toc]{#3}}}% \chapter[..]{...}
{\oldchapter{\hyperref[toc]{#3}}}% \chapter{...}
\label{chapter-\thechapter}% \label this chapter
}%
}
}
\begin{document}
\chapter*{Preface}
\lipsum[1-1]
\tableofcontents\label{toc}
\chapter{Introduction}
\lipsum[2-2]
\end{document}
내가 한 일은 번호가 없는 챕터를 지원하는 솔루션을 선택하고 \hyperref[toc]{}
해당 챕터에 를 추가하는 것이었습니다.
답변1
가장 쉬운 해결책은 를 사용하는 것입니다 \oldchapter[#3]{\hyperref[toc]{#3}}}%
. 즉, #3
다시 toc을 명시적으로 작성하고 \hyperref
장 제목에 명령을 설정하는 것입니다. 이렇게 하면 올바른 하이퍼앵커가 유지되고 [toc]
북마크 패널에 보기 흉한 접두어가 붙는 것을 방지할 수 있습니다!
\documentclass[11pt]{report}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{xparse}
\AtBeginDocument{
\let\oldchapter\chapter
\RenewDocumentCommand{\chapter}{s o m}{%
\clearpage
\IfBooleanTF{#1}
{\oldchapter*{\hyperref[toc]{#3}}}% \chapter*[..]{...}
{\IfValueTF{#2}
{\oldchapter[#2]{\hyperref[toc]{#3}}}% \chapter[..]{...}
{\oldchapter[#3]{\hyperref[toc]{#3}}}% \chapter{...}
\label{chapter-\thechapter}% \label this chapter
}%
}
}
\begin{document}
\chapter*{Preface}
\lipsum[1-1]
\tableofcontents\label{toc}
\chapter{Introduction}
\lipsum[2-2]
\chapter{Results}
\lipsum[2-4]
\end{document}