当 Lyx 与已经使用 inputenc 的 LaTeX 类一起使用时,inputenc 包的选项会发生冲突

当 Lyx 与已经使用 inputenc 的 LaTeX 类一起使用时,inputenc 包的选项会发生冲突

我使用 Lyx 编辑文档,其类\usepackage[latin2]{inputenc}在其 .cls 文件中声明。虽然我只使用 Lyx 使用相同编码的语言,但它只将相同的命令 ( \usepackage[latin2]{inputenc}) 添加到文档的序言中。然而,当我开始使用更多语言时,Lyx 添加到序言中的命令会更改为类似 的内容\usepackage[latin9, latin2]{inputenc}。然后我收到以下错误:

LaTeX Error: Option clash for package inputenc. 
\setcounter
           {secnumdepth}{3}
The package inputenc has already been loaded with options:
  [latin2]
There has now been an attempt to load it with options
  [latin9,latin2]

Lyx 似乎并不期望类可以使用inputenc它们自己。这个问题的正确解决方案是什么?我应该阻止 Lyx 将任何内容添加inputenc到序言中吗?是否有一些可以覆盖的 LaTeX 命令\usepackage?或者这是我正在使用的类的问题,所以我应该修改它?也许我应该\usepackage[latin2]{inputenc}从该类中删除它或用其他东西替换它...

编辑

重要的提示:我并不是真的想要一些快速的肮脏修复(我可以自己想出一些)。我试图让该类也适用于 Lyx,供其他用户使用(为其编写 Lyx 布局文件等)。所以我想以正确的方式做到这一点。如果问题是 LaTeX 类的设计不佳,我应该修复它。如果是 Lyx 设计不佳,我应该尝试提交错误报告或自己修复它。

答案1

在 LyX 中,你必须转到“文档”->“语言”,然后将“编码”从“所选语言的默认设置”更改为“其他:”,并使用参数“默认语言设置(不带inputenc)”

很抱歉,由于我使用的是德语用户界面,所以选项名称并不 100% 与您在那里看到的一致,但我想您会找到正确的选项。

答案2

这本质上是所讨论课程的一个缺陷:课程实际上不应该加载,inputenc因为这取决于用户及其文件的设置方式。我强烈建议不要使用以这种方式设置的课程,无论是使用 Lyx 还是直接使用 LaTeX。

相关内容