数学では「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}
とでもしてやれば良いだろう。
「割り切らない」記号
「割り切る」の否定、割り切らない記号はどう書くか。数学の慣習では、関係演算子を否定するには、斜めに線(スラッシュ)を引くことが多い。例えば、イコール = の否定は斜めの線を引いた ≠ となる。「割り切る」記号も例に漏れない。
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 の関連トピック: