summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanilasar <danila.sar@yandex.ru>2025-01-03 01:10:11 +0400
committerdanilasar <danila.sar@yandex.ru>2025-01-03 01:10:11 +0400
commitda5aa87b1e7ce9e3caf0ed6fa72471c24e9f9c4d (patch)
tree8b319f2eb9379370f892e748c75bfb6bb2c5cdef
parent0251cc8fc020aff793a2df31e6a6f08a20516d22 (diff)
рефактор: генератор содержания занесён в модуль документов
-rw-r--r--conf.typ60
1 files changed, 30 insertions, 30 deletions
diff --git a/conf.typ b/conf.typ
index 313cef4..eb03436 100644
--- a/conf.typ
+++ b/conf.typ
@@ -61,35 +61,6 @@
undefined_spec: [*НЕИЗВЕСТНАЯ СПЕЦИАЛЬНОСТЬ*]
)
)
-
-#let make_toc(
- info: ()
-) = {
- show outline.entry.where(
- level: 1
- ): it => {
- let heading = it.at("element", default: (:)).at("body", default: "")
- if not strings.caps_headings.contains(heading) {
- it
- return
- }
- grid(
- columns: (auto,1pt, 1fr,1pt, auto),
- align: (left, center, right),
- row-gutter: 0pt,
- rows: (auto),
- inset: 0pt,
- heading, none, it.fill, none, it.page
- )
- v(-28pt) // TODO разобраться, откуда такой отступ после grid
- }
-
-
- outline(indent: 2%, title: [Содержание])
- pagebreak(weak: true)
-}
-
-
#let indent = 1cm
#let styled = [#set text(red)].func()
#let space = [ ].func()
@@ -382,6 +353,35 @@
v(4.3pt * (0.4 + 0.2))
},
/*
+ * Генерирует страницу содержания
+ * Принимает:
+ * - info - информация о документе
+ */
+ make_toc:
+ (
+ info: ()
+ ) => {
+ show outline.entry.where(
+ level: 1
+ ): it => {
+ let heading = it.at("element", default: (:)).at("body", default: "")
+ if not strings.caps_headings.contains(heading) {
+ it
+ return
+ }
+ grid(
+ columns: (auto,1pt, 1fr,1pt, auto),
+ align: (left, center, right),
+ row-gutter: 0pt,
+ rows: (auto),
+ inset: 0pt,
+ heading, none, it.fill, none, it.page
+ )
+ v(-28pt) // TODO разобраться, откуда такой отступ после grid
+ }
+ outline(indent: 2%, title: [Содержание])
+ },
+ /*
* Генерирует весь документ
* Принимает:
* - info - информация о документе
@@ -422,7 +422,7 @@
// Вывод содержания
if settings.contents_page.enabled {
- make_toc(info: info)
+ (self.document.make_toc)(info: info)
}
// Оформление элементов содержимого документа