自定义章节和小节标题的缩进

自定义章节和小节标题的缩进

我希望能够\renewcommand\section让 LaTeX 格式化章节和小节标题,以便它们的数字左对齐,并且标题正好位于段落缩进的上方:

1 章节标题
1.1 小节标题
           段落开始

我发现建议像这样更改部分标题的缩进:

\renewcommand\section{%
 \def\@seccntformat##1{\csname the##1\endcsname\hspace{_____}}
 \@startsection{your}{parameters}{here}...
}

如果我插入1in命令\hspace,我会得到距离节号末尾正好一英寸的位置。我想要距离左边距 1 英寸的位置,所以可以使用\hspace{1in \@minus \width\csname}或类似的命令。该命令不起作用,但至少显示了我的意图。

答案1

您使用哪种文档类别?下面是示例scrartlc

\documentclass{scrartcl}
\usepackage{lipsum}
\renewcommand*{\othersectionlevelsformat}[3]{%
\llap{#3\autodot\enskip}}
\begin{document}
\section{foo}
\lipsum[1]
\section{bar}
\subsection{foo bar}
\lipsum[1]
\end{document}

通过使用标准类,您可以使用包titlesec

\documentclass{article}
\usepackage{titlesec}
\titlelabel{\llap{\thetitle\quad}}
\usepackage{lipsum}
\begin{document}
\section{foo}
\lipsum[1]
\section{bar}
\subsection{foo bar}
\lipsum[1]
\end{document}

结果:

在此处输入图片描述

关于您的评论:

\documentclass{article}
\usepackage{titlesec}
%1inch=25,4mm
\titlelabel{\llap{\makebox[1cm][l]{\thetitle}}\hspace*{25.4mm}}
%\usepackage{indentfirst}
\usepackage{lipsum}
\usepackage{showframe}
\begin{document}
\section{foo}
\hspace*{25.4mm}\lipsum[1]
\section{bar}
\subsection{foo bar}
\lipsum[1]
\end{document}

包裹先缩进如果每个缩进都是 1 英寸,那么这是有可能的。我认为 1 英寸太大了。

答案2

正如@Marco 所指出的,我确实需要 titlesec 包。

\titleformat{\section}
{}
{\makebox[1in][l]{\thesection}}{0in}{}

\titleformat{\subsection}
{}
{\makebox[1in][l]{\thesubsection}}{0in}{}

得到了我需要的东西。我同意 1 英寸对于节标签和段落来说缩进太大了,但我无法选择格式 :)

相关内容