何时使用“.sty”扩展名以及何时使用“.def”

何时使用“.sty”扩展名以及何时使用“.def”

我是这个论坛的新手,也是最近才开始使用 LaTeX 的用户。我声明,在发帖之前,我搜索了整个网络,但未能解决疑问。

我正在编写自己的类(myclass.cls),其中一部分实现了一个小的列表解析器。由于我需要保持代码井然有序,我想将代码的相关部分放在一个单独的文件中,然后将其包含在中myclass.cls。代码提供了一组newcommands用于处理列表的,它与文档样式无关。

我的疑问只是关于该文件的扩展名:.sty.def还是其他?此外,是否有经验法则可以选择更合适的扩展名(我的意思是在和之间.sty.def

答案1

.sty扩展用于即独立于类的模块,可以使用 加载\usepackage[<options>]{<package name>}。它不应该用于组织类代码。

扩展.def有时用于从包中加载附加定义,例如通过包选项选择语言、字体或编码特定内容。

如果您只是想将代码组织到多个彼此不独立的文件中,那么我建议您使用 ,.def而绝对不是.sty。您.tex也可以使用。这看起来有点像文档,但只要这些文件只位于包/类目录中就可以了。此外,如果您真的想要,您甚至可以使用自己的扩展。(La)TeX 不关心这一点。

您可以使用\input{<filename>}在类文件中读取这些文件。如果使用,.tex则无需提及扩展名,因为它是默认的。


或者,你可以将代码组织到几个文件(使用任何扩展名)中,然后从这些文件构建单个类文件。docstrip实用程序允许这样做。这样,文件还可以包含代码文档,这些文档在发布的文件中被剥离,以便使其加载速度更快。

相关内容