我最近安装了 Latex 发行版 MacTeX-2016。从那时起,我无法编译一些 KOMA 脚本文件。问题只发生在我使用 KOMA 脚本类的文件中。此外,在我安装这个新的 Latex 发行版之前,同样的 KOMA 脚本文件曾经编译得很好。我在这里附上了一个我收到的错误消息示例的屏幕截图,该文件在更新之前曾经编译得很好。在这里我使用的环境:
\begin{enumerate}[-]
\end{enumerate}
这里还有另一个带有重音的例子,我以前也没有这个重音: 如果有人能帮助我解决这个问题我将非常感激。
我不确定我是否应该在这里回答您的回复,因为这是我第一次使用 tex.stackexchange,但我在这里尝试......
非常感谢您的回答,这非常有帮助。多亏了您,我更好地确定了问题:问题似乎来自该命令:
\selectlanguage{french}
在我的软件包列表中,在你提到的软件包之后,即
\usepackage{enumerate}
如果我有该\selectlanguage{french}
命令,即使命令存在,我也会收到我提到的错误\usepackage{enumerate}
。如果我没有该\selectlanguage{french}
命令,那么一切都会正常进行,正如您所指出的。但我不明白,因为在我更新之前,即使使用该命令也可以正常工作……我也不明白这两个包之间相互干扰的原因……
另外,我不确定我是否需要这个包\selectlanguage{french}
,因为这是我从某人那里继承的法语文档的模板。
关于 \rm 命令,在网上搜索了一下,我读到:
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
可以挽救这些旧命令,显然它们不再受支持。但即使引入它似乎也不起作用。话虽如此,你说得对,$i$\textsuperscript{i\
eme}` 可以解决问题,而且可能更好用。我现在只需要更改我的所有文件。
无论如何,请按照您的要求在此处找到我的最小示例,该示例在没有命令的情况下可以很好地编译\selectlanguage{french}
,但使用命令时却无法编译,这对我来说很奇怪。这是正常的吗?
\documentclass[a4paper,12pt,french,DIV=calc,twoside,openright,chapterprefix]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{enumerate}
\selectlanguage{french}
\begin{document}
Les deux op\'erations suivantes peuvent s'effectuer sur les vecteurs:
\begin{enumerate}[-]
\item multiplication par un nombre r\'eel...
\item somme de deux vecteurs de m\^eme origine~: ...
\end{enumerate}
\end{document}
答案1
如果我将您的片段完成为 koma-script 文档
\documentclass{scrartcl}
\begin{document}
\begin{enumerate}[-]
\item multiplication par un\ldots
\end{enumerate}
\end{document}
然后它会产生问题中显示的错误
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.5 \item m
ultiplication par un\ldots
?
它会一直这样做,而不是在最近的更新中发生改变。
有两个常见的包提供enumerate
可选参数,如果我添加
\usepackage{enumitem}
然后错误变为
! Package enumitem Error: - undefined.
如果我将其改为
\usepackage{enumerate}
然后文档运行没有错误,但有警告
LaTeX Warning: The counter will not be printed.
The label is: - on input line 4.
这意味着该选项基本上已经变成enumerate
并itemize
产生
以-
作为项目符号。
请注意,您显示的另一个错误(不幸的是,再次只是图像而不是文本)来自
$i^{\rm i\`eme}$
\rm
自 1993 年 latex2e 发布以来,它就没有在 latex 中默认定义,所以它的使用一直被弃用,而且最近的 KOMA 类停止定义它,所以你现在应该会得到一个未定义的命令错误\rm
(如果你最近没有更新,这将是一个变化)。
但是无论是否\rm
定义,\`e
在数学模式下总会给出错误,如图像中所示。
错误文本建议使用数学重音,但这里的用法不是数学的,所以更好的是
$i$\textsuperscript{i\`eme}