Tags

, , ,

Anyone who knows me, or reads this blog will know all about my absolute disdain for Microsoft software; both in terms of operating systems (i.e. Windows) and especially their “productivity” tools like Word, Excel and Powerpoint (well, Excel, if you need a spreadsheet, is a fairly good program, but its being ruined by its ‘Officization’). If there is a God, I believe there is a special place in hell reserved for the designers and developers of Outlook especially.

In regards to authoring academic works, I’ve written on multiple occasions previously about various tools and software process for scholarly research, and especially, on not using Word in the writing process for my PhD.

I’m very pleased to report I’ve been able to eliminate almost entirely Microsoft Word from this process. I still have to send chapter drafts to my supervisor in RTF format, which can be opened in Word. My graduate school “milestone” documents (which I must complete at regular intervals to show progress) also come in Word flavour only. But from the mainline of my PhD chapters; Word is now officially gone.

To guide my research process I use a program called Papers. This is highly recommended for all scholars. To write the document drafts, I use Scrivener. Scrivener allows you to write in short sections, which it terms “Scrivenings”. These can be reduced to an index card view on the front of which you can put a short summary, and engage in some drag and drop rearranging of your argument or writing. All that process I have documented in this prior post.

What is different is that inside Scrivener I am writing in the MultiMarkdown format. This is a ‘plain text’ style mark up format that allows you to use a plain text editor, if you need to. It is an extension of John Gruber’s original Markdown language (a markup language that I am using to write this blog post in).

MultiMarkdown is pretty neat and allows you to insert markup in a document in such a way that keeps it pretty readable. It also allows you to export to multiple target output formats, the most common being HTML and PDF. To show you just how trivial and easy it is, here’s an example of a Latin quote and translation;

    >*Has tantas viri virtutes ingentia vitia aequabant: 
    inhumana crudelitas perfidia plus quam Punica, nihil 
    veri nihil sancti, nullus deum metus nullum ius 
    iurandum nulla religio* (21.4.9)

    >These great qualities of the man were equalled by his 
    unnatural vices: his inhuman barbarity, his treachery 
    far worse than Punic, he had nothing of truth, nothing 
    of sanctity, he lacked in fear of the gods, had no 
    lawful oaths, and no religious feeling.

(BTW It was also stonkingly trivial to put that code sample into this post.)

As you can see, a single “>” at the start of a paragraph indicates the paragraph is a quote. Text inside a pair of asterisks ( * … * ) is made italic. Two asterisks ( ** … ** ) is bold. In HTML the output of that, in the standard stylesheet of this blog would be;

Has tantas viri virtutes ingentia vitia aequabant: inhumana crudelitas perfidia plus quam Punica, nihil veri nihil sancti, nullus deum metus nullum ius iurandum nulla religio (21.4.9)

These great qualities of the man were equalled by his unnatural vices: his inhuman barbarity, his treachery far worse than Punic, he had nothing of truth, nothing of sanctity, he lacked in fear of the gods, had no lawful oaths, and no religious feeling.

From there in Scrivener, I can export this text to RTF format, for my supervisor and others who insist on broken formats, or for “production” purposes, into LaTeX format. Latex is a proper typesetting markup format that gives you fine control over all sorts of options, and allows output to PDF. The PDF looks absolutely a ton better than anything that Word and its ilk can produce. It has the advantage of being editable in a plain text editor – many common editors such as Textmate or BBEdit have Latex plugins. However the best bet I found was to install the Mac Latex package – this is absolutely free (not just as in beer) and comes with a great Tex/Latex editor called TeXShop. There are also other great Latex editors around.

Latex is often used in Mathematics and Physical Sciences because it how fantastic control over the typesetting of complex equations; something that Word fails abysmally at. It is less common in the Humanities, but not absolutely unknown. However it might seem complex and daunting to people not used to the idea of separating editing and markup from output formats or manipulating computer code in plain text editors. It is most definitely not a WYSIWYG editing system. It looks like the following;

    \begin{quote}\SingleSpace \emph{
    Has tantas viri virtutes ingentia vitia aequabant: 
    inhumana crudelitas perfidia plus quam Punica, nihil 
    veri nihil sancti, nullus deum metus nullum ius 
    iurandum nulla religio} (21.4.9)

    These great qualities of the man were equalled by his 
    unnatural vices: his inhuman barbarity, his treachery 
    far worse than Punic, he had nothing of truth, nothing 
    of sanctity, he lacked in fear of the gods, had no 
    lawful oaths, and no religious feeling.
    \end{quote}

Well actually I tell a little lie here. This is effectively what happens. What I really do, in my document preamble, is define a command called latinquote — like this;

    % quotes Latin test in italic (emph), 
    % then the reference, a blank line, 
    % and then the translation. in \SingleSpace.
    \newcommand{\latinquote}[3] {
        \begin{quote}\SingleSpace \emph{#1} #2

        #3
        \end{quote}
    }

And then in my document, I use the command as follows, supplying it with the three arguments specified as #1 #2 and #3 above;

    \latinquote{
    Has tantas viri virtutes ingentia vitia aequabant: 
    inhumana crudelitas perfidia plus quam Punica, nihil 
    veri nihil sancti, nullus deum metus nullum ius 
    iurandum nulla religio}
    {(21.4.9)}
    {These great qualities of the man were equaled by his 
    unnatural vices: his inhuman barbarity, his treachery 
    far worse than Punic, he had nothing of truth, nothing 
    of sanctity, he lacked in fear of the gods, had no 
    lawful oaths, and no religious feeling.}

But for an old code warrior like me, that’s just fine! Using custom commands like that, if I want to redefine how my Latin quotes are output, I can do it in a single place (in the command definition) and every quote now transforms itself to the defined style next time I generate the PDF. I can also edit and write my project also on my iPad, using the Logitec iPad keyboard/case thing I got. The editor I use on the iPad understands MultiMarkdown and it syncs to Scrivener via text files on Dropbox. I can also edit the Latex directly (but there is only one program on the iPad that will generate the PDF from the Latex file and I’m not sure I want to use it). Additionally, I can check in my Latex files to an SVN or GIT repository for safe keeping and versioning!

I’ve still got a few wrinkles to iron out of my system yet;

  • MultiMarkdown’s referencing system is a bit rubbish (you put the references at the end of the MultiMarkdown document, which is clunky). For the time being I am still using Scrivener’s built in footnote insertion tooling. This converts just fine (in fact, great) to Latex’s footnotes but I’d like to keep to a pure “text only” system if possible.

  • Exporting to RTF through MultiMarkdown from Scrivener doesn’t make attractive RTF files. I may in the future stick to straight Latex and use the latex2rtf converter to get RTF.

  • MultiMarkdown doesn’t produce the cleanest of Latex. I have to spend a bit of time stripping the complexity off the generated Latex. I will have to investigate how to control this process from the outset in MultiMarkdown (specifically, in the MultiMarkdown installation that Scrivener uses).

  • After it goes through the compilation to MultiMarkdown format into Latex, I have to locate all the latin quotes (for example) and re-apply the use of the \latinquote command. This can be tedious; I need to automate it.

  • I need to develop a custom Latex .sty that embodies the various layout parameters that’s expected by my Graduate School (they are pretty basic).

  • I have to work out a good path to integrating Papers, Scrivener, MultiMarkdown with the BibTex referencing system that’s commonly used in Latex.

However it’s great to be free from having to use Microsoft Word clunkiness (now if only they can kill it off at work …).