\begin{document} rompe la redefinición de \Re

\begin{document} rompe la redefinición de \Re

Para reemplazar el operador de parte real de tipo gótico por un simple 'Re', lo siguiente me funciona:

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

Sin embargo, si intercambio las dos últimas líneas, mi redefinición de \Rees ineficaz. ¿Lo que está sucediendo? ¿Cómo se puede \begin{document}sobrescribir una redefinición de macro?

Respuesta1

Varios comandos unicode-mathestán contenidos en, \AtBeginDocumentpor lo que primero se ejecutan alrededor del punto en el que el procesamiento llega al \begin{document}comando. Puedes usar el mismo truco tú mismo para anular una definición:

Salida de muestra

\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 similares como \AtEndOfPackagetambién se definen en el núcleo de LaTeX. Los comandos adicionales incluidos \AtBeginEnvironmentse encuentran en el etoolboxpaquete.

información relacionada