假设我正在编写一份report
文档,其中大多数章节都有节,其中有小节;但有些章节(比如,简介)比其他章节短 - 大约与“正常”章节的某个节的大小相同;而我只希望这个短章节有小节级标题。
如果我这样做,要么会弄乱编号(例如,这些部分/小节的编号为 1.0.1、1.0.2),要么我也会删除编号,在这种情况下,这些小节会从目录中删除,我必须“手动”重新引入它们。
无论如何,我想知道处理这种情况的惯用方法是什么,或者至少你发现什么方法有用。
答案1
该宏\thesubsection
控制如何显示子节编号,包括节标题和交叉引用。默认情况下,它(实际上)定义为\thesection.\arabic{subsection}
,并且\thesection
使用 进行类似定义\thechapter
。因此,它获取当前节的(格式化)编号并添加句点和计数器的值subsection
。
您可以重新定义,以便当计数器的值为零时\thesubsection
,它会扩展为。像这样:\thechapter.\arabic{subsection}
section
\documentclass{report}
\renewcommand\thesubsection{%
\ifnum\value{section}=0
\thechapter
\else
\thesection
\fi
.\arabic{subsection}%
}
\begin{document}
\chapter{First chapter}
\subsection{A subsection}
\chapter{Second chapter}
\section{A section}
\subsection{Another subsection}
\end{document}
结果如下: