我想在一些选定的目录条目之间添加额外的空间。我可以通过添加\bigskip
标题来实现这一点。虽然这会产生所需的输出,但也会产生错误(与 hyperref 包相关 - 见下文)。
因此看来一定有更正确的方法来做到这一点。
梅威瑟:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\begin{document}
\addcontentsline{toc}{chapter}{Summary\bigskip}
\addcontentsline{toc}{chapter}{Table of contents}
\tableofcontents
\addcontentsline{toc}{chapter}{List of figures}
\listoffigures
\addcontentsline{toc}{chapter}{List of tables\bigskip}
\listoftables
\mainmatter
\chapter{Chapter 1}
\section{Section}
\end{document}
这会产生以下错误:
PDF 字符串 (PDFDocEncoding) 中不允许使用标记:(hyperref) 删除“\@ifnextchar”
PDF 字符串 (PDFDocEncoding) 中不允许使用标记:(hyperref) 删除“\bigskipamount”
答案1
使用以下方式单独添加空格
\addtocontents{toc}{\protect\bigskip}
您的示例代码:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\begin{document}
\frontmatter % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\cleardoublepage % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\addcontentsline{toc}{chapter}{Summary}
\addtocontents{toc}{\protect\bigskip} % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\cleardoublepage % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\addcontentsline{toc}{chapter}{Table of contents}
\addtocontents{toc}{\vspace{-2ex}} % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\tableofcontents
\cleardoublepage % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\addcontentsline{toc}{chapter}{List of figures}
\addtocontents{toc}{\vspace{-2ex}} % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\listoffigures
\cleardoublepage % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\addcontentsline{toc}{chapter}{List of tables}
\addtocontents{toc}{\protect\bigskip} % <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
\listoftables
\mainmatter
\chapter{Chapter 1}
\section{Section}
\end{document}