master-thesis
master-thesis copied to clipboard
Выпускная квалификационная работа (ВКР) магистра в LaTeX, оформленная в соответствии с нормоконтролем СевГУ в 2017 г.
master-thesis
Выпускная квалификационная работа (ВКР) магистра в LaTeX, оформленная в соответствии с нормоконтролем Севастопольского государственного университета в 2017 г.
Особенности
- использование XeLaTeX, основной шрифт Times New Roman, 14pt, полуторный межстрочный интервал
- шрифт для формул XITS Math, шрифты для презентации PT Sans, PT Mono
- подрисуночные и подтабличные записи в формате
номерСекции.номерРисунка - нумерация страниц посередине сверху
- возможность указания начала нумерации страниц
- возможность настройки отступов страниц
- маркировка списка символом
— - нумерованные списки обозначаются строчными буквами кириллицы со скобкой
- названия секций в верхнем регистре, включая содержание
- отступ в одну строку после имени заголовка
- отступы в одну строку до и после имени заголовков второго и третьего уровней
- пользовательские функции добавления рисунков, приложений и библиографии
- использование
listingsдля оформления листинга исходного кода в документе, шрифт FreeMono - возможность добавления своих PDF в документ
- добавление библиографии в файл
0-bibliography.tex - отдельные секции для аннотации, приложений
- автоматически генерируемый список иллюстративного и табличного материала
- ссылки на перечень сокращений и условных обозначений
- слайды презентации
Makefileдля компиляции и сборки проектаDockerfileдля сборки проекта в изолированном окружении
Структура исходников
.
├── extra
├── images
├── inc
├── presentation
├── presentation_it_planet
└── vulncontrol
В корневом каталоге находятся файлы:
Dockerfile, с его помощью можно собрать проект в Docker-контейнере без установки LaTeX на локальный компьютер- в
main.texподключаются все остальные файлы - с помощью
Makefileможно собрать проект - файл
master-thesis.pdfявляется результатом компиляции проекта - в
preamble.texзадается преамбула - файл
.gitignoreсодержит в себе временные файлы, которые не включаются в репозиторий - файл
.gitmodulesподключает к проекту репозиторийvulncontrol
В каталоге extra/ находятся подключаемые PDF файлы, которые по каким-либо причинам не были сверстны в LaTeX.
В каталоге images/ находятся иллюстрации.
В каталоге inc/ находятся файлы, которые подключаются к main.tex:
- файлы формата
0-*.texявляются ненумерованными секциями (например введение, заключение, библиография) - файлы формата
[1-9]-*.texявляются нумерованными секциями (например постановка задчи, обзор литературных источников и т.д) - файлы формата
[a-z]-app.texявляются файлами приложений
В каталоге presentation/ находятся файлы необходимые для сборки слайдов презентации:
beamerthemeMasterThesis.styявляется файлом стиля презентации- в файле
main.texнаходится преамбула Makefileнеобходим для сборкиslides.texявляется файлом, содержащим текст презентацииpresentation.pdfявляется результатом компиляции слайдов презентацииreport.mdсодержит сопровождающий текст к слайдам презентации
Каталог vulncontrol/ является ссылкой на репозиторий, содержащий исходный код скрипта для сбора данных по уязвимостям.
Работа с LaTeX
Установка нужных пакетов LaTeX в Ubuntu:
sudo apt install texlive-base texlive-latex-extra texlive-xetex texlive-lang-cyrillic latexmk texlive-fonts-extra texlive-science texlive-latex-recommended
Для сборки проекта понадобится установка шрифтов Times New Roman, XITS Math, PT Sans, PT Mono, FreeMono:
sudo apt install ttf-mscorefonts-installer fonts-freefont-ttf fontconfig
sudo wget -O /usr/share/fonts/xits-math.otf https://github.com/khaledhosny/xits-math/raw/master/XITSMath-Regular.otf
sudo wget https://ftp.tw.freebsd.org/distfiles/xorg/font/{PTSansOFL,PTMonoOFL}.zip
sudo unzip -o PTSansOFL.zip -d /usr/share/fonts/ && sudo unzip -o PTMonoOFL.zip -d /usr/share/fonts/
sudo rm -f {PTSansOFL,PTMonoOFL}.zip && sudo fc-cache -f -v
Пример компиляции проекта с помощью Makefile:
git clone --recursive https://github.com/Amet13/master-thesis
cd master-thesis/
make
Пример очистки сборочных файлов после компиляции (кроме PDF):
make clean
Пример сборки слайдов презентации:
make pres
Docker
Проект можно собрать в Docker, в таком случае не придется устанавливать LaTeX. Docker уже должен быть установлен на сервере или локальном компьютере:
git clone --recursive https://github.com/Amet13/master-thesis
cd master-thesis/
make docker