![Caracteres matemáticos invisibles con Unicode-Math y ntheorem.](https://rvso.com/image/254712/Caracteres%20matem%C3%A1ticos%20invisibles%20con%20Unicode-Math%20y%20ntheorem..png)
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@headerfont
llama \theorem@checkbold
y 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 \boldmath
que entre en acción pero XITS Math haNoversión en negrita.
Si desea utilizar ntheorem
y 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.