Files
test/docs/documents.md
2026-10-09 04:24:38 +00:00

7.6 KiB
Raw Permalink Blame History

Работа с документами

Один файл настроек

В проекте используется только один входной файл — main.typ. В нём находятся данные документа, выбранный режим и порядок глав. Отдельные draft.typ и clean-copy.typ не нужны.

#let company-id = "scientia" // "scientia" | "technology" | "too"
#let document-mode = "final" // "final" | "draft" | "clean-copy"
#let use-private-assets = false // true, когда есть настроенная .private
  • final — выпускной документ; приватные подписи и печати показываются при use-private-assets = true;
  • draft — черновик с водяным знаком без реальных подписей;
  • clean-copy — чистая копия с зарезервированными местами для ручного подписания.

Служебные страницы отчёта

Титульный лист, список исполнителей и содержание настраиваются независимо от режима final, draft или clean-copy. Переключатели находятся в начале main.typ:

#let show-title-page = true // Титульный лист
#let show-executors = true // Список исполнителей
#let show-outline = true // Содержание

Частые варианты:

Вариант show-title-page show-executors show-outline
Полный отчёт true true true
Отчёт без титула и исполнителей, но с содержанием false false true
Только основной текст false false false

Если список исполнителей включён, но массив executors пуст, отдельная пустая страница не создаётся. При отключении служебных страниц основной текст начинается сразу с первой страницы.

Виды документов

Вид Когда использовать Готовый исходник
Отчёт Технический или научный отчёт с титулом, содержанием, источниками и приложениями report/main.typ
Письмо Исходящее письмо с адресатом, номером, подписью и перечнем приложений letter/main.typ
ТКП Предложение с составом работ, стоимостью, сроками и условиями оплаты commercial-offer/main.typ
Договор Стороны, представители, разделы, реквизиты и приложения contract/main.typ

Самый простой способ выбора — задача VS Code Scientia: выбрать тип документа. Она заменяет main.typ и chapters/, предварительно сохраняя резервную копию в .private/starter-backups/.

Главы

Один крупный смысловой раздел удобно хранить в одном файле:

chapters/
├── 00-introduction.typ
├── 10-methods.typ
├── 20-results.typ
├── 30-discussion.typ
├── 90-conclusion.typ
└── appendices/
    ├── 01-source-data.typ
    └── 02-calculations.typ

Числовой префикс помогает видеть порядок в проводнике, но сам по себе ничего не подключает. Состав PDF задаётся внизу main.typ:

#include "chapters/00-introduction.typ"
#pagebreak()
#include "chapters/10-methods.typ"

Приложения отчёта

Каждое приложение отчёта хранится в отдельном файле внутри chapters/appendices/. В main.typ указываются только пути и их порядок:

#let appendices = (
  path("chapters/appendices/01-source-data.typ"),
  path("chapters/appendices/02-calculations.typ"),
)

Первый заголовок файла является названием приложения. На той же строке задаётся уникальная метка:

= Исходные данные <appendix-source-data>

Здесь находятся таблицы, рисунки и текст приложения.

Номер писать не нужно: файлы из списка автоматически становятся приложениями А, Б, В и начинаются с новой страницы. Заголовки попадают в содержание, а рисунки и таблицы получают номера А.1, А.2, Б.1. Чтобы временно исключить приложение или поменять порядок, измените только список appendices в main.typ; сами файлы переносить не требуется.

Ссылка оформляется той же функцией, что и ссылки на рисунки и таблицы:

Исходные данные приведены в #vref(<appendix-source-data>).

Получится «в Приложении А». Другие формы: #vref(<appendix-source-data>, "и") — «Приложение А», "р" — «Приложения А», "д" — «Приложению А», "в" — «Приложение А», "т" — «Приложением А». Групповая ссылка #vrefs((<appendix-a>, <appendix-b>)) даёт «Приложениях А и Б».

Параметры attachment() и attachment-set() по-прежнему используются в письмах и договорах, где название нужно для перечня вложений. Для отчёта они не нужны.

Ресурсы

  • изображения — assets/images/;
  • библиография — assets/references.bib;
  • таблицы данных — assets/data/ или непосредственно assets/;
  • материалы конкретной главы можно хранить в подпапке с понятным именем.

Используйте прямые слеши: assets/images/section-2.png. Путь внутри главы считается относительно файла главы, поэтому из chapters/10-main.typ изображение обычно открывается как ../assets/images/example.png.

Как начать собственный проект

  1. Выберите вид документа до начала больших правок.
  2. Откройте main.typ и проверьте параметры сверху вниз.
  3. Переименуйте или создайте главы.
  4. Обновите список #include.
  5. Замените учебные рисунки, таблицы и формулы своими данными.
  6. Соберите PDF и сохраните законченную часть отдельным коммитом.