当我用星号隐藏某个部分时,它不会显示标题中的数字,并且该部分也不会显示在目录中。
如何隐藏某个部分但正确添加计数器以便\thesection
给出该部分的正确编号?
答案1
\stepcounter{section}
我不认为有一个完成的宏/包,但你可以用或用增加计数器\refstepcounter{section}
来增加计数器并更新所属\ref
标签。
因此,如果您需要此命令,请尝试
\newcommand{\unnumsec}[1]{\refstepcounter{section}\section*{#1}}
或者如果你使用 KOMA-Script
\newcommand{\unnumsec}[1]{\refstepcounter{section}\addsec{#1}}
\section*
和之间的主要区别\addsec
在于后者还设置标题标记并生成目录条目,而\section*
仅打印格式与章节标题相似的文本。(请参阅scrguien.pdf[或德语scrguide] 了解有关\addsec
命令的更多信息)
答案2
改编自这个问题的答案堆栈溢出:
选项 1(使用\section*
,然后\addtocounter
增加部分计数器):
\documentclass{article}
\begin{document}
\tableofcontents
\section{uno}
\section{dos}
\section*{hide}
\addtocounter{section}{1}
\section{tres}
\end{document}
选项 2(\addcontentsline
暂时抑制):
\documentclass{article}
\newcommand{\nocontentsline}[3]{}
\newcommand{\tocless}[2]{\bgroup\let\addcontentsline=\nocontentsline#1{#2}\egroup}
\begin{document}
\tableofcontents
\section{uno}
\section{dos}
\tocless\section{hide}
\section{tres}
\end{document}
答案3
在您的评论中,您说“最好允许我手动将数字放在标题中或将其完全省略”。
这个很简单:
\renewcommand{\thesection}{}
计数器section
增加,但没有显示任何数字。(不过,您仍然可以在目录中看到数字;不确定您是否想要这个。)
答案4
我使用这个重新定义的命令来创建没有编号的部分,但它会不断添加:
\newcommand{\sect}[1] {\section*{#1}\addcontentsline{toc}{section}{#1}\addtocounter{section}{1}}
当然也在目录中。