%20Stix%20Math%20Two%20%E3%81%A7%20%5Csmall%20%E3%82%92%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%E5%95%8F%E9%A1%8C%20(Lualatex).png)
次の MWE を検討してください。
\documentclass[12pt]{article}
\usepackage{unicode-math}
\setmathfont{STIX2Math.otf}
\begin{document}
{\small Small size
\[
\left(\frac{a}{b}\right) \left(\frac{\frac{a}{b}}{\frac{a}{b}}\right)
\]
}
Normal size
\[
\left(\frac{a}{b}\right) \left(\frac{\frac{a}{b}}{\frac{a}{b}}\right)
\]
\end{document}
コンパイルすると、ディレクティブの最初の部分では括弧が正しく拡大されていないことに気付くでしょう\small
。ただし、コメントアウトすると\setmathfont{Stix Two Math}
機能します。したがって、これは stix 2 の問題のようです。私は完全に更新された LuaLatex (MacTeX 2017) システムを使用しています。
質問は、a) これは既知の問題ですか? b) この問題を透過的に回避するにはどうすればいいですか?
(lua コードで遊ぶ予定なので、XeLaTex に切り替えることはできません。)
答え1
問題は、+ssty
基本サイズより小さいサイズに使用されるオプションにあるようです。バグレポートすでにSourceforgeに提出されています。
xetex
以下は、 または を使用してコンパイルされluatex
、異なる結果を生成する例です。
\input ifxetex.sty
\ifxetex
\font\extsymbolsA="STIX Two Math/OT:script=math;language=DFLT;"
\font\extsymbolsB="STIX Two Math/OT:script=math;language=DFLT;+ssty=0;"
\else
\input luaotfload.sty
\font\extsymbolsA="STIX Two Math:mode=base;script=math;language=DFLT;"
\font\extsymbolsB="STIX Two Math:mode=base;script=math;language=DFLT;+ssty=0;"
\fi
\Udelcode`(="3 `(
\Udelcode`)="3 `)
\textfont3=\extsymbolsA
$$
\left(a\over b\right)
$$
\textfont3=\extsymbolsB
$$
\left(a\over b\right)
$$
\bye
出力xetex
出力luatex
この問題は、オプションと LuaTeX またはとの相互作用が原因であると思われますluaotfload
。
ただし、これは括弧にのみ影響し、他の区切り文字には影響しないようです。
\documentclass[10pt]{article}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}
\begin{document}
{\small Small size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]
}
Normal size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]
\end{document}
考えられる回避策:
\documentclass[10pt]{article}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}
\setmathfont[range={\(,\)}]{XITS Math}
\AtBeginDocument{%
\Udelcode`(="4 `(
\Udelcode`)="4 `)
}
\begin{document}
{\small Small size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]
}
Normal size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]
\end{document}