¿Por qué \rm en modo matemático funciona en algunos editores de texto y no en otros?

¿Por qué \rm en modo matemático funciona en algunos editores de texto y no en otros?

Acabo de recibir un .texarchivo de un colega y el archivo tiene varios \rmcomandos en modo matemático. Ambos usamos Windows, pero él usa WinEdt y yo uso TeXmaker. En su computadora, este archivo se compila sin errores, pero en mi computadora portátil recibo mensajes de error que dicen \rmque es un comando no definido. ¿Qué está pasando?

Muchas gracias.

Respuesta1

\rmno está definido en el formato látex. Algunas clases lo definen por compatibilidad con LaTeX 2.09 (es decir, documentos escritos antes de 1993). Las clases de Koma lo definían previamente con una advertencia, pero las versiones más recientes no lo definen, por lo que aparece un error si se usa.

Después de 20 años de desuso, el scrartclautor pensó, con razón, que ya no debería ser necesario.

El editor (winedt, texmaker, etc.) que utiliza para escribir el archivo no tiene ninguna relación con esto.

Respuesta2

El editor que utilices es irrelevante. Lo que importa es qué cosecha scrartclusas. Hasta hace poco (junio de 2016), las clases de documentos KOMA-script -- scrartcl, scrreprty scrbook--algo así comotoleró las instrucciones obsoletas de cambio de fuente \rm, \bf, \it, etc., mientras emitía numerosos mensajes de advertencia si se encontraban. Sin embargo, en junio de 2016, el soporte para estas directivas en las clases de KOMA-Script cesó por completo.

Si verdaderamente, positivamente y absolutamentedebeuse \rmy otras instrucciones de cambio de fuente obsoletas, puede agregar el siguiente código (que se extrae directamente de article.cls) a su preámbulo:

\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}

Tenga en cuenta que \sly \scsólo funcionará en modo texto, peronoen modo matemático. Veresta publicaciónpara más información sobre este tema.


Un MWE completo:

ingrese la descripción de la imagen aquí

\documentclass{scrartcl}
% The following code is from the file `article.cls`
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}

\begin{document}
$a$ $\it a$ $\rm a$ $\bf a$ $\sf a$ $\tt a$ 
\end{document}

información relacionada