Show all errors, warnings, and undefined messages in log file after compilation with location in log file for further analysis
grep -iHEn "error|warning|undefined" *.loggrep -ERh "\\\\label\{\w*:\w*\}" --include="*.tex" | tr -d " " | sort | uniq -c | awk '$1>1 {print $0}'Validate references.bib using https://github.com/Pezmc/BibLatex-Check
curl https://raw.githubusercontent.com/Pezmc/BibLatex-Check/master/biblatex_check.py 2>/dev/null | python - -b $(find ./ -maxdepth 1 -name "*.bib" | head -n1) -a $(find ./ -maxdepth 1 -name "*.aux" | head -n1)REF=($(IFS=;grep -ERoh "\\\\\w*ref\{\w*:\w*\}" . | sort | uniq | awk -F{ '{print $2}' | tr -d '}'));LABEL=($(IFS=;grep -ERoh "\\\\label\{\w*:\w*\}" . | sort | uniq | awk -F{ '{print $2}' | tr -d '}'));for i in $LABEL;do;echo $REF | grep -iq " $i ";if [[ $? -eq 1 ]];then;printf "\033[0;31mUNUSED LABEL: \033[0;32m$i\033[0m\n";fi;done;pdftotext main.pdf - | grep -ohE "\b[a-zA-Z]{2,}\b" | tr '[:upper:]' '[:lower:]' | sort | uniq > /tmp/words.txt; pdftotext main.pdf - | grep -ohFf /tmp/words.txt | wc -w- Non-interactive - list of misspelled words
pdftotext main.pdf - | grep -ohE "\b[a-zA-Z]{2,}\b" | tr '[:upper:]' '[:lower:]' | sort | uniq | aspell list -t | sort | uniq -c2 . Interactive spell-check - file by file
aspell -c -t main.texrg --pcre2 '^((?!%).*\b([A-Z](?:[a-zA-Z0-9]){1,}[A-Z])\b).*$' -t tex chapters -r '$2' -N