2項演算子

\pm(±)や \times(×)、\oplus(⊕)のような記号は、TeX の内部分類で 二項演算子(binary operator) という仲間に属します。この分類が大切なのは、TeX が記号の種類ごとに 前後の空き(スペース)を自動で変える からです。二項演算子は左右に 中くらいの空き(medium space) が入り、関係子(=< など)はさらに広い空きが入ります。このページでは二項演算子とは何かを押さえたうえで、算術・丸囲み/角囲み・集合と束・その他に分けて命令を引きやすい表にまとめ、amssymb が要るものを明示します。

二項演算子とは

TeX は数式中のすべての記号を、役割に応じていくつかの クラス(class) に分けています。代表的なのが、二つのものを結ぶ 二項演算子+\times\cup など)と、二つのものの関係を述べる 関係子=<\in など)です。クラスごとに前後の空きが定められていて、二項演算子の周りには 中くらいの空き、関係子の周りには より広い空き が自動で入ります。だから a+ba=b では = のほうがゆったり組まれるのです。

この空きは あなたがソースに空白を入れるかどうかと無関係 に決まります。a\times b と書いても a\times b と書いても出力は同じで、\times が二項演算子だから中くらいの空きが入ります。逆に言うと、記号のクラスを取り違えると空きが乱れます。たとえば二項演算子のつもりの記号が前後に何も「結ぶ」ものを持たないと、TeX は文脈から単項(符号)と判断して空きを詰めます。-1- が引き算ではなく負号として詰まって組まれるのは、この仕組みのおかげです。

latex
% 二項演算子は中くらいの空き、関係子はより広い空きが自動で入る
\[ a \pm b \qquad a \times b \qquad A \cup B \]
% ソースの空白の数は出力に影響しない(クラスで決まる)
\[ a\otimes b \quad = \quad a \otimes b \]

以下の表で扱う記号は、特記しない限りすべて 数式モード専用 で、$...$\[...\] の中で使います。多くは LaTeX 標準(追加パッケージ不要)ですが、丸囲み・角囲みの一部などは amssymb パッケージが必要です。表の備考欄で「amssymb が必要」と明記したものだけがそれにあたり、それ以外は標準で使えます。関係子そのものは別ページ「関係演算子」で扱います。

算術・基本の演算子

まずは日常的によく使う基本の演算子です。\pm(±)と \mp(∓)は複号で、x = a \pm b のように使います(\mp は順序が逆の「マイナスプラス」)。掛け算は文脈で使い分け、数値どうしや外積には \times(×)、スカラー倍やドット積には \cdot(⋅)を使います。割り算記号 \div(÷)は欧米の初等教育向けで、研究論文では分数 \frac を使うのが普通です。

命令記号用途・読み
\pm±プラスマイナス(複号)
\mpマイナスプラス(複号、順序逆)
\times×乗算・外積
\div÷除算
\cdot中点(乗算・ドット積)
\astアスタリスク(畳み込みなど)
\star星型(5 角の星)
\circ合成(関数の合成)
\bullet黒丸の演算子
\diamondダイヤ(菱形)の演算子

\cdot(⋅)と、ただのピリオド . は別物です。a.b と打つとピリオドは句読点扱いで空きが入らず縦位置も下にあり、乗算には見えません。乗算の中点が欲しいときは必ず \cdot を使ってください。また \ast(∗)は二項演算子としての空きが入る星印で、上付きの肩などに置く通常の * 文字とは空きの扱いが異なります。

丸囲み・角囲みの演算子

丸で囲んだ演算子は、直和 \oplus(⊕)、テンソル積 \otimes(⊗)、直積成分の \odot(⊙)など、代数や圏論で多用されます。これらはすべて LaTeX 標準 で使えます。一方、四角で囲んだ \boxplus(⊞)・\boxtimes(⊠)は **amssymb パッケージが必要** です(プリアンブルに \usepackage{amssymb})。丸囲み系の中でも \circledast(⊛)などは AMS 拡張で、これも amssymb が要ります。

