具有交叉引用的最小noweb示例

时间:2009-10-27 02:23:22

标签: literate-programming noweb

我正在努力寻找一个好的文字编程工具。我们只是说这不是一个简单的决定。 (通用的太通用了,具体的太具体了:)

除此之外,我已经noweb启动并运行但是我无法像我期望的那样获得输出。 noweb wikipedia page有一个使用

正确构建的最小示例
noweave -index -latex hello.noweb > hello.tex && pdflatex hello && pdflatex hello

但每个块的末尾没有交叉引用。例如,CWEB具有诸如“此代码在第12节中使用”之类的指针。和“另见第5和第7节”。 noweb中是否缺少此功能,还是我在编辑中错过了一个步骤?

2 个答案:

答案 0 :(得分:4)

  

这个功能是不是从noweb中丢失了,还是我在编辑中错过了一个步骤?

两者都没有:noweb使用比您以前从CWEB看到的更微妙的标记。在维基百科示例的情况下,第3个块(1c)出现在块1a和1b中。此信息被压缩为单个“1”,出现在定义右侧的括号中。

要在CWEB样式中使用

获取长交叉引用
\noweboptions{longxref}

答案 1 :(得分:1)

对于该WP示例,获取Hello World部分中两个块中每个块的许可部分的引用。除非你告诉乳胶,否则你不会在最后获得任何块或标识符列表。

要获取Web块的列表,请尝试将\nowebchunks放在文档的末尾附近(即,在最后一个块出现之后),并将-x开关添加到noweb调用。

要获取标识符列表,请尝试将\nowebindex放在类似位置。