*beamerの場合はもっと楽な方法があります(beamerの場合).
要点
$\mathrm\LaTeX$文書で見出し付き箇条書きを使うとき,
\usepackage{enumitem}
...
\begin{description}[labelwidth=(一番長い見出しの文字数)em]
\item[長い見出し] 文
\item[短] 文
...
\item[一番長い見出し] 文
\end{description}
のように,enumitemパッケージを読み込んだ上でdescription環境のオプション引数labelwidthに長さを渡す.こうすると見出し部分の幅がその長さに固定されて,下図のように見出しの右端(文の左端)が揃って見やすくなる.
環境
筆者はoverleaf上で,compilerに"LaTeX"を使っている(この記事とほぼ同じように設定している).
困りごと
$\mathrm\LaTeX$の箇条書き環境としてはitemize(記号付き),enumerate(番号付き),description(見出し付き)がある.ただ,実際にdescription環境を使って見出し付き箇条書きを作ると,見出しと文の境が揃わないので少しモヤモヤする.
とにかく左端を合わせてくれるっぽい.beamerとは少し挙動が違う.
というわけで,見出しの右端を揃えたい!というのが困りごと.
失敗した方法
調べてみると,description環境では見出しの左端が揃い,itemize環境では見出しの右端が揃うとのこと(参照先).なるほど,itemize環境も記号を自分で設定できるので,実質見出し付き箇条書き的に使えそうである.例えば次のような感じになる.
解決!と思ってやってみたが,うまくいかない.
上下の本文と見比べると,右端は揃っているが,左側が本文領域からはみ出ている.画像ではわかりやすいように余白を調整しているが,実際には紙面から出て見切れたり,2段組みの場合は左の段の文と重なったりしてしまう.
これも想像だが,記号(いまは見出し)部分の幅が固定されているのかもしれない.この幅を\setlengthなどで変更すればどうにかなるかもしれないが,調べるのも面倒だし,(さほど$\mathrm\LaTeX$に慣れていないから)むやみに設定をいじるのはなんとなく怖く,やりたくない.itemize環境を使う作戦は失敗.
解決策
このページに答えが載っていた("Customizing lists"の部分).enuitemパッケージを読み込むと,description環境にオプション引数として"labelwidth"を渡せるようになる.これを渡せば,見出し部分の幅が渡した長さに固定されるらしい.
\usepackage{enumitem}
...
\begin{description}[labelwidth=8rem]
\item[見出し] 説明の文
\item[とても長い見出し] 説明の文
\item[短] 説明の文
\end{description}
とすると,
このように,本文領域からはみ出すことなく,見出しの右端を揃えてくれる!
beamerの場合は一番長い見出しをそのままオプションに入れられたが,この方法では長さを渡さないといけない.cm単位とかだと調整がややこしそうである.根拠はないが,
\begin{description}[labelwidth=(一番長い見出しの文字数)em]
のように長さを決めるのが楽そうだと思う.ちなみに,"em"はいま有効な書体における文字"M"の幅を表すらしい(参考).筆者は見たことがないが,"zw"でもいいのかもしれない.
注意
初めに書いた通り,beamerのときはもっと楽で,単純にオプションとして[一番長い見出し]を渡すだけで見出しの右端が揃う(詳細は別の記事).
参考
下のページの"Customizing lists"の部分を参照した.
https://en.wikibooks.org/wiki/LaTeX/List_Structures