标题前后的间距

标题前后的间距

我正在制作一个自定义 sty 文件,打算在其中更改节、小节和小小节之前和之后的间距。

我使用了该命令\titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>} ,但没有任何效果。有人能帮我吗?

我对 sty 文件的 MWE 如下

\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{body}
\RequirePackage[spanish]{babel}
\RequirePackage{xcolor}
\RequirePackage{titlesec}
\RequirePackage{sectsty}
\RequirePackage{chngcntr}
\RequirePackage{etoolbox}


\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39}
    \definecolor{darkcerulean}{rgb}{0.03, 0.27, 0.49}
\definecolor{blue(ncs)}{rgb}{0.0, 0.53, 0.74}
\sectionfont{\color{darkcerulean}} 
\subsectionfont{\color{blue(ncs)}} 
\subsubsectionfont{\color{blue(ncs)}} 


\titlespacing{\section}{0pt}{2cm}{15cm}
\titlespacing{\subsection}{0pt}{2cm}{5cm}
\titlespacing{\subsubsection}{0pt}{2cm}{5cm}

\renewcommand{\labelitemi}{$\bullet$}
\setlength\parindent{0pt}

测试文档如下:

\documentclass[12pt,twoside,titlepage]{article}

\usepackage{body}
\usepackage{lipsum}



\begin{document} 

\section{Título nivel 1}

\lipsum[2]

\subsection{Titulo nivel 2}

\lipsum[2]

\subsubsection{Titulo nivel 3}

\lipsum[2]


\end{document}

提前致谢

答案1

titlesecsectsty不能很好地协同工作,您可以考虑只使用titlesec\titleformat*命令而不是使用\sectionfont等。来自sectsty

\titleformat*{\section}{\Large\bfseries\color{darkcerulean}}
\titleformat*{\subsection}{\large\bfseries\color{blue(ncs)}}
\titleformat*{\subsubsection}{\bfseries\color{blue(ncs)}}

完全符合您的要求。或者,您可以尝试同时使用两者(不推荐),只需更改调用它们的顺序即可。sectsty先调用,它就可以正常工作。

\titleformat*{\section}{\Large\bfseries\color{darkcerulean}}
\titleformat*{\subsection}{\large\bfseries\color{blue(ncs)}}
\titleformat*{\subsubsection}{\bfseries\color{blue(ncs)}}
\titlespacing{\section}{0pt}{1cm}{.5cm}
\titlespacing{\subsection}{0pt}{1cm}{.4cm}
\titlespacing{\subsubsection}{0pt}{1cm}{.3cm}

生成:

结果

相关内容