Para substituir o operador de parte real do tipo gótico por um 'Re' simples, o seguinte funciona para mim:
\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}}
No entanto, se eu trocar as duas últimas linhas, minha redefinição \Re
será ineficaz. O que está acontecendo? Como posso \begin{document}
substituir uma redefinição de macro?
Responder1
Vários comandos unicode-math
estão contidos em, \AtBeginDocument
portanto, são executados primeiro em torno do ponto em que o processamento chega ao \begin{document}
comando. Você pode usar o mesmo truque para substituir uma definição:
\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}
Comandos semelhantes, como \AtEndOfPackage
também são definidos no núcleo do LaTeX. Comandos adicionais, inclusive, \AtBeginEnvironment
estão no etoolbox
pacote.