我在学习source2e.pdf
时遇到了诸如<*dircheck>
、<*initex>
、<*2ekernel>
、之类的东西<latexrelease>
。我认为它们可能是某种标签,用于标记 LaTeX 源的不同部分 -*
可能表示某个部分的开始,也/
可能表示某个部分的结束。但是当我继续阅读时,我发现它们对我来说没有多大意义。而且我没有找到任何可以解释这些标签用法的内容source2e.pdf
。文档只是.dtx
在内容之后直接转到各个文件,而没有对文档中使用的符号进行任何解释。
(我不知道什么标签适合这个问题,所以我只是随机选择了一个标签。其他人可能会选择更合适的标签。)
答案1
正如 moewe 所评论的,它们是 docstrip 守卫,您将在该目录中看到.ins
控制在构建每个文件时使用哪些守卫的文件。
您提到的这些中:
dircheck
代码很早就用于乳胶格式解包检查目录语法,现在所有系统/
甚至 Windows 都使用,但最初我们必须支持 VMS、根本没有目录结构的平面大型机文件系统、没有扩展的文件系统,因此article.sty
被映射到article
子目录中sty
等等......
initex
initex
标记仅用于格式创建时使用的代码块
2ekernel
是大部分乳胶来源,被提取到latex.ltx
latexrelese
标记不会进入latex.ltx
但会被提取出来的旧版本代码latexrelease.sty
,以允许回滚到以前的版本。
这些保护的详细语法在 LaTeX Companion 书中描述,或者在docstrip
文档(texdoc docstrip
在 texlive 中)中更直接地描述。