设置选项
这个 setoptions 扩展实现了非标准的 \setOptions
宏,允许您从TeX表达式中更改TeX包的选项或TeX输入JAX本身的选项。
- \setOptions[package]{options}
设置以下选项: package 给那些在书中给出的人 options 。这里, options 是空格分隔的选项名称的集合(将设置为
true
)或 option=value 声明,其中给定选项将获得指定值。如果值包含空格,则可以将其括在大括号中,大括号不会成为值的一部分。
例如:
\[
\setOptions{tagSide=left}
E = mc^2 \tag{1}
\]
\[
\setOptions{tagSide=right}
e^{\pi 1} + 1 = 0 \tag{2}
\]
将排版第一个表达式,其标签在左边,第二个(和后续)表达式的标签在右边。
要更改程序包设置,请使用程序包名称作为可选的括号参数:
\[
\setOptions[physics]{arrowdel=true}
\grad
\setOptions[physics]{arrowdel=false}
\]
这里的渐变符号有一个箭头,但后面的没有。
请注意,由 \setOptions
是全局的,因此将影响以下所有表达式。如果要进行本地更改,则需要将该值显式设置回其原始值。
由于更改选项设置可能会导致不良后果,因此在向用户提供站点的TeX内容的设置中可能会被滥用,因此 setoptions 软件包不是自动加载的,它不会出现在所有软件包的列表中,并且不能使用 \require{{}}
。如果要允许使用,则必须将其显式包括在包列表中。
要加载 setoptions 扩展,添加 '[tex]/setoptions'
发送到 load
属性的数组 loader
您的MathJax配置的挡路,然后添加 'setoptions'
发送到 packages
属性的数组 tex
挡路。
window.MathJax = {
loader: {load: ['[tex]/centernot']},
tex: {packages: {'[+]': ['centernot']}}
};
将Required命令与setoptions配合使用
如果 require 程序包已启用, setoptions 修改 \require
允许传递所需包的选项(并使原始 \require
可用的宏为 \Require
)。因此,新语法是:
- \require[options]{package}
哪里 options 是选项列表,其格式与 \setOptions
,以及 package
要加载的扩展名。此命令相当于:
\Require{package}\setOptions[package]{options}
这意味着加载了包,然后设置了它的选项。
例如:
\require[harrowsize=3em]{amscd}
将加载 amscd 扩展名,然后设置其 harrowsize
选项以执行以下操作 3em
。
请注意,可以为哪个文件包设置的选项与管理这些选项的规则相同 \setOptions
它本身。
setoptions选项
添加 setoptions 扩展到 packages
数组定义了一个 setoptions
中国银行业的子挡路 tex
使用以下值配置挡路:
MathJax = {
tex: {
setoptions: {
filterPackage: SetOptionsUtil.filterPackage, // filter for whether a package can be configured
filterOption: SetOptionsUtil.filterOption, // filter for whether an option can be set
filterValue: SetOptionsUtil.filterValue, // filter for the value to assign to an option
allowPackageDefault: true, // default for allowing packages when not explicitly set in allowOptions
allowOptionsDefault: true, // default for allowing option that isn't explicitly set in allowOptions
allowOptions: { // list of packages to allow/disallow, and their options to allow/disallow
//
// top-level tex items can be set, but not these ones
// (that leaves digits and the tagging options that can be set)
//
tex: {
FindTeX: false,
formatError: false,
package: false,
baseURL: false,
tags: false, // would require a new TeX input jax instance
maxBuffer: false,
maxMaxros: false,
macros: false,
environments: false
},
//
// These packages can't be configured at all
//
setoptions: false,
autoload: false,
require: false,
configmacros: false,
tagformat: false
}
}
}
};
- filterPackage: SetOptionsUtil.filterPackage
这是一个函数,调用该函数来确定包是否可以设置其选项。它被传递给TeX解析器和扩展名作为其参数,如果包允许配置其选项,则返回TRUE,否则返回FALSE。默认情况下,首先检查命名包是否存在,然后检查该包是否由其在
allowOptions
属性是true
或列表中的allowOptions
财产。该条目可以是true
,允许设置包的所有选项,或允许设置的选项列表。如果该条目显式地false
或者allowPackageDefault
选项为false
,则会发出错误。如果愿意,您可以提供自己的函数以另一种方式处理包名。
- filterOption: SetOptionsUtil.filterOption
这是一个函数,调用它来确定是否可以为给定包设置选项。它被传递给TeX解析器、包名和选项名作为其参数,如果可以为该包设置该选项,则返回TRUE,否则返回FALSE。默认情况下,检查该选项是否显式列在的给定软件包的选项列表中。
allowOptions
。如果该值显式为false,或者如果该值未列出并且allowOptionDefault
为假,则会产生错误。否则,检查包是否确实存在该选项,如果不存在,则报告错误,否则允许设置该选项。如果愿意,您可以提供自己的函数以另一种方式处理选项名称。
- filterValue: SetOptionsUtil.filterValue
这是一个函数,调用该函数可以检查为给定选项提供的值是否允许。它被传递给TeX解析器、包名、选项名和新的选项值作为其参数,并返回要用于该选项的值。默认值只是返回给它的值,但是您可以使用它来更改该值,或者在该值无效时产生错误。
- allowPackageDefault: true
属性中未显式列出的包的处理方式。
allowOptions
列表。如果true
,则允许设置未列出的软件包的选项。如果值为false
,只有列出为true
或者显式选项列表可以设置它们的选项。
- allowOptionsDefault: true
属性中未显式列出的选项的处理方式。
allowOptions
给定包的列表。如果true
,则允许设置未列出的选项,并且如果false
,则仅显式列出的选项为true
可以设置给定包的选项。
- allowOptions: {...}
这是软件包的列表,指示是否可以设置它们的选项,以及可以设置哪些选项。如果出现软件包名称并将其显式设置为
false
,则无法设置该软件包的选项。如果是的话true
和allowOptionsDefault
为真,则可以设置其任何选项。如果它是显式选项列表,则如果该选项列出为true
,则可以设置它,并且如果false
不可能。如果未列出选项,则allowOptionsDefault
用于确定是否可以设置它。如果包没有显式出现在列表中,则allowPackageDefault
用于确定是否可以设置包的选项。您可以在此列表中包括其他软件包名称及其选项。默认值设置为允许合理的安全性,而不必列出每个可以设置的选项。
setoptions命令
这个 setoptions 扩展实现以下宏: \setOptions