我正在尝试添加一条水平线(如\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
。