Skip to content
/ phdtex Public

PhD latex template project

License

MIT, CC-BY-4.0 licenses found

Licenses found

MIT
LICENSE
CC-BY-4.0
LICENSE.DATA
Notifications You must be signed in to change notification settings

kanner/phdtex

Repository files navigation

phdtex

Build Status

Шаблон диссертации, более или менее соответствующий требованиям российского ГОСТ Р 7.0.11-2011 (текст диссертации, автореферат).

Read this in other languages: English.

Что это за проект?

Проект подготовлен во время написания моей кандидатской диссертации и актуален на текущий момент в 2017 году, но я не гарантирую его полноценное соответствие требованиям ГОСТ Р 7.0.11-2011 (сомневаюсь, что это вообще можно гарантировать на 100%). Проект вдохновлен другим творением – Russian-Phd-LaTeX-Dissertation-Template (всё, что до коммита 703e978), но, в отличие от него, имеет другой принцип лицензирования (см. раздел Лицензии ниже), так как оригинальный проект не имеет OSS лицензии ни сейчас (CC-BY-4.0 не совсем каноническая OSS лицензия), ни на коммите, указанном выше.

Структура проекта

  • ./: основные данные и файлы для сборки
    • файлы-данные: информация об авторе, титульный лист, главы, заключение
    • файлы для сборки: dissertation, synopsis, booklet (для автореферата)
    • Makefile-ы (shell- и batch-based скрипты для Linux и Windows)
  • ./contrib: основные файлы шаблона
    • подключаемые пакеты и правила именования (частично специфичны для русского языка)
    • оглавление
    • стили (включая отдельный файл со стилями по ГОСТ)
    • bst-стиль и скрипт сортировки списка литературы (по требованиям ГОСТ 7.1-2003 + 7.0.11-2011)
  • ./externals: скрипты установки шрифта pscyr, оригинальный проект (подмодуль git)
  • ./images: каталог с используемыми изображениями
  • ./parts: дополнительные файлы, используемые в тексте диссертации
    • приложения
    • примеры баз с библиографией (отдельно для обычных/ВАК/Scopus статей, с подсчетом печатных листов)
    • заглушки для введения (отдельно для текста диссертации и автореферата)
    • списки: рисунков/таблиц, использованных сокращений и обозначений
  • ./synopsis-parts: основные данные и шаблонные файлы для автореферата
    • титульный лист автореферата
    • основное содержание
    • основные результаты работы
    • список публикаций автора

Требования для сборки

Проект можно использовать как в среде Windows, так и в Linux, предварительно установив как минимум два пакета ПО:

  • texlive (проверялось на версиях 2014-2016);
  • шрифт pscyr (см. скрипты установки в ./externals).

Для Windows есть еще две необходимые зависимости:

  • GitHub клиент (или нативно установленный perl для выполнения Makefile.bat);
  • powershell для externals/pscyr-install.bat.

Для Linux можно дополнительно использовать утилиту make и предоставляемый Makefile (см. ниже). Для проверки орфографии (make spell; make spelltmpl, make spelldata) должен быть установлен пакет aspell.

Копирование проекта и сборка

Для клонирования репозитория с автоматической синхронизацией подмодуля можно использовать команду:

git clone --recursive https://github.com/kanner/phdtex.git

а для уже клонированного репозитория нужно выполнить:

git submodule update --init --recursive

Для сборки проекта можно либо вручную запускать pdflatex, либо использовать Makefile.bat в среде Windows, а также make в Linux без опций или указывая следующие цели для сборки:

  • make или make all – собрать dissertation.pdf, synopsis.pdf, booklet.pdf
  • make dissertation – собрать только dissertation.pdf
  • make synopsis – собрать synopsis.pdf (предварительно соберется dissertation.pdf для указания номеров страниц в положениях из введения)
  • make booklet – собрать booklet.pdf (предварительно соберется исходный synopsis.pdf)
  • make spell – проверка орфографии для всех файлов
  • make spelltmpl – проверка орфографии для файлов шаблона
  • make spelldata – проверка орфографии для файлов с данными
  • make clean – очистить все временные и результирующие файлы

