Halmos Square bricht mit XCharter/ensuremath

Halmos Square bricht mit XCharter/ensuremath

Ich versuche, einen \QEDBefehl zu definieren, der aufruft \square(definiert in ) amssymb. Betrachten Sie das folgende MWE:

\documentclass{article}

\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage[scaled=0.96, sups, scosf, osf]{XCharter}

\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
\setmathfont{XCharter-Math.otf}
\def\QED{\ensuremath{{\square}}}

\begin{document}

\QED
$\square$

\end{document}

Dies ergibt Folgendes:

Bildbeschreibung hier eingeben

wo $\square$wird korrekt angezeigt, aber nicht \ensuremath{{\square}}. Warum?

Antwort1

unicode-math\QEDwird als U+220E ∎ definiert , aber seine Definition \AtBeginDocumentüberschreibt Ihre Definition, \QEDund die ausgewählte Schriftart verfügt nicht über das Zeichen.

\documentclass{article}

\RequirePackage{amsmath}
\RequirePackage{amssymb}
\RequirePackage[scaled=0.96, sups, scosf, osf]{XCharter}

\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
\setmathfont{XCharter-Math.otf}
\AtBeginDocument{\def\QED{\ensuremath{{\square}}}}

\begin{document}


X
\QED
$\square$


\end{document}

verwandte Informationen