我想将左边距的章节、小节和段落编号对齐。
这是我的代码:
\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
\@seccntformat
r
6pt
\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
。选择与字体无关的大小更好,因为每个部分单元的字体都会发生变化。