制表位和标题中的一致缩进

制表位和标题中的一致缩进

我正在尝试创建一个包含一些不寻常标题和缩进的文档类。我的目标是使宽度chapter/section number + whitespace等于文本\leftskip2.5 厘米。使用 titlesec 包,我获得了几乎可以接受的结果,为章节和节标题设置了一些目测的 \hspace 值(例如 2.1 厘米和 1.9 厘米),但正如您从我的示例中看到的那样,当标题数字变大时,它会中断。

在可视化文字处理器中,我只需在标题编号后插入一个制表符,并将制表位设置为 2.5 厘米,我希望在 LaTeX 中复制此操作。我对环境有所了解tabbed,但我不知道如何在此上下文中使用 titlesec 配置来应用它。

\documentclass[12pt,a4paper]{report}
\usepackage{lipsum}
\usepackage{titlesec}

\newlength\extramargin
\setlength\extramargin{2.5cm} % Regular text indent
\setlength\leftskip{\extramargin}

\titleformat{\chapter}[hang]
        {\normalfont\sffamily\bfseries}
        {\thechapter.\hspace{2.1cm}} % incorrect indent if chapter > 9
        {0pt}
        {\uppercase}
        [\titlerule]
\titlespacing{\chapter}{0pt}{2em}{1em}

\titleformat{\section}[hang]
    {\normalfont\sffamily\bfseries}
    {\thesection\hspace{1.9cm}} % incorrect indent if section > 9
    {0pt}
    {}

\makeatother

\begin{document}

\chapter{Chapter title}

\section{Section}

\lipsum[1]

\section{Section}
\section{Section}
\section{Section}
\section{Section}
\section{Section}
\section{Section}
\section{Section}
\section{Section}
\section{Section}

Oh no!

\end{document}

平均能量损失

答案1

使用盒子:

\titleformat{\section}[hang]
    {\normalfont\sffamily\bfseries}
    {\makebox[2.1cm][l]{\thesection}} % incorrect indent if section > 9
    {0pt}
    {}

2.1cm按照您的意愿进行调整。

相关内容