将 \usepackage 分组到单个实体中

将 \usepackage 分组到单个实体中

我想将多个调用分组到\usepackage一个样式文件中。用户可以选择一个选项,自动将包添加到他们的文档中。

将以下内容归入单个名称下

mathabx MnSymbol fdsymbol boisik stix mathdesign

将这些归入一个名称下

stmaryrd wasysym turnstile trsym trfsigns cmll colonequals fourier 

答案1

我将重点回答问题的一般形式,即如何声明一个可以加载多个包的选项。

可能还有其他方法,但我可能会让选项设置布尔变量的值,然后带条件使用该变量,并且仅当变量设置为 true 时才加载包。

这将给你一个粗略的想法:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mypackage}[2022/10/03 an example package]

% declare a boolean for "foo", default off
\newif\iffoo
\foofalse
% declare a boolean for "bar", default off
\newif\ifbar
\barfalse

% the options set the booleans to true
\DeclareOption{foo}{\footrue}
\DeclareOption{bar}{\bartrue}

% process the options before checking if the booleans are true
\ProcessOptions

% load several packages if foo is chosen
\iffoo
    \RequirePackage{package1}
    \RequirePackage{package2}
    \RequirePackage{package3}
    \RequirePackage{package4}
\fi

% load several packages if bar is chosen
\ifbar
    \RequirePackage{package5}
    \RequirePackage{package6}
    \RequirePackage{package7}
    \RequirePackage{package8}
\fi

在文档中与\usepackage[foo]{mypackage}等一起使用。

这不会像您指定的特定软件包那样工作,因为它们相互冲突,如评论中所述。我怀疑是否有办法一次使用所有这些软件包,而且我不确定您为什么要这样做。不过,这是另一个问题。

相关内容