包/类名中的破折号是否可能产生副作用?

包/类名中的破折号是否可能产生副作用?

命名包和类的常见做法似乎是使用类似正则表达式的符号:

[a-z][a-z0-9]*

换句话说,名称通常以小写字母开头,后跟任意小写字母和数字序列。

但是,有些包(例如tikz-3dplot)和类(例如revtex4-1-的名称中包含一个。我自己也想在某个包的名称中使用破折号。这样做明智吗?除了可能因偏离命名惯例而给某些用户带来不便之外……

...在包/类名中使用破折号是否会产生潜在的副作用?

答案1

应该没问题:任何正常的 ASCII 值。主要要注意的是 babel 用于简写的标点符号,尽管这些天后大部分babel都是这样\begin{document},所以即使是这些也不会影响包名称。

还要避免使用底层kpathsea库中的特殊字符,例如,"用于分隔名称中带有空格的文件,以及可选的文件名开头|被视为要执行的 shell 命令。最好避免使用它们。

最后,避免使用空格或逗号,因为它们会严重扰乱\usepackage解析。您可以输入一个文件并将其调用array,longtable.sty到 TeX 中,但\usepackage{array,longtable}这样做不会起作用。

相关内容