セクション見出しの後に行を追加する

セクション見出しの後に行を追加する

\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

関連情報