如何仅显示目录中的某个部分?

如何仅显示目录中的某个部分?

我想创建一个命令\unsection{title}(带有title新章节的标题),其行为类似于,\section{title}title应仅显示在目录中。为了说明我的请求,以下是适用于章节的版本:

\makeatletter
\newcommand{\unchapter}[1]{%
  \begingroup
  \let\@makechapterhead\@gobble % make \@makechapterhead do nothing
  \chapter{#1}
  \endgroup
}
\makeatother

我尝试通过替换来做同样的事情\@makechapterhead\@makesectionhead但这不起作用(标题仍然显示)。

\unchapter我怎样才能产生与类似的结果\section

编辑:重要 - 创建的部分\unsection应该像这样编号\section

PS:我知道使用的解决方案\addcontentsline,但为了我的舒适,我更喜欢类似于的解决方案\unchapter

答案1

我会说

\newcommand{\unsection}[1]{%
  \par
  \addvspace{\bigskipamount}% or whatever separation you want to use
  \stepcounter{section}%
  \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
}

在上下文中(该openany选项仅用于显示单张图片)

\documentclass[openany]{book}
\usepackage{kantlipsum}

\makeatletter
\newcommand{\unchapter}[1]{%
  \begingroup
  \let\@makechapterhead\@gobble % make \@makechapterhead do nothing
  \chapter{#1}
  \endgroup
}
\makeatother
\newcommand{\unsection}[1]{%
  \par
  \addvspace{\bigskipamount}% or whatever separation you want to use
  \stepcounter{section}%
  \addcontentsline{toc}{section}{\protect\numberline{\thesection}#1}%
}


\begin{document}

\tableofcontents

\unchapter{Test chapter}

\kant[1][1-3]

\unsection{Test section}

\kant[2][1-3]

\unsection{Test section again}

\kant[3][1-3]

\end{document}

在此处输入图片描述

我不确定你的读者应该如何解读这一点。

相关内容