答案1
该l3docstrip
包是标准 DocStrip 包的扩展,并添加了一个非常具体的功能:@@
用模块前缀替换。对于“用户”(在本例中为包作者),使用l3docstrip
旨在与 DocStrip 的使用非常相似。因此代替
\input docstrip.tex
在演示 DTX 文件中,只需l3docstrip
使用
\input l3docstrip.tex
假设您拥有最新的安装,l3docstrip.tex
它将作为分发的一部分存在l3kernel
。
这将加载l3docstrip
,但为了让“魔法”发生,你需要包含模块前缀信息。这将读取
%<@@=module-prefix-here>
原则上,它可以出现在加载之后l3docstrip
、要提取的第一行代码之前的任何位置。按照惯例,它应该出现在源代码中代码之前,例如
% \begin{macrocode}
%<*package>
% \end{macrocode}
%
% \begin{macrocode}
%<@@=prefix-goes-here>
% \end{macrocode}
%
% Version data to start with.
% \begin{macrocode}
\ProvidesExplPackage
也许最好的指南是notes2bib
:这是一个使用语法的相对较小的包expl3
,由 LaTeX3 团队的成员维护。