unicode-mathについて
unicode-mathは,XeTeX やLuaTeX で,Unicodeの数学記号を利用して数式を組むパッケージである。たとえば,数式のは,このパッケージを使わない場合はU+0078の文字,このパッケージを使った場合はU+1D465の文字が使われる。U+0078はテキスト文字であるxのコード,U+1D465は数式文字(斜体)であるのコードになる。このパッケージを使わない場合は,フォントを取り替えて斜体を表すが,このパッケージを使う場合,フォントがもっている数式文字の斜体を使うことになる。
したがって,Unicodeの数式記号にグリフが登録されているフォントが必要で,いまのところ,そのようなフォントは限られている。
数式組版に使用する文字コードが異なるため,組み上がったPDFから,文字をコピーアンドペーストしたときにも違いが出る。対応したフォントで表示すれば,数式がある程度再現されるが,フォントに数式記号のグリフが登録されていなければ,その部分は文字が表示されない。
まだメリットはあまりなさそうだが,将来に期待して,私はこの環境を使おうと思った。ただ,このパッケージを使うと,数式フォントでbold,SansSerif,bold SansSerifを切り替えることが簡単にできる。この点は気に入っている。
簡単な設定例
Latin Modernを使うなら,このフォントがデフォルトなので,次のようにするだけで,unicode-mathを利用できる。
\usepackage{unicode-math} \unimathsetup{math-style=ISO,bold-style=ISO}
STIXフォント
STIXは,Scientific and Technical Information Exchangeの頭文字で,科学技術系の情報交換用のフォントである。ライセンスフリーであり,アメリカのおもな学会も,このフォント事業に参加しているという。TeXとも相性がよさそう。
Timesがベースのフォントであるため,Century系のフォントが中心である日本の数式組版から見ると,やや異質なところもある。ただ,小文字のvの斜体で,底の部分が丸くなっているため,ギリシャ文字と見分けがつきやすくなっている。
STIXフォントを利用した例を以下に示す。
STIXフォントでの指定例
いろいろと試行錯誤した結果,次のような設定に行き着いている。
\usepackage{unicode-math} \unimathsetup{math-style=ISO,bold-style=ISO} \setmainfont{STIX Two Text}[Ligatures=TeX, Scale=1.1] \setmathfont{STIX Two Math}[Scale=1.1] \setmathfont{STIX Two Math}[Scale=1.1,range={"1D454,"1D488},StylisticSet={2},script-features={},sscript-features={}]
- math-style,bold-style:立体,斜体の選択が自然な感じがしたのでISOを指定した。
- Scale=1.1:日本語に対して,英数字が小さい印象だったので,英数字のサイズを110%にした。
- StylisticSet={2}:小文字gの斜体のデザインを変えるために異体字を使う指定にした。
- range:異体字を使う指定をすると,小文字vも底がとがった字形に変わってしまうため,range指定して小文字gの斜体だけに限定した。
- script-features,sscript-features:添字(上付文字,下付文字),添字の添字でも異体字を使うようにした。
この設定をして,数式中でregular,bold,SansSerif,bold SansSerifを切り替えることが簡単にできる。そのサンプルは次の通り。