Writing a Ph.D. thesis with Org Mode
github.com
github.com
While there is a learning curve, the peace of mind of having a single tool that enables me to use any tool I need to use was such a relief after years of other painful writing and publishing workflows.
If you are starting a PhD today and are going to do anything at all with code, I seriously suggest you learn org-mode. By the time you finish, not only will you have a PhD, but even if you don't you will have the power of one of the most amazing authoring tools under your command! (I would say, "Learn org-mode, simplify your life!" but emacs tends to lead to other complications).
I wrote all the text in LaTeX using AucTeX package, but had a makefile and a commit hook (to CVS, later SVN, this was pre-git). All figures & tables etc. were generated from other make targets, which chained back to a mix of (usually) lisp code, matlab, or maple/mathematica. Oh, and figures generated by things like MetaPost. Structuring things at the chapter level .tex files made it all pretty manageable.
I had figure dependencies on both input data and executable targets/scripts, so changing either would trigger a recompute, with the exception of some long running stuff - of course had global rebuild rules. I wrote many papers this way too, it was nice to know everything was synchronized properly.
I did use org-mode to organize my work though.
These days it would be on github and I probably wouldn't have lost it in a move.
I've been working with psychologists and I've taught them the basics of a latex document, but I see how extracting the sections they have written from a google doc could be useful.
As an overview I use the heading level in the google doc as the corresponding * level (e.g. h1 -> , h2 -> *, etc.). Nearly every construct in the google doc has a 1:1 mapping with some org mode convention (there are some things that I still write in org-syntax in the google doc, such as figure captions and stuff like that.
If I need to export to markdown from org I usually try pandoc (I very rarely do this though). Importing from markdown I use pandoc as well, newer versions do a pretty good job and only need a few tweaks from time to time. Latex export is straight forward using org-mode's built in exporter [1] via the export dispatcher. For full pdf export I use lualatex via texlive with all the pain that that entails.
0. https://github.com/tgbugs/gdocorgpy 1. https://orgmode.org/manual/LaTeX-export.html 2. https://orgmode.org/manual/The-Export-Dispatcher.html#The-Ex...
xpdf has (... had?? apparently it got removed in the 4.0 series to get a release out the door) a "remote" option where you can send commands to a running xpdf instance, so I would have the above makefile notify the running xpdf to re-read the file.
Put $EDITOR on one side and xpdf on the other, and you've got a near-realtime-updated view of what you're working on, just save the file and see the rebuilt pdf. It usually took around a second or two depending on the complexity of what I was working on.
I didn't use emacs at the time, but if I had, I would try to integrate all of the above with flymake-mode to automatically build without me needing to save the file. (there are probably problems with this because if it builds while you're in the middle of typing a latex command, the latex process will fail to build)
I did my thesis entirely in LaTeX, so I have some experience in the theme, and it was a rollercoaster. There is always some really special table, graph, arrangement, extra space needs, that you can do only programming with the real stuff. Doing the same with org mode would have been stuff of nightmares (even if org tex has some nice qualities that LaTex does not have, like fast shrinkable text).
I missed only a thing. Being able to do in situ calculus in LaTeX (filling columns and totals in tables excel style), but is not really the right tool for that so you can't blame TeX for that. The team of R+Latex filled the gape nicely.
Apart of this, TeX environment has planned and build yet anything that you could dream when you write a PHD thesis. From basic, to really esotheric. Can be difficult sometimes, but is awesome.
By the way, I use .org files a lot also. Is handy for small and simple documents.
Lyx is great for shorter things. I use it for presentations, where being able to see the images, colors, etc really helps.
For longer stuff, with a lot of text, a nice editor has its advantages. And you can split of chapters in extra files easily and all that.
Also, Mathpix is neat - especially if you're citing results and need to include some equations from those papers.
As an Emacs lover, I soon found Org, and it was (and remains) the perfect tool, for working in plain text — which will never be obsolete, and works easily with git or version control. Then and now, nothing could match Org speed and flexibility: structural editing (creating nodes, moving nodes, promote/out-dent a node, demote/in-dent a node) was and is fundamental to Org (unlike Markdown etc), and it's ridiculously easy to reorganize thinking and writing as you go. You can export to LaTeX (or HTML) and customize formatting as needed, while also including code blocks from multiple languages. Integration with BibTeX was tight, and made handling hundreds of references easy.
Where other writing tools for complex documents previously made me cringe and cuss, Org makes writing a pure joy, freeing the mind to work entirely on content and its structure.
Some advantages: It meant your work was demonstrably publishable, you got 3 pubs out of it. Disadvantages: You were basically a hostage until your advisor agreed to let you publish 3 papers. It probably tended to flood the literature with papers of lesser quality.