\section の書式と間隔を取得する

\section の書式と間隔を取得する

少し異なるテキスト書式で新しいコマンドを作成しようとしています\section。パッケージを使用してこれを行う方法はわかりますがtitlesec、書式設定とスペースを手動で挿入するのは避けたいと思います。

これまでのところ私は

\titleclass{\customsec}{straight}[\section]
\newcounter{customsec}

\titleformat{\customsec}{\sffamily\normalsize\bfseries}{}{0em}{Custom text \thecustomsec:~}
\titlespacing*{\customsec}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

現在、フォント、サイズなどの値を手動でいくつか挿入していますが、これを の書式設定の正確なコピーにしたいと思います\section。必要な変更は、セクション タイトルのテキストを変更できるようにすることです。これを抽出できるコマンドはありますか?

それとも、カスタム セクションが必要なテキストの部分でコマンドを更新し、後で復元するのが適切な方法でしょうか?

答え1

デフォルトのコマンドから正確なスタイルを抽出するかどうかはわかりません\sectionが、titlesecそのための機能が提供されていないようで、手動または自動で実行すると不安定になります。

ただし、タイトル ラベルをローカルで変更するだけでは十分簡単なようです。TeX グループ (中括弧の内側の層) を使用すると、完了すると自動的にデフォルトに戻ります。

\documentclass{article}
\usepackage{titlesec}

\newcommand\customsec[1]{{%
    \titlelabel{Custom text \thetitle:~}%
    \section{#1}%
}}

\begin{document}
    \section{normal section}
    \customsec{custom section}
    \section{normal section}
    \customsec{custom section}
\end{document}

結果

編集: この投稿の古いバージョンでは、手動で\titlelabelデフォルトにリセットするか、内部の LaTeX マクロにアクセスして保存および復元する、より複雑な 2 つのバージョンが示されていました。

関連情報