
Я знаю, что эта тема уже упоминалась, но у меня все еще проблема с созданием пробела под заголовком раздела. Я использовал пакет, 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 ( среди прочих cm
) ; вы также можете использовать кратные предопределенным длинам, например \baselineskip:in
mm
pt
\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}