summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.scripts/compiler20
1 files changed, 17 insertions, 3 deletions
diff --git a/.scripts/compiler b/.scripts/compiler
index 7a24a35..ca7455d 100755
--- a/.scripts/compiler
+++ b/.scripts/compiler
@@ -4,14 +4,28 @@
#
# It compiles a document to pdf
-file=$(basename "$1")
+file=$(readlink -f "$1")
ext="${file##*.}"
base="${file%.*}"
-echo $ext
+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) xelatex "$file" ;;
+ tex) textype "$file" ;;
md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
esac