On Oct 27, 2008, at 10:36 PM, Adam Murdoch wrote:

Hi,

I don't like latex. At all. I tried to like it, I really did. I just can't do it.

So, I'd like to suggest we move our documentation to something else.

I've been having a play with docbook, and I quite like it. Here's what I think are it's advantages over latex:

- Tool support

Because docbook is an xml based markup language, I can point intellij at the (well documented) schema and then get all kinds of goodness, such as code completion, error checking, syntax highlighting, refactors, etc. For example, Intellij understands the code includes, so I can jump back and forth between the doc files and the samples.

I'm using Textmate for editing LaTeX, which is OK. But I see the advantages you are pointing out.

- 100% Java toolchain

There are a bunch of tools for converting docbook to other formats. The one I've been playing with is 100% Java.

To convert docbook to (x)html, you run the source documents through xalan with some stylesheets provided by the docbook project. To convert docbook to pdf, you do the above (with a different stylesheet) to produce XML-FO output, then run that through apache FOP.

Because these tools are 100% java, and relatively small (certainly compared to the 600meg texlive distro needed for the mac), they could be checked in to subversion. This means that there would be no setup effort for a developer to build (and contribute to) the documentation: just checkout and gradle userguide.

This would be a big plus.

Setting up the latex tools is complex and confusing and fragile.

Having the tools in svn would also mean that the CI builds could generate the documentation (and test the generation of the documentation on multiple platforms).

Another big plus.

Having docbook integration might also be an interesting option for report/website generation too.

I don't feel pain with the current way we generate the website. But if it grows more complex things might change.


- Familiar technologies

I think xml + xslt are technologies more familiar to java developers and the pool of potential Gradle contributors, than latex is. This lowers the barrier for contributing to the documentation.

- Better documented

Latex has heaps of documentation, and most of it is not very detailed. Docbook has some fine and detailed documentation. There's the definitive guide:

http://docbook.org/tdg/en/html/docbook.html

and the user guide for the stylesheets:

http://www.sagehill.net/docbookxsl/index.html

- Better looking output

The pdf that latex produces looks dated (and not in a funky retro kind of way, just kind of tired and old). I think the docbook generated output looks better.

One unique selling point of LaTeX is that it is a true type setting system. It calculates the position for every letter it writes, based on algorithms containing many of the rules of the typesetting craft. You can publish a book with LaTeX. I doubt that the apache FO can compete here. This is the reason why most of the modern mark up languages have a transform to LaTeX code. But there is a docbook to latex converter (as well as latex to docbook converter).


- More options for customisation

Because docbook is an xml based markup, we have more options for transformation and customisation. The docbook stylesheets have (apparently) been designed to be easily extended to change the generated markup. The HTML markup that they generate is semantically cleaner than that produced by tex4ht, and so is easier to style.

More importantly, the documentation describes how to do the customisations, which cannot be said for the atrocious tex4ht documentation.

If it weren't for you, we would still have the crappy html user's guide, because it was not obvious to me how to configure tex4ht. So I see your point ;)


Thoughts?

I'm not wedded to LaTeX. For me it was an obvious choice as I knew it and it did the job (except easy html transformation). But your points are very valid.

The question is which alternative to choose. I'm not an expert here at all. One thing I have come across lately is, that the Python guys have switched from LaTeX recently to Sphinx (they still use a LaTeX transform to produce the PDF). See: http://sphinx.pocoo.org/. But is has the disadvantage of not having a Java tool chain (unless it works with Jython).

 - Hans

--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to