サブセクションのタイトルに下線を引く

サブセクションのタイトルに下線を引く

重複の可能性あり:
記事ドキュメントタイプのセクションタイトルスタイルを変更する

ドキュメント内の一連のサブセクションのタイトルの境界線を削除しようとしています。これを実現するために、このサブセクションの形式をカプセル化する新しい環境を定義しました。

私の問題は、サブセクションのタイトルのテキストに下線を付けることができないことです。sectstyこれを行うと、パッケージを使用して行われた他の定義と競合するため、パッケージを使用したくありませんtitlesec

\newenvironment{UnderlineSubSection}{  
    \titleformat{\subsection}  
    {\normalfont\sffamily\bfseries\color{cyan}}  
    {\thesection}{1em}{}  
}{}

答え1

デフォルトのサブセクションと同様に、コマンドとして定義します。パッケージの代わりに、代わりに次のものsoulを使用することもできます。ulem

\documentclass[a4paper,12pt]{report}
\usepackage{soul}

\makeatletter
\def\UnderlineSubSection{\@ifnextchar*\UnderlineSubSection@i\UnderlineSubSection@ii}
\def\UnderlineSubSection@i*#1{\subsection*{\ul{#1}}}
\def\UnderlineSubSection@ii{\@ifnextchar[\UnderlineSubSection@iii\UnderlineSubSection@iv}
\def\UnderlineSubSection@iii[#1]#2{\subsection[#1]{\ul{#2}}}
\def\UnderlineSubSection@iv#1{\subsection{\ul{#1}}}
\makeatother

\begin{document}  

\tableofcontents

\section{foo}
\subsection{foo}
\UnderlineSubSection{baz}
\UnderlineSubSection*{foobar}
\UnderlineSubSection[foobarbaz]{foo\_bar\_baz}

\end{document}

ここに画像の説明を入力してください

関連情報