编号章节、小节、小节

编号章节、小节、小节

我正在使用该类book,并且每个章节、部分、小节等的编号开始如下:

第1章

第 1.1 节

第 1.2 节

第 1.3 节 ......

我希望有类似这样的内容:

第1章

第 1.0 节

第 1.1 节

第 1.2 节

有什么建议吗?非常感谢您的帮助。

答案1

您可以重新定义,\thesection以便它发出当前数字减一。

\documentclass{book}

\makeatletter
\renewcommand{\thesection}{%
  \thechapter.\@arabic{\numexpr\c@section-1}%
}
\makeatother

\begin{document}
\tableofcontents

\chapter{First chapter}

\section{First section}
\section{Second section}
\section{Third section}

\chapter{Second chapter}

\section{First section}
\section{Second section}
\section{Third section}

\end{document}

在此处输入图片描述

答案2

\chapter调用\@chapter,它确实\refstepcounter(在mainmatter模式下)——这意味着章节计数器重置列表中的任何计数器都被重置为零,对于section计数器来说当然是正确的。

要么重新定义,要么可以添加一些额外的代码,在完成 refstepping 之后\@chapter设置部分计数器。-1

请注意:这确实不是将计数器设置subsection为 -1 等等。

\documentclass{book}
\usepackage{xpatch}

\makeatletter
\AtBeginDocument{%
\xpatchcmd{\@chapter}{%
  \refstepcounter{chapter}%
}{%
  \refstepcounter{chapter}%
  \setcounter{section}{-1}%
}{\typeout{Success}}{}
}
\makeatother

\begin{document}
\tableofcontents

\chapter{First chapter}

\section{First section}

\section{Second section}
\section{Third section}

\chapter{Second chapter}

\section{First section}

\section{Second section}

\section{Third section}


\end{document}

在此处输入图片描述

这是一个向下级联的版本\subparagraph

\documentclass{book}
\usepackage{xpatch}

\makeatletter
\xpatchcmd{\@sect}{%
  \refstepcounter{#1}%
}{%
  \refstepcounter{#1}%
  % Now use the \@elt - trick to set all depending counters to -1 (well even that one that shouldn't, most likely :-()
  \def\@elt##1{\setcounter{##1}{-1}}
  \csname cl@#1\endcsname%
}{}{}


\AtBeginDocument{%
  \xpatchcmd{\@chapter}{%
    \refstepcounter{chapter}%
  }{%
    \refstepcounter{chapter}%
    \setcounter{section}{-1}%
   }{\typeout{Success}}{\typeout{Failed!}}
}
\makeatother

\setcounter{tocdepth}{5}
\setcounter{secnumdepth}{5}
\begin{document}
\tableofcontents

\chapter{First chapter}

\section{First section}
\subsection{First subsection}
\subsubsection{First subsubsection}
\paragraph{First paragraph}
\subparagraph{First subparagraph}


\section{Second section}
\subsection{First subsection}
\subsubsection{First subsubsection}
\paragraph{First paragraph}
\subparagraph{First subparagraph}

\section{Third section}

\chapter{Second chapter}

\section{First section}

\section{Second section}

\section{Third section}


\end{document}

答案3

您可以对每个部分执行类似的操作:

\setcounter{section}{-1}

注:我原来\setcounter{section}{0}回答的时候写的。

相关内容