関係演算子

関係演算子(リレーション)は、二つの式のあいだに置いて「等しい」「以下」「属する」といった関係を表す記号です。=\leq\in などがこれにあたります。TeX の内部では関係子は 一つの記号クラス として扱われ、左右に 広めの空き が自動で入ります(二項演算子よりも広い)。このページでは、まずこの「クラスとしての関係子」の考え方を押さえ、順序・比較/相似/順序論的/集合の関係/幾何ほか、と用途別の一覧表で引けるようにまとめます。標準 LaTeX で使えるもの、amssymb が要るもの、\not による否定の作り方も区別して示します。

記号クラスとしての関係子

TeX は数式中のすべての記号をいくつかの クラス に分類し、クラスに応じて前後の空きを自動的に決めます。+-\times のような 二項演算子(binary operator) クラスには中くらいの空きが入り、=<\leq のような 関係子(relation) クラスには それより広い空き が入ります。だから a+b より a=b のほうが等号の左右がゆったり空くわけです。この空きは自分で \, などを入れて作るものではなく、記号のクラスから 自動的に 決まります。

関係子は「二つの式のあいだに置くもの」という性質ももちます。a \leq b \leq c のように連ねれば、それぞれの関係子の左右に等しく空きが入ります。逆に、自分で定義した記号や \mathbf で作った記号を関係子として組みたいときは、\mathrel{...} で囲むと関係子クラスとして扱われ、正しい空きが付きます(二項演算子なら \mathbin{...})。クラスの全体像は「数式モードの基本」で扱います。

latex
\[ a \leq b < c, \qquad x \equiv y \pmod{n} \]
% 自作・既存の記号を「関係子」として組む(左右に関係子の空きが付く)
\[ A \mathrel{R} B, \qquad x \mathrel{\sim_{\!\ast}} y \]

注意したいのは、矢印(\to\rightarrow など)も TeX 内部では関係子クラスに属する一方、見た目・用途のうえでは別の仲間として扱われることです。とくに \to は「写像する」を表す 矢印 であって、\leq のような比較の関係子ではありません。矢印は「矢印記号」のページにまとめてあります。空きの広さを二項演算子と比べたいときは「二項演算子」のページも合わせて参照してください。

順序・比較

もっとも使う関係子が、大小・等不等を表すこのグループです。<> は数式中でそのまま打てる文字なので命令は不要ですが、「以下」「以上」は \leq\geq を使います。これらには 短い別名(エイリアス) \le\ge があり、まったく同じ記号になります。「等しくない」は \neq(別名 \ne)。次の表はすべて 標準 LaTeX で使えます(パッケージ不要)。

命令字形意味
\leq以下(\le も同じ)
\geq以上(\ge も同じ)
\llはるかに小さい
\ggはるかに大きい
\neq等しくない(\ne も同じ)
\doteq近づく極限・定義的に等しい
\equiv合同・恒等(整数の合同 mod)
\asymp漸近的に等しい

<> を本文(テキストモード)にそのまま書くと別の文字に化けることがあるため、不等号は数式モードのなかで使います。\equiv(≡)は「合同」(整数の合同 a \equiv b \pmod n)にも「恒等的に等しい」にも使われ、文脈で意味が決まります。\doteq(≐)は「定義により等しい」の意味でも使われますが、:= を組みたいときは mathtools\coloneqq が綺麗です(後述)。

相似・近似

「ほぼ等しい」「相似である」「比例する」といった、等号よりゆるい関係を表すグループです。波線系の \sim(∼)・\simeq(≃)・\approx(≈)・\cong(≅)はよく似た見た目なので、命令名で取り違えないようにします。比例は \propto(∝)。これらも 標準 LaTeX です。

命令字形意味
\sim相似・同値関係
\simeq相似または等しい(漸近的に等しい)
\approxほぼ等しい
\cong合同(図形)・同型
\propto比例する
\equiv同値・恒等(再掲)

使い分けの目安として、\approx(≈)は数値の近似(\pi \approx 3.14)、\sim(∼)は同値関係や「オーダーが同じ」、\simeq(≃)は位相同型や漸近等価、\cong(≅)は図形の合同や代数的な同型に使うのが一般的です。さらに細かい近似記号(\lesssim\gtrsim\approxeq など)は amssymb に含まれます(次節)。

順序論的な関係

半順序や優先順位を表すのが prec/succ(precede/succeed=先行する/後続する)系です。\prec(≺)・\succ(≻)と、等号付きの \preceq(⪯)・\succeq(⪰)があります。大小(\leq)とは別の順序を表したいときに使います。これらも 標準 LaTeX です。

命令字形意味
\prec先行する(半順序)
\succ後続する
\preceq先行するか等しい
\succeq後続するか等しい

