# Титульный лист (/docs/reference/title)

Титульный лист в `modern-g7-32` собирается из параметров `gost.with`: реквизиты организации,
грифы, тема, руководитель, город и год попадают в готовую страницу без ручной вёрстки.

<Callout type="info">
  Титульный лист включается в общую нумерацию страниц, но номер на нём не проставляется согласно [6.3.2](#6.3.2).
</Callout>

## Быстрый старт

Данные для титульного листа передаются в основную функцию `gost.with`. Если какое-то поле не указано, соответствующий блок на странице будет автоматически скрыт.

<TypstRender
  code={`
#show: gost.with(
  ministry: "МИНОБРНАУКИ РОССИИ",
  organization: (
      full: "Московский авиационный институт",
      short: "МАИ"
  ),
  udk: "004.8",
  research-number: "123456789",
  report-number: "ИКРБС 0123456789",
  approved-by: (
      name: "Иванов И.И.",
      position: "Проректор по науке",
      year: 2024,
  ),
  agreed-by: (
      name: "Петров П.П.",
      position: "Руководитель организации",
  ),
  report-type: "Отчёт",
  about: "о научно-исследовательской работе",
  subject: "Исследование алгоритмов машинного обучения",
  bare-subject: false,
  research: "Разработка методов анализа данных",
  stage: (type: "промежуточный", num: 2),
  part: 1,
  federal: "Выполнено за счёт средств федерального бюджета",
  manager: (
      name: "Сидоров С.С.",
      position: "д-р техн. наук, профессор",
      title: "Руководитель НИР,",
  ),
  city: "Москва",
  year: 2024
)
`}
  hiddenPrefix={`#import "@preview/modern-g7-32:0.2.0": gost, abstract, appendixes\n
#set page(fill: color.white)\n\n`}
  image="title-example-simple.png"
/>

## Варианты использования

### Если титульный лист уже есть в PDF

Иногда кафедра выдаёт готовую первую страницу в PDF. В этом случае можно скрыть титульный лист
пакета и добавить внешний файл средствами Typst:

<TypstRender
  code={`
#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")
]
`}
  assets={["databases-lab-unfinished.pdf"]}
  hiddenPrefix={`
#import "@preview/modern-g7-32:0.2.0": gost, title-templates
#set page(fill: color.white)
\n\n
`}
  image="quick-start-pdf-title.png"
/>

<Callout type="info">
  Обернуть вызов `#image` приходится для того, чтобы остальной документ имел правильные отступы.
</Callout>

Такой вариант отключает автоматическую вёрстку реквизитов. Дальше документ всё равно получает
стили `modern-g7-32`: поля, основной текст, структурные заголовки, содержание и приложения.

### Встроенные титульные листы шаблона

Встроенные титульные листы позволяют использовать реквизиты для заполнения подготовленного командой Typst Gost титульного листа.

<TypstRender
  code={`
#show: gost.with(
  title-template: title-templates.mai-university-lab,
  institute: (
      number: 3,
      name: "Системы управления, информатика и электроэнергетика",
  ),
  department: (
      number: 307,
      name: "Цифровые технологии и информационные системы",
  ),
  performers: (
      (name: "Фамилия И.О.", position: "Студент"),
  ),

  bare-subject: false,
  subject: "Пользовательский интерфейс для работы с базой данных",
  manager: (name: "Фамилия И.О.", position: "Преподаватель"),
  city: "Москва",
)
`}
  hiddenPrefix={`
#import "@preview/modern-g7-32:0.2.0": gost, title-templates
#set page(fill: color.white)
\n\n
`}
  image="title-templates.png"
/>

<Callout type="warning">
  На данный момент доступен только один шаблон: `mai-university-lab`.
  С развитием проекта их станет больше.
</Callout>

## Автоматизация и логика шаблона

Шаблон соблюдает строгие правила оформления, описанные в пункте [6.10.1](#6.10.1):

1. **Регистр**: Наименование министерства, организации, вид документа и тема автоматически переводятся в верхний регистр (Caps Lock), как того требует [6.1.3](#6.1.3).
2. **Грифы**: Грифы «СОГЛАСОВАНО» (слева) и «УТВЕРЖДАЮ» (справа) выравниваются автоматически. Дата может быть указана как `auto` для подстановки текущего дня.
3. **Связующие фразы**: Перед наименованием отчёта шаблон автоматически добавляет слова «по теме:». Если наименование НИР и отчёта совпадают, используйте параметр `bare-subject: true`, чтобы убрать лишнюю фразу.
4. **Единственный исполнитель**: Если в [списке исполнителей](./performers.mdx) указан только один человек, шаблон автоматически перенесёт его сведения на титульный лист.
5. **Нумерация книг**: Если отчёт состоит из нескольких книг ([5.1.3](#5.1.3)), используйте параметр `part`, и на титульном листе появится надпись «Книга X» под видом отчёта.

## Параметры функции

Ниже перечислены аргументы `gost.with`, которые влияют на титульный лист. Параметр `performers`
описан отдельно в разделе [Список исполнителей](./performers.mdx), потому что он одновременно
управляет титульным листом и отдельным структурным элементом отчёта.

### Основные реквизиты

<TypeTable
  type={{
ministry: {
description: "Полное наименование министерства или ведомства",
type: "string",
},
organization: {
description: "Словарь с ключами full (заглавными) и short (в скобках)",
type: "dictionary",
},
udk: {
description: "Индекс Универсальной десятичной классификации",
type: "string",
},
"research-number": {
description: "Регистрационный номер НИР",
type: "string",
},
"report-number": {
description: "Регистрационный номер отчёта или ИКРБС",
type: "string",
},
"report-type": {
description: "Вид документа (по умолчанию ОТЧЕТ)",
type: "string",
default: "ОТЧЕТ"
},
about: {
description: "Уточнение вида работы, которое печатается под видом документа",
type: "content | string",
},
subject: {
description: "Наименование отчёта",
type: "string",
},
research: {
description: "Наименование НИР, если оно отличается от темы отчёта",
type: "content | string",
},
"bare-subject": {
description: "Отключает автоматическую строку «по теме:» перед названием отчёта",
type: "boolean",
default: "false"
},
part: {
description: "Номер книги отчёта; выводится как «Книга N»",
type: "integer | string",
},
federal: {
description: "Дополнительная строка о финансировании или другом основании работы",
type: "content | string",
},
city: {
description: "Место составления отчета; печатается в нижнем колонтитуле титульного листа",
type: "string",
},
}}
/>

### Грифы согласования и утверждения

Поля `approved-by` и `agreed-by` принимают словари: `name`, `position`, `year`.

<TypstRender
  code={`
#show: gost.with(
  approved-by: (
      name: "Иванов И.И.",
      position: "Проректор по науке",
      year: 2023
  ),
  agreed-by: (
      name: "Петров П.П.",
      position: "Генеральный директор"
  )
)
`}
  image="title-stamps.png"
/>

### Руководитель и этап работы

Поля `manager` и `stage` также передаются словарями. У руководителя используются `name`,
`position` и необязательный `title`. У этапа используются `type` и необязательный `num`.

<TypeTable
  type={{
manager: {
description: "Сведения о руководителе НИР: name, position и необязательный title",
type: "dictionary",
default: "(title: \"Руководитель НИР,\")"
},
stage: {
description: "Тип и номер этапа: например, (type: \"промежуточный\", num: 2)",
type: "dictionary",
},
city: {
description: "Место составления отчёта; печатается в нижнем колонтитуле титульного листа",
type: "string",
},
year: {
description: "Год составления отчёта; при auto берётся текущий год",
type: "integer | auto",
default: "auto"
},
"hide-title": {
description: "Отключает автоматическую генерацию титульного листа",
type: "boolean",
default: "false"
},
"title-template": {
description: "Функция шаблона титульного листа; подробнее см. пользовательские титульники",
type: "function",
default: "title-templates.default"
}
}}
/>

## Требования ГОСТ 7.32-2017

<GostQuote page={7} id="5.1.1">
  5.1.1 Титульный лист является первой страницей отчета о НИР и служит источником информации, необходимой для обработки и поиска отчета в информационной среде.
</GostQuote>

<GostQuote page={7} id="5.1.2">
  5.1.2 На титульном листе приводят следующие сведения:
  а) наименование министерства (ведомства) или другого структурного образования, в систему которого входит организация-исполнитель;
  б) наименование (полное и сокращенное) организации — исполнителя НИР;
  в) индекс Универсальной десятичной классификации (УДК) по [ГОСТ 7.90](/documents/gost-7.90-2007.pdf);
  г) номера, идентифицирующие отчет:

  1. регистрационный номер НИР;
  2. регистрационный номер отчета;
     д) грифы согласования и утверждения отчета, включая подпись руководителя организации с расшифровкой, печать организации и даты согласования и утверждения отчета (дату указывают в интервале выполнения работы — для промежуточных отчетов и дату окончания — для заключительных отчетов);
     е) вид документа (отчет о НИР);
     ж) наименование НИР;
     и) наименование отчета;
     к) вид отчета (заключительный, промежуточный);
     л) номер (шифр) научно-технической программы, темы;
     м) номер книги отчета (при наличии нескольких книг отчета);
     н) должность, ученую степень, ученое звание, подпись, инициалы и фамилию научного руководителя/руководителей НИР;
     п) место и год составления отчета.
