\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}
\tableofcontents
\chapter{MyChapter}
\section{Term: Foo}
\section{foobar}
\section{Term: Bar}
\end{document}
Некоторые из моих названий разделов начинаются со специального слова. В моем примере это текст "Term: ". Конечно, это часть всего заголовка. Но я не хочу, чтобы они появлялись в ToC:
Текущее содержание:
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}
решение2
Вы можете использовать короткие заголовки как необязательный аргумент в \section
команде. Это сохраняет нумерацию. MWE:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\begin{document}
\tableofcontents
\chapter{MyChapter}
\section[Foo]{Term: Foo}
\section{foobar}
\section[Bar]{Term: Bar}
\end{document}
Результат: