[Math] Time-saving (technology) tricks for writing papers

latexmathematical-writingsoft-question

I have over the years learned some tricks which saves a lot of time,
and I wish I had known them earlier. Some tricks are LaTeX-specific, but other tricks are more general. Let me start with a few examples:

  • Use LaTeX macros and definitions for easy reuse. This is particularly useful for when making many similar-looking figures. Another example is to make a macro that includes the $q$ when typing q-binomial coefficients. This ensures consistency.

  • In documents with many Tikz figures, compilation time can become quite brutal. However, spreading out all figures in many documents is also inconvenient. Solution: Use one standalone file, where each figure appears as a separate .pdf page. Then include the .pdf pages as figures in the main document. All figures are in one .tex-file, making it easy to reuse macros. I find this trick extremely useful, as it does not lead to duplicate code spread over several files.

  • Use bibtex and .bib files. I prefer to use doi2bib to convert doi's to a .bib entry (some light editing might be needed).

  • For collaboration, use git. Also, Dropbox or similar for backups. Keeping track of versions has saved me several times.

  • Learn Regular expressions, for search-and-replace in .tex files. This is useful for converting hard-coded syntax into macros.

  • Get electronic (local) copies of standard references, and make sure to name them in a sane manner. Then it is easy to quickly search for the correct book. These are available when the wifi is down, or while traveling.

  • Do file reorganization and cleanup regularly. Get final versions of your published papers, and store in a folder, as you'll need them for job applications. Hunting down (your own!) published papers in pay-walled journals can be surprisingly tedious!

  • Take the time to move code snippets from project-specific notebooks, and turn into software packages for easy reuse. Also, it is sometimes worth to spend time optimizing code – waiting for code to run does not seem like a big deal, but I have noticed that small improvements in my work-flow can have big impact. I am much more likely to try out a conjecture if it is easy to run the code.

Best Answer

Quiver by Varkor, provides a graphical interface to generate commutative diagrams. I find it extremely useful. Check out his blog: https://varkor.github.io/blog/2020/11/25/announcing-quiver.html

enter image description here