【TeX】ベクトルや根号の高さを揃える方法

TeXでベクトルや根号の高さを揃える方法についての備忘録です。

 


$\TeX$で特に何もせずに平方根を出力すると$$\sqrt{a}+\sqrt{b}$$のようになり、中身の文字の高さによって根号の高さも微妙に伸び縮みします。この高さを揃えるコマンドには、

・高さを広げて揃える \mathstrut コマンド
・高さを潰して揃える \smash コマンド

の2種類があります。ただし \smash コマンドは文字の高さを無視して圧し潰してしまうので、あまり使い勝手が良いとは言えません。普通は \mathstrut コマンドの方を使います。

\sqrt{a}+\sqrt{b}

(\mathstrutなし)$\sqrt{a}+\sqrt{b}$

\sqrt{\mathstrut a}+\sqrt{\mathstrut b}

(\mathstrutあり)$\sqrt{\mathstrut a}+\sqrt{\mathstrut b}$

高さが揃っていないと何となく不格好に見えますよね。

例えば、以下のように込み入った式だと \mathstrut を使った方(下)がスッキリした見た目になります。

(\mathstrutなし)$$\small \frac{\sqrt[2^k]{a_1 \cdots a_{2^k}}+\sqrt[2^k]{a_{2^k+1} \cdots a_{2^{k+1}}}}2
\geqq \sqrt{\sqrt[2^k]{a_1 \cdots a_{2^k}} \cdot \sqrt[2^k]{a_{2^k+1} \cdots a_{2^{k+1}}}}$$

(\mathstrutあり)$$\small \frac{\sqrt[2^k]{\mathstrut a_1 \cdots a_{2^k}}+\sqrt[2^k]{\mathstrut a_{2^k+1} \cdots a_{2^{k+1}}}}2
\geqq \sqrt{\sqrt[2^k]{\mathstrut a_1 \cdots a_{2^k}} \cdot \sqrt[2^k]{\mathstrut a_{2^k+1} \cdots a_{2^{k+1}}}}$$

\mathstrut コマンドではなく、単に \strut を使っても高さを伸ばせますが、数式の高さ調節には不向きです。

(\strut)$\sqrt{\strut a}+\sqrt{\strut b}$
(\mathstrut)$\sqrt{\mathstrut a}+\sqrt{\mathstrut b}$

 


ベクトルも高さが気になるアクセント記号の一つですよね。$a$と$b$では高さが異なるので違いは歴然です。

(\mathstrutなし)$\vec{a}+\vec{b}$
(\mathstrutあり)$\vec{\mathstrut a}+\vec{\mathstrut b}$

(\mathstrutなし)$\vec{a}+\vec{b}$
(\mathstrutあり)$\vec{\mathstrut a}+\vec{\mathstrut b}$

根号やベクトルの他にも複素共役記号(バー)やチルダ記号でも \mathstrut コマンドが有効です。

(\mathstrutなし)$\tilde{a}+\tilde{b}$
(\mathstrutあり)$\tilde{\mathstrut a}+\tilde{\mathstrut b}$

(\mathstrutなし)$\bar{a}+\bar{b}$
(\mathstrutあり)$\bar{\mathstrut a}+\bar{\mathstrut b}$

(\mathstrutなし)$\tilde{a}+\tilde{b}$
(\mathstrutあり)$\tilde{\mathstrut a}+\tilde{\mathstrut b}$

(\mathstrutなし)$\bar{a}+\bar{b}$
(\mathstrutあり)$\bar{\mathstrut a}+\bar{\mathstrut b}$


また、\mathstrut コマンドに頼らず、自分で高さを調整する方法もあります。

\sqrt{x\rule[]{0pt}{2ex}}

$\sqrt{x\rule[]{0pt}{2ex}}$
( \rule[上方への移動]{幅}{高さ} )

\rule コマンドはあまり使われない方法ですが、シグマの中に根号がある場合は微調整に使えることがあります。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です