From edad84a974d1633dccfe94c02dbc4c32377d9edc Mon Sep 17 00:00:00 2001
From: Yaroslav <contact@yaroslavps.com>
Date: Mon, 6 Jan 2020 03:13:36 +0300
Subject: scripts for latex editing and compiling

---
 dotfiles/.scripts/doccompiler | 34 ++++++++++++++++++++++++++++++++++
 dotfiles/.scripts/lmc         |  3 ---
 dotfiles/.scripts/texclear    | 13 +++++++++++++
 3 files changed, 47 insertions(+), 3 deletions(-)
 create mode 100755 dotfiles/.scripts/doccompiler
 create mode 100755 dotfiles/.scripts/texclear

diff --git a/dotfiles/.scripts/doccompiler b/dotfiles/.scripts/doccompiler
new file mode 100755
index 0000000..b95d7a3
--- /dev/null
+++ b/dotfiles/.scripts/doccompiler
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Script to compile some documents to their final output (.tex, .md, .rmd, etc.)
+# Taken from one of Luke Smith's scripts, except this one focuses solely on
+# document compilation and doesn't compile any scripts or programs.
+
+file=$(readlink -f "$1")
+dir=$(dirname "$file")
+base="${file%.*}"
+
+cd "$dir" || exit
+
+textype() { \
+	command="pdflatex -interaction=nonstopmode"
+	( sed 5q "$file" | grep -i -q 'xelatex' ) && command="xelatex"
+	$command --output-directory="$dir" "$base" &&
+	grep -i addbibresource "$file" >/dev/null &&
+	biber --input-directory "$dir" "$base" &&
+	$command --output-directory="$dir" "$base" &&
+	$command --output-directory="$dir" "$base"
+	}
+
+case "$file" in
+	*\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;;
+	*\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;;
+	*\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;;
+	*\.rmd) echo "require(rmarkdown); rmarkdown::render('$file', quiet=TRUE)" | R -q --vanilla ;;
+	*\.tex) textype "$file" ;;
+	*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
+	*\.sent) setsid sent "$file" 2>/dev/null & ;;
+	*) echo "Couldn't figure out file type!" && exit 1 ;;
+esac
+
+echo "Compiled successfully"
diff --git a/dotfiles/.scripts/lmc b/dotfiles/.scripts/lmc
index 16d04db..c740c0c 100755
--- a/dotfiles/.scripts/lmc
+++ b/dotfiles/.scripts/lmc
@@ -14,7 +14,4 @@ case "$1" in
 	"replay") mpc seek 0% ; $newmpd ;;
 esac
 
-kill -44 $(pgrep -x i3blocks)
-kill -45 $(pgrep -x i3blocks)
-
 exit
diff --git a/dotfiles/.scripts/texclear b/dotfiles/.scripts/texclear
new file mode 100755
index 0000000..6ead810
--- /dev/null
+++ b/dotfiles/.scripts/texclear
@@ -0,0 +1,13 @@
+#!/usr/bin/env sh
+
+# Clears the build files of a LaTeX/XeLaTeX build.
+# I have vim run this file whenever I exit a .tex file.
+
+case "$1" in
+	*.tex)
+	file=$(readlink -f "$1")
+	dir=$(dirname "$file")
+	base="${file%.*}"
+	find "$dir"  -maxdepth 1 -type f -regextype gnu-awk -regex "^$base\\.(4tc|xref|tmp|pyc|pyo|fls|vrb|fdb_latexmk|bak|swp|aux|log|synctex\\(busy\\)|lof|lot|maf|idx|mtc|mtc0|nav|out|snm|toc|bcf|run\\.xml|synctex\\.gz|blg|bbl)" -delete ;;
+	*) printf "Give .tex file as argument.\\n" ;;
+esac
-- 
cgit v1.2.3