Черновик ПЗ
This commit is contained in:
266
Report/Пример работы с Typst.typ
Normal file
266
Report/Пример работы с Typst.typ
Normal file
@@ -0,0 +1,266 @@
|
||||
#import "@preview/modern-g7-32:0.2.0": abstract, appendix-heading, appendixes, enum-numbering, gost
|
||||
|
||||
// Нумерация с использованием кириллицы
|
||||
#set enum(numbering: enum-numbering)
|
||||
|
||||
#show: gost.with(
|
||||
ministry: "Наименование министерства (ведомства) или другого структурного образования, в систему которого входит организация-исполнитель",
|
||||
organization: (
|
||||
full: "Полное наименование организации — исполнителя НИР",
|
||||
short: "Сокращённое наименование организации",
|
||||
),
|
||||
udk: "индекс УДК",
|
||||
research-number: "регистрационный номер НИР",
|
||||
report-number: "регистрационный номер отчета",
|
||||
approved-by: (
|
||||
name: "Фамилия И.О.",
|
||||
position: "Должность, наимен. орг.",
|
||||
year: 2017,
|
||||
), // Гриф согласования
|
||||
agreed-by: (
|
||||
name: "Фамилия И.О.",
|
||||
position: "Должность, наимен. орг.",
|
||||
year: auto,
|
||||
), // Гриф утверждения, год подставляется из аргумента year
|
||||
report-type: "отчёт",
|
||||
about: "О научно-исследовательской работе",
|
||||
research: "Наименование НИР",
|
||||
bare-subject: false, // Можно убрать "по теме"
|
||||
subject: "Наименование отчёта",
|
||||
manager: (
|
||||
name: "Фамилия И.О.",
|
||||
position: "Должность",
|
||||
title: "Руководитель НИР,",
|
||||
), // Руководитель отчёта
|
||||
year: 2022,
|
||||
stage: (type: "вид отчёта", num: 1), // Этап отчёта
|
||||
federal: "Наименование федеральной программы",
|
||||
part: 2, // Номер книги отчёта
|
||||
city: "Город",
|
||||
text-size: (default: 14pt, small: 10pt), // Можно указать размеры текста
|
||||
indent: 1.25cm, // Можно указать отступ
|
||||
hide-title: false, // Убрать ли титульный лист
|
||||
title-footer-align: center, // Выравнивание города и года на титульном листе
|
||||
pagination-align: center, // Выравнивание номера страницы
|
||||
margin: (
|
||||
left: 30mm,
|
||||
right: 15mm,
|
||||
top: 20mm,
|
||||
bottom: 20mm,
|
||||
), // Отступы страницы
|
||||
add-pagebreaks: true, // Убрать ли разрывы страниц
|
||||
performers: (
|
||||
"Всероссийский институт научной и технической информации " + "Российской академии наук (ВИНИТИ РАН)",
|
||||
// Можно указать организацию, к которой относятся следующие исполнители
|
||||
(
|
||||
name: "И.О. Фамилия",
|
||||
position: "Должность",
|
||||
part: "введение, раздел 1",
|
||||
), // Можно добавить выполненную часть
|
||||
(name: "И.О. Фамилия", position: "Должность"),
|
||||
"Другая организация",
|
||||
(name: "И.О. Фамилия", position: "Должность"),
|
||||
(
|
||||
name: "И.О. Фамилия",
|
||||
position: "Должность",
|
||||
co-performer: true,
|
||||
), // Поддерживаются соисполнители
|
||||
), // Если исполнитель один - он будет перенесён на титульный лист
|
||||
)
|
||||
|
||||
#abstract(
|
||||
"шаблон",
|
||||
"typst",
|
||||
"государственные стандарты",
|
||||
"оформление документов",
|
||||
"система вёрстки",
|
||||
"автоматизация",
|
||||
)[
|
||||
Настоящий документ представляет собой описание шаблона modern-g7-32, разработанного для системы вёрстки #link(
|
||||
"https://typst.app/",
|
||||
)[typst] с целью автоматизации создания документов, соответствующих государственным стандартам. Шаблон упрощает
|
||||
процесс оформления, в частности, титульного листа, благодаря функции `gost.with`, которая позволяет гибко настраивать
|
||||
отображение информации и автоматически подставлять текущий год.
|
||||
|
||||
В документе рассмотрены основные элементы шаблона, включая оформление таблиц, блоков кода и изображений, а также
|
||||
детально описана работа с аргументами функции `gost.with` для кастомизации титульной страницы. Представленный шаблон
|
||||
предназначен для пользователей системы typst, стремящихся к созданию стандартизированных документов с минимальными
|
||||
усилиями.
|
||||
]
|
||||
|
||||
#outline()
|
||||
|
||||
= Введение
|
||||
|
||||
Шаблон modern-g7-32 предназначен для создания документов в строгом соответствии с ГОСТ. Он упрощает оформление
|
||||
титульного листа, автоматизирует подстановку даты и позволяет легко управлять отображением информации.
|
||||
|
||||
|
||||
= Документация шаблона Typst
|
||||
|
||||
Этот документ описывает особенности использования шаблона modern-g7-32 для системы вёрстки #link(
|
||||
"https://typst.app/",
|
||||
)[typst]. Ниже приведены примеры оформления элементов, таких как таблицы, блоки кода и изображения, а также подробное
|
||||
описание работы с аргументами шаблона через функцию `gost.with` @examplewebsite.
|
||||
|
||||
= Основные элементы шаблона
|
||||
|
||||
Шаблон modern-g7-32 позволяет создавать документы, оформленные в строгом соответствии с государственными стандартами.
|
||||
|
||||
== Таблицы
|
||||
|
||||
Для создания таблиц используется функция `table()`, обёрнутая в макрос `#figure` для добавления подписи. Пример показан
|
||||
на таблице @example-table.
|
||||
|
||||
#figure(
|
||||
table(
|
||||
columns: 4,
|
||||
table.header([Заголовок 1], [Заголовок 2], [Т], [Заголовок 4]),
|
||||
[Проверка], [Проверка], [Проверка], [Проверка],
|
||||
[Проверка], [Проверка], [Проверка], [Проверка],
|
||||
),
|
||||
caption: [Пример таблицы с данными],
|
||||
) <example-table>
|
||||
|
||||
== Блоки кода
|
||||
|
||||
Чтобы оформить блоки кода в документе, можно использовать синтаксис, похожий на Markdown. Пример указан на листинге
|
||||
@example-code:
|
||||
|
||||
#figure(
|
||||
```typst
|
||||
// Пример кода на Typst:
|
||||
#import "package.typ"
|
||||
|
||||
// Функция вывода сообщения
|
||||
print("Hello, world!")
|
||||
```,
|
||||
caption: [Пример кода на Typst],
|
||||
) <example-code>
|
||||
|
||||
Этот блок кода демонстрирует базовую структуру программы на Typst.
|
||||
|
||||
#pagebreak()
|
||||
|
||||
== Формулы
|
||||
|
||||
Чтобы оформить формулы в документе, можно использовать синтаксис typst-math. Примеры демонстрируют использование формул
|
||||
в шаблоне:
|
||||
|
||||
Формула @example-formula-first показывает как применять сложные функции, формула @example-formula-second демонстрирует
|
||||
как можно оформить матрицы, а формула @example-formula-third – использование типов и обозначений @ivanov2020osnovy.
|
||||
|
||||
|
||||
$ sum_(k=0)^n k = 1 + ... + n = (n(n+1)) / 2 $
|
||||
<example-formula-first>
|
||||
|
||||
|
||||
$ mat(1, 2, 3; 4, 5, 6; 7, 8, 9) * x = pi * psi(aleph/x) $
|
||||
<example-formula-second>
|
||||
|
||||
$ cal(A) := { x in RR | x "натуральное" } $
|
||||
<example-formula-third>
|
||||
|
||||
== Изображения
|
||||
|
||||
Изображения добавляются с помощью функции `image()` внутри макроса `#figure`. Пример вставки изображения указан на
|
||||
рисунке @example-image.
|
||||
|
||||
#figure(
|
||||
image("images/home.jpg", width: 40%),
|
||||
caption: "Пример изображения",
|
||||
) <example-image>
|
||||
|
||||
= Работа с аргументами шаблона в gost.with
|
||||
|
||||
Функция `gost.with` принимает множество аргументов, позволяющих настраивать титульную страницу и другие элементы
|
||||
документа.
|
||||
|
||||
Рассмотрим основные возможности:
|
||||
|
||||
- Обязательные и необязательные аргументы. Многие параметры могут быть опущены, если вы не хотите, чтобы соответствующая
|
||||
информация отображалась на титульном листе.
|
||||
- Параметр auto (автоматический год). В аргументах, таких как `approved-by.year` или `year`, можно использовать значение
|
||||
`auto`.
|
||||
|
||||
- Примеры аргументов: В заголовке шаблона задаются такие параметры, как:
|
||||
+ `ministry-name` – название министерства.
|
||||
+ `organization` – информация об учреждении (полное и сокращённое наименования).
|
||||
+ `performers` – список исполнителей с указанием их позиций.
|
||||
|
||||
== Работа с аргументами шаблона <with-numbering>
|
||||
|
||||
Как уже отмечалось, функция `gost.with` позволяет детально настраивать титульную страницу. Рассмотрим ключевые моменты:
|
||||
|
||||
- При передаче параметра `year: auto` текущий год будет вычисляться автоматически.
|
||||
- Если не требуется выводить определённый элемент (например, номер инвентаризации), соответствующий аргумент можно не
|
||||
указывать.
|
||||
- Все аргументы передаются в виде именованных параметров, что обеспечивает гибкость конфигурации.
|
||||
|
||||
= Заключение <conclusion>
|
||||
|
||||
Шаблон modern-g7-32 для Typst значительно упрощает подготовку документов, соответствующих государственным стандартам. Он
|
||||
обеспечивает удобное создание таблиц, блоков кода и изображений, а гибкая настройка через функцию `gost.with` позволяет
|
||||
автоматически подставлять дату и исключать ненужные элементы с титульной страницы. Используйте данный шаблон для
|
||||
создания качественных и стандартизированных документов @petrov2021analiz.
|
||||
|
||||
#bibliography("references.bib")
|
||||
|
||||
#show: appendixes
|
||||
|
||||
= Изображения в приложениях
|
||||
Пример вставки изображения в приложение указан на рисунке @appendix-image.
|
||||
|
||||
#figure(
|
||||
image("images/nature.jpg", width: 40%),
|
||||
caption: "Пример изображения",
|
||||
) <appendix-image>
|
||||
|
||||
== Изображения в под-приложениях
|
||||
Пример вставки изображения в под-приложение указан на рисунке @appendix-image-3. #figure(
|
||||
image("images/abstract.jpg", width: 40%),
|
||||
caption: "Пример изображения",
|
||||
) <appendix-image-3>
|
||||
|
||||
= Блоки кода
|
||||
Чтобы оформить блоки кода в документе, можно использовать синтаксис, похожий на Markdown. Пример указан на листинге
|
||||
@appendix-code:
|
||||
|
||||
#figure(
|
||||
```typst
|
||||
// Пример кода на Typst:
|
||||
#import "package.typ"
|
||||
|
||||
// Функция вывода сообщения
|
||||
print("Hello, world!")
|
||||
```,
|
||||
caption: [Пример кода на Typst],
|
||||
) <appendix-code>
|
||||
|
||||
= Формулы
|
||||
Чтобы оформить формулы в документе, можно использовать синтаксис typst-math. Примеры демонстрируют использование формул
|
||||
в шаблоне:
|
||||
|
||||
$ sum_(k=0)^n k = 1 + ... + n = (n(n+1)) / 2 $ <appendix-formula>
|
||||
|
||||
как оформлять таблицы сказано в приложении @appendix-tables, а также в разделе с нумерацией @with-numbering.
|
||||
|
||||
== Таблицы <appendix-tables>
|
||||
Для создания таблиц используется функция `table()`, обёрнутая в макрос `#figure` для добавления подписи. Пример показан
|
||||
на таблице @appendix-table.
|
||||
|
||||
#figure(
|
||||
table(
|
||||
columns: 4,
|
||||
table.header([Заголовок 1], [Заголовок 2], [Заголовок 3], [Заголовок 4]),
|
||||
[Проверка], [Проверка], [Проверка], [Проверка],
|
||||
[Проверка], [Проверка], [Проверка], [Проверка],
|
||||
),
|
||||
caption: [Пример таблицы с данными],
|
||||
) <appendix-table>
|
||||
|
||||
#appendix-heading("справочное", level: 1)[Приложение с указанием статуса]
|
||||
#lorem(100)
|
||||
|
||||
#appendix-heading("справочное", level: 2)[Приложение второго уровня со статусом]
|
||||
#lorem(100)
|
||||
Reference in New Issue
Block a user