doc/docstrip系统中ModuleDepth是什么意思?

doc/docstrip系统中ModuleDepth是什么意思?

Module Depth系统中的计数器是什么意思doc/docstrip?我阅读了包文档,但我仍然不清楚我是否理解正确。有人能给出深度 3 的具体示例吗?我的用例是,我正在解析环境的每一行macrocode。如果它以%I 开头,则为其着色,如果它是守卫,则将其变为另一种颜色,并且不依赖于文档Module,只是想更多地了解背景。 Module显然只是一个装饰器。

答案1

doc( strip) 允许标记不同的代码块

%    \begin{macrocode}
some code
%<*foo>
code at depth 1
more code at depth 1
%<*bar>
depth 2
%</bar>
%</foo>
more code
%    \end{macrocode}

根据给定的选项,标记区域内的部分可以包括或排除在提取的文件中。

在简单的包中,主要代码可能位于外层,而标记区域中的代码是某种条件/可选代码。

在生成的文档中,该doc包使用正常直立字体\ttfamily 作为主代码,并使用默认为斜体打字机的“alt”字体作为嵌套块。

生成多个文件的更复杂的源文件可能将所有代码都放在至少一个文档条保护级别中,因此它们会全部以斜体等宽字体显示,这种字体的可读性不太好。

设置,例如

\setcounter{StandardModuleDepth}{2}

表示在默认直立字体中排版深度最多为 2 的代码块,并且仅突出显示嵌套深度比该更深的区域。

相关内容