目次のセクションタイトルの最初の単語を削除する

目次のセクションタイトルの最初の単語を削除する
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\begin{document}

\tableofcontents

\chapter{MyChapter}
\section{Term: Foo}
\section{foobar}
\section{Term: Bar}
\end{document}

私のセクション タイトルの一部は、特別な単語で始まっています。私の例では、それは「用語:」というテキストです。もちろん、これはタイトル全体の一部です。しかし、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

編集: 上記のコードでは番号付けも抑制されますが、これはおそらく望ましくないでしょう。そこで、すべてを 1 つのコマンドで実行するための別の提案を次に示します。

\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}

結果:

ここに画像の説明を入力してください

関連情報