在 Latex TOC 中命名一个部分(在目录行中添加副标题)

在 Latex TOC 中命名一个部分(在目录行中添加副标题)

我有我的 Latex 文档(文档类为article),它由几个\sections 和\subsections 组成。

\tableofcontents命令根据我的需要生成目录(在本例中是:超引用、带有页码、带有点等),但对于章节,我想添加“章节副标题”。

举个例子:我当前的目录如下

1 Layout
    1.1 Main Window
    1.2 Footer
2 Navigation
    2.1 Basic structure
    2.2 Overview page

现在我想给每个部分添加一个副标题,我希望它能像这样工作\section{Layout}{this section describes the layout},但显然不起作用。

我想要的是:

1 Layout - this section describes the layout
    1.1 Main Window
    1.2 Footer
2 Navigation - here you will get information on foobar
    2.1 Basic structure
    2.2 Overview page

答案1

如果“副标题”属性与标题的属性相同,并且希望信息紧接着标题出现,则可以使用分段单位的可选参数:

\documentclass{article}

\begin{document}

\tableofcontents

\section[Layout -- This section describes the layout]{Layout}
\subsection{Main Window}
\subsection{Footer}
\section[Navigation -- Here you will get information on foobar]{Navigation}
\subsection{Basic structure}
\subsection{Overview page}

\end{document}

在此处输入图片描述

作为托黑茨在评论中提到这也会将此副标题添加到标题标记中。

另一种有时使用的格式是将此“副标题”写在章节单元标题的正下方。以下代码显示了实现此目的的一种方法;其思想是定义一个新命令\sectionsubtitle,将信息写入目录,模仿章节条目的排版方式,但隐藏章节和页码以及前导点;此外,使用这种方法,副标题不会添加到头标中:

\documentclass{article}
\usepackage{etoolbox}

\makeatletter
\let\@nodottedtocline\@dottedtocline
\patchcmd{\@nodottedtocline}{\hbox{.}}{\hbox{}}{}{}
\patchcmd{\@nodottedtocline}{\normalcolor #5}{\normalcolor}{}{}
\newcommand*\l@sectionsubtitle{\@nodottedtocline{1}{0em}{1.5em}}
\makeatother

\def\sectionsubtitle#1{%
    \addcontentsline{toc}{sectionsubtitle}{\protect\numberline{}#1}%
}

\begin{document}

\tableofcontents

\section{Layout}
\sectionsubtitle{This section describes the layout}
\subsection{Main Window}
\subsection{Footer}
\section{Navigation}
\sectionsubtitle{Here you will get information on foobar}
\subsection{Basic structure}
\subsection{Overview page}

\end{document}

在此处输入图片描述

相关内容