Альтернативой titlesec является переопределение команды section, как в следующем фрагменте. Обратите внимание, что beforeskip и afterskip - это те переменные, которые вас интересуют. Сам код - это только первые несколько строк. За ним следует длинный комментарий, чтобы напомнить мне определения, когда я вырезал и вставил все это из одного документа в другой. Код, кстати, более или менее из обязательной книги The LaTeX Companion, Second Edition .
\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-2.5ex \@plus -1ex \@minus -.2ex}%
{1.3ex \@plus.2ex}%
{\centering\bfseries}}
% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
% optional * [ALTHEADING]{HEADING}
% Generic command to start a section.
% NAME : e.g., 'subsection'
% LEVEL : a number, denoting depth of section -- e.g., chapter=1,
% section = 2, etc. A section number will be printed if
% and only if LEVEL gt or eq the value of the secnumdepth
% counter.
% INDENT : Indentation of heading from left margin
% BEFORESKIP : Absolute value = skip to leave above the heading.
% If negative, then paragraph indent of text following
% heading is suppressed.
% AFTERSKIP : if positive, then skip to leave below heading,
% else - skip to leave to right of run-in heading.
% STYLE : commands to set style
% If '*' missing, then increments the counter. If it is present, then
% there should be no [ALTHEADING] argument. A sectioning command
% is normally defined to \@startsection + its first six arguments.
\makeatother