Halmos square는 XCharter/ensuremath로 중단됩니다.

Halmos square는 XCharter/ensuremath로 중단됩니다.

(에 정의되어 있음) \QED을 호출하는 명령을 정의하려고 합니다 . 다음 MWE를 고려하십시오.\squareamssymb

\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}

이는 다음과 같이 컴파일됩니다.

여기에 이미지 설명을 입력하세요

여기서는 $\square$올바르게 표시되지만 그렇지 않습니다 \ensuremath{{\square}}. 왜?

답변1

unicode-math\QEDU+220E로 정의됩니다 . ∎ 정의를 수행하므로 \AtBeginDocument정의를 덮어쓰고 \QED선택한 글꼴에 해당 문자가 없습니다.

\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}

관련 정보