我正在为我的报告编写模板。我为我的文档样式创建了一个 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
定义某些内容,或者类总是使用链接或图像,则需要expl3
或hyperref
或graphicx
包含在类中。
另一方面,如果您有一些更独立的功能,您个人使用,但其他使用该类的人可能不需要,那么请将它们全部放在一个包中。例如,如果您更喜欢 stix 数学字体,但该类与 stix 或计算机现代数学同样适用,那么将其\RequirePackage{stix2}
从类中移除并将其放入您的包中可能会更简单。当然,另一种方法是将字体选择作为类的一个选项,但这需要做更多的工作,最多是为了获得美观效果。