#!/bin/bash # This is a compilation handler, so to speak, which I have vim run. # # It compiles a document to pdf file=$(readlink -f "$1") ext="${file##*.}" base="${file%.*}" textype() { [ grep -i addbibresource "$file" ] && bib=1 if sed 5q "$file" | grep -i -q 'xelatex' > /dev/null 2>&1; then [ -z ${bib+x} ] || (xelatex "$base" && break) xelatex "$base" && biber "$base" && xelatex "$base" && xelatex "$base" else [ -z ${bib+x} ] || (pdflatex "$base" && break) pdflatex "$base" && biber "$base" && pdflatex "$base" && pdflatex "$base" fi ;} case "$ext" in rmd) echo "require(rmarkdown); render('$file')" | R --vanilla ;; tex) textype "$file" ;; md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;; esac