我想创建一个命令\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}
我不确定你的读者应该如何解读这一点。