
라텍스에서 해결할 수 없는 문제가 발생했습니다. hyperref 패키지는 목차에서 클릭 가능한 링크를 생성하지만 하위 섹션을 실제 하위 섹션에 연결하지 않고 해당 하위 섹션에 연결합니다. 하위 섹션 자체 또는 하위 섹션이 있는 페이지에 연결되도록 이 동작을 변경할 수 있습니까?
조금 더 살펴본 후, 이 문제를 표시하려면 섹션 번호 매기기를 비활성화하고 titlesec 패키지를 사용해야 하는 것 같습니다. 다음은 이 문제의 샘플입니다.
\documentclass{report}
\usepackage[linktoc=all]{hyperref}
\setcounter{secnumdepth}{0}
\usepackage{titlesec}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{document}
\tableofcontents
\chapter{test}
Test text
\newpage
\section{A section}
Lorem Ipsum
\newpage
\subsection{This link is wrong}
\end{document}
답변1
0으로 설정하기 때문에 secnumdepth
하이퍼링크에 대한 앵커가 생성되지 않으며 이로 인해 언급된 원하지 않는 효과가 발생합니다. 다음 코드는 예상대로 작동합니다.
\documentclass{report}
\usepackage[linktoc=all]{hyperref}
\usepackage{titlesec}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{document}
\tableofcontents
\chapter{test}
Test text
\newpage
\section{A section}
Lorem Ipsum
\newpage
\subsection{This link is correct}
\end{document}
모든 섹션과 하위 섹션의 번호를 지정하지 않지만 ToC에 포함하고 올바른 하이퍼링크를 생성하려는 경우 한 가지 옵션은 다음 \phantomsection
명령을 사용하여 앵커를 생성하는 것입니다.
\documentclass{report}
\usepackage[linktoc=all]{hyperref}
\setcounter{secnumdepth}{0}
\usepackage{titlesec}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{document}
\tableofcontents
\chapter{test}
Test text
\newpage
\phantomsection
\section{A section}
Lorem Ipsum
\newpage
\phantomsection
\subsection{This link is correct}
\end{document}
titlesec
또 다른 옵션은 및 패키지를 사용하여 titletoc
문서 본문과 ToC 모두에서 번호 매기기를 제거하는 것입니다.
\documentclass{report}
\usepackage[linktoc=all]{hyperref}
\usepackage{titlesec}
\usepackage{titletoc}
\titleformat{\section}
{\normalfont\Large\bfseries}{}{1em}{}
\titleformat{\subsection}
{\normalfont\large\bfseries}{}{1em}{}
\titlecontents{section}
[1.5em] {}{}{}
{\titlerule*[1em]{.}\contentspage}
\titlecontents{subsection}
[3.8em] {}{}{}
{\titlerule*[1em]{.}\contentspage}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{document}
\tableofcontents
\chapter{test}
Test text
\newpage
\section{A section}
Lorem Ipsum
\newpage
\subsection{This link is correct}
\end{document}
\section*
또 다른 옵션은 섹션 단위(즉, , \subsection*
) 의 별표 버전을 사용 하고 \addcontentsline
항목을 ToC에 수동으로 추가하는 것입니다.
\documentclass{report}
\usepackage[linktoc=all]{hyperref}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black
}
\begin{document}
\tableofcontents
\chapter{test}
Test text
\newpage
\section*{A section}
\addcontentsline{toc}{section}{A section}
Lorem Ipsum
\newpage
\subsection*{This link is correct}
\addcontentsline{toc}{subsection}{This link is correct}
\end{document}