Чтобы заменить оператор действительной части типа Gothic на простой «Re», мне подойдет следующее:
\documentclass[a4paper,11pt,twoside,fleqn]{report}
[...]
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage[bold-style=ISO]{unicode-math} % must come after ams and symbols
[...]
\begin{document}
\def\Re{\operatorname{Re}}
Однако, если я поменяю местами последние две строки, мое переопределение \Re
будет неэффективным. Что происходит? Как можно \begin{document}
перезаписать переопределение макроса?
решение1
Ряд команд в unicode-math
содержатся в \AtBeginDocument
so сначала запускаются вокруг точки, когда обработка доходит до \begin{document}
команды. Вы можете использовать тот же трюк самостоятельно, чтобы переопределить определение:
\documentclass[a4paper,11pt,twoside,fleqn]{report}
\usepackage{mathtools}
\usepackage[bold-style=ISO]{unicode-math}
\AtBeginDocument{\renewcommand{\Re}{\operatorname{Re}}}
\begin{document}
\( \Re z \)
\end{document}
Похожие команды, такие как \AtEndOfPackage
также определены в ядре LaTeX. Дополнительные команды, включая \AtBeginEnvironment
находятся в etoolbox
пакете.