LaTeX - 根号の高さ揃えと \vphantom
\sqrt で複数の根号を並べると、中身の高さによって根号の大きさがばらつくことがあります。\vphantom を使えば、この見た目の不揃いを解消できます。
根号の高さが揃わない問題
次のように異なる中身を持つ根号を並べてみます。
\sqrt{a} + \sqrt{b} + \sqrt{y}
と では文字の高さが異なるため、根号記号の大きさにも差が出ます。 はディセンダー(ベースラインより下に伸びる部分)を持たないものの、 と比べると高さが違い、根号の上の横棒の位置がずれて見えることがあります。
この問題がより顕著になるのは、中身の高さに大きな差がある場合です。
\sqrt{a} + \sqrt{\frac{x}{y}}
分数を含む根号は背が高くなり、隣の \sqrt{a} との差が際立ちます。数式としては正しいのですが、根号の大きさがバラバラだと見た目の統一感が損なわれます。
\vphantom の仕組み
\vphantom{式} は、指定した式と同じ高さ・深さを持つが幅はゼロの透明なボックスを生成するコマンドです。実際には何も表示されませんが、周囲の要素がそのボックスの高さに合わせて伸縮します。
各根号が中身の自然な高さに従い、根号記号の大きさがバラバラになる。
透明なボックスで基準の高さを与えることで、すべての根号が同じ大きさに揃う。
基本的な使い方
根号の中に \vphantom を追加して、もっとも背の高い要素の高さを他の根号にも持たせます。
\sqrt{\vphantom{\frac{x}{y}} a} + \sqrt{\frac{x}{y}}
\sqrt{a} の中に \vphantom{\frac{x}{y}} を入れたことで、 だけの根号にも分数と同じ高さが与えられました。透明なボックスなので の表示に影響はなく、根号記号だけが大きくなって高さが揃います。
複数の根号を揃える
3 つ以上の根号を揃える場合も考え方は同じです。最も高い要素を基準にして、他のすべての根号に \vphantom を入れます。
\sqrt{\vphantom{\frac{x}{y}} a} + \sqrt{\vphantom{\frac{x}{y}} b+c} + \sqrt{\frac{x}{y}}
基準となる \frac{x}{y} 自体が含まれる根号には \vphantom を追加する必要はありません。すでにその高さを自然に持っているからです。
\vphantom が有効な他の場面
\vphantom は根号に限らず、括弧や区切り記号のサイズを揃えたい場面でも使えます。
\left( \vphantom{\frac{A}{B}} x + y \right) + \left( \frac{A}{B} \right)
\left( ... \right) は中身に合わせて括弧のサイズを自動調整するため、\vphantom で高さの基準を揃えておけば、隣り合う括弧の大きさも統一されます。
\phantom と \hphantom
\vphantom と関連するコマンドとして \phantom と \hphantom があります。
高さ・深さ・幅のすべてを再現する透明ボックスを作ります。水平方向のスペース確保にも使える汎用的なコマンドです。
幅だけを再現し、高さ・深さはゼロになります。水平方向の空きだけを作りたいときに使いますが、KaTeX では対応していないため注意が必要です。
根号の高さ揃えには幅ゼロで高さだけを持つ \vphantom がもっとも適しています。数式のレイアウトを整える小さなテクニックですが、複数の根号が並ぶ式の読みやすさを大きく改善してくれます。