LyX 中模块的多个参数 - 在 LyX 中使用多个选项导入 algorithm2e

LyX 中模块的多个参数 - 在 LyX 中使用多个选项导入 algorithm2e

我想algorithm2e在 LyX(版本 2.2.3)中使用该包。有一个 LyX 模块可以简化此任务。但是,我想调整导入包时使用的参数。

LyX 生成的 LaTeX 代码如下

\usepackage{algorithm2e}

我想要的是

\usepackage[lined, algonl, boxed]{algorithm2e}

正如指出的那样这个帖子Document > Settings > Local Layout,可以通过进入并输入包选项来更改模块导入的包的加载选项,例如

PackageOptions algorithm2e lined

这添加了行

\PassOptionsToPackage{lined}{algorithm2e}

在导入之前添加到源代码中algorithm2e。因此,我尝试传递多个参数:

PackageOptions algorithm2e lined
PackageOptions algorithm2e algonl
PackageOptions algorithm2e boxed

PackageOptions然而,代码中只考虑了最后一行,内容如下

\PassOptionsToPackage{boxed}{algorithm2e}
\usepackage{algorithm2e}

这可能是想要的行为(也可能不是——我不知道是否PassOptionsToPackage可以多次应用)。然而,问题仍然存在:如何添加多个包选项?

我尝试algorithm2e在 LyX 的文档设置中导入“Latex-Preamble”。但是,这会导致与内部 LyX 解决方案发生冲突。我收到一条错误消息,指出Command \algorithm already defined

编写一个调整导入的新 LyX 模块是一个选项吗?我该怎么做?LyX 模块文档不够详细,看了algorithm2e模块的代码,没看懂,也没找到可以调整的行。

答案1

加载algorithm2e从文档 > 设置... > 模块中找到模块,然后将以下内容添加到您的本地布局中:

Format 60
PackageOptions algorithm2e "lined, algonl, boxed"

algorithm2e这确保加载时传递所有 3 个选项。

答案2

沃纳的答案是正确的。

但是,您也可以选择执行以下操作。

不要添加预定义模块。

前往Document > Settings > LaTeX Preamble并直接添加:

\usepackage[lined, algonl, boxed]{algorithm2e}

该解决方案的缺点是,之后您必须直接通过 ERT 代码插入您的算法:

在此处输入图片描述

因为没有加载其模块,LyX 不知道您正在使用该包。

相关内容