summary refs log tree commit diff
path: root/bin/latexmk
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2021-04-22 13:24:55 +0200
committerRobert Günzler <r@gnzler.io>2021-04-26 02:09:49 +0200
commit88fc1db9a46b627f4715485351eca810fd274c8d (patch)
treec755b28285c5818ff08d300859b24a2a3c7daeab /bin/latexmk
parenta3a79725782c0ca6ef177eaa7942c0a9d2bf209c (diff)
Add bin/latexmk, tectonic + entr tool to build latex files
Diffstat (limited to 'bin/latexmk')
-rwxr-xr-xbin/latexmk46
1 files changed, 46 insertions, 0 deletions
diff --git a/bin/latexmk b/bin/latexmk
new file mode 100755
index 0000000..61b68f5
--- /dev/null
+++ b/bin/latexmk
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+set -e
+[ -n "$DEBUG" ] && set -x
+
+reexec=
+while getopts 1Rnh opt; do
+	case "$opt" in
+	1)	entr_args='-z' ;;
+	R)	reexec=1 ;;
+	n)	nocolor=1 ;;
+	h|?)	printf "usage: %s [-h]\n" "$(basename "$0")"
+		printf "\n"
+		printf "  -1 \t oneshot mode\n"
+		printf "  -n \t no color\n"
+		printf "\n"
+		exit 2 ;;
+	esac
+done
+shift $((OPTIND - 1))
+
+if [ -n "${reexec}" ]; then
+	pdf=$(readlink -f -- $(printf $1 | sed 's/\.tex/\.pdf/'));
+	log() {
+		if [ -n "${nocolor}" ]; then
+			printf "$(tput setaf 2)!>>>$(tput sgr0) $1\n"
+		else
+			printf "=> $1\n"
+		fi
+	}
+	log "running tectonic"
+	tectonic --chatter=minimal "$1"
+	if ! pgrep -fx "zathura $pdf" >/dev/null; then
+			log "running zathura"
+			swaymsg exec zathura "$pdf" >/dev/null
+	fi
+	printf -- '!! '
+	exit 0
+fi
+
+if [ -z "$1" ]; then
+	ls *.tex
+else
+	[ -f "$1" ] && printf "$1\n"
+	ls *.tex
+fi | entr ${entr_args} -ns 'latexmk -R $0'