章节编号格式

章节编号格式

我正在尝试格式化一份法律文件以使其遵循这种格式。

  Article 1.

1.01 First section

  bla bla bla

1.02 Second section

  bla bla bla

etcetera.

我尝试使用它来让事情按我想要的方式运作:

\usepackage{etoolbox}  %needed to make chapters continuous on page
%% Need with {etoolbox} package
\makeatletter
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{}
\makeatother

% change % chapter to article and center it
\renewcommand{\chaptername}{Article}
\renewcommand{\thechapter}{\Alph{chapter}}
\titleformat{\chapter}[hang]{\LARGE\bfseries\centering}{\chaptertitlename\ \thechapter}{0.125in}{\LARGE}

%Format section numbering
\def\thesection{\arabic{section}.}
\def\thesubsection{\arabic{section}.0\arabic{subsection}}
\def\thesubsubsection{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}

% Set section number depth to level 3
\setcounter{secnumdepth}{3}

现在,问题是如何在该部分中获取前导零,然后使其正确递增。一旦我达到 10 级,该部分就会显示为:“1.010”,这是错误的。它应该显示为“1.10”。我可以在 MS Word 中完成此操作;但是,我找不到在 LaTeX 中执行此操作的方法。有人有解决方案吗?

答案1

内核宏\two@digits就是您要找的东西。它会生成作为其参数给出的数字,并在需要时填充零。

\makeatletter
\renewcommand\thesubsection{\thesection.\two@digits{\value{subsection}}}
\renewcommand\thesubsubsection{\thesubsection.\two@digits{\value{subsubsection}}}
\makeatother

当使用名称中带有 的内核宏时,需要用\makeatletter和括住代码。\makeatother@

的重新定义\thesubsubsection似乎与 的定义一致\thesubsection

感谢 Qrrbrbirlbel 建议用\value代替\arabic,这确实更好,因为它停止了对数字的扩展搜索,因为\two@digits使用了\number

相关内容