将未编号的部分添加到目录中

将未编号的部分添加到目录中

我的报告中有许多未编号的部分(超过 100 个),全部使用以下方式创建:

\section*{section name}

我想找到一种方法轻松地将它们全部添加到TOC(特别是添加到minitoc)。由于我使用*删除编号,它们不会出现在中TOC。我在文档中发现minitoc我应该使用:

\addcontentsline{toc}{section}{repeat here section title}

但是,我不想在每个部分都有重复的标题,甚至不想更改所有相关文件以将那些已经写好的部分添加到TOC。如何在minitoc不使用命令的情况下将这些部分的名称添加到addcontentsline?可能吗?

答案1

最简单的方法是使用\section但进行更改,secnumdepth以便它们不会被编号。

\documentclass{article}
\setcounter{secnumdepth}{0}
\begin{document}
\tableofcontents
\section{ADSF}
\section{Foo}
\end{document}

答案2

另一个解决方案\addcontentsline{toc}{section}{repeat here section title}依赖于 nameref。事实上,我用标签给每个部分(章节等)编号。因此您可以使用:

% Package 'hyperref' needed for command '\nameref'
\section*{Introduction}
\label{sec:intro}
\addcontentsline{toc}{section}{\nameref{sec:intro}}

这只是一个局部变化,并且会对您所在部分的名称变化产生影响。

答案3

如果你正在使用KOMA 脚本最简单的方法是使用这些内置命令:

\addpart \addchap \addsec

其工作原理就像 \part* \chapter* \section* 被添加到目录中一样。

答案4

你可以做的是重新定义你的章节(或部分)。这里我复制了我为我的报告所做的工作。我重新定义了\chapter*并定义了一个\chapter**

后者是旧的\chapter*,而前者是未编号的章节,但已添加到目录中。

 \let\@originalchapter\chapter
     \def\chapter{
                 \@ifstar\chapterstar\@originalchapter
                 }
     \def\chapterstar{
                 \@ifstar\chapter@nonum@notoc\chapter@nonum
                 }
 \newcommand\chapter@nonum[2][]{
         \ifthenelse{\isempty{#1}}{
          \cleardoublepage
          \phantomsection
          \addcontentsline{toc}{chapter}{\protect\numberline{}#2}
          \@originalchapter*{#2}
          \chaptermark{#2}
          }{
          \cleardoublepage
          \phantomsection
          \addcontentsline{toc}{chapter}{\protect\numberline{}#1}
          \@originalchapter*[#1]{#2}
          \chaptermark{#1}
       }
  }
 \newcommand\chapter@nonum@notoc[2][]{
    \ifthenelse{\isempty{#1}}{
        \@originalchapter*{#2}
        \chaptermark{#2}
     }{
     \@originalchapter*[#1]{#2}
     \chaptermark{#1}
   }
}

\let\@originaltableofcontents\tableofcontents
  \def\tableofcontents{
   \let\@toclocaloriginalchapter\chapter
   \def\chapter{\@toclocaloriginalchapter*}
   \@originaltableofcontents
   \def\chapter{\@toclocaloriginalchapter}
}

相关内容