| Asciidoc] is a plain text markup tool that can produce a
wide variety of outputs.
It is also very suitable for use in a literate programming environment.
The <b>atangle</b> and <b>aweave</b> programs are literate programming tools for use with asciidoc.
What is different about using asciidoc as a literate programming base, is that the source
is a valid asciidoc document and can be formatted on it own.
<b>Atangle</b> is used to extract source code from the document.
<b>Aweave</b> adds some annotation and indexing information to the orignal
asciidoc source.
The use of <b>aweave</b> is optional but adds many index entries and hyperlinks
within the document.
Both <b>atangle</b> and <b>aweave</b> use <b>noweb</b> style chunk definitions.
The describes the format.
The only key point to remember is that source code in asciidoc is contained
between lines of four or more hyphens.
<pre>
------
A source code block.
------
</pre>
Chunk definitions must be located within source code blocks.
<pre>
------
<<search>>=
Defines the "search" chunk.
<<found>>
References the "found" chunk.
------
</pre>
The programs can be obtained from the [Aweb Downloads|downloads] page.