我正在使用自定义类,当我使用时,${\rm test}$
我收到投诉,说它Undefined control sequence.
也不处于文本模式。我尝试搜索文件cls
和其他相关链接文件,\rm
但我永远找不到它会被删除的位置,实际上,它在类中的用法如下:
\newcommand\@makecopyrightpage{
\ColumnSave
\pagenumbering{roman}
\setcounter{page}{2}
%\thispagestyle{empty}
\thispagestyle{plain}
\null
\vfill
\if@copyright
\begin{center}
%\normalsize \rm Copyright \copyright\ \@copyrightyear
%\ifx\@copyrightyear\@degreeyear\else , \@degreeyear \fi
%\ by \@author \\
%\@copyrightinfo
\normalsize \normalfont \copyright\ \@copyrightyear \hspace{1pt}
\@author \\
\end{center}
\fi
\vfill
\ColumnRestore
}
\rm
类中唯一可以找到的其他地方:
\def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}% No feet.
\def\@oddhead{\hbox {}\slshape \rightmark \hfil \rm\thepage}% Heading.
\def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ \fi ##1}}}}
% Definition of 'myheadings' page style.
%
\def\ps@myheadings{\def\@oddhead{\hbox{}\slshape\rightmark \hfil \rm\thepage}%
\def\@oddfoot{}\def\@evenhead{\rm \thepage\hfil\slshape\leftmark\hbox {}}%
\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}}
当我切换到时,\documentclass{report}
一切正常。我该如何调查它在哪里丢失了?
答案1
LaTeX 中数学中罗马字母的语法$\mathrm{test}$
不是${\rm test}$
。
\rm
自 1993 年 LaTeX2e 发布以来,尚未在 LaTeX 中定义。
clsguide
就像Latex 附带的编写 Latex 类的指南中描述的一样,你可以\rm
通过以下方式定义
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
并且report
该类确实这样做了,但是这是出于对 20 世纪 80 年代编写的文档的兼容性问题。本世纪编写的任何文档都不应使用,\rm
因此对于现在编写的类来说,最好不是定义\rm
并假设文档具有正确的标记。这样文档中的错误标记就很容易被发现和纠正。