aboutsummaryrefslogtreecommitdiff
path: root/dotfiles
diff options
context:
space:
mode:
authorYaroslav <contact@yaroslavps.com>2020-01-06 03:13:36 +0300
committerYaroslav <contact@yaroslavps.com>2020-01-06 03:13:36 +0300
commitedad84a974d1633dccfe94c02dbc4c32377d9edc (patch)
tree749f557d3585ffc4f9f551066adb346b71805450 /dotfiles
parent52fe225e5229b1f04e2ad5aa7d47b171bbc22828 (diff)
downloadswayrice-edad84a974d1633dccfe94c02dbc4c32377d9edc.tar.gz
swayrice-edad84a974d1633dccfe94c02dbc4c32377d9edc.zip
scripts for latex editing and compiling
Diffstat (limited to 'dotfiles')
-rwxr-xr-xdotfiles/.scripts/doccompiler34
-rwxr-xr-xdotfiles/.scripts/lmc3
-rwxr-xr-xdotfiles/.scripts/texclear13
3 files changed, 47 insertions, 3 deletions
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