logo

LaTeXにおける\mathrm、\text、\operatornameの違い 📂論文作成

LaTeXにおける\mathrm、\text、\operatornameの違い

\mathrm, \text

code1 $$ \begin{array}{cc} \mathrm{sin}(\mathrm{mathrm}) & \text{sin}(\text{text}) \end{array} \\[1em] \text{basic font: abcdefghijklmnopqrstuvwxyz} $$

デフォルト設定を見ると、\mathrm と \text のレンダリングには違いがないように見える。それは、デフォルトのフォントが \mathrm と全く同じだからだ。\mathrm は正確にローマン体でレンダリングされ、\text は設定されたフォントに従う。だからフォントを変えると、レンダリングの結果は次のようになる。

$$ \begin{array}{cc} \mathrm{sin}(\mathrm{mathrm}) & \textsf{sin}(\textsf{text}) \end{array} \\[1em] \textsf{basic font: abcdefghijklmnopqrstuvwxyz} $$

\operatorname

\mathrm と \text は '文字' をレンダリングするもので、\operatorname はその名の通り、オペレーターとして見えるようにレンダリングするものだ。例として、サイン関数を4つの方法でレンダリングすると次のようになる。

code2

$$ \begin{array}{cccc} a\mathrm{sin}x & a\text{sin}x & a\operatorname{sin}x & a\sin x \\ (\text{mathrm}) & (\text{text}) & (\text{operatorname}) & (\text{sin}) \end{array} $$

\mathrm, \text の場合、asinx か a sin x かの区別がつかないが、\operatorname の場合、sin の部分がオペレーターを意味することがわかりやすい。

\operatorname*

後ろに $\ast$ を追加すると、インラインモードでは差はないが、ディスプレイモードでは添字が上下に移動する。

code3

$$ {\textstyle \operatorname{Proj}_{a}^{b} \quad \operatorname*{Proj}_{a}^{b}}\quad (\text{ inline mode}) $$

$$ \operatorname{Proj}_{a}^{b} \quad \operatorname*{Proj}_{a}^{b}\quad (\text{ display mode}) $$