Невидимые математические символы с 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, поэтому вы можете попробовать обновить ее.

Связанный контент