LaTeX での「割り切る」記号

数学では「a が b を割り切る」(a が b の約数である・ b が a の倍数である・整除関係)という場合に縦棒を使って a | b と書く。これを LaTeX で書くときにどうしたら良いか。

(結論だけ知りたい方は「まとめ」へ)

目次

「割り切る」記号

ASCII 文字の縦棒 | (U+007C VERTICAL LINE) をそのまま使うのはどうか。残念ながら、縦棒 | は数式クラスが通常の文字 (ordinary, \mathord) であり、関係演算子 (relation, \mathrel) ではない。

では縦棒を \mathrel で囲ってやればいいのではないか。つまり、 a\mathrel{|}b とする。

実は TeX には「\mathrel 版の縦棒」が既に用意されている。そう、 \mid だ。というわけで、「割り切る」記号として \mid を使えば良い。

名前が “mid” では味気ない、「割り切る」感じが欲しい、と思うのであれば、マクロで \newcommand{\divides}{\mid} とでもしてやれば良いだろう。

縦棒、\mathrel{|}, \mid の比較

「割り切らない」記号

「割り切る」の否定、割り切らない記号はどう書くか。数学の慣習では、関係演算子を否定するには、斜めに線(スラッシュ)を引くことが多い。例えば、イコール = の否定は斜めの線を引いた ≠ となる。「割り切る」記号も例に漏れない。

TeX で斜めに線を引いて「打ち消す」には、 \notコマンドを使う。しかし、既に述べたように、単純に \not| とするわけにはいかない。かといって \not\mid とすると、縦棒とスラッシュの位置がずれてしまう。\mathrel{\not|} ならば縦棒とスラッシュが重なってそれっぽく見えるが、左右の間隔が不均等だ。

実は、 amssymb パッケージには \nmid という、まさに「縦棒にスラッシュを引いた」記号が用意されている。スラッシュの長さが若干短い気がするが、自分で色々やるよりは、既製品を使った方が良いだろう。

その他

MnSymbol パッケージでは \divides, \ndivides という、そのまんまなコマンドが用意されている。amssymb を使わずに MnSymbol を使うという場合は、これらを使えば良いだろう。(amssymb と MnSymbols は両立しない)

Unicode にも

  • U+2223 DIVIDES
  • U+2224 DOES NOT DIVIDE
  • U+2AEE DOES NOT DIVIDE WITH REVERSED NEGATION SLASH

という、そのまんまな記号がある。

LaTeX で Unicode 記号といえば unicode-math だが、これらの記号と LaTeX コマンドの対応は

  • U+2223: \mid
  • U+2224: \nmid
  • U+2AEE: \revnmid

となっている。

まとめ

「割り切る」記号には \mid、「割り切らない」記号には(amssymb 等のパッケージで提供される) \nmid を使うのが適切である。

コマンド名から「割り切る」感じを出したい場合は、

\providecommand{\divides}{\mid}
\providecommand{\ndivides}{\nmid}

とでも定義しておけば良いだろう。

(この記事を読んだ方がわざわざ参照する必要はないが、一応)Stack Exchange の関連トピック: