Unsichtbare mathematische Zeichen mit Unicode-Mathe und Ntheorem

Unsichtbare mathematische Zeichen mit Unicode-Mathe und Ntheorem

Beim Kompilieren dieses Codes mit lualaTeX(aus 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}

das erste ABC und allgemeiner jedes griechische oder lateinische Zeichen im Inline-Mathematikmodus – wenn es vorangestellt wird \theorem@headerfont– ist unsichtbar und ich habe keine Ahnung, warum. Was ich tun möchte, ist, Mathematikcode in einer optionalen oder alternativen Beschreibung zu einer Definition wie „1.1. Definition (von $pi$)“ zu verwenden.

Weiß jemand, wie man das lösen oder umgehen kann?

Antwort1

Das Problem ist, dass \theorem@headerfontAnrufe \theorem@checkboldund dieses Makro

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

Dies ist der Grund für das Verschwinden: Die verwendete Schriftart ist fett und dies führt dazu, \boldmathdass in Aktion tritt, aber XITS Math hatNEINfettgedruckte Version.

ntheoremWenn Sie in den Theorembeschriftungen mathematische Zeichen verwenden möchten , müssen Sie eine nicht fett gedruckte Schriftart verwenden.

Die aktuellsten TeX-Distributionen (TeX Live 2012) sollten eine fettgedruckte Version von XITS Math enthalten, Sie können also versuchen, Ihre zu aktualisieren.

verwandte Informationen