在文本中插入位置的层次编号,例如“段落”

在文本中插入位置的层次编号,例如“段落”

我希望能够在文本的任何位置插入文本内位置的层次编号(例如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之间有额外的数字,所以编号将是而不是。这样也可以subsectionparagraph1.1.1.0.11.1.1.1

答案1

省略分段级别实际上是一个逻辑错误,它破坏了层次结构。

但是,可以通过移除计数器重置来实现paragraphsubsubsection然后重新建立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}

相关内容