我意识到这个问题看起来与下面的问题类似,但有所不同:
使用 hyperref 和 \addcontentsline
我无法使用上面的链接来解决我的问题。
我正在使用该book
课程编写一份文档。
有一个带有注释的序言,并且序言在目录中不应该有章节编号。
序言中的符号代码:
\addcontentsline{toc}{chapter}{Notation}
\phantomsection
\label{chnotation}
% table of notation goes here
在主体中,我使用超级引用来尝试获取页面链接。
\documentclass[12pt,letterpaper,openany,oneside]{book}
\usepackage[bookmarks,hypertexnames=false,debug,linktocpage=true]{hyperref}
\hypersetup{colorlinks,linkcolor={blue!90},citecolor={blue!90},urlcolor={blue!80}}
\begin{document}
\chapter*{Acknowledgements}
\include*{Preamble/acknowledgements}
\clearpage
\listoftables
\addcontentsline{toc}{chapter}{List of Tables}
\clearpage
\listoffigures
\addcontentsline{toc}{chapter}{List of Figures}
\clearpage
\chapter*{Notation}
\include*{Preamble/notation}
\setcounter{tocdepth}{3}
\clearpage
\tableofcontents
\include{"Sections/Chapter 1/chapter1"}
\include{"Sections/Chapter 2/chapter2"}
\end{document}
目录页的结果如下所示
这是正确的因为序言中的章节不应该有与之关联的章节编号。
我想使用 use\ref
来引用符号部分,但是使用\ref{chnotation}
(chnotation
符号部分的标签在哪里)不起作用。我收到以下错误消息
Package hyperref Warning: Suppressing empty link on input line 16.
我可以使用什么方法\ref
来引用以这种方式设置的序言中的某个部分?我不能使用,\chapter
因为这会导致出现章节编号(以及文本“第 XX 章注释”),而这种情况不应该发生,因为这是序言的一部分。
期望的结果
我想在正文中写一些类似以下内容:
The reader may wish to refer to the \ref{chnotation} in the preamble.
编译后,\ref{chnotation}
将被替换为序言中章节的名称,并且该句子将显示为
读者可能希望参考序言中的注释。
点击“符号”一词将把读者带到\label{chnotation}
放置该符号的页面。
我试着看
使用 hyperref 和 \addcontentsline
寻求帮助但我无法解决我的问题。
答案1
\ref
通常只返回章节编号。由于您似乎想\ref
返回未编号章节的标题,\nameref
因此请使用:
\documentclass[12pt,letterpaper,openany,oneside]{book}
\usepackage{xcolor}
\usepackage[bookmarks,hypertexnames=false,debug,linktocpage=true]{hyperref}
\hypersetup{colorlinks,linkcolor={blue!90},citecolor={blue!90},urlcolor={blue!80}}
\begin{document}
\chapter*{Notation} \label{ch:notation}
\addcontentsline{toc}{chapter}{Notation}
\setcounter{tocdepth}{3}
\clearpage
\tableofcontents
\chapter{chapter heading}
text \nameref{ch:notation}
\end{document}