命令記号備考
\oplus丸囲みプラス(直和)。標準
\ominus丸囲みマイナス。標準
\otimes丸囲み積(テンソル積)。標準
\oslash丸囲み斜線。標準
\odot丸囲み中点(アダマール積など)。標準
\bigcirc大きな丸。標準
\circledast丸囲みアスタリスク(amssymb が必要)
\boxplus角囲みプラス(amssymb が必要)
\boxminus角囲みマイナス(amssymb が必要)
\boxtimes角囲み積(amssymb が必要)
\boxdot角囲み中点(amssymb が必要)
latex
% 丸囲みは標準。角囲みは amssymb が必要
\usepackage{amssymb}
% ...
\[ V \oplus W, \qquad u \otimes v, \qquad A \boxplus B \]

なお、これらの記号を 総和・総乗のように大きく したもの——\bigoplus(⨁)、\bigotimes\bigodot\biguplus など——は二項演算子ではなく 大型作用素(可変サイズ演算子) に分類され、上下に添字を付けて使います。これらは別ページ「和・積分・大型作用素」で扱います。

集合・束(lattice)の演算子

集合演算では、共通部分 \cap(∩)と和集合 \cup(∪)、多重集合の和 \uplus(⊎)、差集合 \setminus(∖)を使います。束(lattice)や順序の文脈では、四角い \sqcap(⊓)・\sqcup(⊔)や、論理積・論理和としても使う \wedge(∧)・\vee(∨)が登場します。\wedge には別名 \land\vee には別名 \lor があり(論理を強調したいとき)、どちらも標準で同じ記号を出します。これらはすべて LaTeX 標準 です。

命令記号用途・備考
\cap共通部分(積集合)
\cup和集合
\uplus多重集合の和(非交和)
\sqcap四角い交わり(束の meet)
\sqcup四角い結び(束の join)
\wedge論理積・meet(別名 \land)
\vee論理和・join(別名 \lor)
\setminus差集合(A から B を除く)
\wr輪積(リース積)

差集合 \setminus(∖)は、ただのバックスラッシュではなく二項演算子としての空きが入る専用記号です。A \setminus B と書きます。amssymb を読み込むと、より細い差集合 \smallsetminus(∖)も使えます。\sqcap\sqcup は半順序集合や領域理論でよく使い、丸い \cap\cup と書体をそろえて使うと読みやすくなります。

その他の演算子

残りのよく使う二項演算子です。非交和の \amalg(⨿)、脚注記号としても知られる短剣符 \dagger(†)・二重短剣符 \ddagger(‡)、そして半順序・群作用などで使う三角の \triangleleft(◁)・\triangleright(▷)があります。ここに挙げたものはすべて LaTeX 標準 です。

命令記号用途・備考
\amalg⨿余積・非交和
\dagger短剣符(随伴など)
\ddagger二重短剣符
\triangleleft左向き三角(正規部分群など)
\triangleright右向き三角
\dotplus点付きプラス(amssymb が必要)
\intercal転置記号などに(amssymb が必要)
\ltimes左半直積(amssymb が必要)
\rtimes右半直積(amssymb が必要)

上の表の下半分——\dotplus(∔)、\intercal(⊺)、\ltimes(⋉)、\rtimes(⋊)——は **amssymb が必要** な AMS 拡張の演算子です。半直積の \ltimes\rtimes は群論でよく使い、これらを使うときはプリアンブルに \usepackage{amssymb} を忘れないでください。なお、\triangleleft を正規部分群の記号として使う流儀もありますが、太い \lhd(◁)を好む場合は amssymb などが必要です。

最後に実用的な注意を一つ。ある記号を二項演算子「らしく」見せたいのに、TeX がクラスを別に判断してしまうことがあります。そんなときは \mathbin{...} で囲むと、中身を強制的に二項演算子として扱わせ、正しい中くらいの空きを得られます(逆に関係子にしたいときは \mathrel{...})。クラスと空きの全体像は「数式モードの基本」も参照してください。