Re: The beauty of LATEX

Joel de Guzman <[email protected]>
Newsgroups gmane.comp.lib.boost.documentation
Message-ID <[email protected]>
On 10/20/2011 4:34 AM, Daniel James wrote:
> On Tuesday, 18 October 2011, Joel de Guzman wrote:
> 
>     On 10/19/2011 2:21 AM, Daniel James wrote:
> 
>     >
>     > It isn't just about what you (or Joel) wants.
> 
>     You are the defacto maintainer of Quickbook now. What do you want?
> 
> 
> I don't feel a strong ownership of quickbook, I'm currently driving development but don't
> feel like I will automatically get new features through or have a veto on anything (part
> of the reason for putting a version switch on everything is so that language changes can
> be easily backed out if rejected).

And I am very happy and I really appreciate what you have done!

> My main aim with quickbook has been to get what currently exists to work as well as
> possible. I've been very conservative about adding new features but a little radical with
> the implementation (I do worry that one day someone is going to look at it and have a
> heart attack). My recent efforts have been to improve the way quickbook structures the
> documentation - e.g. better id generation, smarter placement of anchors, supporting
> docinfo in included files. Once that's done (soon I hope, subject to approval), I want to
> improve the grammar, for example change it so that square brackets are always grammatical,
> unless they are escaped or in a code block (which should fix a few of quickbook's quirks)
> and try to improve nesting of blocks (e.g. paragraphs in lists and lists in tables).

Those are nice pragmatic moves. I do hope that we still share the same
objectives and plans as we did when I was developing Qbk. Here was the
original plan of crucial significance:

1) Better library support + inclusion of a standard qbk library
2) Move as much code from C++ into the standard qbk
3) As a corollary of 1 and 2, we need to make sure that the
   template mechanism serves its purpose well for replacing
   hand-coded markups in C++ into Qbk.

As I suggested earlier, 1 can be done by adding a --path and --include
command line arguments (maybe even --import). 2 Will vastly simplify
the code and will make it easier for others to hack into.

> I'm pretty wary about embedding a programming language in a documentation format. My
> experience with such things has not been great. If you look at XSL, it's great for some
> XML transformations, but when you try to do something more complicated (you don't have to
> look far) it becomes a real pain, I could see quickbook templates being similar. 

XSL is a sorry mess. A programming language in XML is nonesense!

> I would
> be more interested in embedding an existing language by some means, but that isn't
> something I'm planning on doing (I think it would really need to have a full AST
> representation first, although maybe just section by section).

If you want the simplest usable embedded programming language, that would
be scheme, or a dialect. We already have embedded implementations of it in
Spirit examples. Yet, by design, it just so happens that quickbook templates
are basically influenced by scheme (just replace [] with ()).

The Qbk template mechanism *is not* a documentation format. It is a
minimal text oriented DSL by design. More power can be obtained from
it by giving it some more juice. I think I showed you an idea sometime
ago on how to make the Qbk template mechanism a complete text generation
engine. Here is the current incarnation of it. I call it Gaea --heavily
influenced by Qbk templates *and* scheme:

  http://pastebin.com/1EKHukY4

Regards,
-- 
Joel de Guzman
http://www.boostpro.com
http://boost-spirit.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.