Caracteres matemáticos invisíveis com matemática unicode e ntheorem

Caracteres matemáticos invisíveis com matemática unicode e ntheorem

Ao compilar este código com lualaTeX(do 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}

o primeiro ABC e, mais geralmente, qualquer caractere grego ou latino no modo matemático embutido – quando precedido por \theorem@headerfont– é invisível e não tenho ideia do porquê. O que eu quero fazer é usar código matemático em uma descrição opcional ou alternativa para uma definição como '1.1. Definição (de $pi$)'.

Alguém sabe como resolver isso ou contornar isso?

Responder1

O problema é que \theorem@headerfontchama \theorem@checkbolde essa macro faz

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

Esta é a razão do desaparecimento: a fonte usada é negrito e isso faz com que \boldmathentre em ação, mas o XITS Math temnãoversão em negrito.

Se você quiser usar ntheoremmatemática nos rótulos dos teoremas, precisará usar uma fonte que não seja em negrito.

As distribuições mais recentes do TeX (TeX Live 2012) devem ter uma versão ousada do XITS Math, então você pode tentar atualizar a sua.

informação relacionada