我正在准备研究论文中的一张表格,其中一列是公式,另一列是发现该公式的数学家的名字。我还想引用数学家的论文,该论文中除了数学家的名字外还给出了这个公式(在同一列中)。例如,Ramanujan [21]
。但是,LaTeX 不喜欢它,我得到了如下错误
\mdseries
数学模式下命令无效
和
\upshape
数学模式下命令无效
我不明白。
如果有人能帮助我解决这些错误,我将不胜感激。
答案1
如果没有例子,这只是一个有根据的猜测,但基本上你要找的是一个表,其中一列包含一个公式(即数学模式),一列或多列包含文本。
现在,大多数数学命令在文本中不起作用,反之亦然,这就是您看到此类错误的原因。
如何解决这个问题?有几种方法:
- 只需将文本放入
\text{Ramanujan \cite{foo}}
公式内的命令中即可。因此,如果您使用环境,array
则所有列都处于数学模式。缺点:您需要对每个单元格执行此操作。 更好的可能:使用
array
包:然后你可以指定某些列应该包含数学运算,例如\usepackage{array} ... \begin{center} \begin{tabular}{>$l<$l} a^n+b^n=c^n & Fermat \cite{xyz} \\ \end{tabular} \end{center}