Titlesec 问题,使用 \titlespacing 定义节前的空间

Titlesec 问题,使用 \titlespacing 定义节前的空间

我正在使用文档类,但对命令article有疑问\titlespacingtitlesec包裹(明确)。

我希望在 之前有更多空间\section。MWE:

\documentclass[a4paper,12pt,fleqn,twoside]{article}
\usepackage[explicit]{titlesec}
\usepackage{varwidth}
\usepackage{xhfill}
\usepackage{parskip}

\titleformat{\section}[display]
 {\Huge}{\filleft\thesection}{-2ex}
  {\hspace*{\dimexpr-6em-10pt\relax} 
   \advance\hsize6em\advance\hsize10pt% 
   \rule[0.5ex]{6em}{1pt}\hspace{10pt}% 
    \begin{varwidth}{\textwidth}\raggedright#1\end{varwidth}%
   \hspace{10pt}\xrfill[0.5ex]{1pt}%
 } 

\titlespacing{\section}{0cm}{8cm}{2cm}

\begin{document}
\section{abc}
abcbacbabcbabcbacbabcbabcbabcbac
\cleardoublepage
\section{def}
abcbacbabcbabcbacbabcbabcbabcbac
\end{document}

但是我遇到了\titlespacing命令问题,好像它被某些东西覆盖了。
这与 titlesec 包的显式命令有关吗?


另一个问题:
使用我当前的章节标题样式,是否可以仅放大章节编号而不放大章节文本?

答案1

阅读上面 Enrico 的评论:

页面开头的垂直空间被删除。

这应该回答了你的第一个问题。至于第二个问题,这是有可能的。我将展示至少两种方法。

方法-1:

加载graphicx包并使用其scalebox宏如下:

    \titleformat{\section}[display]
     {\Huge}{\filleft\scalebox{2}{\thesection}}{-2ex}            %% here
      {\hspace*{\dimexpr-6em-10pt\relax}
       \advance\hsize6em\advance\hsize10pt%
       \rule[0.5ex]{6em}{1pt}\hspace{10pt}%
        \begin{varwidth}{\textwidth}\raggedright#1\end{varwidth}%
        \hspace{10pt}\xrfill[0.5ex]{1pt}%
    }

方法 - 2

使用适当的可缩放字体(如lmodern)并使用\fontsize{55}{65}\selectfont\thesection

\titleformat{\section}[display]
 {\Huge}{\filleft\fontsize{55}{65}\selectfont\thesection}{-2ex}
  {\hspace*{\dimexpr-6em-10pt\relax}
   \advance\hsize6em\advance\hsize10pt%
   \rule[0.5ex]{6em}{1pt}\hspace{10pt}%
    \begin{varwidth}{\textwidth}\raggedright#1\end{varwidth}%
   \hspace{10pt}\xrfill[0.5ex]{1pt}%
 }

完整代码:

\documentclass[a4paper,12pt,fleqn,twoside]{article}
\usepackage[explicit]{titlesec}
\usepackage{varwidth}
\usepackage{xhfill}
\usepackage{parskip}
\usepackage{lmodern}
%\usepackage{graphicx}

%\titleformat{\section}[display]
%     {\Huge}{\filleft\scalebox{2}{\thesection}}{-2ex}            %% here
%      {\hspace*{\dimexpr-6em-10pt\relax}
%       \advance\hsize6em\advance\hsize10pt%
%       \rule[0.5ex]{6em}{1pt}\hspace{10pt}%
%        \begin{varwidth}{\textwidth}\raggedright#1\end{varwidth}%
%        \hspace{10pt}\xrfill[0.5ex]{1pt}%
%    }

\titleformat{\section}[display]
 {\Huge}{\filleft\fontsize{55}{66}\selectfont\thesection}{-2ex}            %% here
  {\hspace*{\dimexpr-6em-10pt\relax}
   \advance\hsize6em\advance\hsize10pt%
   \rule[0.5ex]{6em}{1pt}\hspace{10pt}%
    \begin{varwidth}{\textwidth}\raggedright#1\end{varwidth}%
   \hspace{10pt}\xrfill[0.5ex]{1pt}%
 }

\titlespacing{\section}{0cm}{8cm}{2cm}

\begin{document}
\section{abc}
abcbacbabcbabcbacbabcbabcbabcbac
\cleardoublepage
\section{def}
abcbacbabcbabcbacbabcbabcbabcbac
\end{document}

在此处输入图片描述

您可以对垂直距离进行硬编码:

\titleformat{\section}[display]
 {\Huge}{\vspace*{20pt}\filleft\fontsize{55}{66}\selectfont\thesection}{-2ex}            %% here  added \vspace*{20pt}
  {\hspace*{\dimexpr-6em-10pt\relax}
   \advance\hsize6em\advance\hsize10pt%
   \rule[0.5ex]{6em}{1pt}\hspace{10pt}%
    \begin{varwidth}{\textwidth}\raggedright#1\end{varwidth}%
   \hspace{10pt}\xrfill[0.5ex]{1pt}%
 }

相关内容