unicode-math の理論を完全に理解したい(続き)
入力における立体と斜体の自動補正
「立体と斜体の“非区別”」の小節で述べた通り、数式中のラテン小文字は普通は斜体が使われる。従って、従来の LaTeX 数式では x
を入力すると「斜体の x」が出力される。しかし、これまでに述べた理屈をそのまま適用すると、unicode-math では x
(U+007B) の入力では「立体の x」が出力されて、「斜体の x」を出力するには U+1D465 の文字または \symit{x}
を入力する必要が生じてしまう。
この面倒を避けるための対処として、unicode-math では「入力の立体と斜体を自動的に補正する」「立体と斜体を区別しない特殊な数式英字フォント命令を用意する」という入力補正を行っている。
- up の(“基本”の)文字、it の文字の入力 →
\symup
または\symit
に補正される - bfup の文字、bfit の文字、
\symbf
命令の入力 →\symbfup
または\symbfit
に補正される - sfup の文字、sfit の文字、
\symsf
命令の入力 →\symsfup
または\symsfit
に補正される - bfsfup の文字、bfsfit の文字、
\symbfsf
命令の入力 →\symbfsfup
または\symbfsfit
に補正される
※具体的な数式英字フォント命令(\symup
や \symsfit
等)は入力補正の対象にならない。
先述の通り「立体と斜体の何れを常用するか」に様々な習慣があるため、入力補正の方式をオプション*1で選択できる。up 対 it の補正結果は math-style オプションの値により決まる。
オプション値 | ラテン小 | ラテン大 | ギリシャ小 | ギリシャ大 |
---|---|---|---|---|
ISO |
it | it | it | it |
TeX |
it | it | it | up |
french |
it | up | up | up |
upright |
up | up | up | up |
※literal
指定で補正が抑止され、入力の立体と斜体の区別が保持される。
bfup 対 bfit の補正結果は bold-style オプションの値により決まる。((先述の通り、math-style の TeX
の設定は米国の習慣を反映したものといえそうだが、bold-style の TeX
、特に「ギリシャ小文字を斜体とする」については注意が必要だと思う。単なる「LaTeX 者の習慣」なのかもしれない。))
オプション値 | ラテン小 | ラテン大 | ギリシャ小 | ギリシャ大 |
---|---|---|---|---|
ISO |
bfit | bfit | bfit | bfit |
TeX |
bfup | bfup | bfit | bfup |
upright |
bfup | bfup | bfup | bfup |
※literal
指定で入力補正が抑止され、入力の立体と斜体の区別が保持される。
sfup 対 sfit、および bfsfup 対 bfsfit の補正結果は sans-style オプションの値により決まる。
オプション値 | 意味 | |
---|---|---|
italic |
sfit および bfsfit | |
upright |
sfup および bfsfup |
※literal
指定で入力補正が抑止され、入力の立体と斜体の区別が保持される。
※ところで、Unicode の「数式書体付文字」においては、ギリシャ文字はサンセリフ太字(bfsf)をもつが単なる太字(sf)はもたないという規定になっている。何故なんだろう?
※bold-style と sans-style の既定値は math-style の設定値に依存する。math-style の既定値は TeX
である。
math- 設定値 | bold- 既定値 | sans- 既定値 |
---|---|---|
ISO |
ISO |
italic |
TeX |
TeX |
upright |
french |
upright |
upright |
upright |
upright |
upright |
literal |
literal |
literal |
ナブラ記号と偏微分記号
ナブラ記号(∇;U+2207)と偏微分記号(∂;U+2202)は Unicode で「数式書体付文字」として扱われている。*2従って、これらの文字も「数式英字」の範囲に含まれ、また入力補正の対象となる。入力補正の方式は各文字ごとに個別のオプションで指定する。
ナブラ記号の補正結果は nabla オプションの値により決まる。偏微分記号の補正結果は partial オプションの値により決まる。
italic
: 斜体(it/bfit/bfsfit)になる。upright
: 立体(up/bfup/bfsfup)になる。literal
: 入力補正が抑止される。
nabla の既定値は upright
、partial の既定値は italic
であるが、math-style が literal
の場合は両方の既定値が literal
に変わる。
\symliteral 命令
オプションの設定に関わらず、\symliteral
命令を利用すると入力の補正を抑止できる。例えば、math-style が literal
以外の場合、x
(U+007B) と U+1D465 は同じ出力(立体か斜体の何れか一方)になるが、\symliteral
の引数に入れた場合は x
は立体、U+1D465 は斜体で出力される。