29 KiB
Установка и сборка
- Быстрый старт
- Компиляция черновика
- Простые ошибки
- Установка
- Сборка PDF из командной строки
- Разное
Быстрый старт
- Скачать шаблон в архиве или клонировать этот репозиторий.
- Установить в вашей среде компиляции (например, в редакторе TeXStudio) движок
библиографии
Biber. - Скомпилировать
dissertation.texдля получения диссертации иsynopsis.texдля получения автореферата. - Убедиться, что всё успешно компилируется на вашем компьютере (
Warningв*.logфайле компиляции допустимы). - Если что-то не устраивает в оформлении — проверьте закомментированые
возможности в файлах шаблона, много тонкостей в ГОСТ не определены. Например, в
файле
biblatex.texможно отключить отображение в списке литературы полей DOI и ISBN, а вstyles.texстрочкой\linespread{1.42}можно сделать полуторный интервал между строчками «как в Ворде» (несколько шире, чем общепринятый «типографский», поэтому на страницу влезет меньше текста).
Компиляция черновика
Для включения режима черновика можно выполнить любое из следующих действий:
- в файле
usercfg.mkдобавить строчкуDRAFTON ?= 1 - в файле
setup.texпоменять значение параметраdraftна 1 - запустить команду
make draftилиmake DRAFTON=1
При этом шаблон будет собираться с некими
отклонениями от ГОСТ, но в несколько раз быстрее (в основном отличия касаются
оформления списка литературы). Этот режим удобен при промежуточных сборках,
например, во время набора формул. Обратите внимание: нумерация работ в списке
литературы при использовании режима черновика может быть неверной.
Кроме того, при использовании biblatex в режиме черновика не ведётся подсчёт количества пунктов в списке литературы.
Пользователи Linux могут применять команды
make dissertation-preformat и make synopsis-preformat, чтобы использовать предварительное
форматирование преамбулы диссертации и автореферата (может потребоваться установка пакета
texlive-mylatexformat).
Это позволяет ускорить сборку ещё приблизительно в 1.5 раза (на повторную сборку
черновика диссертации на компьютере с процессором Intel i5 требуется около двух
секунд).
Простые ошибки
Если не собирается библиография, ссылки на литературу отображаются вопросами или жирными названиями:
- Попробовать поменять параметр
biblioselв соответствующем файлеsetup.tex, подробнее читать «в случае проблем с библиографией». - Очистить папки проекта от прошлых временных файлов (
*.aux,*.toc,*.bbl,*.bcf,*.synctex.gzи прочие подобные). - Убедиться, что в вашей среде компиляции (например, в редакторе TeXStudio)
правильно выбран движок библиографии (в соответствии с параметром
biblioselв каждом из файловsetup.tex). - Провести несколько компиляций проекта.
- Если ничего из предыдущих пунктов не помогло, запустить
latexmkна главном файле автореферата или диссертации, или выполнить соответствующийmake.
Если компилируется с ошибками, то изучение соответствующего *.log файла может
помочь определить причину (как правило, ошибки вызваны отсутствием необходимых
пакетов или их версий). Часто первая ошибка в *.log файле является
первопричиной остальных.
Установка
В Ubuntu с TexLive внутри контейнера DockerTex
Протестировано в Ubuntu 16.04 LTS и Ubuntu 18.04 LTS
Для обеспечения максимальной воспроизводимости сборки проекта рекомендуется использовать специализиарованный Docker-контейнер от проекта dockertex, базирующийся на Debian Buster 10 и TexLive 2018, с минимальной модификацией (добавлением пакета шрифтов от Microsoft - ttf-mscorefonts-installer и набора шрифтов Liberation в виде пакета fonts-liberation). Образ контейнера объемом около 2.5 Гб будет загружен из сети, при этом с учетом этапа распаковки в системе потребуется около 8 Гб свободного места в каталоге /var.
Установка контейнера в вашу систему выполняется путем запуска соответствующего скрипта, находящегося в корне этого шаблона:
sh install-dockertex.sh
Далее необходимо выйти из системы и зайти снова (либо перезагрузиться).
После этого станут доступны две новых команды - dockertex и dockertexstudio.
Для TexStudio будет создан ярлык с названием Docker TexStudio (texlive2018) в категории Office.
Команда dockertex используется для сборки проекта - диссертации, автореферата и презентации (по сути это make без аргументов):
dockertex make
После выполнения команды будут созданы три PDF-файла: dissertation.pdf, presentation.pdf и synopsis.pdf.
При необходимости можно запустить make clean:
dockertex make clean
Остальные аргументы make могут быть вызваны аналогично.
Команда dockertexstudio используется для запуска TexStudio из контейнера:
dockertexstudio
После открытия файла dissertation.tex и нажатия будет создан PDF диссертации.
В Ubuntu
Протестировано на Ubuntu 19.04. Для LTS-версий рекомендуется использование DockerTex
Для установки XeTeX в Ubuntu и необходимых дополнительных пакетов можно использовать команду:
sudo apt-get install make texlive-xetex texlive-generic-extra texlive-lang-cyrillic texlive-lang-french texlive-science fonts-liberation latexmk biber
или для установки полного комплекта программ:
sudo apt-get install texlive-full
Для использования шрифтов Microsoft требуется их установка. Например, для Ubuntu это можно сделать так:
sudo apt-get install ttf-mscorefonts-installer
sudo fc-cache -fv
В Debian
Протестировано на Debian 10.
Установка аналогична Ubuntu.
Для установки шрифтов Microsoft должен быть подключен репозиторий contrib.
В Fedora
Протестировано на Fedora 27.
Для установки XeTeX необходимо установить следующие пакеты:
sudo dnf install texlive-xetex latexmk texlive-hyphen-russian biber \
texlive-extsizes texlive-cm texlive-amscls texlive-nag \
texlive-polyglossia texlive-euenc texlive-multirow \
texlive-makecell texlive-ec texlive-was texlive-zapfding \
texlive-totcount texlive-totpages texlive-interfaces \
texlive-tocloft texlive-tabulary texlive-floatrow \
texlive-biblatex texlive-biblatex-gost texlive-cite \
texlive-bibtex texlive-impnattypo texlive-cleveref \
texlive-tabu texlive-mwe
Далее можно установить шрифты из набора Microsoft's Core Fonts. Например, так:
sudo dnf install http://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
sudo fc-cache -fv
В Fedora 23 есть проблема (#84) с компиляцией библиографии с помощью
biblatexиbiber, поэтому необходимо переключиться на использованиеbibtex. Для этого в файлеDissertation/setup.texпереключите\setcounter{bibliosel}{1}в0, чтобы получилось\setcounter{bibliosel}{0}. Ту же самую операцию повторите в файлеSynopsis/setup.tex.
В Gentoo
В репозиториях Gentoo лежит относительно старая версия TeXLive и сопутствующих пакетов, однако особых проблем с ними возникнуть не должно. Следует учитывать лишь два момента:
- Устаревший
dev-tex/latexmk(на 31.05.2019). В репозитории лежит версия 456, которая не позволит собрать проект. Необходимо создать собственный репозиторий и скопировать в него ебилд от 456 версии, переименовав в соответствии с актуальной (на данный момент это 464a). (Если просто скопировать ебилд под новым именем в тот же самый главный репозиторий, то при очередномemerge --syncон будет перезатерт.) - Стилевой файл
impnattypo.sty, необходимый для сборки проекта, отправлен мейнтейнерами в пакетdev-texlive/texlive-langfrench, поэтому кроме основных пакетов необходимо установить и его.
TeXLive на Linux в обход привязанных к конкретному линуксу пакетам
How to install «vanilla» TeXLive on Debian or Ubuntu? — инструкция на английском языке, как ставить TeXLive на Linux в обход привязанных к конкретному линуксу пакетам (на примере Debian и Ubuntu).
В MacOS 10.10 и выше
Для установки в среде MacOS достаточно установить пакет MacTeX
отсюда. После установки
необходимо добавить пути к установленным файлам в переменную окружения PATH,
например, так:
export PATH=$PATH:export PATH=$PATH:/Library/TeX/texbin
Чтобы сделать эффект постоянным можно добавить эту строку в .bash_profile:
echo "export PATH=$PATH:export PATH=$PATH:/Library/TeX/texbin" >>~/.bash_profile
Теперь при следующем логине, вам будут доступны утилиты из пакета,
необходимые для работы make-скриптов.
Установка шрифтов PSCyr
PSCyr — это пакет красивых русских шрифтов для LaTeX. К сожалению, его нужно
устанавливать отдельно. Если он у вас не установлен, то ничего страшного —
шаблон заработает и без него. Ну лучше бы его всё-таки поставить. Инструкции по
установке PSCyr для различных конфигураций приведены
в файле PSCyr/README.md внутри
репозитория.
Если вы не нашли подходящую вам инструкцию, но смогли выполнить установку
самостоятельно, то большая просьба
поделиться
вашими наработками.
Рабочий способ установки в Ubuntu 15.10
(компиляция из инструкции на welinux и файлов, которые есть в шаблоне)
Нужно скачать шаблон, найти в папке PSCyr файл pscyr0.4d.zip и распаковать его содержимое куда угодно. Чтобы не переписывать пути, папка с содержимым должна называться PSCyr, а не pscyr, как в архиве. Затем надо зайти в терминал, перейти к тому каталогу, где лежит папка PSCyr с содержимым, и выполнить команды из вышеупомянутого руководства:
mkdir ./PSCyr/fonts/map ./PSCyr/fonts/enc
cp ./PSCyr/dvips/pscyr/*.map ./PSCyr/fonts/map/
cp ./PSCyr/dvips/pscyr/*.enc ./PSCyr/fonts/enc/
echo "fadr6t AdvertisementPSCyr \"T2AEncoding ReEncodeFont\"" > ./PSCyr/fonts/map/pscyr.map
Дальше надо узнать, где у вас локальный каталог texmf. Для этого выполняем
kpsewhich -expand-var='$TEXMFLOCAL'
С вероятностью около единицы результат будет /usr/local/share/texmf/.
Копируем всё туда:
sudo cp -R ./PSCyr/* /usr/local/share/texmf/
Ну и подключаем:
sudo texhash
updmap --enable Map=pscyr.map
sudo mktexlsr
Установка в MacOS 10.x
- Скачать файлы со шрифтами и распаковать их в одну папку.
- Создать/отредактировать файл
install.sh, чтобы он содержал следующее:
#!/bin/sh
INSTALLDIR=`kpsewhich -expand-var='$TEXMFLOCAL'`
mkdir -p $INSTALLDIR/{tex/latex,fonts/tfm/public,fonts/vf/public,fonts/type1/public,fonts/map/dvips,fonts/afm/public,doc/fonts}/pscyr
mv dvips/pscyr/* $INSTALLDIR/fonts/map/dvips/pscyr
mv tex/latex/pscyr/* $INSTALLDIR/tex/latex/pscyr
mv fonts/tfm/public/pscyr/* $INSTALLDIR/fonts/tfm/public/pscyr
mv fonts/vf/public/pscyr/* $INSTALLDIR/fonts/vf/public/pscyr
mv fonts/type1/public/pscyr/* $INSTALLDIR/fonts/type1/public/pscyr
mv fonts/afm/public/pscyr/* $INSTALLDIR/fonts/afm/public/pscyr
mv LICENSE doc/README.koi doc/PROBLEMS ChangeLog $INSTALLDIR/doc/fonts/pscyr
mktexlsr
echo "Map pscyr.map\n" >> $INSTALLDIR/web2c/updmap.cfg
updmap-sys
- Запустить полученный скрипт с помощью
sudo:
sudo bash ./install.sh
Рабочий способ установки в Debian 9
Аналогично тому как в Ubuntu не проходит, возникают сложности с правами доступа к некоторым файлам. Разбираюсь в чем дело. Выводит в лог следующее сообщение:
/usr/local/share/texmf/tex/latex/pscyr/pscyr.sty: Permission denied /usr/share/texmf/tex/latex/pscyr/pscyr.sty: Permission denied
Сборка PDF из командной строки
Сборку можно производить следующими командами:
- диссертация:
latexmk -pdf -pdflatex="xelatex %O %S" dissertation - автореферат:
latexmk -pdf -pdflatex="xelatex %O %S" synopsis
Либо можно использовать make-файлы (движок xelatex): из корневого
каталога выполнять
makeдля сборки всегоmake dissertationдля сборки диссертации,make synopsisдля сборки автореферата,make presentationдля сборки презентации для доклада,make dissertation-draftдля сборки диссертации в режиме черновика,make synopsis-draftдля сборки автореферата в режиме черновика,make synopsis-bookletдля сборки автореферата для печати,make presentation-bookletдля сборки презентации для печати,make presentation-handoutдля сборки раздаточных материалов,make draftдля быстрой сборки диссертации и автореферата в режиме черновика,make releaseдля сборки всего и внесения финальных *.pdf файлов в систему контроля версий gitmake cleanочистка от временных файловmake distcleanочистка всех генерируемых файлов (включая .pdf)make pdflatexсборка полной версии с движкомpdflatex(несколько быстрее для автореферата, чемxelatex, движок для библиографии в соответствии с настройкамиsetup.tex).
Презентация может собираться собираться любым из трёх движков:
pdflatex, xelatex, lualatex.
Разное
Пакеты и версии LaTeX
- Шаблон по умолчанию включает ряд распространённых пакетов, чтобы вы могли
сразу ими пользоваться. Однако, на вашей машине какие-то пакеты могут быть не
установлены. Если вам они не нужны, то вы можете их просто удалить (команда
\usepackage{<имя пакета>}). - Лучше всего использовать актуальные и полные версии LaTeX-дистрибутивов, это поможет избежать многих проблем. Например, MikTeX 2.9.6361+ для Windows или TeXLive 2017+ для множества ОС.
Редактирование текста
- Если у вас ещё не сформировались предпочтения по LaTeX-редактору, то обратите внимание на TeXStudio, существующий для всех основных платформ.
- Некоторые редакторы (в том числе TeXStudio) позволяют подключить проверку грамматики с помощью Language Tool (есть поддержка русского языка). Полностью от ошибок он не спасёт, но поиск простых случаев облегчает. Например, в предложении «Как правило слон больше черепахи.» он попросит поставить запятую, если одно и то же слово используется подряд (или с интервалом в несколько слов) — LT второе слово подчёркнет и при необходимости не сложно понять, есть смысл использовать синоним, может быть написать «этот, который» или так и оставить. Подобных простых проверок — сотни.
Форматирование исходного кода
Программа latexindent позволяет
форматировать исходный код .tex файлов.
Это делает код более читаемым и единообразным.
Для форматирования пользовательских документов можно использовать команду:
make indent
Можно указывать другой файл для форматирования.
Например, для форматирования только файла MyFILE.tex:
make indent INDENT_FILES=MyFILE.tex
По умолчанию настройки форматирования считываются из файла indent.yaml.
Для использования другого файла настроек, наберите в командной строке:
make indent INDENT_SETTINGS=mysettings.yaml
Сжатие файлов
Размер выходных .pdf файлов может быть большим.
Особенно, если в тексте присутствует много рисунков с большим разрешением.
Программа gs позволяет значительно уменьшить
размер .pdf файлов за счёт снижения качества растровых изображений.
Для сжатия файла диссертации можно использовать команду:
make compress-lowdpi
Сжатый файл будет создан с суффиксом *_lowdpi.pdf
По умолчанию, разрешение изображений снижается до 144 DPI. Изменить разрешение
и другие нюансы можно путём редактирования файла compress.mk
Сжать произвольный pdf файл somefile.pdf можно командой:
make compress-lowdpi COMPRESS_FILE=somefile
Пересборка pdf для типографии
Типографии могут выдвигать специальные требования к pdf файлам. Наиболее типичными являются:
- отсутсвие прозрачности
- задание всех цветов в CMYK
- использование формата PDF версии 1.3
Для приведения pdf в соотвествие с данными требованиями можно использовать команду:
make compress-cmyk
Принцип работы и возможные побочные эффекты описаны в compress.mk.
Отчёт о времени сборки
Для вывода на экран в конце сборки информации о затраченном времени можно
использовать флаг TIMERON=1.
К примеру, запуск команды
make synopsis TIMERON=1
выведет на экран в конце сборки информацию о времени, затраченном на каждый вызов используемого движка latex, а также суммарно затраченное время.
Сборка графики .tikz
В процессе создания графики с использованием библиотеки tikz требуется частая компиляция исходного файла.
Производить её вместе с остальным текстом довольно затратно по времени.
Для ускоренной компиляции файлов .tikz отдельно от остального шаблона предусмотрен рецепт make tikz.
Для запуска компиляции рисунка требуется задать путь к файлу .tikz при помощи переменной TIKZFILE.
Например,
make tikz TIKZFILE=Presentation/images/tikz_plot.tikz
сгенерирует файл tikz_plot.pdf в корневой папке.
Генерация раздаточного материала
Для защиты может потребоваться печать раздаточного материала презентации. В этих материалах содержатся слайды презентации и, возможно, комментарии к ним.
Для генерации раздаточных материалов в шаблоне предусмотрен файл presentation_handout.tex.
Первым делом требуется сгенерировать саму презентацию presentation.pdf.
Далее, в файле presentation_handout.tex надо добавить слайды с соответствующими комментариями при
помощи макро \includeslide.
Выходной файл presentation_handout.pdf генерируется при помощи команды
make presentation-handout