![从目录中的章节标题中删除第一个单词](https://linux22.com/image/391698/%E4%BB%8E%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E7%AB%A0%E8%8A%82%E6%A0%87%E9%A2%98%E4%B8%AD%E5%88%A0%E9%99%A4%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D.png)
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}
\tableofcontents
\chapter{MyChapter}
\section{Term: Foo}
\section{foobar}
\section{Term: Bar}
\end{document}
我的一些章节标题以特殊单词开头。在我的示例中,它是文本“Term:”。当然,这是整个标题的一部分。但我希望它们不出现在目录中:
当前目录:
1 MyChapter 3
1.1 Term: Foo ..........3
1.2 foobar .............3
1.3 Term: Bar ..........3
预期目录:
1 MyChapter 3
1.1 Foo ................3
1.2 foobar .............3
1.3 Bar ................3
当然,反过来也行得通:如果有一种解决方案可以在我的章节标题后面添加“Term: ”前缀,那么这种方法也可以行得通。但在这种情况下,需要确保只有少数章节标题需要扩展。
答案1
你可以简单地这样做:
\section*{Term: Foo} % suppresses output in TOC
\addcontentsline{toc}{section}{Foo} % add custom line to TOC
编辑:上面的代码还隐藏了编号,这可能是您不想要的。因此,这里还有另一个建议,即使用一个命令完成所有操作:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\newcommand{\customsec}[1]{\section[#1]{Term: #1}}
\begin{document}
\tableofcontents
\chapter{MyChapter}
\customsec{Foo}
\section{foobar}
\customsec{Bar}
\end{document}