マクロの内容
LaTeXでは\underline
で下線を引くことができますが、これは文章が自動で改行(折り返し)されず使いづらいものです。これを改善するために自動改行(折返し)をするマクロを組みました。
マクロは以下のとおりです。プリアンブルに記述してください。
\makeatletter
\newlength{\chwidth}%
\newcommand{\ulinej}[1]{%
\@tfor\ch:=#1\do%
{\ch%
\settowidth{\chwidth}{\ch}%
\hspace{-\chwidth}%
\underline{\vphantom{あ}\phantom{\ch}}%
}%
}%
\makeatother
\newcommand{\coloruline}[2][black]{\textcolor{#1}{\ulinej{#2}}}
マクロの解説
まず文字列を1文字ずつに分解するために\newcommand{\ulinej}
を定義しています。
1文字ずつに分解したあとは、「1文字表示⇒文字幅取得⇒文字幅だけ前に戻る⇒文字幅分の下線を引く」の順で実行しています。
最後に\newcommand{\coloruline}
で下線を含む文字色を変更できるようにしています。文字色の引数は任意なので記述しなくでも問題はないです。
以下、使い方の例です。
\coloruline{あいうえおかきくけこ}%デフォルトは黒色
\coloruline[red]{さしすせそたちつてと}%[red]で文字色を赤に指定
おわりに
マクロはあまり組んだことがないので、何か問題がありましたらコメントで教えていただけると幸いです。
更新履歴
2024-04-13 新規公開