我目前正在使用书籍类来编写一篇长文档。目前,当我有一个较长的章节时,它看起来是这样的(不确定如何嵌入图像):
我可以通过添加以下代码使其看起来更符合我想要的样子:
\usepackage{blindtext}
\makeatletter
\newif\ifusedot
\usedottrue
\newcommand{\UseDot}{%
\ifusedot
.%
\else
%
\fi
}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge\bfseries\thechapter\UseDot\space
\fi
\fi
\interlinepenalty\@M
\huge\bfseries #1\par\nobreak
\vskip 40\p@
}
}
\makeatother
这会产生以下样式的标题:
但是,我希望“to”和“some”在标题中对齐,即我希望“to”向右缩进。有没有办法通过重新定义上面的章节标题来实现这一点?
干杯,
山姆
答案1
不带前缀的格式章节行实际上接近标准部分标题布局,因此您可能已经使用了\@startsection
较低级别的标题,但从您所在的位置开始,只需使用\@hangfrom
\documentclass{book}
\usepackage{blindtext}
\makeatletter
\newif\ifusedot
\usedottrue
\newcommand{\UseDot}{%
\ifusedot
.%
\else
%
\fi
}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\@hangfrom{\huge\bfseries\thechapter\UseDot\space}%
\fi
\fi
\interlinepenalty\@M
\huge\bfseries #1\par\nobreak
\vskip 40\p@
}
}
\makeatother
\begin{document}
\chapter{Some long text. Some long text. Some long text. Some long text.}
\blindtext
\end{document}