При сборке pdf в каталоге проекта появляется ряд служебных файлов, содержимое которых меняется от билда к билду. Их даже нет смысла засылать в репозиторий.
Можно удалять их перед коммитом.
find -regex '.*\.\(tex~\|sty~\|sh~\|bib~\|backup\|dvi\|ps\)' -print -delete
Можно сказать Kile, что после закрытия надо удалять все «временные файлы». Но закрывать Kile каждый раз перед тем, как сделать коммит — как-то странно.
Можно добавить все такие файлы в .gitignore Но эти файлы так и лежат в каталоге проекта.
А можно компилировать проект, принудительно создавая всякие такие файлы в отдельном каталоге.
В итоге получится такое:
Project directory/ |__ main.tex |__ main.bib |__ main.pdf |__ chapter1.tex |__ chapter2.tex |__ … |__ project_metafiles/ | |__ main.aux | |__ main.bcf | |__ main.blg | |__ main.glo | |__ main.ist | |__ main.log | |__ main.toc | |__ … |__ figures/ |__ figure1.pdf |__ …
Про это всё уже кто-то подумал аж в 2015-ом: texblog.org, но, разумеется, есть нюансы — там нет Kile.
Мои эксперименты с этим трактором заняли часов восемь, самой сложной задачей оказалась неочевидная настройка билд-скриптов в Kile, но он таки завёлся. Заодно я поднаторел в быстром составлении документации по проекту.
Смысл предлагаемого скрипта:
- собрать pdf с PdfLaTeX.
- собрать его библиографию с BibLaTeX.
- итоговый скрипт должен лежать в отдельном каталоге, назовём его kile_scripts/
- при сборке main.pdf все служебные файлы должны сразу появляться в project_metafiles/
- сборка глоссария и индекса в этот скрипт не войдёт (она нужна редко и запускается через отдельный sh-файл)
- билдить нужно по этому скрипту, но из Kile („QuickBuild“ по Ctrl+1)
Ограничения
Это настройка работает глобально, а название главного файла для сборки проекта прописано жёстко — main (.tex).
Если открыть в Kile другой проект, то скрипт будет искать файл main 🙂
Выходом будет прописывание переменной в файле .sh, а неудобство в том, что этот файл при каждой смене проекта надо обновить, прописав в объявляемой переменной соответствующее название файла для сборки (несколько смягчает ситуацию добавление и комментирование строк).
Полная инструкция в Dropbox: http://bit.ly/2IjoqC0 /txt