-
Notifications
You must be signed in to change notification settings - Fork 651
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Makefile #42
Comments
Идею одобряю, буду рад пулл-реквесту. Только такая просьба: команды сборки в README оставьте, а в дополнение припишите, что Makefile лежит там-то. |
Замечательно, спасибо. |
Добавлено #46. |
https://github.com/olegrog/my_phd_thesis/blob/master/Dissertation/Makefile |
Ссылка для тех, кто не слыхал про |
А можете сделать такой вариант, чтобы сразу собирал в трёх компиляторах и метил вида disertation_pdflatex.pdf, dissertation_xelatex.pdf, dissertation_lualatex.pdf и с synopsis так же? Кстати, он biber'ом может обрабатывать в случае использования опции biblatex? |
Что-то я не могу разобраться, как указать имя выходного файла для latexmk. Если что, принцип make простой: вы после all: в каждой следующей строке, начинающейся со знака табуляции, пишете команду — при вызове make они все выполнятся. Так что там по идее просто добавить по две копии строки, которая уже есть с latexmk, и поменять в копиях pdflatex на xelatex/luatex. |
В общем, примерно так должно быть:
Важно только, что перед командами должен быть знак табуляции, а не пробелы: кажется ГитХаб заменяет табы на пробелы. Опции silent и recorder опциональны :)
-ps- и -dvi- на всякий случай: явно говорим, что они нам не нужны. На самом деле, вы хотите довольно странного. Когда работаешь с большим документом, основная проблема — медленная сборка. С тремя запусками будет ещё медленней. Я вот наоборот ищу возможности ускорять. Ещё есть хорошая опция auxdir (отдельный каталог для вспомогательных файлов), но у меня почему-то выдаёт ошибку про слишком много запусков pdflatex, если её включить :( |
С auxdir разобрался: она реализована только для MiKTeX. |
Отлично. Осталось придумать практическое применение одновременной сборке шаблона в трёх разных компиляторах. |
Дааа, тому, кто придумает, можно выдать приз за изобретательность! Хотя лучше было бы подумать над механизмом раздельной сборки глав (и рисунков), чтобы ускорить общее время сборки. |
Возможно, было бы лучше что-то подобное. # Please change it here unless you are OK with `pdflatex`.
all: pdflatex
pdflatex:
latexmk -pdf -jobname='dissertation_pdflatex' -ps- -dvi- -recorder -silent dissertation.tex
xelatex:
latexmk -xelatex -jobname='dissertation_xelatex' -ps- -dvi- -recorder -silent dissertation.tex
lualatex:
latexmk -lualatex -jobname='dissertation_laulatex' -ps- -dvi- -recorder -silent dissertation.tex |
Возможно, это нужно для того, чтобы иметь в репе демонстрационные документы разных сборок. А для этого не вводить каждый раз эти команды, а разок вызвать latexmk. |
Это было бы очень удобно, но git создан не для того, чтобы хранить в нём часто изменяемые стокилобайтовые блобы. Для этого нужно что-то другое (см. Large File Storage). |
Мне кажется, я уже писал где-то: у ГитХаба есть интеграция с ShareLatex, чтобы не хранить pdf в репе. В ридми просто делается ссылка на шарелатех. Единственное: там нужно руками пересобирать (нажимать кнопочку билд в шарелатехе). |
Оффтоп: я бы также вынес файлы с гостами куда-то (дропбокс?) и добавил ссылку, скажем, в тот же ридми. |
Sharelatex в бесплатной редакции вроде не подходит под этот проект. А за остальные платить никто не будет. |
Что значит, не подходит под этот проект? Меня как-то пытались убедить, что для этого требуются деньги: это получилось бы, если бы я сам не делал интеграцию для своих проектов совершенно бесплатно. Пример тут с ссылкой из ридми в шарелатех. |
Это значит, что за бесплатно кто-то один должен будет поддерживать проект в шарелатехе и жать волшебную кнопку билд. А тут как минимум двое могут вносить изменения в репу. |
Кажется, там билд уже автоматический. Во всяком случае, ничто не мешает попробовать, сохраняя блобы в репе, если они уж так вам дороги по каким-то причинам. |
По поводу собранных документов: если есть возможность сделать автоматический билд с помощью внешнего сервиса, то я за, это было бы очень удобно. Вроде бы ShareLaTeX это умеет: https://www.sharelatex.com/github/ (Поддерживаются pdflatex, lualatex, xelatex). |
@ulysses4ever Спасибо @dustalov @ulysses4ever Если текст внутри глав ссылается на что-то внешнее по отношению к ним? На текст приложений, формулы и рисунки в других главах. Я думаю, что в этом случае поглавная сборка даст сбой. А рисунки из tikz в отдельных внешних файлах можно автоматизировать до pdf и pdf в итоговый документ подключать. @AndreyAkinshin Автоматический билд заманчивая идея, но там же лучше заводить какой-нибудь открытый sharelatex аккаунт/репозиторий, чтобы в нём они складировались и были всем доступны. А @tonkonogov правильно заметил, что в долгосрочной перспективе это может быть ненадёжно. Там те ребята, что внесли его в темплейты не предоставляют ли опции автоматической компиляции демонстрационных примеров? И кстати, там же не автоматическая закачка свежей версии шаблона с гитхаба, так ведь? |
@Lenchik, я ребятам из ShareLaTeX несколько часов назад письмо написал по поводу синхронизации с GitHub-ом, посмотрим, что ответят. |
Ребята из ShareLaTeX ответили, что бесплатно нам синхронизацию делать никто не будет: шаблон будет обновляться только руками или по запросу. |
@ulysses4ever если подключить главы через |
Я читал несколько рецептов, нигде такого не было. Сам не экспериментировал. Единственное, во что я верю (тоже вычитал), что tikz сильно замедляет сборку. |
В Ридми даны команды сборки:
Не хотите ли вы добавить Makefile? Я могу сделать пулл-реквест, если вы одобряете идею.
The text was updated successfully, but these errors were encountered: