#!/usr/bin/env bash START=$(pwd) OUT_SUBDIR="output" function build() { local DIR="$(dirname "${1}")" local MAIN="$(basename "${1}")" local NAME="$(basename "${DIR}")" echo "|> Building ${NAME}..." cd "${DIR}" tectonic \ --outfmt pdf \ --chatter minimal \ main.tex stat=$? if [[ $stat == 0 ]]; then mv main.pdf "${OUTPUT}/${NAME}.pdf" echo "" else rm -f main.pdf echo "|> Build failed" echo "" fi } for d in ../../Advanced/*/ ; do DIR=$(realpath "${d}") OUTPUT="${START}/${OUT_SUBDIR}/Advanced" mkdir -p "${OUTPUT}" build "${DIR}/main.tex" done for d in ../../Intermediate/*/ ; do DIR=$(realpath "${d}") OUTPUT="${START}/${OUT_SUBDIR}/Intermediate" mkdir -p "${OUTPUT}" build "${DIR}/main.tex" done zip -FSrj output.zip "${OUT_SUBDIR}"/*