Быстрый старт
Пошаговое руководство по созданию вашего первого документа по ГОСТ 7.32-2017.
Если вам нужно быстро перейти от пустого файла к отчёту, начните здесь. За несколько минут соберём
рабочий main.typ: титульный лист, исполнители, реферат, содержание, основные разделы, источники и
приложения. Пример можно использовать как каркас для лабораторной, курсовой или отчёта о НИР.
Где писать код
Оба варианта поддерживают Live Preview (предпросмотр в реальном времени): вы меняете .typ, а окно просмотра обновляется рядом.
Будет сразу видно, что именно изменилось в документе.
- Typst App работает в браузере и не требует установки.
- VS Code с Tinymist удобен для локальной работы, Git и проектов с внешними файлами.
Быстрый старт
Создайте файл main.typ. Первым делом нам нужно импортировать сам шаблон и его основные функции. Будет использоваться актуальная версия из Typst Universe.
#import "@preview/modern-g7-32:0.2.0": gost, abstract, appendixesТитульный лист и параметры
Шаблон активируется командой #show: gost.with(...). Она применяет правила оформления ко всему
документу и создаёт титульный лист из переданных полей.
Добавьте этот блок сразу после импортов:
#import "@preview/modern-g7-32:0.2.0": gost, abstract, appendixes#show: gost.with( // Скрываем титульник, потому что нормоконтролёр всё равно заставит переделывать его ещё три раза hide-title: true,)
Как вы можете заметить, у странички появилась нумерация по ГОСТ.
Если вам нужен полный титульный лист, то можно использовать стандартный шаблон для оформления титульного листа: Титульный лист и его настройки
Если у вас есть PDF с готовым титульным листом, то за пару строк кода можно импортировать его в качестве титульника Typst документа:
#import "@preview/modern-g7-32:0.2.0": gost, abstract, appendixes#show: gost.with( hide-title: true,)#[ #set page(margin: 0mm) #image("databases-lab-unfinished.pdf")]
Исполнители работы
Внутри той же функции gost.with есть параметр performers. Именно он отображает тех, кто выполнил работу.
- Если исполнитель один — он автоматически появится прямо на титульном листе.
- Если их несколько — шаблон создаст отдельную страницу "СПИСОК ИСПОЛНИТЕЛЕЙ".
Добавьте его в вызов gost.with (и уберите hide-title: true):
#import "@preview/modern-g7-32:0.2.0": gost, abstract, appendixes#show: gost.with( performers: ( (name: "И.О. Тащилов", position: "Студент, писавший код"), (name: "А.В. Халявников", position: "Студент, купивший шаурму"), // Попробуйте убрать этого нахлебника ),)
Страница с подробностями: Список исполнителей и соисполнители
Реферат
Следующий по ГОСТу структурный элемент — Реферат.
В Typst вам не нужно вручную считать количество страниц, рисунков, таблиц и источников — функция #abstract сделает это за вас.
#abstract("костыли", "безысходность", "stack overflow", "дедлайн", "отчисление")[В отчёте рассмотрен процесс адаптации чужого кода с GitHub под требования курсовой работы.Описаны модель переименования переменных, алгоритм удаления комментариев на английском и результаты тестирования на машине преподавателя (не запустилось).]
Страница с подробностями: Реферат
Содержание и введение
Тут всё максимально просто. Вызываем встроенную функцию #outline() для сборки оглавления, а затем начинаем писать текст введения.
Шаблон уже знает, что ВВЕДЕНИЕ не нумеруется и должно быть оформлено заглавными буквами.
#outline()= ВведениеВ настоящее время задача сдачи работы в срок невероятно актуальна, потому что в противном случае автор отправится изучать строевую подготовку и устройство автомата Калашникова...
Страницы с подробностями: Содержание и Введение
Основная часть
Для создания разделов и подразделов используйте стандартный синтаксис Typst (=, ==).
Шаблон сам расставит правильные абзацные отступы, нумерацию (1.1, 1.2) и начнет новые главы с новой страницы.
Чтобы добавить рисунок -- положите его рядом с main.typ и внесите в код с помощью функции:
#figure(image("filename.png"), caption: "Заголовок рисунка").
Typst поддерживает PNG, JPEG, SVG и PDF форматы для image.
= Проектирование сервисаВ этом разделе описана архитектура сервиса, которую мы придумали уже после того, как всё написали.== Выбор архитектурыДля решения задачи был выбран подход «И так сойдёт». Как видно на рисунке @project-scheme, архитектура проекта невероятно сложная, нам ещё предстоит выяснить как она работает.#figure(image("scheme.png", width: 70%),caption: [Архитектура системы]) <project-scheme>
Внутри разделов вы можете использовать любые элементы: формулы, код, списки или таблицы. Шаблон автоматически приведет их к ГОСТу (отцентрирует, подпишет и пронумерует).
Страницы с подробностями:
Заключение и список источников
Заключение, как и Введение, не нумеруется. Сразу после него добавьте список литературы.
Файл references.bib положите рядом с main.typ.
// TODO: Добавить вкладки как pitch.typst-gost.ru
= ЗаключениеВ ходе выполнения работы были достигнуты следующие результаты: выпито 8 литров кофе, осознана тщетность бытия, а теоретическая база была успешно подогнана под требования @gost732. Несмотря на то, что основная архитектурная экспертиза была получена от ведущих мировых экспертов @indian_youtube, в текст были добавлены умные слова из @wikipedia_pattern, чтобы у нормоконтроля не возникло лишних вопросов.#bibliography("references-funny.bib")
Страницы с подробностями:
- Как создать
references.bibфайл смотрите в Список использованных источников. - Заключение.
Приложения
По ГОСТу приложения нумеруются буквами русского алфавита.
У них свои, независимые счётчики для рисунков и таблиц (Рисунок А.1).
Чтобы перевести документ в режим приложений, используйте #show: appendixes,
все последующие заголовки будут считаться приложениями.
#import "@preview/modern-g7-32:0.2.0": gost, appendixes= Листинги исходного кодаВ данном приложении представлен исходный код, который лучше никому не показывать.#figure(```python def do_everything(): # TODO: написать реализацию до защиты # UPD: не успели, возвращаем заглушку return "Успешный успех!"```,caption:[Ядро enterprise-системы]) <code-appendix>// Попробуйте добавить ещё одно приложение
Страница с подробностями: Оформление приложений
Поделитесь своим мнением об этой странице