我曾经titlesec
在自定义.sty
文件中定义标题。请参阅本文末尾的代码,尤其是runin
的形状规范paragraph
。出于各种原因,我希望编号的 4 级标题与文本在同一行开始,所以这runin
似乎是可行的方法。但是,我编写的代码导致 4 级标题突出到左边距,而不是与其他所有内容很好地对齐:
我到底做错了什么?如何确保插入标题左对齐?
.sty
文件的相关部分
\RequirePackage[calcwidth]{titlesec}
\titleformat
{\section} % command
[hang] % shape
{\Large\bfseries} % format
{\thesection} % label
{1em} % sep
{} % before-code
[] % after-code
\titlespacing* % star ensures \noindent on the following paragraph
{\section} % command
{} % left
{2ex} % before-sep
{1ex} % after-sep
\titleformat
{\subsection} % command
[hang] % shape
{\large\bfseries} % format
{\thesubsection} % label
{1em} % sep
{} % before-code
[] % after-code
\titleformat
{\subsubsection} % command
[hang] % shape
{\normalsize\itshape} % format
{\thesubsubsection} % label
{1em} % sep
{} % before-code
[] % after-code
\titleformat
{\paragraph} % command
[run] % shape
{\normalsize\itshape} % format
{\theparagraph} % label
{1em} % sep
{} % before-code
[] % after-code
答案1
部分按照 egreg 的建议修复了所有问题。解决方案包括定义一个\titlespacing
函数,\paragraph
然后将其\parindent
设为参数的值left
。
[![\titleformat
{\paragraph} % command
\[run\] % shape
{\normalsize\itshape} % format
{\theparagraph} % label
{1em} % sep
{} % before-code
\[\] % after-code
\titlespacing
{\paragraph} % command
{\parindent} % left
{2ex} % before-sep
{3ex} % after-sep
这是结果:与我昨天的结果进行比较。