在节标题后添加行

在节标题后添加行

我正在尝试添加一条水平线(如\hrule),该线从每个部分的标题之后开始,填充该线的其余部分,并与标题垂直对齐,如下所示。 期望输出

为此,我定义了一个生成所需水平线的\newcommand函数(如下\raisedrule这个帖子)然而,我很难将它纳入章节标题的定义中。

我尝试使用该titlesec包,但找不到生成比文本宽度短的线的方法。我也尝试使用该sectsty包,使用以下代码:

\documentclass{article}

\newcommand{\raisedrule}[2][0em]{\leaders\hbox{\rule[#1]{1pt}{#2}}\hfill}

\usepackage{sectsty} 
    \sectionfont{
        \setmainfont{Arial} \raisedrule[0.32em]{0.75pt}
    }

\usepackage{fontspec}

\begin{document}

\section*{SECTION HEADING}

\end{document}

这不仅会出现“领导者没有跟随正确的粘合”的错误,而且我认为无论如何都不会生成所需的输出。

请注意,如代码所示,我还想更改标题的字体,这对于解决方案可能很重要。

任何帮助将不胜感激。

答案1

如果你愿意切换到titlesec它提供了更多的定制功能(我也用过xhfill轻松生成规则,但这是可选的):

\documentclass{article}
\usepackage{fontspec}
\usepackage{titlesec} 
\usepackage{xhfill}

\newcommand\ruleafter[1]{#1~\xrfill[.7ex]{1pt}}
\titleformat{\section}
  {\normalfont\Large\fontspec{Arial}}{\thesection}{1em}{\ruleafter}

\begin{document}

\section*{SECTION HEADING}

\end{document}

结果:

在此处输入图片描述

根据您的需要调整规则设置;您可能需要调整标题和规则之间的空间,以及肖恩·奥尔雷德提及his comment\fontspec,用代替就足够了\setmainfont

相关内容