compiler tweaks
This commit is contained in:
parent
aea27f3f2b
commit
340995f6f9
1 changed files with 9 additions and 8 deletions
|
@ -4,7 +4,7 @@
|
||||||
# have this script run via vim.
|
# have this script run via vim.
|
||||||
#
|
#
|
||||||
# Compiles .tex. groff (.mom, .ms), .rmd, .md, .org. Opens .sent files as sent
|
# Compiles .tex. groff (.mom, .ms), .rmd, .md, .org. Opens .sent files as sent
|
||||||
# presentations. Runs scripts based on extention or shebang
|
# presentations. Runs scripts based on extention or shebang.
|
||||||
#
|
#
|
||||||
# Note that .tex files which you wish to compile with XeLaTeX should have the
|
# Note that .tex files which you wish to compile with XeLaTeX should have the
|
||||||
# string "xelatex" somewhere in a comment/command in the first 5 lines.
|
# string "xelatex" somewhere in a comment/command in the first 5 lines.
|
||||||
|
@ -14,23 +14,24 @@ dir=${file%/*}
|
||||||
base="${file%.*}"
|
base="${file%.*}"
|
||||||
ext="${file##*.}"
|
ext="${file##*.}"
|
||||||
|
|
||||||
cd "$dir" || exit
|
cd "$dir" || exit 1
|
||||||
|
|
||||||
textype() { \
|
textype() { \
|
||||||
command="pdflatex"
|
command="pdflatex"
|
||||||
( sed 5q "$file" | grep -i -q 'xelatex' ) && command="xelatex"
|
( head -n5 "$file" | grep -qi 'xelatex' ) && command="xelatex"
|
||||||
$command --output-directory="$dir" "$base" &&
|
$command --output-directory="$dir" "$base" &&
|
||||||
grep -i addbibresource "$file" >/dev/null &&
|
grep -qi addbibresource "$file" &&
|
||||||
biber --input-directory "$dir" "$base" &&
|
biber --input-directory "$dir" "$base" &&
|
||||||
$command --output-directory="$dir" "$base" &&
|
$command --output-directory="$dir" "$base" &&
|
||||||
$command --output-directory="$dir" "$base"
|
$command --output-directory="$dir" "$base"
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$ext" in
|
case "$ext" in
|
||||||
|
# Try to keep these cases in alphabetical order.
|
||||||
[0-9]) preconv "$file" | refer -PS -e | groff -mandoc -T pdf > "$base".pdf ;;
|
[0-9]) preconv "$file" | refer -PS -e | groff -mandoc -T pdf > "$base".pdf ;;
|
||||||
c) cc "$file" -o "$base" && "$base" ;;
|
c) cc "$file" -o "$base" && "$base" ;;
|
||||||
go) go run "$file" ;;
|
|
||||||
cpp) g++ "$file" -o "$base" && "$base" ;;
|
cpp) g++ "$file" -o "$base" && "$base" ;;
|
||||||
|
go) go run "$file" ;;
|
||||||
h) sudo make install ;;
|
h) sudo make install ;;
|
||||||
m) octave "$file" ;;
|
m) octave "$file" ;;
|
||||||
md) if [ -x "$(command -v lowdown)" ]; then
|
md) if [ -x "$(command -v lowdown)" ]; then
|
||||||
|
@ -42,6 +43,7 @@ case "$ext" in
|
||||||
fi ; ;;
|
fi ; ;;
|
||||||
mom) preconv "$file" | refer -PS -e | groff -mom -kept -T pdf > "$base".pdf ;;
|
mom) preconv "$file" | refer -PS -e | groff -mom -kept -T pdf > "$base".pdf ;;
|
||||||
ms) preconv "$file" | refer -PS -e | groff -me -ms -kept -T pdf > "$base".pdf ;;
|
ms) preconv "$file" | refer -PS -e | groff -me -ms -kept -T pdf > "$base".pdf ;;
|
||||||
|
org) emacs "$file" --batch -u "$USER" -f org-latex-export-to-pdf ;;
|
||||||
py) python "$file" ;;
|
py) python "$file" ;;
|
||||||
[rR]md) Rscript -e "rmarkdown::render('$file', quiet=TRUE)" ;;
|
[rR]md) Rscript -e "rmarkdown::render('$file', quiet=TRUE)" ;;
|
||||||
rs) cargo build ;;
|
rs) cargo build ;;
|
||||||
|
@ -49,6 +51,5 @@ case "$ext" in
|
||||||
scad) openscad -o "$base".stl "$file" ;;
|
scad) openscad -o "$base".stl "$file" ;;
|
||||||
sent) setsid -f sent "$file" 2>/dev/null ;;
|
sent) setsid -f sent "$file" 2>/dev/null ;;
|
||||||
tex) textype "$file" ;;
|
tex) textype "$file" ;;
|
||||||
org) emacs "$file" --batch -u "$USER" -f org-latex-export-to-pdf ;;
|
*) head -n1 "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;;
|
||||||
*) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in a new issue