在报告左侧边缘对齐章节、小节和段落编号

在报告左侧边缘对齐章节、小节和段落编号

我想将左边距的章节、小节和段落编号对齐。

这是我的代码:

\documentclass[12pt]{report}\makeatletter
....
\renewcommand\paragraph{
    \@startsection {paragraph}               % name
    {4}                                      % level
    {\z@}                                    % indent 
    {-3.25ex\@plus -1ex \@minus -.2ex}       % before skip
    {1.5ex \@plus .2ex}                      % afterskip
    {\normalfont\normalsize\bfseries}        % style
  }
\makeatother

\makeatletter
\renewcommand\subparagraph{
    \@startsection {subparagraph}            % name
    {5}                                      % level
    {\z@}                                    % indent 
    {-3.25ex\@plus -1ex \@minus -.2ex}       % before skip
    {1.5ex \@plus .2ex}                     % afterskip
    {\normalfont\normalsize\bfseries}        % style
  }

\def\@seccntformat#1{\makebox[0pt][r]{\csname the#1\endcsname\hspace{6pt}}}

\makeatother

我得到了这个

我得到了这个

但我想像这样将数字在左边对齐:

3-------文本

3.1-----文本

3.1.2---文本

我怎样才能在不编辑我的自定义段落的情况下做到这一点?

答案1

标题中的分段单元编号(对于\section和下划线)通过 进行设置。您已将其定义为零宽度框,该框与右对齐,并在末尾留有空格\subsection\@seccntformatr6pt

\def\@seccntformat#1{\makebox[0pt][r]{\csname the#1\endcsname\hspace{6pt}}}

这实际上设置了边距中的数字。要获得所需的格式,请将定义更改为

\def\@seccntformat#1{\makebox[0pt][r]{\makebox[3cm][l]{\csname the#1\endcsname}\hspace{6pt}}}

并相应地调整 的值3cm。较高的值会将其推入边距更远,而较小的值会使其更靠近边距。您可以考虑\hspace{6pt}选择合适的 来完全删除该元素3cm。选择与字体无关的大小更好,因为每个部分单元的字体都会发生变化。

相关内容