我使用的是 LaTeX,使用文章类型 documentclass。我没有自定义任何确定长度的 LaTeX 变量,例如等 \parindent
。\topskip
我想要控制出现在新上方的垂直间距量\paragraph
。
特别想捏捏它。
有什么提示吗?
答案1
现在您的文档类已知,剩下的就不难了。 的定义\paragraph
需要更改。 以下代码片段(将添加到您的序言中)将重现类\paragraph
中的原始定义article
:
\makeatletter
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}%
{\z@}{3.25ex \@plus 1ex \@minus .2ex}{-1em}%
{\normalfont\normalsize\bfseries}%
}
\makeatother
更改3.25ex
为较小的值,段落部分前的垂直间距将减小。(\@plus
和之后的值\@minus
是拉伸和收缩标准空间的参数 - 您也可以更改这些参数,但不需要。)-1em
以下参数中的控制段落部分之后的间距 - 负号影响水平的添加空格,即\paragraph
会产生内联标题。
答案2
包裹标题安全提供许多工具来自定义章节/节/段落/等标题。以下是一个例子(也可作为最小工作示例 ;-) ):
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{lmodern}
\usepackage{titlesec}
\usepackage{lipsum}% provides filler text
\titlespacing{\paragraph}{%
0pt}{% left margin
0.5\baselineskip}{% space before (vertical)
1em}% space after (horizontal)
\begin{document}
\lipsum[1]
\paragraph{Lipsum 2} \lipsum[2]
\end{document}
不幸的是,没有简单的方法(据我所知)来仅更改之前的垂直间距,您还需要指定其他参数,即0pt
左边距和1em
之后的间距(通过猜测和检查得出)。我设置的垂直间距0.5\baselineskip
相当于正常行高一半,看起来比默认间距小。显然,您可以使用它0pt
来完全挤压这个空间。
答案3
该titlesec
包允许更改部分边距:
\usepackage{titlesec}
\titlespacing*{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
以上为默认值,您可以根据需要进行修改。
我建议使用加号和减号来调整间距,以适应页面上剩余的空间。
答案4
如果您使用 KOMA-Script 模板,例如scartcl
:
您可以使用 修改部分间距\DeclareSectionCommand
,例如 的默认定义为\paragraph
:
\DeclareSectionCommand[%
level=4,
indent=0pt,
beforeskip=3.25ex plus 1ex minus .2ex,
afterskip=-1em,
font={},
tocindent=7em,
tocnumwidth=4.1em,
counterwithin=subsubsection
]{paragraph}
通过减少beforeskip
,您可以根据自己的喜好更改此间距。