Процесс сборки состоит из нескольких итераций вызова pdflatex (4 для текста диссертации и 3 для автореферата) в комбинации с bibtex и makeindex для корректной сборки библиографических записей и списка сокращений. Опыты показали, что это оптимальное решение для избежания ошибок в результирующих документах, хотя процесс сборки и длится достаточно долго. В среде Linux для ускорения сборки проекта можно использовать команды выше в виде make TARGET -jN (где значение N лучше сделать равным (количество ядер CPU) + 1), все зависимости TARGET при этом должны быть корректно разрешены (synopsis не начнет собираться параллельно dissertation и т.п.).

Использование проекта в качестве шаблона

Вы можете сделать fork проекта и вносить изменения в его оригинальные файлы. Также можно использовать проект в качестве настоящего шаблона (например, как git submodule в каталоге ./template своего проекта с диссертацией), скопировав все файлы с данными в свой новый проект и используя такие упрощенные Makefile-ы:

  • Makefile:
template = ./template/
include $(template)/Makefile
  • Makefile.bat: call template\Makefile.bat template
  • Makefile-clean.bat: call template\Makefile-clean.bat template

Чтобы использовать шаблон с texstudio или подобными средами для верстки в latex необходимо также скопировать в корень своего проекта файлы dissertation.tex, synopsis.tex и booklet.tex (те, которые соответствуют ветке texstudio-template).

Ограничения

В текущей версии проекта нет презентации в latex, сделанной, например, с использованием beamer. Я использовал .ppt формат для презентации, так как использование для этого latex не было изначальной целью, а также для многих итак было уже слишком -) (к сожалению, работа с документами в нашей стране ассоциируется в первую очередь с .doc/.docx, а использование latex и .pdf часто вызывает сложности и непонимание). Если Вы все равно хотите использовать latex для верстки презентации – используйте текущую версию подмодуля из ./externals.

В texlive версии 2014 при сборке проекта может возникать ошибка "No room for a new \dimen". Для исключения этой ошибки используйте при сборке последний коммит ветки texlive-2014 или вручную добавьте строку \usepackage{etex} в dissertation.tex/synopsis.tex сразу после строк с \documentclass....

Лицензии (смешанное лицензирование)

Основное содержание этого проекта выпущено под лицензией MIT [SPDX-License-Identifier: MIT], если в заголовках файлов не указано иное. Проект должен быть использован как шаблон для диссертации и, я считаю, представляет собой исходные коды в latex, которые необходимо собрать/скомпилировать с помощью Makefile-ов или вручную посредством pdflatex. Тем не менее, некоторые файлы имеют лицензию Creative Commons Attribution 4.0 [SPDX-License-Identifier: CC-BY-4.0]: не относящиеся к шаблону файлы с данными (объекты без префикса $(template)/ в Makefile), которые, если требуется, можно использовать, изменять или вообще удалить – информация об авторе, введение, части основного текста и автореферата, bibtex файлы и так далее. Еще два файла (contrib/tweaklist.sty, contrib/utf8gost71my.bst) имеют лицензию LPPL и были немного модифицированы мной для целей проекта (добавлен новый блок copyright). Примеры файлов с изображениями в каталоге ./images имеют лицензию CC0.

Таким образом, суммируя все вышесказанное, я не претендую на авторство Ваших файлов с данным диссертации, проект необходимо использовать лишь как шаблон, учитывая ограничения лицензий для файлов этого шаблона. Также указанные лицензии в общем случае не распространяются на результирующие pdf-файлы (но в случае сборки с исходными файлами данных из проекта для них будет действовать лицензия CC-BY-4.0, как и для самих файлов с данными), их необходимо использовать только для оригинальных файлов из этого репозитория. Вы можете поблагодарить меня в одном из последних разделов Вашей диссертации (раздел Благодарности), так же как и своего научного руководителя/консультанта, или можете не делать этого вовсе – это Ваше право.