kickaha: (Default)
[personal profile] kickaha
I try not to spend too much time fiddling with tools - I'm a gadget monkey, so the shinier the tool, the less actual work I get done with it. When you find a good one, or set of ones, however, you want to share. :)

I don't particularly like writing for publication - it always feels like a one-way street. What I write now is a one-shot, and next time I'm just going to have to write it again. And again. And again. It's frustrating for someone who likes reusability in general.

Enter Scrivener. I've posted about it before, but I have a new-found love for it again, now that I'm using it for technical papers. It was originally designed for writing screenplays, books, and the like, but some enterprising folks have added some kick-ass features to it. Out of the box, Scrivener exports to several formats such as RTF, Word, and HTML but there's one workflow that is priceless.

1) MultiMarkdown export. MMD is sort of an HTML for the rest of us. It lets you write things like "No, John, *this* book goes *there*!" and "You mean _Moby Dick_?" and have it be rendered as "No, John, this book goes there!" and "You mean Moby Dick?" In other words, it lets you type as you would in an email, and it interprets it nicely. It handles lists, headings, links, images, etc. A bit like wikicode on steroids.

2) MMD -> LaTeX filter. This is genius. It takes the abstracted structure from MMD and converts it to a LaTeX file. Since the markup syntax for MMD and LaTeX are damned near orthogonal, you can embed LaTeX directly in Scrivener, and it will convert through cleanly. (Most of the time. There's an attempt to handle MathML in MMD that sometimes gets in the way, but I've worked around that issue.)

3) Scrivener/BibDesk integration. BibDesk is a bibliographic maintainer for LaTeX documents. This lets you refer to entries in BibDesk directly from the Scrivener editor, and MMD knows what to do with it, *and* the LaTeX filter does the appropriate mambo to hook into BibTeX. Slick.

4) Scrivener/TextMate[1] integration. Since they're both Cocoa apps, TextMate can register as a 'text service' that Scrivener can subscribe to. This means I can pop from the writing-oriented editor of Scrivener to the code-oriented editor of TextMate, and back, whenever I want. I can write prose in Scrivener, flip over to TextMate to edit the LaTeX bits, and then back, cleanly.

5) Scrivener -> TeXShop. Using the MMD -> LaTeX export, I can send it directly to TeXShop, which as you might guess, is a LaTeX editing system. I prefer the LaTeX mode in TextMate for editing, but TeXShop makes producing PDFs from LaTeX utterly painless.

The punchline for me though, is that Scrivener is a writing workshop app, not an editor per se. It allows you to have multiple 'views' into your text, at varying levels of structure. I can have, for instance, text chunks on a particular topic that are "Full", "Concise" and "Summary". Then, when I go to produce a document, I can select which expansion I want, and it will grab just those bits and compile them into a final document. (They even call the action Compile Draft.) I can mark different sections with various labels and tags "Draft" "Needs Research", "Complete" and so on, and see their status and tags at a glance. It also has binders for saving research - text snippets, images, links, and so on, and you can place those in your documents as needed. Which, by the way, transfers through to the LaTeX. I have an almost complete separation of content and presentation.

So. A bunch of small apps, all finely tuned to their specific jobs, working together to make my life easier. Love it. Sure beats the hell out of vi.


[1] TextMate has been called "Emacs for Macs" and it's pretty dead on. It's an editor geared primarily towards source code of a couple dozen languages, but it's claim to fame is that it is insanely scriptable. I know, I know, big deal, lots of editors have scripting in them. Well, it's scriptable in any language you can find on your Mac. AppleScript, sh, bash, perl, python, ruby... doesn't matter, it can work with it. You can also mix and match at your whim, based on the job you need to get done. It's phenomenal what you can make this thing do, and I do all my coding in it. And yes, it has a LaTeX mode.

(no subject)

Date: 2008-10-09 09:40 pm (UTC)
From: [identity profile] georgmi.livejournal.com
the shinier the tool, the less actual work I get done with it

This is why I love being a tester--as long as I document my results, the more I play with the shiny, the more work I am doing.

Profile

kickaha: (Default)
kickaha

January 2020

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags