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