Secuencia de control indefinida: nueva matemática definida en el título

Secuencia de control indefinida: nueva matemática definida en el título

Cuando compilo un documento con este código:

\documentclass[final,3p,times]{elsarticle}

\usepackage{amsmath, amssymb, amsfonts, amsfonts, amsthm,latexsym}


\usepackage{enumerate}

\usepackage{mathtools} \usepackage[normalem]{ulem} \usepackage{scalerel}

\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}

\title{test}

\date{March 2020}


\usepackage{graphicx}

\begin{document}

\maketitle \section{test.\ $\Ro$}


\end{document}

Entiendo que el compilador tiene problemas para entender un comando que he definido. Compruebe si el comando está escrito correctamente. Si el comando es parte de un paquete, asegúrese de haber incluido el paquete en su preámbulo usando \usepackage{...}.

No funciona en overleaf.com ni en mi PC, sin embargo en mi portátil con Ubuntu no produce ningún error.

¿Alguien podría decirme cómo evitar o solucionar esto?


actualizar:

Intenté aceptar la sugerencia de cambiar el orden de cómo se cargan amssymby ; amsmathfunciona.

\documentclass[3p,times]{elsarticle}
\usepackage{amssymb,amsthm,amsmath}
\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}
\begin{document}
    \section{test.\ $\Ro$}

    \begin{proof}
        asfaag
    \end{proof}
\end{document}

Sin embargo, si agrego todos mis paquetes, el problema vuelve.

\documentclass[3p,times]{elsarticle}
\usepackage{amssymb,amsthm,amsmath}
\usepackage{algorithmic,algorithm}
\renewcommand{\algorithmiccomment}[1]{\hfill$\rhd∗$\textit{#1}}
\usepackage{graphics}
\usepackage{enumerate}
\usepackage{color}
\usepackage{mathtools}
\usepackage[normalem]{ulem}
\usepackage{scalerel}

\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}
\begin{document}
    \section{test.\ $\Ro$}

    \begin{proof}
        asfaag
    \end{proof}
\end{document}

Respuesta1

Es una interacción bastante extraña con scalerel. Puedo reproducir el comportamiento con un ejemplo más simple:

\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}

\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}

\begin{document}

\section{test.\ $\Ro$}

\end{document}

El problema desaparece cuando scalerelse elimina.

Solución: usar

\DeclareRobustCommand{\Ro}{\overset{0}{\sim}}

(Lo eliminé \mathrelporque no es necesario, ya que \simes un símbolo de relación y \oversetes capaz de adivinarlo correctamente).

Respuesta2

Muchas gracias por producir un MWE completo (ejemplo de trabajo mínimo). Inmediatamente pude reproducir el error en una versión preliminar de MacTeX2020. Específicamente, recibí la siguiente secuencia de mensajes:

! Undefined control sequence.
\@tempa ->\catcode `\<
                      12\relax \catcode `\>12\relax \catcode `\=12\relax 
l.22 \section{test.\ $\Ro$}

? r
OK, entering \nonstopmode...
! Undefined control sequence.
\@tempa ->\catcode `\<
                      12\relax \catcode `\>12\relax \catcode `\=12\relax 
l.22 \section{test.\ $\Ro$}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

No estoy seguropor quéla siguiente solución funciona, pero ahí va: Cargue el amssymbpaqueteantes, no después, del amsmathpaquete.

Reducir su código a lo esencial, es decir, a

\documentclass[3p,times]{elsarticle}
\usepackage{amssymb,amsmath}
\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}
\begin{document}
\section{test.\ $\Ro$}
\end{document}

yo obtengo

ingrese la descripción de la imagen aquí

sin ningún mensaje de error o advertencia. Lo que marca la diferencia es que amssymbse carga antes y no después amsmath.

información relacionada