我是这个论坛的新手,也是最近才开始使用 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
实用程序允许这样做。这样,文件还可以包含代码文档,这些文档在发布的文件中被剥离,以便使其加载速度更快。