Unicode-math と ntheorem による目に見えない数学文字

Unicode-math と ntheorem による目に見えない数学文字

このコードを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 のボールド バージョンが含まれているはずなので、更新してみてください。

関連情報