在文档的某个时刻更改包的可选参数

在文档的某个时刻更改包的可选参数

是否可以将可选参数从 更改为<option 1>(通过以下方式<option 2>传递给已加载的包)<package>\usepackage[<option x>]{<package>}随意的指向文档,以便直到这点option 1适用,那一点option 2呢?

我想用一个例子来说明我的问题:

假设已加载“footmisc”包(提供脚注的布局选项等),并且我想使用 -option side(这会导致脚注在页边空白处显示为“\marginpar s”),比如说第 2 章仅有的

有没有办法实现这种“选项更改”或是否需要针对这种情况的解决方法?(在这个特定的例子中,自定义命令添加marginpars 而不是“普通脚注”)?

答案1

是否可以恢复/取消设置软件包选项以及如何执行此操作是一个具体问题。这取决于如果设置了相关选项,相关软件包的具体功能。软件包选项通常没有任何共同之处,只是它们以软件包选项的形式给出。

一个选项可能只是设置一个布尔标志......

% somewhere in mypackage.sty
\newif\ifmypackage@myoption
\DeclareOption{myoption}{\mypackage@myoptiontrue}

... 可以通过说\mypackage@myoptionfalse并可以产生预期效果来恢复。但这是否真的有预期的效果取决于包对该标志的处理方式。如果该标志仅在例如将\edef标志设置为 false 时使用,则可能根本没有效果。

选项还可能加载其他文件,例如某些配置或定义文件。如果是这种情况,则无法“卸载”文件,因此无法恢复选项。尽管人们可能能够恢复该文件中所做的一切。这取决于...

还有许多其他可能性...

不过,有些软件包提供了设置命令,允许在文档的任何位置设置其选项。但即便如此,这可能也不适用于软件包的每个选项。也许其中一些只是加载时选项……

长话短说:除非您心中有一个特定的方案和一个特定的选择,否则答案是:绝对可能。

相关内容