我正在制作一个自定义 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
和titlesec
包sectsty
不能很好地协同工作,您可以考虑只使用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}
生成: