2009-10-27 121 views
5

我試圖找到一個很好的識字編程工具。我們只是說這不是一個容易的決定。 (通用的過於籠統,具體的過於具體))最小noweb示例與交叉引用

其中,我得到noweb已啓用並運行,但我無法獲得像我期望的輸出。該nowebwikipedia page具有與

noweave -index -latex hello.noweb > hello.tex && pdflatex hello && pdflatex hello 

正確地建立了一個小例子,但也有在每個組塊的末尾沒有交叉引用。例如,CWEB有指針,如「此代碼在第12節中使用」。和「另見第5節和第7節。」 noweb這個功能簡單地丟失了,還是我錯過了編譯中的一個步驟?

回答

4

此功能從noweb簡單缺失還是缺少編譯步驟?

既不:noweb使用比您從CWEB中看到的更細微的標記。在維基百科例子的情況下,第三塊(1c)出現在塊1a和1b中。這些信息被壓縮成一個單一的'1',它出現在定義右邊的括號內。

要獲得長期交叉引用在CWEB風格使用

\noweboptions{longxref} 
+0

感謝您的幫助,諾曼。我認爲從這裏開始的工作流程是在源代碼上運行'noweave -x -n -latex hello.nw> hello.tex',然後''輸入'生成的文件到包含相關'\ noweboptions的驅動程序文檔中'和調用? – 2010-04-29 08:30:40

+0

啊哈,或者使用'-delay'選項。好吧,現在這樣做確實很好。感謝偉大的工具! – 2010-04-29 08:51:30

+0

@威爾:你有想法。您的工作流程取決於您是要「一個文檔是一個源文件」還是「一個文檔是由多個源文件組成」。 – 2010-04-29 23:44:26

1

應該對於該WP示例,從Hello World部分的兩個塊中的每個塊獲得對許可證部分的引用。除非你告訴乳膠有關它們,否則你不會在最後得到任何大塊或標識符的列表。

要獲取網頁塊的列表,請嘗試在文檔結尾附近(即在出現最後一個塊之後)放置\nowebchunks,並將-x切換添加到noweb調用中。

要獲取標識符列表,請嘗試將\nowebindex放在類似的位置。