\usepackage[swedish]{babel}
我一直试图通过替换来更改我的 LaTeX 文档的语言,\usepackage[english]{babel}
但我只收到此消息:
! Package babel Error: You haven't loaded the option swedish yet.
我在本论坛的另一个问题中看到,编译足够多的内容可以解决问题,但这对我来说不起作用。有人知道我该怎么办吗?
答案1
这是 的一个非常常见的错误,可以通过在更改语言时babel
删除该文件来解决。.aux
当您使用时,babel
它会将特定于您选择的语言的信息写入文件.aux
。例如,在您的情况下,当您选择swedish
babel 语言时,它会执行两件事:(i) 加载一组与瑞典语相关的宏,(ii) 它(最低限度地)将以下内容写入文件.aux
。
\select@language{swedish}
\@writefile{toc}{\select@language{swedish}}
\@writefile{lof}{\select@language{swedish}}
\@writefile{lot}{\select@language{swedish}}
该命令\select@language{swedish}
告诉 TeX 使用为瑞典语定义的特定宏。
该.aux
文件用于存储将在下一次编译中重复使用的信息。请参阅
了解有关此内容的更多信息。
babel
写入.aux
文件,因为它会根据所选语言更改目录和图表列表等内容的名称。
现在,当您在不删除文件的情况下更改语言.aux
并编译文件时,TeX 会读取文件.aux
并遇到\select@language
命令。但由于您已更改语言,因此瑞典语的宏尚未加载,因此您会收到错误。
该babel
软件包不是唯一有时需要您删除.aux
文件的软件包。有关它们的信息,请参阅以下更一般的问题:
较新版本的babel
如果您使用的是 3.22 或更高版本的最新系统babel
,则应该不再收到此错误,而是会看到如下警告:
Package babel Warning: Unknown language `swedish'. Very likely you
(babel) requested it in a previous run. Expect some
(babel) wrong results in this run, which should vanish
(babel) in the next one. Reported on input line xxx.