====== TODO ====== * docidx / doctoc package documentation - sync with code * doctools package documentation ditto * Add a tk-based editor application which loads and generates the format (and can invoke the processor to generate the other formats). * Rewrite formatters to use generator packages for their output format. Example: HTML => tcllib/html package to generate the tags. Less quoting issues. Has escape handlers. ======= Note that running multiple formatters in parallel is possible, but requires that the whole chain of expander, checker and engine are replicated per format. The reason for this is that engine generates some output, but always passes it up to its caller, i.e the expander, for final composition. This is especially true for nested macro invocations where the intermediate results generated by the engine are passed through the expander to be sent down again into the engine. For multiple engines we have to combine and then separate the results for the various formats. The problem is to distinguish between data coming from the engine and text coming from the outside, for the latter has to be replicated instead of separated. This is possible, but I do not believe that it is worth the additional complexity of the implemementation.