章节标题前后的间距

章节标题前后的间距

我知道之前已经提到过这个主题,但我仍然无法在章节标题下创建空间。我使用了包titlesec,然后尝试使用命令\titlespacing{\section}...

这是我的代码。有人能帮忙吗?

\documentclass[10pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{fullpage}
\usepackage[compact]{titlesec}
\usepackage{setspace}
\usepackage{sectsty}
\chapterfont{\huge}
\sectionfont{\Huge}
\begin{document}
\chapter*{Kapitel 1}
\section*{Einleitung}
\begin{large}
\subsection*{1.1 Motivation}

答案1

使用titlesec您可以使用的包\titlespacing*可以更改标题前后的间距;该命令的语法是:

\titlespacing*{<command>}{<left>}{<before-sep>}{<after-sep>}

(还有一个可选参数,但这里并不重要)。<left>增加左边距;<before-sep>控制标题前的垂直空间;<after-sep>控制标题后的垂直空间。(有关更多信息,请参阅包文档)。完整的示例:

\documentclass[10pt]{book}
\usepackage{titlesec}
\usepackage{lipsum}% just to generate text for the example

\titlespacing*{\section}
{0pt}{5.5ex plus 1ex minus .2ex}{4.3ex plus .2ex}
\titlespacing*{\subsection}
{0pt}{5.5ex plus 1ex minus .2ex}{4.3ex plus .2ex}

\begin{document}

\chapter{Kapitel 1}
\lipsum[4]
\section{Einleitung}
\lipsum[4]
\subsection{Motivation}
\lipsum[4]

\end{document}

在此处输入图片描述

我使用ex(大约为当前字体中“x”的高度)作为所用长度的单位,但您可以使用任何其他有效的 LaTeX 单位(cminmmpt等);您还可以使用预定义长度的倍数,例如 \baselineskip:

\titlespacing*{\subsection}
  {0pt}{2\baselineskip}{3\baselineskip}

我使用了 ex,因为这样空格就与字体相关了。如果您想更改标题的格式,也可以使用相同的包及其强大的\titleformat命令。

答案2

如果您不需要 之类的附加包的所有“负担” titlesec,您可以自己简单地修改标题的这些方面。请参阅此示例。我使用了一些部分并保存了原始部分定义,以便我们可以看到比较。

然后,我在调用原始部分命令之前定义并使用一个部分“前奏”。然后,我在部分命令中添加一个“后奏”。这里的前奏和后奏都增加了额外em的垂直空间,但您可以使用它来添加其他部分突出显示,如规则等。

\documentclass{article}
\begin{document}
\section{First Section}

This is the first line of text.  Note the vertical spacing.  

\section{Second Section}

Observe the spacing prior to and following the sectioning command. Now let me
redefine a few things.

\makeatletter
\let\origsection\section
\renewcommand\section{\@ifstar{\starsection}{\nostarsection}}

\newcommand\nostarsection[1]
{\sectionprelude\origsection{#1}\sectionpostlude}

\newcommand\starsection[1]
{\sectionprelude\origsection*{#1}\sectionpostlude}

\newcommand\sectionprelude{%
  \vspace{1em}
}

\newcommand\sectionpostlude{%
  \vspace{1em}
}
\makeatother

\section{Next Section}
Did this text drop 1em lower relative to the heading than the prior
section?  If so, we have succeeded.

\section{Final Section}

And the result is permananent, as you can see.

\end{document}

在此处输入图片描述

答案3

如果有人想在使用 KOMAscript 时调整空格——@gonzalo 的答案不推荐,因为 KOMA 和 titlesec 不兼容。但是,KOMA 提供了修改部分命令的命令。命令

\RedeclareSectionCommand[beforeskip=-5.5ex plus -1ex minus -.2ex,afterskip=4.3ex plus -.2ex]{section}

将章节标题前后的空格修改为相似的值。

答案4

控制每个空间都单独你可以简单地使用:

\vspace{5mm}\vspace{1em}\vspace{1cm}增加(到添加空间) 和;

\vspace{-5mm}\vspace{-1em}\vspace{-1cm}减少从标准空间中取出)。

它最适合控制标准空间的几个部分。

遵循一个工作示例:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
 \geometry{a4paper,
 total={170mm,257mm},
 left=20mm, top=20mm,}

\title{Spacing before and after section titles, \LaTeX}
\author{}
\date{}

\begin{document}

\maketitle

\section{\huge Increase \Large space between headings and text}

\subsection{With (\texttt{\textbackslash vspace\{4mm\}})}
\vspace{4mm}
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. 

\subsection{With (\texttt{\textbackslash vspace\{0.5em\}})}
\vspace{0.5em}
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. 

\subsection{With (\texttt{\textbackslash vspace\{0.6cm\}})}
\vspace{0.6cm}
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. 

\vspace{1cm}
\hrulefill
\vspace{1cm}

\section{\huge Decrease \Large space between headings and text}

\subsection{With (\texttt{\textbackslash vspace\{-3.5mm\}})}
\vspace{-3.5mm}
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. 

\subsection{With (\texttt{\textbackslash vspace\{-1em\}})}
\vspace{-1em} 
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. 

\subsection{With (\texttt{\textbackslash vspace\{-0.44cm\}})}
\vspace{-0.44cm}
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. 

\end{document}

在此处输入图片描述

相关内容