LaTeX - 目录中的部分名称与正文不同

LaTeX - 目录中的部分名称与正文不同

抱歉,如果这个问题已经出现在其他地方,我找不到它。

有没有办法在文本中标记某个部分但在目录中赋予它不同的名称?

我的章节标题很长,但我想在目录中给它们起个昵称。我尝试使用,\section*{A}但这\addcontentsline{toc}{section}{B}会从正文中删除章节的编号。

我对 LaTeX 还很陌生,所以如果这个问题让你烦恼的话,我很抱歉!

答案1

大多数文档类都为用户提供了为部分单元指定不同的 ToC 相关条目的选项,该选项通过可选参数显示在实际文档主体中:

\part[<ToC-part>]{<Body-part>}
\chapter[<ToC-chapter>]{<Body-chapter>}
\section[<ToC-section>]{<Body-section>}
\subsection[<ToC-subsection>]{<Body-subsection>}
\subsubsection[<ToC-subsubsection>]{<Body-subsubsection>}
...

这样就可以有效地创建与实际文档中包含的内容完全不同的目录。但是,它提供了许多优点,包括:

  • 缩写 ToC 相关内容,否则这些内容会显得尴尬或没有意义;

  • 当读者查看目录时,删除未定义的部分单元的符号;

  • 将“奇异的”事物作为标题的一部分;

  • ...

在此处输入图片描述

\documentclass{report}
\usepackage{graphicx}
\begin{document}

\tableofcontents

\chapter[Interesting]{A very long chapter title that is not necessary in the ToC}

\section[Some math]{The graph $G\langle m,n;k\rangle$}

\subsection[Pictures]{The image \includegraphics[height=\baselineskip]{example-image}}

\end{document}

常见用法(除上述用法外)源于这样一个事实:分节单元的强制论据最终会移动。也就是说,它们会进入您放置它的文本,也会进入目录中。而且,移动论据有时脆弱的,因此必须小心处理它们可能包含的内容。可选参数提供了一种简单的解决方法,可以删除“不需要的”内容并指定您自己的内容。

答案2

作为@Werner 答案的评论式扩展:

文档类 amsbook 是那些不提供可选参数的类之一,这些参数用于章节、节、小节等与目录相关的命名。但是,通过文档,第 14 页,有替代命令\except{toc}{}\for{toc}{}分别控制哪些内容不进入目录以及哪些内容仅进入目录。

替换\chapter[name for TOC]{name for main text}

\documentclass{amsbook}

\begin{document}
\chapter{\for{toc}{name for TOC}\except{toc}{name for main text}}

然后给出相同的结果。

有时这甚至可以节省重复的公共部分,例如

\chapter{name common to TOC and main text 
\except{toc}{with additional details only in main text}}

相关内容