How do you people fulfill your text processing needs?

More specifically: how do you:

  • Write documents?
  • Keep notes?
  • Create presentations (slides)?

These days I mostly write in markdown, and either keep what I write somewhere online (the wiki), or I convert it to LaTeX, and do a bit of fine-tuning if need be. This is handled gracefully by either ikiwiki (which I see mostly as a tool for adding linking and structure to already existent documents, which are intended to be online) or by pandoc, which does the markdown->LaTeX conversion.

I also use the approach described above to handle long documents, which span through several files. Pandoc lets you concatenate several markdown files and outputs a single document, with a proper heading. And LaTeX has \include, \input and \subfiles to cover those cases.

If I need more control over the layout, write math, or any other advanced stuff in the document, I write it using LaTeX. Or I abuse markdown and embed HTML in the markdown code.

Most of the note-taking is done using ikiwiki, or The Vim Outliner.

Regarding slides, I also use LaTeX for that; I create them with the beamer package.

The documents written for any of these tools (markdown/ikiwiki, vim OTL, LaTeX) can be put under version control easily (Git), and since both of them are plain text, even merging different versions and collaborating is a non-issue, provided the collaborator knows a bit of version control.

What do you do, and how do you solve these problems:

  • Version control/group collaboration
  • Advanced formatting/math
  • Generation of online (HTML) and printable (PDF) outputs of the document
  • Create one document from several others (say, put together a book when having one chapter per file).

I'm waiting for your comments.