2018-04-11 00:48:45 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# This is a compilation handler, so to speak, which I have vim run.
|
|
|
|
#
|
|
|
|
# It compiles a document to pdf
|
|
|
|
|
2018-07-24 17:34:38 +00:00
|
|
|
file=$(readlink -f "$1")
|
2018-04-11 00:48:45 +00:00
|
|
|
ext="${file##*.}"
|
|
|
|
base="${file%.*}"
|
|
|
|
|
2018-07-24 17:34:38 +00:00
|
|
|
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 ;}
|
2018-04-11 00:48:45 +00:00
|
|
|
|
|
|
|
case "$ext" in
|
|
|
|
rmd) echo "require(rmarkdown); render('$file')" | R --vanilla ;;
|
2018-07-24 17:34:38 +00:00
|
|
|
tex) textype "$file" ;;
|
2018-04-11 00:48:45 +00:00
|
|
|
md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
|
|
|
|
esac
|