Tools

If you are planning on spending a lot of time writing — perhaps extending over many different versions, or in collaboration with others — why not use some of the tools designed by and for software developers to do exactly that? Some of these tools are easy to use and will save a lot of time and headache; others have a steeper learning curve but pay off quickly. What follows is organized roughly by ratio of reward to difficulty, with the easy stuff first.

Zotero

Even if you have no interest in using LaTeX, Zotero is a must for managing your PDF database and bibliographic data. Zotero is open-source reference management software that saves bibliography data, PDFs, and notes for you. Rather than a dizzying array of folders crammed with documents, Zotero lets you create and destroy project folders without duplicating each paper. If you're on a research institution's VPN, Zotero will also download and organize the PDF associated with a reference with a single click in your browser — building your reference database becomes the passive result of reading papers online. The software generates bibliographies from any selected folder, compatible with most word processors.

To try it: install Zotero together with the browser plugin for your preferred browser. Find a paper you'd like to download (with your institution's VPN active, and any ad-blocker's pop-up blocking disabled for the journal's site). Click the Zotero icon that appears in your browser's toolbar to capture the bibliographic data and PDF together. If it doesn't work, make sure you're logged in to the journal's site — if you can't download the PDF the normal way, Zotero can't either. Further troubleshooting is available in the Zotero forums.

LaTeX

Writing formal symbols is by no means the only reason to use LaTeX, an extremely powerful and customizable typesetting system that separates composition from formatting. LaTeX integrates nicely with Zotero and Git: citations like \citet[p.~11]{Fine1994} render as "Fine (1994, p. 11)" along with an auto-generated bibliography entry, in whatever citation style you choose.

Getting started with LaTeX is roughly as hard as learning to barely speak a new language — expect a few days of googling before it clicks, after which more advanced practices come easily as the need arises. The general setup: install a LaTeX distribution for your operating system, then integrate it with Zotero via the Better BibTeX plugin, which auto-exports your Zotero library to a .bib file whenever it changes. Configure a citation-key format (I use [auth][year], e.g. Fine1994a) and point your editor's bibliography style at the exported file. A bibliography style file and starter template are useful starting points if you don't already have one from an advisor or journal.

Once set up, typing a document typically involves: typeset once to register a new citation key, look up the key against your .bib file, typeset again to pull in the citation data, then typeset a final time to render everything together. Clunky at first, but it becomes natural quickly. Comprehensive symbol references are available here, and a helpful general LaTeX guide is available here.

Editor

Whatever editor you start with, Sublime Text is a substantial upgrade once you're comfortable with LaTeX — it compiles everything at once and, via a package, lets you look up Zotero citations from a dropdown that appears when you type \cite{, without touching the mouse. If you already know LaTeX, there's very little learning curve to adopt it; if you're happy with an out-of-the-box editor first, that's a reasonable place to start too.

Git

Want to track your changes across two computers, backing up to an open-source repository online? Git is version control software that manages your workflow, tracks changes as you work, and backs up a complete history of your progress. You can compare any two versions ("diff" them) at any time. The install itself is the hardest part for a beginner — it involves some use of the terminal — but following a good tutorial should have you up and running in under an hour, after which it's straightforward to use. Editor plugins (e.g. GitSavvy for Sublime Text) let you run Git commands without leaving your editor or touching the terminal directly.

Pandoc

Pandoc converts between just about any document format — Markdown, LaTeX, Word, HTML, and more — and is worth knowing about even if you don't need it immediately.