
Acabo de recibir un .tex
archivo de un colega y el archivo tiene varios \rm
comandos 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 \rm
que es un comando no definido. ¿Qué está pasando?
Muchas gracias.
Respuesta1
\rm
no 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 scrartcl
autor 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 scrartcl
usas. Hasta hace poco (junio de 2016), las clases de documentos KOMA-script -- scrartcl
, scrreprt
y 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 \rm
y 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 \sl
y \sc
sólo funcionará en modo texto, peronoen modo matemático. Veresta publicaciónpara más información sobre este tema.
Un MWE completo:
\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}