
Я пытаюсь добавить горизонтальную линию (например, \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
.