2009-10-27 11 views
5

私は良い文章のプログラミングツールを見つけようとしています。簡単な決定ではないと言ってみましょう。 (一般的なものはあまりにも一般的であり、特定のものはあまりにも具体的です:)最小参照番号の例クロスリファレンスの例

とりわけ、私はnowebを稼働していますが、期待通りに出力を得ることができません。 nowebwikipedia page

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

で正しくビルド最小の例を有するが、各チャンクの末尾に相互参照が存在しません。たとえば、CWEBには、「このコードはセクション12で使用されています。 「セクション5とセクション7も参照してください。この機能は単にnowebから抜けていますか、コンパイルのステップがありませんか?

答えて

4

この機能はnowebから単に欠落していますか、またはコンパイルのステップがありませんか?

nowebは、あなたがCWEBから見たよりもはるかに微妙なマーカーを使用していません。 Wikipediaの例の場合、3番目のチャンク(1c)はチャンク1aと1bに現れます。この情報は1つの「1」に凝縮され、定義の右側の括弧内に表示されます。

CWEBスタイルの使用に役立つ、ノーマンのため

\noweboptions{longxref} 
+0

おかげで長い相互参照を取得します。ここからのワークフローは、 'noweave -x -n -latex hello.nw> hello.tex'をソース上で実行し、結果ファイルを' \ noweboptions 'を含むドライバドキュメントに '\ input'することです'と呼び出し? –

+0

Aha、または '-delay'オプションを使用してください。さて、これは今、とてもうまくいっています。素晴らしいツールをありがとう! –

+0

@ウィル:あなたは考えがある。ワークフローは、「1つのドキュメントが1つのソースファイルか」、「1つのドキュメントが複数のソースファイルから構成されているか」によって異なります。 –

1

このWPの例では、Hello Worldセクションの2つのチャンクのそれぞれからのライセンスセクションへの参照を取得します。ラテックスに伝えない限り、最後にはチャンクや識別子のリストを取得しません。

Webチャンクのリストを取得するには、\nowebchunksをドキュメントの末尾(最後のチャンクが表示された後)に置き、-xをnoweb呼び出しに追加してみてください。

識別子のリストを取得するには、同様の場所に\nowebindexを入れてみてください。