Skip to content

Instantly share code, notes, and snippets.

@mhoffman
Created November 7, 2017 18:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mhoffman/40a1d78faeaea63d6b8fa11c19793da4 to your computer and use it in GitHub Desktop.
Save mhoffman/40a1d78faeaea63d6b8fa11c19793da4 to your computer and use it in GitHub Desktop.
#!/bin/bash -eu
# Copyright, Max J. Hoffmann, 2012
shopt -s expand_aliases
pdf_viewer="xpdf -z page "
show_pdf=""
#Default scaling
scaling="0.3"
xscaling="1."
yscaling="1."
#Parse options
while getopts "phs:x:y:" optionName
do
case "${optionName}" in
p) show_pdf="yes";;
s) scaling=${OPTARG} ;;
x) xscaling=${OPTARG} ;;
y) yscaling=${OPTARG} ;;
h) echo -e "Usage: ${0} [-p] SK_FILE \n ";
exit;;
esac
done
echo ${scaling}
#Switch to not processed arguments
shift $(($OPTIND - 1))
if [ ${#} -eq 0 ]
then
${0} -h
exit
fi
sk=${1}
trunk=$(basename ${sk} .sk)
pdf=${trunk}.pdf
tex=${trunk}.tex
ps=${trunk}.ps
eps=${trunk}.eps
aux=${trunk}.aux
log=${trunk}.log
#Change language to tikz if not set
tmp_sk=$(mktemp)
if [ ! "$(grep "language\s*tikz" ${sk})" ]
then
cp ${sk} ${tmp_sk}
echo "global {language tikz}" >> ${tmp_sk}
sk=${tmp_sk}
fi
#run sketch
sketch ${sk} -Te -o ${tex}
rm -f ${tmp_sk}
#Adapt
adapt_sk.sh -x ${xscaling} -y ${yscaling} -s ${scaling} ${tex}
#TeX
#pdflatex -halt-on-error -file-line-error ${tex} >/dev/null
pdflatex -halt-on-error -file-line-error ${tex}
if [ "${show_pdf}" = "yes" ]
then
${pdf_viewer} ${pdf} &
fi
pdftops ${pdf}
mv ${ps} ${eps}
rm -rfv ${tex} ${log} ${aux} ${eps}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment