Experience joy-filled technical writing with LaTeX, Vim, and Git

technical writing
software development
Prepare papers and talks like you create software!

Gregory M. Kapfhammer



If you are like me, then you may enjoy writing in a notebook with a fountain pen — if you have not tried writing this way, then borrow someone’s fountain pen and try it. As much as I may like taking notes and brainstorming with a fountain pen, I spend a substantial amount of time preparing technical papers and presentations in LaTeX with the Vim text editor — a task I also find to be challenging and rewarding. Thankfully, some tools can aid your writing process!

If you write with Vim and LaTeX and you would like to improve your writing experience, then please consider using the vimtex plugin as it supports wonderful features like the completion of BibTeX references, continuous compilation with latexmk, and forward and reverse searching for either the Zathura or MuPDF PDF viewers. Are you interested in learning more about how I configured these plugins? Please study the source code of my .vimrc that is available in the GitHub repository gkapfham/dotfiles.

Yes, it is possible to use these tools to create nicely formatted and correct papers. As an example of a paper, please consider reading (McMinn, Kapfhammer, and Wright 2016) , the source code of which is also in a GitHub repository at gkapfham/ast2016-paper. An example of a presentation that my collaborators and I prepared in LaTeX is for the paper (Kinneer et al. 2015) , which is available in the GitHub repository gkapfham/seke2015-presentation. There’s something else that is really nice about making your papers and presentations in LaTeX — you can release their source code on GitHub to share with others an “instruction manual” that explains, in a step-by-step fashion, exactly how to produce a document like yours!

Get the Gist!
Status Update

Since this blog post was written, I continue to use LaTeX to prepare research articles. However, I now use Neovim instead of Vim! With that said, you can still check out the configuration files in gkapfham/dotfiles to learn more about my current setup. Finally, instead of using LaTeX to create presentations, I now normally use Neovim to create Markdown, CSS, HTML, and JavaScript files.

Return to Blog Post Listing


Kinneer, Cody, Gregory M. Kapfhammer, Chris J. Wright, and Phil McMinn. 2015. “Automatically Evaluating the Efficiency of Search-Based Test Data Generation for Relational Database Schemas.” In Proceedings of the 27th International Conference on Software Engineering and Knowledge Engineering.
McMinn, Phil, Gregory M. Kapfhammer, and Chris J. Wright. 2016. “Virtual Mutation Analysis of Relational Database Schemas.” In Proceedings of the 11th International Workshop on Automation of Software Test.