Caracteres matemáticos invisibles con Unicode-Math y ntheorem.

Caracteres matemáticos invisibles con Unicode-Math y ntheorem.

Al compilar este código con lualaTeX(de 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}

el primer ABC, y más generalmente cualquier carácter griego o latino en modo matemático en línea, cuando está precedido por \theorem@headerfont, es invisible y no tengo idea de por qué. Lo que quiero hacer es usar código matemático en una descripción opcional o alternativa a una definición como '1.1. Definición (de $pi$)'.

¿Alguien sabe cómo solucionar esto o evitarlo?

Respuesta1

El problema es que \theorem@headerfontllama \theorem@checkboldy esta macro no

\if b\expandafter\@car\f@series\@nil\boldmath\fi

Este es el motivo de la desaparición: la fuente utilizada es negrita y esto hace \boldmathque entre en acción pero XITS Math haNoversión en negrita.

Si desea utilizar ntheoremy matemáticas en las etiquetas de los teoremas, debe utilizar una fuente que no esté en negrita.

Las distribuciones TeX más recientes (TeX Live 2012) deberían tener una versión en negrita de XITS Math, así que puedes intentar actualizar la tuya.

información relacionada