# What tools do you use to write papers?

What tools do you use to write papers?

From the little experience that I have, theoreticians spend a large amount of time writing and refining papers, besides actually being creative. That is, communicating their work to other people. Maybe papers are not the right way to do so, but that should be left for another discussion. In any case, it seems like one wants to reduce the time spent writing up the results by using as good software tools as possible. So, this questions aims at finding out about some hidden treasures out there.

I think most of us use LaTeX and some system for organizing paper references. But there are also vim/emacs and some very nifty libraries which have been a huge time saver for me. Therefore I wanted to know about the setup you use for writing papers, and maybe also some things you've tried to learn and didn't work for you. I would be especially interested in things which might not be as well known but have turned out to speed up things, even if it is, say, some very specific software for drawing graphs or auto-completion features.

Don Knuth tells about his setup in an interview here. Search for the question "What set of tools do you use [...]".

UPDATE: Sadeq pointed me to a discussion about tools for drawing diagrams here.

• You may found this related topic useful: cstheory.stackexchange.com/q/1677/873 – M.S. Dousti Oct 17 '10 at 15:03
• if you need a CW flag; just flag the post for moderator attention after it's posted. No need to put it in the question's text. :) – Daniel Apon Oct 17 '10 at 16:04
• d'oh, didn't see that link. Thanks Daniel. – Michael Oct 17 '10 at 16:10

In addition to what others say, I like the package todonotes for LaTeX that allows to have colorful reminders of what remains to do in the text.

• ooh. nice package ! – Suresh Venkat Oct 19 '10 at 14:15

For writing:

• xemacs+auctex+reftex (can't live without it), or kile.

For managing multiple authors:

• an svn repository: (more details here)
• and what I'd really like is a lightweight 'bug-tracker' software to overlay on top, so it's easy to track TODO items in the last few days before a deadline

For managing bibs:

• I occasionally have used Mendeley and Citeulike, but I still cannot find the right workflow model to get them to work systematically. So it's still by hand.

For making talks:

• Beamer for slides, inkscape/ipe/tikz for figures (tikz is actually great for plotting (data) graphs with fonts that integrate with the text, even in papers)
• I use Mendeley to organize the papers on my computer--which I think it is GREAT for--but not for actual bibliography management when writing papers. For that I just use BiBTeX by hand. – Joshua Grochow Oct 18 '10 at 15:28
• If you are already using emacs, Org-Mode is perfect for to-do lists. – Martin Berger Aug 18 '11 at 12:56

I use:

• TeXShop (OS X pdflatex editing environment)
• Custom OS X software I wrote for managing BibTeX files
• Adobe Illustrator for most figures (with occasional figures done in other software)
• Adobe InDesign for making talk slides as pdf files
• cvs or occasionally svn, both for synching my home and work computers and for coordinating edits with co-authors
• An update: since writing this I've switched to using beamer in pdflatex for talk slides, and git instead of cvs/svn (in part because of the ease of maintaining my own git server with gitolite). The rest is still the same. – David Eppstein Mar 4 '13 at 22:08

My list (all Mac OS X):

• TextMate for editing
• pdflatex (called from textmate)
• no special bibtex management
• svn: a different repository for each collaboration or project
• omnigraffle or, more frequently these days, tikz for figures
• AquaEmacs for Coq interaction
• Slides done using beamer if there's a lot of math or Keynote if not.
• Word and Powerpoint for admin and talks with funding agencies etc.

I use many of the tools already mentioned, so I'll just mention some of the more useful ones that haven't yet been mentioned:

• Frank Drewes's graphs package for LaTeX. Great for drawing graphs (the vertices-and-edges kind, not the function kind). Simple syntax, but very customizable.

• GIT instead of SVN. I used to use SVN but have since been converted to GIT.

• On a Windows machine, I like TeXnicCenter (which is built on top of MikTeX and BibTeX). (On *nix systems I just use emacs/bibtex.)

• Even on a Windows machine, I use aspell for spell-checking, inside Cygwin (a really excellent *nix terminal/package manager emulator).

Currently I use WinEdt and TeXworks for editing (depending on which computer I'm on).

For figures, I typically use IPE. Some people I know have had success using GasTeX for drawing graphs.

For synchronizing common files across multiple computers, as well as multiple-author papers, I have recently started using Dropbox and I think it's awesome.

I use kile to edit/compile latex. It's a nice kde gui, with auto-completion and spell checking as you type. http://kile.sourceforge.net/

• Yes, I particularly like kile. – Joe Fitzsimons Aug 18 '11 at 10:25

Emacs, auctex, bibtex, ipe, okular, pdflatex (texlive), tcsh scripts (for version control), linux, and brain. Not necessarily in this order.

• I also use emacs + auctex + pdflatex but with gnome, not kde, on (Ubuntu) linux. The default pdf viewer on gnome is evince, which is great in some ways (e.g., auto-refresh), but it swallows a lot of memory when many pdf's are open, as is pretty common with me. I haven't found any good replacements. Are there any? – arnab Oct 19 '10 at 1:37
• Did you try okular? Its pretty good. – Sariel Har-Peled Oct 19 '10 at 2:14

I like Bakoma it is a really good graphical interface for latex

For creating figures I love using Asymptote. It's a graph programming language (C++-style syntax) that produces pdf's (or ps). With a few lines can generate very complex graphs, and the whole compilation process can be easily managed with a Makefile (so with a single "make" you can compile a simulator, generate the data, from the data obtain a plot and include the plot in the final pdf...).

### Editor

In Linux, I usually use Kile, but there is no nice port of Kile to other operation systems. So in Windows I use LEd (which was also very helpful in learning LaTeX when I first started).

I sometimes use TeXMaker and will hopefully switch from LEd to TeXMaker completely (LEd is not open-source and is not actively developed; TeXMaker is open-source, actively developed, and also works on other operating systems.).

There is also a fork of TeXMaker that I have not tried yet: TexMakerX.

### Bib management

JabRef

• TeXMakerX is now called "TeX Studio". – M.S. Dousti Aug 21 '11 at 12:33

All my work is done on Mac OS X using Aquamacs Emacs with AUCTeX and refTeX for LaTeX editing as well as org-mode for TODO lists, tracking things, making agendas, and simple spreadsheet stuff. Cocoaspell for spell checking (integrates nicely into all Mac applications including Aquamacs since version 22, great if you have to check more than one language). On the LaTeX side it's mostly TikZ/PGF for graphics (although I'm looking for an alternative that makes some of the things I do regularly easier). For managing documents and keeping in sync there's git (and egg or magit for using git with Emacs). BibDesk for managing papers and associated PDFs. Presentation slides either using LaTeX Beamer or Apple Keynote. Keynote is also great for presenting PDF slides after converting the free tool PDFtoKeynote. Especially useful for presenting slides you don't know too well you can customize the preview screen with next slide, timer, etc. Highly recommended. Having a WebDAV volume for quickly moving files from A to B is very useful, too, especially if only have access to either A or B at one time.

Curiously enough nobody mentioned ps-tricks I could not live without it!

With ps-tricks you create code for your own images so that they can be reused in the papers for the conferences, then for the talks, then for the extended version of the journal paper and so on. The rendering is perfect and the final quality is impeccable. There is no trouble when using ps-tricks with LaTeX but when using pdflatex you have to go through a number of workaroundds (see a previous post in the TeX area of the stackexchange under the paragraph "How to use PSTricks in pdfLaTeX?")

If you use Mac OS X (as I do) I do highly recommend a commercial piece of software: Papers

While it does not allow you to share the documents as Mendeley (already cited) it is wonderful to tag all your files and arrange all the pdf files in your computer. Besides, it offers a handful of services for automatically creating lists of references, searches, etc.

Finally, using SVN is a must to me as well! In addition to the suggestions made in the page pointed to by Suresh Venkat, I do highly recommend having a look at the permissions mechanisms of SVN. One of the most useful features of SVN is that it is feasible to allow different people different sorts of accesses. Since I have a unique svn server for all my papers this feature allows me to cooperate with different co-authors simultaneously just providing them access to specific points of my repository. For more details check out the public O'really manual

This is my very first post here, hope it helps!

Cheers,

• The Tikz package is similar to the ps-tricks one. It's incredibly powerful, portable and basically defines a small domain-specific language for drawing inline figures. – Beef Aug 18 '11 at 12:59
• Honestly speaking, I never heard of Tikz before so I checkef out and I will surely move to Tikz now :) Thanks for the comment – Carlos Linares López Aug 28 '11 at 15:11

