Warum funktioniert \rm im Mathematikmodus in einigen Tex-Editoren und in anderen nicht?

Warum funktioniert \rm im Mathematikmodus in einigen Tex-Editoren und in anderen nicht?

Ich habe gerade eine .texDatei von einem Kollegen erhalten und die Datei enthält mehrere \rmBefehle im Mathematikmodus. Wir verwenden beide Windows, aber er verwendet WinEdt und ich verwende TeXmaker. Auf seinem Computer wird diese Datei ohne Fehler kompiliert, aber auf meinem Notebook erhalte ich Fehlermeldungen, dass es sich \rmum einen nicht definierten Befehl handelt. Was ist los?

Vielen Dank.

Antwort1

\rmist im Latex-Format nicht definiert. Einige Klassen definieren es aus Kompatibilitätsgründen mit LaTeX 2.09 (d. h. Dokumente, die vor 1993 geschrieben wurden). Die Koma-Klassen haben es zuvor mit einer Warnung definiert, aber neuere Versionen definieren es nicht, sodass Sie eine Fehlermeldung erhalten, wenn es verwendet wird.

Nach 20 Jahren der Missbilligung war der scrartclAutor nicht ohne Grund der Ansicht, dass es nicht länger benötigt werden sollte.

Welchen Editor (Winedt, Texmaker usw.) Sie zum Schreiben der Datei verwenden, spielt hierbei keine Rolle.

Antwort2

Welchen Editor Sie verwenden, ist irrelevant. Entscheidend ist, welchen Jahrgang scrartclSie verwenden. Bis vor kurzem (Juni 2016) waren die KOMA-Skript-Dokumentklassen -- scrartcl, scrreprt, und scrbook--eine Arttolerierte die veralteten Anweisungen zum Umschalten der Schriftart \rm, \bf, \it, usw. und gab bei deren Auftreten zahlreiche Warnmeldungen aus. Im Juni 2016 wurde die Unterstützung für diese Anweisungen in den KOMA-Script-Klassen jedoch vollständig eingestellt.

Wenn Sie wirklich, positiv, absolutmussuse \rmund den anderen veralteten Anweisungen zum Wechseln der Schriftart können Sie article.clsIhrer Präambel den folgenden Code hinzufügen, der direkt von übernommen wurde:

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

Beachten Sie, dass \slund \scnur im Textmodus funktioniert, abernichtim Mathematikmodus. Siehedieser Beitragfür weitere Informationen zu diesem Thema.


Ein vollständiges MWE:

Bildbeschreibung hier eingeben

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

verwandte Informationen