Thursday, July 18, 2019

My LaTeX workflow - from Google Docs to PDF

As much as I enjoy writing my academic work in LaTeX, it had a steep learning curve and took a significant time to set up all my tools to work conveniently with it.

Cloud

One of my requirements was to be able to edit my documents anywhere and potentially collaborate with others on them. While Overleaf is an excellent tool, it's not a great platform to write long texts in, and the collaboration features are somewhat limited compared to Google Doc.
Google Doc was missing LaTeX syntax highlights, so I created a plugin to do exactly that.

Tables

Everyone who's using LaTeX agrees that editing tables is as painful as it can get. I like storing my data in Google Sheets, so I created a plugin that converts from Google Sheets to LaTex.

Reference management

I chose Zotero with Better Bibtex for managing my references, which is a great toolset, but I ran into the problem several times: author names across papers were slightly misspelled, and it caused rendering artefacts when creating the references section in my document. To fix this, I created a plugin that detects duplicate authors in Zotero and highlights the ones that are potentially the same with slightly different spelling, so I can manually fix them.

Creating the PDF locally

Finally, I needed to download from Google Docs and generate the final PDF locally - copy-pasting was inconvenient, so I created a tool that can download a Google Doc (with all changes accepted) locally, so I can render the final PDF.

Overall workflow

It might be a bit hard to follow it in text, so here is my full workflow:

G cluster_cloud Cloud cluster_gd Google Doc cluster_gs Google Sheet cluster_localinstall Local installation cluster_zotero Zotero gd Google Docs gdownload gdocs-download gd->gdownload gs Google Sheet gs->gd lm latexmk pdf .pdf output lm->pdf tex .tex tex->lm bib .bib bib->lm zot Zotero app zot->bib zbb Better bibtex (plugin) zbb->zot zdd detect-duplicate-authors (plugin) zdd->zot gdownload->tex gdhighlight gdocs-latex-syntax-highlight (plugin) gdhighlight->gd gslatex google-sheets-to-latex (plugin) gslatex->gs

No comments:

Post a Comment