DTX 源中的 ^^A 是什么?

DTX 源中的 ^^A 是什么?

充实后(用我自己的项目)约瑟夫·赖特的 可爱的模特,我注意到^^A在某些行的末尾使用了显式控制字符。它的用法似乎类似于%忽略尾随空格,但我不知道为什么^^A要使用它(如果这确实是它的用途)或者为什么%不管用。

答案1

如果^具有其通常的上标含义,则为^^A非打印字符控制 A(即 U+0001)的内置原始 TeX 语法小于 64。这A只是 Frank 选择的任意字符,因为它不太可能在其他地方使用。在这种情况下,重要的是doc.sty

\catcode`\^^A=14
\AtBeginDocument{\catcode`\^^A=14\relax}

Catcode 14 是注释(的通常 catcode %),这允许您将注释放在dtx文件的文档部分,其中%设置为 catcode 9,以便 TeX 忽略它并且根本不会生成标记。

答案2

.dtx文件中,该序列取代了引入注释的^^A标准。%

.dtx文件通常会被处理doc,并且docstrip不会考虑%评论。

事实上,当你在这样的结构化.dtx文件上运行 latex (或 pdflatex)时,它实际上会被评估两次。第一次,只评估一小段驱动程序代码。第二次,.dtx评估文件中的注释,就好像它们之前没有注释一样%

我建议你读一下这个非常有趣的dtx 教程了解更多信息。

此外,别忘了查看原始文档ltxdocdocdocstrip

相关内容