Repository Public Research preview
1#!/bin/zsh2# compile_deck.sh <chemin/sources> <nom_sans_ext> [sandbox]3# Compile un deck Beamer UQO dans un bac à sable (/tmp/<sandbox>), avec biber arm64, puis vérifie les débordements.4set -u5VALID="$(cd "$(dirname "$0")" && pwd)"6SRC="$1"; NAME="$2"; SB="/tmp/${3:-sb_$NAME}"7BIBER=~/bin/biber-arm648mkdir -p "$SB"; rsync -a --delete --exclude '*.pdf' "$SRC/" "$SB/"9cd "$SB" || exit 110export PAR_GLOBAL_TEMP=/tmp/biber-par; mkdir -p $PAR_GLOBAL_TEMP11latexmk -pdf -interaction=nonstopmode -halt-on-error -e "\$biber='$BIBER %O %S'" "$NAME.tex" > "$SB/$NAME.latexmk.log" 2>&112RC=$?13if [ ! -f "$NAME.pdf" ]; then echo "ÉCHEC compilation ($RC) — voir $SB/$NAME.log"; grep -n -A3 "^!" "$NAME.log" | head -40; exit 1; fi14PAGES=$(pdfinfo "$NAME.pdf" | awk '/Pages/{print $2}')15echo "PDF : $SB/$NAME.pdf — $PAGES pages (latexmk rc=$RC)"16grep -c "Overfull \\\\hbox" "$NAME.log" | xargs -I{} echo "Overfull hbox : {}"17grep -n "Overfull \\\\vbox" "$NAME.log" | head -2018python3 "$VALID/check_overflow.py" "$NAME.pdf" || true19