
Quando compilo o documento com 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}
Entendo que o compilador está tendo problemas para entender um comando que defini. Verifique se o comando está escrito corretamente. Se o comando fizer parte de um pacote, certifique-se de ter incluído o pacote em seu preâmbulo usando \usepackage{...}
.
Não funciona no overleaf.com e no meu PC, porém no meu laptop com Ubuntu não produz nenhum erro.
Alguém poderia me dizer como evitar ou corrigir isso?
atualizar:
Tentei aproveitar a sugestão de mudar a ordem de como amssymb
e amsmath
são carregados; funciona.
\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}
Porém, se eu adicionar todos os meus pacotes, o problema retorna.
\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}
Responder1
É uma interação bastante estranha com scalerel
. Posso reproduzir o comportamento com um exemplo mais simples:
\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}
\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}
\begin{document}
\section{test.\ $\Ro$}
\end{document}
O problema desaparece quando scalerel
é removido.
Solução: usar
\DeclareRobustCommand{\Ro}{\overset{0}{\sim}}
(Retirei \mathrel
porque não é necessário, pois \sim
é um símbolo de relação e \overset
é capaz de adivinhar corretamente).
Responder2
Muito obrigado por produzir um MWE completo (exemplo mínimo de trabalho). Consegui reproduzir imediatamente o erro em uma versão de pré-lançamento do MacTeX2020. Especificamente, recebi a seguinte sequência de mensagens:
! 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.
Eu não tenho certezapor quea solução a seguir funciona, mas aqui vai: Carregue o amssymb
pacoteantes, não depois, o amsmath
pacote.
Reduzir seu código ao essencial, ou seja, para
\documentclass[3p,times]{elsarticle}
\usepackage{amssymb,amsmath}
\newcommand{\Ro}{\mathrel{\overset{0}{\sim}}}
\begin{document}
\section{test.\ $\Ro$}
\end{document}
eu recebo
sem qualquer mensagem de erro ou aviso. O que faz a diferença é que ele amssymb
é carregado antes e não depois amsmath
.