#!/bin/sh set -e [ "$#" -gt "0" ] && cd "$1" tmpdir=$(mktemp -d) cleanup() { if [ -n "$tmpdir" ]; then rm -r "$tmpdir" fi } for f in $(find -name "*.tex"); do # Only main tex files are interesting grep -q "\documentclass" "$f" || continue pushd . > /dev/null cd $(dirname $f) if ! pdflatex -output-directory "$tmpdir" $(basename $f) < /dev/null > /dev/null; then popd echo >&2 "pdflatex failed on '$f'." cleanup exit 1 fi popd > /dev/null done cleanup