latexmk - запуск команды bash для остановки синхронизации Dropbox
Я использую latexmk, чтобы скомпилировать тезис LaTeX. Я сохраняю тезис на своем Dropbox, и, поскольку создаются десятки или сотни.aux и связанных файлов, индексация Dropbox вызывает значительные накладные расходы.
Таким образом, я хочу вставить следующий скрипт bash, прежде чем компиляция начнет останавливать Dropbox:
#!/usr/bin/env bash
dropbox_pid="$echo $(pgrep Dropbox)"
kill -STOP $dropbox_pid
и соответственно, чтобы перезапустить Dropbox в конце, я бы хотел:
#!/usr/bin/env bash
dropbox_pid="$echo $(pgrep Dropbox)"
kill -CONT $dropbox_pid
Как мне это сделать, отредактировав локальный latexmkrc?
2 ответа
Не уверен, что вы сможете отправить сигнал SIGCONT из latexmkrc; Разве этот файл не получен до компиляции?
Вы можете попробовать установить функцию bash, такую как:
compile () {
pkill -STOP Dropbox;
# compile_command "$@"
pkill -CONT Dropbox
}
Установка рабочих каталогов ($aux_dir
а также $out_dir
) где-нибудь за пределами хранилища Dropbox, вы можете избежать чрезмерной синхронизации Dropbox.
Следующее из моего $HOME/.latexmk
, Он находит рабочий каталог в ~/.tmp/tex/THE_NAME_OF_MY_WRITING_PROJECT
и пытается создать его, если его нет.
$aux_dir = "$ENV{HOME}/.tmp/tex/" . basename(getcwd);
$out_dir = $aux_dir;
mkpath($aux_dir);