#!/bin/sh # Author: Romain Deville (ty <3) # Generate latex file two times to get page numbering and glossary right if [[ $# -eq 1 ]] && ! [[ $1 == 'bib' ]] then if [[ $1 == 'clean' ]] then bash -c "rm -f *.aux *.bbl *.blg *.log *.out *.idx *.ilg *.ind *.toc *.fls *.fdb_latexmk *synctex.gz *.d" elif [[ $1 == 'veryclean' ]] then bash -c "rm -f *.aux *.bbl *.blg *.log *.out *.idx *.ilg *.ind *.toc *.fls *.fdb_latexmk *synctex.gz *.d *.pdf" fi else grep -lFm 1 'begin{document}' *.tex | while read f ; do pdflatex_cmd="pdflatex -file-line-error -halt-on-error '$f'" latex_file_without_ext="${f:0:-4}" bash -c "$pdflatex_cmd" 2>/dev/null [[ $? -eq 1 ]] && read # Generate glossary if [ -n "$(grep -E '\\usepackage.*{glossaries}' "$f") " ] ; then makeglossaries "$latex_file_without_ext" [[ $? -eq 1 ]] && read fi # Generate bib if [ -n "$(grep -E '^[[:space:]]*\\bibliograph[yi]' "$f")" ] ; then bibtex ${f%%.tex*}.aux [[ $? -eq 1 ]] && read fi # get all right bash -c "$pdflatex_cmd" 2>/dev/null [[ $? -eq 1 ]] && read "$pdflatex_cmd" 2>/dev/null [[ $? -eq 1 ]] && read done fi