更新至 MacTex-2016 发行版后出现奇怪的 KOMA 脚本错误

更新至 MacTex-2016 发行版后出现奇怪的 KOMA 脚本错误

我最近安装了 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.

这意味着该选项基本上已经变成enumerateitemize产生

在此处输入图片描述

-作为项目符号。


请注意,您显示的另一个错误(不幸的是,再次只是图像而不是文本)来自

$i^{\rm i\`eme}$

\rm自 1993 年 latex2e 发布以来,它就没有在 latex 中默认定义,所以它的使用一直被弃用,而且最近的 KOMA 类停止定义它,所以你现在应该会得到一个未定义的命令错误\rm(如果你最近没有更新,这将是一个变化)。

但是无论是否\rm定义,\`e在数学模式下总会给出错误,如图像中所示。

错误文本建议使用数学重音,但这里的用法不是数学的,所以更好的是

$i$\textsuperscript{i\`eme}

相关内容