如何将Stata指向两个不同命令的相同帮助文件?

时间:2015-05-05 23:37:18

标签: stata

Stata的swilk命令执行Shapiro-Wilk非正常性测试。同样地,Stata的sfrancia执行Shapiro-Francia测试非正态性。但是,两个命令共享相同的帮助文件swilk.sthlp

Stata如何知道单个帮助文件用于多个命令?例如,Stata如何知道swilk.sthlp保持对命令help sfrancia的正确响应}?或者ttest.sthlphelp ttesti(不只是help ttest)保留了正确的回复?

我正在编写一个新的软件包,同一个帮助文件应该同样用于多个命令,并且希望确保我做对了。

1 个答案:

答案 0 :(得分:2)

StataCorp自己的路标指向其他地方的求助电话,最近的版本通常由.maint文件完成。因此

viewsource shelp_alias.maint 

包含从s开始的名称的各种指针列表,包括允许的缩写,help sfrancia可以看到help swilk。对于s替换任何其他相关的首字母。

要查看此类文件潜伏在您系统上的位置,请使用which

which shelp_alias.maint 

历史系统和用户程序员易于模拟的系统是一个名为foo.sthlp且包含单行的帮助文件

.h bar 

相当于直接help bar。所以,如果你输入

. help foo 

就像你知道输入

一样
 . help bar 

该系统早于SMCL的引入,并且不使用SMCL指令。

总结:foo.sthlp等文件只指向bar.sthlp,并不是完整的帮助文件。

有关.maint文件的更多信息:基本上,用户程序员应该忽略它们,就其自身的软件包而言。否则,每个用户都将致力于编辑他们使用的每个系统上的.maint文件,甚至可能不允许在本地使用,并且每次升级Stata时都会这样做。此外,StataCorp可能会在未来的版本中使用一些不同的系统。相比之下,.h机制已经使用了很长时间并且被广泛宣传,以至于可以安全地打赌它将无限期地工作。

注意:Stata帮助文件最初标有扩展名.hlp。当Stata于1985年启动时,与文件扩展名不能超过3个字符的现有DOS规则的兼容性至关重要。后来Windows为其帮助文件采用了完全相同的扩展名,并且给出了这样的强制不可抗力 Stata在版本10中引入了.sthlp个文件.Stata自然仍然可以读取文本.hlp文件文件在适当的目录或文件夹中,即沿着定义的adopath