![Caracteres matemáticos invisíveis com matemática unicode e ntheorem](https://rvso.com/image/254712/Caracteres%20matem%C3%A1ticos%20invis%C3%ADveis%20com%20matem%C3%A1tica%20unicode%20e%20ntheorem.png)
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@headerfont
chama \theorem@checkbold
e 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 \boldmath
entre em ação, mas o XITS Math temnãoversão em negrito.
Se você quiser usar ntheorem
matemá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.