对于如何选择包/类名,是否有特定的规则?

对于如何选择包/类名,是否有特定的规则?

前言

我最近开始了“自定义包编写”之路,一开始我觉得这很有趣,因为它帮助我定义了原本占用数千行前言代码的包/命令的标准调用。

主要问题

任何文件内写入的第一行代码pkgname.sty应如下:

% This is my first package.
% 
% (c) <authorname>
% LPPL LaTeX Public Project License
% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{<pkgname>}[yyyy/mm/dd Custom Package]
%

按照说明,我创建并正确插入了C:\Local TeX Files\tex\latex\custompkgs与 MiKTeX 2.9 同步的文件夹中的包。当我尝试定义包名称时出现了问题,因为我知道它可以是我想要的任何名称,因为观察其他包名称我发现了一些已定义的系统事件。

软件包名称中包含以下内容:

  • 多个大写字母
  • 正常字母但超过三个数字
  • 两个以上的单词之间用空格隔开

极其罕见。

从这些数据来看,我当然不会Super Duper Cool pkg.sty首先给我的包裹命名,因为我很有品味,而且似乎为了获得上述观察到的结果,必须应用某些规则。

从参考文献中我没有找到任何与包名称上的这种奇怪行为相关的链接;虽然我认为这些规则必须写在某处,但我找不到它们。包名称是否确实遵循特定的格式规则?

参考

答案1

软件包名称(几乎)必须是文件名,在制定 LaTeX2e 的约定时,文件名在 MSDOS(或者,如果您愿意,ISO 格式的 CD)上合法对于可移植性非常重要。也就是说,它们必须在大小写不敏感的文件系统上工作,基本名称最多为 8 个字母。我当时使用的是 sunos,调用时使用了longtable longtable9 个字母,这真是太痛苦了。这就是为什么您会看到软件包的名称为fancyhdr或 这样的压缩包multicol

如今 8 个字母的限制已不再存在,但避免混合大小写可能是一个好主意,因为避免在文件名中使用空格始终是一个好主意,尽管这可能也有效。

相关内容