- Быстрый старт
- Компиляция черновика
- Простые ошибки
- Установка
- Сборка 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 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 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 10.
Установка аналогична Ubuntu.
Для установки шрифтов Microsoft должен быть подключен репозиторий contrib
.
Протестировано на 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 лежит относительно старая версия TeXLive и сопутствующих пакетов, однако особых проблем с ними возникнуть не должно. Следует учитывать лишь два момента:
- Устаревший
dev-tex/latexmk
(на 31.05.2019). В репозитории лежит версия 456, которая не позволит собрать проект. Необходимо создать собственный репозиторий и скопировать в него ебилд от 456 версии, переименовав в соответствии с актуальной (на данный момент это 464a). (Если просто скопировать ебилд под новым именем в тот же самый главный репозиторий, то при очередномemerge --sync
он будет перезатерт.) - Стилевой файл
impnattypo.sty
, необходимый для сборки проекта, отправлен мейнтейнерами в пакетdev-texlive/texlive-langfrench
, поэтому кроме основных пакетов необходимо установить и его.
How to install «vanilla» TeXLive on Debian or Ubuntu? — инструкция на английском языке, как ставить TeXLive на Linux в обход привязанных к конкретному линуксу пакетам (на примере Debian и Ubuntu).
Для установки в среде 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 — это пакет красивых русских шрифтов для LaTeX. К сожалению, его нужно
устанавливать отдельно. Если он у вас не установлен, то ничего страшного —
шаблон заработает и без него. Ну лучше бы его всё-таки поставить. Инструкции по
установке PSCyr для различных конфигураций приведены
в файле PSCyr/README.md
внутри
репозитория.
Если вы не нашли подходящую вам инструкцию, но смогли выполнить установку
самостоятельно, то большая просьба
поделиться
вашими наработками.
(компиляция из инструкции на 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
- Скачать файлы со шрифтами и распаковать их в одну папку.
- Создать/отредактировать файл
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
Аналогично тому как в Ubuntu не проходит, возникают сложности с правами доступа к некоторым файлам. Разбираюсь в чем дело. Выводит в лог следующее сообщение:
/usr/local/share/texmf/tex/latex/pscyr/pscyr.sty: Permission denied /usr/share/texmf/tex/latex/pscyr/pscyr.sty: Permission denied
Сборку можно производить следующими командами:
- диссертация:
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
.
- Шаблон по умолчанию включает ряд распространённых пакетов, чтобы вы могли
сразу ими пользоваться. Однако, на вашей машине какие-то пакеты могут быть не
установлены. Если вам они не нужны, то вы можете их просто удалить (команда
\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 файлам. Наиболее типичными являются:
- отсутсвие прозрачности
- задание всех цветов в CMYK
- использование формата PDF версии 1.3
Для приведения pdf в соотвествие с данными требованиями можно использовать команду:
make compress-cmyk
Принцип работы и возможные побочные эффекты описаны в compress.mk
.
Для вывода на экран в конце сборки информации о затраченном времени можно
использовать флаг TIMERON=1
.
К примеру, запуск команды
make synopsis TIMERON=1
выведет на экран в конце сборки информацию о времени, затраченном на каждый вызов используемого движка latex, а также суммарно затраченное время.
В процессе создания графики с использованием библиотеки 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