我应该将 \usepackage 语句放在模板中的什么位置?

我应该将 \usepackage 语句放在模板中的什么位置?

我正在为我的报告编写模板。我为我的文档样式创建了一个 cls 文件,并创建了一个 sty 文件来存储我的命令。除此之外,我还需要在模板中导入 20 多个包(我总是需要在每个报告中使用这些包)。将这些 \usepackage 语句放在模板中的好做法是什么?我想到以下 4 个解决方案,其中任何一个被视为好做法吗?

\documentclass{myclass} % Solution 1: Put all \usepackage or \RequirePackage statements in myclass.cls
\usepackage{mypackage} % Solution 2: Put all \usepackage or \RequirePackage statements in mypackage.sty

\input{commonpackagestouse.tex} % Solution 3: Put all \usepackage statements in a tex file and input this file at the beginning of every report

% Solution 4: Copy all \usepackage statements to every report
\usepackage{favouritepackage1}
\usepackage{favouritepackage2}
\usepackage{favouritepackage3}

答案1

解决方案 1 或 2 通常是最好的,但具体选择哪一个取决于您正在做什么。

例如,任何需要实现类使用的结构的包都应包含在类中(解决方案 1)。因此,例如,如果您需要expl3定义某些内容,或者类总是使用链接或图像,则需要expl3hyperrefgraphicx包含在类中。

另一方面,如果您有一些更独立的功能,您个人使用,但其他使用该类的人可能不需要,那么请将它们全部放在一个包中。例如,如果您更喜欢 stix 数学字体,但该类与 stix 或计算机现代数学同样适用,那么将其\RequirePackage{stix2}从类中移除并将其放入您的包中可能会更简单。当然,另一种方法是将字体选择作为类的一个选项,但这需要做更多的工作,最多是为了获得美观效果。

相关内容