vkr-builder.docx — vkr-builder

Буфер обмена
Times New Roman 14
Шрифт
1,5
Абзац
ДИПЛОМ - Обычный текст ДИПЛОМ - Заголовок ДИПЛОМ - Код
Стили
Объекты — каждый со своим ключом и сквозным номером
Номер объекту присваивается при сборке. В Markdown вы пишете ключ: Рисунок {pipeline} - Схема обработки
Как это записано
Номера страниц в содержании проставляет движок вёрстки — Word или LibreOffice.
Откуда номера страниц
В начало
документа
Отображение
Размер листа, поля и номер внизу по центру описаны в разделе style.page.
Страница

Проект с открытым исходным кодом

Утилита для сборки

vkr-builder

Выпускная квалификационная работа в DOCX и PDF
из файлов Markdown


Оформление по ГОСТ 7.32-2017
и стандарту ИТМО ЛНАОБУЧ-СМК-03-05-2022

Санкт-Петербург, 2026

ВВЕДЕНИЕ

Выпускная квалификационная работа сдаётся не только по содержанию, но и по оформлению: шрифт, интервалы, поля, стили заголовков, подписи под рисунками, сквозная нумерация объектов и содержание.

vkr-builder переносит оформление на сторону программы. Автор пишет главы в Markdown, а документ по ГОСТ 7.32-2017 [1] и требованиям ИТМО [2] собирается командой из одной строки [3]. Порядок работы показан на рисунке 1.

Claude Студент пишет ВКР в Markdown vkr-builder собирает DOCX и PDF Студент проходит нормоконтроль Claude Студент пишет ВКР в Markdown vkr-builder собирает DOCX и PDF Студент проходит нормоконтроль
Рисунок 1 Порядок работы

Требования другого вуза покрываются правкой конфигурации: оформление задаётся там, а не в тексте.

3

1 Разметка

Работа пишется в обычном Markdown. Отличие одно: у рисунка, таблицы, листинга и формулы есть подпись с ключом, а в тексте вы ссылаетесь на ключ, а не на номер. Так сделаны ссылки на рисунок 1 и листинг 1 в этом абзаце.

Листинг 1 Рисунок с подписью и ссылка на него
![Схема обработки](fig01-pipeline.png)

Рисунок {pipeline} - Схема обработки

Порядок разбора показан на рисунке [рис:pipeline].

Формула набирается в подмножестве LaTeX и попадает в документ редактируемым объектом Word, а её номер встаёт справа, у края текста:

E = mc2 (1)
4

2 Установка и запуск

2.1 Требования и платформы

Для сборки нужен Python 3.10 или новее. Движок вёрстки — Microsoft Word с пакетом pywin32 (Windows) или LibreOffice (Windows, Linux, macOS). Установленные зависимости показывает команда doctor.

Листинг 2 Установка и сборка
git clone https://github.com/maxbarsukov/vkr-builder.git
cd vkr-builder

python -m venv .venv
.venv\Scripts\activate          # Windows
source .venv/bin/activate       # Linux / macOS
pip install -r requirements.txt

vkr-builder.bat doctor          # что нашлось в системе
vkr-builder.bat build --pdf     # собрать DOCX и PDF

2.2 Docker

Ставить Python и LibreOffice на свою систему не обязательно: то же самое делает готовый образ [3]. Каталог с работой подключается томом, результат остаётся в нём же.

Листинг 3 Сборка в Docker
docker pull nyapsilon/vkr-builder

docker run --rm -v "$PWD/example:/work/example" \
    nyapsilon/vkr-builder build --pdf
5

ЗАКЛЮЧЕНИЕ

Markdown — обычный текст, и работать с ним умеет не только человек: правку главы можно поручить языковой модели, а разницу между версиями показывает git. vkr-builder закрывает единственное, чего Markdown не умеет сам: оформление по ГОСТу.

Спецификацию разметки можно целиком отдать ИИ-ассистенту перед генерацией главы; для Claude Code и Cursor правила уже лежат в репозитории.

6

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. ГОСТ 7.32-2017. Система стандартов по информации, библиотечному и издательскому делу. Отчёт о научно-исследовательской работе. Структура и правила оформления. – М.: Стандартинформ, 2017. – 27 с.
  2. Требования к выпускным квалификационным работам: ЛНАОБУЧ-СМК-03-05-2022, версия 4.0 [Электронный ресурс]. – Университет ИТМО. – URL: student.itmo.ru/files/1314 (дата обращения: 05.08.2026).
  3. vkr-builder [Электронный ресурс]: репозиторий проекта. – URL: github.com/maxbarsukov/vkr-builder (дата обращения: 05.08.2026).
  4. Документация проекта [Электронный ресурс]: правила разметки, команды, каталог проверок. – URL: github.com/maxbarsukov/vkr-builder/docs (дата обращения: 05.08.2026).
7

ПРИЛОЖЕНИЕ А
Команды

Таблица А.1 Основные команды
КомандаНазначение
buildОбъединить Markdown и собрать DOCX
pdfКонвертировать готовый DOCX в PDF
lintПроверить Markdown на ошибки оформления
watchАвтопересборка при изменении файлов
doctorПроверка зависимостей и движков
initСоздать шаблон config.yaml

Остальные команды, флаги, переменные окружения и коды возврата – в документации [4]. Проект распространяется по лицензии MIT.

8