![Unicode-math と ntheorem による目に見えない数学文字](https://rvso.com/image/254712/Unicode-math%20%E3%81%A8%20ntheorem%20%E3%81%AB%E3%82%88%E3%82%8B%E7%9B%AE%E3%81%AB%E8%A6%8B%E3%81%88%E3%81%AA%E3%81%84%E6%95%B0%E5%AD%A6%E6%96%87%E5%AD%97.png)
このコードをlualaTeX
(TeXLive 2011から)コンパイルすると、
\documentclass{minimal}
\usepackage{unicode-math}
\usepackage{ntheorem,thmtools}
\setmathfont{xits-math}
\makeatletter
\newtheoremstyle{mathfonttest}
{\item[\theorem@headerfont $ABC$ DEF $:!?$ ]} % 1. option
{\item[$ABC$ DEF ]} % 2. option
\makeatother
\declaretheorem[style=mathfonttest]{test}
\begin{document}
\begin{test} % 1. option, ABC invisible
Something.
\end{test}
\begin{test}[triggers 2. option] % 2. option, ABC visible
Something.
\end{test}
\end{document}
最初の ABC、およびより一般的には、インライン数式モードでは、先頭に が付いている場合、ギリシャ文字またはラテン文字は\theorem@headerfont
表示されませんが、その理由はわかりません。私がやりたいのは、「1.1. 定義 ($pi$ の)」のような定義のオプションまたは代替の説明で数式コードを使用することです。
これを解決または回避する方法を知っている人はいますか?
答え1
問題は、\theorem@headerfont
呼び出し\theorem@checkbold
とこのマクロが
\if b\expandafter\@car\f@series\@nil\boldmath\fi
これが消えた理由です。使用されているフォントは太字で、これが\boldmath
アクションを引き起こしますが、XITS Mathはいいえ太字バージョン。
定理のラベルに数式を使用する場合はntheorem
、太字以外のフォントを使用する必要があります。
最新の TeX ディストリビューション (TeX Live 2012) には XITS Math のボールド バージョンが含まれているはずなので、更新してみてください。