我希望能够在文本的任何位置插入文本内位置的层次编号(例如paragraph
)
例子:
\documentclass[a4paper, 12pt]{book}
\begin{document}
\chapter{chapter}
\section{section}
\subsection{subsection}
\paragraph{Definition} blabla
\subsection{Remark}
blabla
\end{document}
输出如下:
我想写的是
Definition 1.1.1.1 blabla
1.1.1.1 Definition blabla
我知道,因为和subsubsection
之间有额外的数字,所以编号将是而不是。这样也可以subsection
paragraph
1.1.1.0.1
1.1.1.1
答案1
省略分段级别实际上是一个逻辑错误,它破坏了层次结构。
但是,可以通过移除计数器重置来实现paragraph
,subsubsection
然后重新建立subsection
来实现。
为了防止 ToC 中的行缩进太多,\l@paragraph
也应该进行更改。
\documentclass[a4paper, 12pt]{book}
\counterwithout{paragraph}{subsubsection}
\counterwithin{paragraph}{subsection}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\makeatletter
\let\l@paragraph@old\l@paragraph
\let\l@paragraph\l@subsubsection
\let\l@subparagraph\l@paragraph@old% Just in case...
\makeatother
\begin{document}
\tableofcontents
\chapter{chapter}
\section{section}
\subsection{subsection}
\paragraph{Definition} blabla
\subsection{Remark}
blabla
\end{document}