</GostQuote>

<GostQuote page={7} id="5.1.3">
  5.1.3 Если отчет о НИР состоит из двух и более книг, каждая книга должна иметь свой титульный лист, соответствующий титульному листу первой книги и содержащий сведения, относящиеся к данной книге.
</GostQuote>

<GostQuote page={15} id="6.10.1">
  6.10.1 Титульный лист содержит реквизиты:

  * наименование министерства (ведомства) или другого структурного образования, в систему которого входит организация — исполнитель, следует помещать в верхней части титульного листа одно под другим по центру страницы. Наименование министерства (ведомства) приводят в полном виде с прописной буквы;
  * полное наименование организации — исполнителя НИР. Наименование организации — исполнителя НИР приводят прописными буквами, по центру страницы, через один межстрочный интервал;
  * сокращенное наименование организации — исполнителя НИР. Сокращенное наименование организации приводят в круглых скобках, на отдельной строке, по центру страницы, прописными буквами, через один межстрочный интервал;
  * индекс УДК, регистрационный номер НИР, регистрационный номер отчета. Эти данные размещаются одно под другим на титульном листе слева, через один межстрочный интервал. От наименования организации — исполнителя НИР индекс УДК отделяют два межстрочных интервала;
  * грифы согласования и утверждения. Гриф согласования и утверждения состоит из слов: «СОГЛАСОВАНО» и «УТВЕРЖДАЮ» (без кавычек), наименования должности, ученой степени, ученого звания лица, согласовавшего и утвердившего отчет, личной подписи (для подписи применяется синий цвет чернил), расшифровки подписи (инициалы и фамилия), даты согласования и утверждения отчета. Здесь же проставляется печать организации, согласовавшей и утвердившей отчет. Гриф СОГЛАСОВАНО размещается на титульном листе слева, а УТВЕРЖДАЮ — справа. Грифы согласования и утверждения располагаются ниже номеров, идентифицирующих отчет (через два межстрочных интервала). Дата согласования и утверждения оформляется арабскими цифрами в следующей последовательности: день, месяц, год. День и месяц оформляются двумя парами арабских цифр, разделенных точкой, год — четырьмя арабскими цифрами. Допускается словесно-цифровой способ оформления даты. Данные под грифами согласования и утверждения приводят через один межстрочный интервал;
  * вид документа (отчет о НИР). Вид документа «ОТЧЕТ О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ» приводят прописными буквами по центру страницы: на первой строке по центру слово «ОТЧЕТ», на следующей строке — слова «О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ», через один межстрочный интервал, отступив от грифов согласования и утверждения два межстрочных интервала;
  * наименование НИР. Наименование НИР приводят строчными буквами с первой прописной по центру строки, через один межстрочный интервал;
  * наименование отчета. Наименование отчета приводят прописными буквами, по центру строки, через один межстрочный интервал перед наименованием отчета на верхней строке по центру приводят строчными буквами слова «по теме:». Если наименование НИР совпадает с наименованием отчета, то приводится только одно наименование прописными буквами, не приводя слова «по теме»;
  * вид отчета (промежуточный, заключительный). Вид отчета приводят в круглых скобках строчными буквами. Для промежуточных отчетов в тех же круглых скобках, через запятую, после вида отчета указывают номер этапа;
  * номер (шифр) научно-технической программы, темы. Шифр программы, темы печатают по центру страницы с прописной буквы, через один межстрочный интервал;
  * номер книги отчета. Если отчет состоит из нескольких книг, то на титульном листе приводится слово «Книга» строчными буквами с первой прописной и через пробел номер текущей книги;
  * должность, ученая степень, ученое звание, подпись, инициалы и фамилия научного руководителя/руководителей НИР. Слева указывают должности, ученые степени, ученые звания руководителя/руководителей НИР, затем оставляют свободное поле для подписей, справа указывают инициалы и фамилии. Если на титульном листе не размещаются все необходимые подписи, то их переносят на дополнительную страницу титульного листа. В правом верхнем углу дополнительной страницы указывают «Продолжение титульного листа», а в нижней части первой страницы справа указывают «Продолжение на следующем листе»;
  * место и год составления отчета. Место (город или другое место выполнения отчета) и год составления отчета приводят по центру в нижней части титульного листа, отделяя друг от друга пробелом. Если титульный лист имеет продолжение на следующем листе, то место и год составления отчета приводятся только на первом листе.
</GostQuote>
