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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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, как и для самих файлов с данными), их необходимо использовать только для оригинальных файлов из этого репозитория. Вы можете поблагодарить меня в одном из последних разделов Вашей диссертации (раздел Благодарности), так же как и своего научного руководителя/консультанта, или можете не делать этого вовсе – это Ваше право.