Edit: phone autocomplete typo
```
SRC :=$(wildcard .tex .bib)
Paper.pdf: $(SRC)
pdflatex Paper
bibtex Paper.aux
pdflatex Paper
pdflatex Paper
short: $(SRC)
pdflatex Paper
clean:
rm -f .glo .log .dvi .gls .toc .aux .ist .out .glg .pdf .bbl .blg .lof .brf *.sta
.PHONY: clean
```
I hate that you have to run things multiple times to get references right. Really it should just be `pdflatex Paper` and you should be done.
Every once in awhile I just get references that don't want to stick. Same with images. [ht!] and floatbarriers only go so far. As much as tikz is a pain (and beautiful), I'd definitely invest more time into making image placement and references easier for the average user.
EDIT: code has a lot of wildcards before every extension but I'm not sure how to escape those on HN
I don't use things like bibtext so I don't know how it handles that, but latexmk works perfectly for normal use cases, and ensures that you never have to run it more times than you need to.
Edit: Someone beat me to it by suggesting VSCode as an IDE.