Как проверить, нужно ли запустить LaTeX для обновления содержания (TOC)

cp texfile.toc texfile.toc.bak; latex texfile.tex; cmp -s texfile.toc texfile.toc.bak; if [ $? -ne 0 ]; then latex texfile.tex; fi


Команда cp копирует файл texfile.toc в файл texfile.toc.bak. Затем команда latex компилирует файл texfile.tex. Далее команда cmp с флагом -s сравнивает содержимое файлов texfile.toc и texfile.toc.bak. Если файлы отличаются, то возвращается ненулевой код завершения и выполняется условная конструкция if. Внутри if проверяется код завершения последней команды с помощью переменной $? и если он не равен 0, то снова выполняется команда latex для повторной компиляции файла texfile.tex. Это позволяет обновить содержание (TOC) в случае, если оно изменилось. Альтернативой может быть использование сборщиков документов, таких как Make или CMake, которые автоматически проверяют зависимости и запускают LaTeX только при необходимости. Аргументы команды cp — texfile.toc и texfile.toc.bak.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *