LoginSignup
0
0

LaTeXで自動改行するunderline

Last updated at Posted at 2024-04-13

マクロの内容

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 新規公開

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0