1[comment {-*- tcl -*- doctools manpage}]
2[manpage_begin doctoc_intro n 1.0]
3[copyright {2007 Andreas Kupries <andreas_kupries@users.sourceforge.net>}]
4[moddesc   {Documentation tools}]
5[titledesc {doctoc introduction}]
6[category  {Documentation tools}]
7[description]
8[para]
9
10[term doctoc] (short for [emph {documentation tables of contents}])
11stands for a set of related, yet different, entities which are working
12together for the easy creation and transformation of tables of
13contents for documentation. These are
14
15[list_begin enumerated]
16[enum]
17
18A tcl based language for the semantic markup of a table of
19contents. Markup is represented by Tcl commands.
20
21[enum]
22
23A package providing the ability to read and transform texts written in
24that markup language. It is important to note that the actual
25transformation of the input text is delegated to plugins.
26
27[enum]
28
29An API describing the interface between the package above and a
30plugin.
31
32[list_end]
33
34[para]
35
36Which of the more detailed documents are relevant to the reader of
37this introduction depends on their role in the documentation process.
38
39[para]
40
41[list_begin enumerated]
42[enum]
43A [term writer] of documentation has to understand the markup language
44itself. A beginner to doctoc should read the more informally written
45[term {doctoc language introduction}] first. Having digested this
46the formal [term {doctoc language syntax}] specification should
47become understandable. A writer experienced with doctoc may only
48need the [term {doctoc language command reference}] from time to
49time to refresh her memory.
50
51[para]
52
53While a document is written the [syscmd dtp] application can be used
54to validate it, and after completion it also performs the conversion
55into the chosen system of visual markup, be it *roff, HTML, plain
56text, wiki, etc. The simpler [syscmd dtplite] application makes
57internal use of doctoc when handling directories of documentation,
58automatically generating a proper table of contents for them.
59
60[enum]
61A [term processor] of documentation written in the [term doctoc]
62markup language has to know which tools are available for use.
63
64[para]
65
66The main tool is the aforementioned [syscmd dtp] application provided
67by Tcllib. The simpler [syscmd dtplite] does not expose doctoc to the
68user.
69
70At the bottom level, common to both applications, however sits the
71package [package doctoools::toc], providing the basic facilities to
72read and process files containing text in the doctoc format.
73
74[enum]
75At last, but not least, [term {plugin writers}] have to understand the
76interaction between the [package doctools::toc] package and its
77plugins, as described in the [term {doctoc plugin API reference}].
78
79[list_end]
80
81[section {RELATED FORMATS}]
82
83doctoc does not stand alone, it has two companion formats. These are
84called [term docidx] and [term doctools], and they are for the markup
85of [term {keyword indices}], and general documentation, respectively.
86
87They are described in their own sets of documents, starting at the
88[term {docidx introduction}] and the [term {doctools introduction}],
89respectively.
90
91
92[section {BUGS, IDEAS, FEEDBACK}]
93
94This document, will undoubtedly contain bugs and other problems.
95
96Please report such in the category [emph doctools] of the
97[uri {http://sourceforge.net/tracker/?group_id=12883} {Tcllib SF Trackers}].
98
99Please also report any ideas for enhancements you may have.
100
101[see_also doctoc_lang_intro]
102[see_also doctoc_lang_syntax]
103[see_also doctoc_lang_cmdref]
104[see_also doctoc_lang_faq]
105[see_also doctools::toc]
106[see_also doctoc_plugin_apiref]
107[see_also doctools_intro]
108[see_also docidx_intro]
109[keywords markup {semantic markup}]
110[keywords toc {table of contents}]
111[manpage_end]
112