Частые сценарии
Здесь собраны короткие маршруты для частых задач. Выберите нужный сценарий и выполните команды из блока Task; ручные команды оставлены рядом на случай, если Task не установлен.
Собрать итоговый PDF
Рекомендуемый путь
Используйте Docker-сборку: она последовательно подготовит титульные страницы, Mermaid-диаграммы, Python-диаграммы и итоговый PDF.
task build
uv run python scripts/build_all.py
После сборки итоговый PDF появится в корне проекта. Если команда падает, откройте Проблемы с компиляцией.
Когда собирать образы отдельно
task build запускает профильные контейнеры через docker compose run --build, поэтому отдельная команда task build:images обычно не нужна. Используйте ее только если хотите заранее пересобрать все Docker-образы.
Собрать без Docker
- Установите TeX Live, Python,
latexmk,lualatexиbiber. Python нужен PyLuaTeX во время компиляции LaTeX. - Подготовьте внешние артефакты: титульник, задание, диаграммы и код приложений.
- Запустите локальную сборку.
task latex:local
latexmk "Куприянов_И221_диплом.tex"
Подробности: Сборка без Docker.
Обновить диаграммы
Если менялись mermaid/*.mmd, пересоберите Mermaid-диаграммы:
task mermaid
uvx --from git+https://github.com/ethercod3/compile_mermaid.git compile-mermaid
Если менялись python_diagrams/*.py, пересоберите Python-диаграммы:
task diagrams
uv run python scripts/compile_python_diagrams.py
После обновления диаграмм пересоберите основной PDF. Подробнее: Диаграммы.
Обрезать поля PDF
Команда обновляет исходный PDF на месте, поэтому перед запуском убедитесь, что выбран правильный файл.
task crop -- path/to/file.pdf
task crop:docker -- path/to/file.pdf
Локальный вариант требует pdfcrop и Ghostscript. Docker-вариант использует отдельный Alpine-образ с texlive-binextra и Ghostscript.
Разделить PDF на цветные и ЧБ страницы
Команда создает два файла рядом с исходным PDF: *_color.pdf только с цветными страницами и *_bw.pdf только с черно-белыми страницами.
task pdf:split-color -- path/to/file.pdf
docker compose --profile latex run --build --rm latex python3 scripts/split_pdf_color.py path/to/file.pdf
Ghostscript определяет цветные страницы через покрытие C/M/Y, а qpdf экспортирует страницы без изменения поворота. Подробнее: Разделение PDF на цветные и ЧБ страницы.
Обновить титульник или задание
- Измените DOCX-файл в
docx/. - Пересоберите PDF-версии титульных страниц.
- Пересоберите основной документ.
task docx
task build
docker compose --profile docx up
uv run python scripts/build_all.py
Если пустые страницы нужно сохранить, используйте task docx:keep-blank. Подробнее: Титульник и задание.
Подключить код приложения
Положите код рядом с папкой LaTeX-проекта и проверьте пути в .env:
VAULT_PATH="/vault_code"
VAULT_OS_PATH="../vault_diploma"
Что означает путь
VAULT_OS_PATH - путь на вашей машине, а VAULT_PATH - путь внутри Docker-контейнера.
Подробнее: Код в приложениях.
Сравнить PDF между коммитами
Перед запуском убедитесь, что рабочее дерево Git чистое.
task diff -- <commit_1> <commit_2>
uvx diff-pdf-commits --build "<команда сборки>" --pdf "<PDF из TARGET>" --view <commit_1> <commit_2>
Подробнее: Сравнение PDF между коммитами.
Открыть Stirling PDF
Stirling PDF - это локальный веб-интерфейс, который удобно использовать для ручной проверки и сверки PDF в браузере.
task stirling
docker compose --profile stirling up -d stirling_pdf
После запуска откройте:
http://localhost:8080
Для управления доступны команды:
task stirling:logs
task stirling:down
Настройки порта и стартового пароля администратора хранятся в .env. Подробнее: Stirling PDF.
Создать резервную копию Git-истории
Локально создать и проверить bundle без загрузки:
task backup:local
Загрузить bundle в Google Drive и Яндекс Диск через rclone:
task backup
Перед бэкапом закоммитьте или спрячьте важные локальные изменения: git bundle сохраняет историю, но не незакоммиченные файлы. Подробнее: Резервное копирование.
Запустить документацию локально
task docs
docker compose --profile docs up docs
После запуска откройте:
http://localhost:8000
Подробнее: Документация.