My favorite set: MikTex + Eclipse/Texlipse + SumatraPDF (all in Windows) Set up instructions can be found here http://teakes.blogspot.com/2009/08/setting-up-texlipse-and-sumatra-pdf.html

This is my (biased) list of tools:

• Isabelle/jEdit for editing the source (both formal .thy and informal .tex, while .thy is the majority).

• Isabelle document preparation (which uses pdflatex at the bottom) for the formal to informal transition and typesetting.

• The same with foiltex for slides.

• Mercurial (sometimes SVN) for version management.

Note that normally all the papers, theses, books you see published by Isabelle power-users are done with the system itself.

Google Scholar has BibTeX citations for (almost all?) research papers. When you search for a paper (e.g. http://scholar.google.com/scholar?q=Entscheidungsproblem), each result has a link called "Cite" which has an option for "Import into BibTeX". (Edit: as per comments, these are of course usually not complete -- you may often need to make edits or additions.)

If you are signed into a Google account, then on the scholar homepage, you can go to "Settings" --> "Show links to import citations into BibTeX" to make this a one-click operation from the search results page.

Edit: Forgot to mention, the ACM Digital library also has this feature. Look for "Export formats" on the right side of the page. Other sites do too (see the comments) but these are the ones I use most frequently because they are quickest and most likely to have a reference.

• Google Scholar's BibTeX needs serious editing before it can be used in a paper. Honestly, you're better off typing the BibTeX record yourself. – Jeffε Mar 5 '13 at 7:26
• Google Scholar is not alone in this. Machine-generated BibTeX records are offered by e.g. DBLP, Citeseer, Wikipedia, and some journals, and they are all broken (I’d say DBLP is the closest one to being actually usable). Makes me wonder what’s the reason behind this, I would think it cannot be so hard to do it properly. – Emil Jeřábek supports Monica Mar 5 '13 at 13:47
• @JɛﬀE: I find it much faster to copy and paste the record and edit/add information as needed than to start from scratch. Your experience may be different. – usul Mar 5 '13 at 15:41
• Scholar used to be terrible, then it went away, and in its new incarnation it does seem more useful. Depending on workflow, it might be faster to use it as a basis. – András Salamon Mar 5 '13 at 16:13