これらの否定形 \nprec\nsucc\npreceq\nsucceq や、波線付きの \precsim\succsim、二重の \preccurlyeq などは amssymb で提供されます。標準だけで否定を作りたいときは後述の \not を前置します(ただし字形は最適ではありません)。

集合の関係

集合の包含と所属を表すグループです。\subset(⊂)・\supset(⊃)は真部分集合・真上位集合(あるいは単に部分集合)、等号付きの \subseteq(⊆)・\supseteq(⊇)は「部分集合またはイコール」。所属は \in(∈, 「〜の要素である」)と、その左右を入れ替えた \ni(∋, 「〜を要素にもつ」。別名 \owns)。「属さない」は専用命令 \notin(∉)があります。すべて 標準 LaTeX です。

命令字形意味
\subset部分集合
\supset上位集合(包含する)
\subseteq部分集合または等しい
\supseteq上位集合または等しい
\in〜の要素である
\ni〜を要素にもつ(\owns も同じ)
\notin〜の要素でない

注意点を二つ。第一に、\subset(⊂)を「真部分集合」と「部分集合」のどちらの意味で使うかは分野・著者によって揺れがあるため、必要なら文書内で定義を明示します。第二に、\subseteq の否定 \nsubseteq(⊈)や \subsetneq(真部分集合を明示)、\supsetneq などは amssymb の提供です。\notin(∉)だけは標準で専用命令がある点が \nsubseteq 等と異なります。

幾何・その他の関係

平行・垂直や、整除を表す縦棒など、図形・整数論でよく使う関係子です。\parallel(∥, 平行。別名 \|)と \perp(⊥, 垂直)、整除や「割り切る」を表す \mid(∣, 単線の縦棒)。これらは 標準 LaTeX です。一方 \smile(⌣)と \frown(⌢)も標準で使えますが、TeX のクラス上は関係子ではなく 通常記号(ordinary) に分類される点に注意してください(左右の空きが関係子ほど広く入りません)。

命令字形意味
\parallel平行(\| も同じ)
\perp垂直・直交
\mid割り切る・条件つき(単線の縦棒)
\smile上向きの弧(通常記号)
\frown下向きの弧(通常記号)

\mid(∣)は集合の内包的記法 \{\, x \mid x > 0 \,\} の「かつ/such that」の縦棒としてもよく使い、| を直接打つよりも前後の空きが整います。\parallel の否定(平行でない)\nparallel(∦)や、整除の否定 \nmid(∤, 「割り切らない」)は amssymb で提供されます。

amssymb と否定の作り方

上の表はすべて標準 LaTeX で使えますが、関係子をさらに増やしたいときは **amssymb パッケージ**(プリアンブルに \usepackage{amssymb})が定番です。とくによく使うのが、不等号の 斜めの異体字 \leqslant(⩽)・\geqslant(⩾)と、各種関係の 否定形 です。否定形には「前にスラッシュを引いた」専用記号が用意されています。

命令字形意味(すべて amssymb)
\leqslant以下(斜めの異体字)
\geqslant以上(斜めの異体字)
\nleq以下でない
\ngeq以上でない
\nsim相似でない
\ncong合同でない
\nsubseteq部分集合でない
\nsupseteq上位集合でない
\nparallel平行でない
\nmid割り切らない

パッケージを増やさずに否定を作りたいときは、関係子の前に **\not** を置きます。\not=(≠の意味)、\not\leq\not\subset のように、任意の関係子へスラッシュを重ねられます。ただし \not のスラッシュは大きさや傾き・位置が固定で、記号によっては重なり方が不格好になります。そのため、専用の否定記号がある場合は amssymb\nleq\nsubseteq などを使うほうが見栄えがよい、というのが定石です。なお \neq(≠)と \notin(∉)は標準で専用命令があるので、これらは \not を使う必要はありません。

latex
\usepackage{amssymb}   % \leqslant, \nleq, \nsubseteq …
\usepackage{mathtools}  % \coloneqq (:=)
% ...
% 斜めの不等号と、専用の否定記号
\[ 0 \leqslant x \leqslant 1, \qquad a \nleq b, \qquad A \nsubseteq B \]
% \not による即席の否定(専用記号がないとき)
\[ x \not\equiv y \pmod{p} \]
% 「定義により等しい」は mathtools の \coloneqq が綺麗
\[ f(x) \coloneqq x^2 + 1 \]

もう一つよく使うのが、定義を表す := です。:= と直接打つとコロンが等号に対して下にずれてしまうため、mathtools パッケージの **\coloneqq**(:=)を使うと綺麗に揃います(左右反転の \eqqcolon は =: )。\coloneqqamssymb ではなく mathtools の提供である点に注意してください。amssymb で増やせる記号全体は「amsmath / AMSFonts」のページも参照してください。