xander 1 vecka sedan
förälder
incheckning
bf4092b085
100 ändrade filer med 93 tillägg och 88 borttagningar
  1. 1 0
      .template/lib/domain/document.typ
  2. 5 1
      .template/lib/presentation/profiles/report.typ
  3. 36 35
      .template/lib/report.typ
  4. BIN
      .work/_z_caption.png
  5. BIN
      .work/_z_leg1.png
  6. BIN
      .work/_z_legend.png
  7. BIN
      .work/_z_title.png
  8. BIN
      .work/_zoom_bottom.png
  9. BIN
      .work/_zoom_top.png
  10. BIN
      .work/check-gost-font/full-fix-p26.png
  11. BIN
      .work/check-gost-font/full-fix-p40.png
  12. BIN
      .work/check-gost-font/full-p09.png
  13. BIN
      .work/check-gost-font/full-p11.png
  14. BIN
      .work/check-gost-font/full-p26.png
  15. BIN
      .work/check-gost-font/full-p40.png
  16. BIN
      .work/check-gost-font/l2-p09.png
  17. BIN
      .work/check-gost-font/l2-p11.png
  18. BIN
      .work/check-gost-font/l3-fix-p14.png
  19. BIN
      .work/check-gost-font/l3-p10.png
  20. BIN
      .work/check-gost-font/l3-p14.png
  21. BIN
      .work/check-gost-font/l6-fix-p14.png
  22. BIN
      .work/check-gost-font/l6-p14.png
  23. BIN
      .work/check-laba6-a3/full-p09-+0.png
  24. BIN
      .work/check-laba6-a3/full-p09-+1.png
  25. BIN
      .work/check-laba6-a3/full-p09--1.png
  26. BIN
      .work/check-laba6-a3/full-p11-+0.png
  27. BIN
      .work/check-laba6-a3/full-p11-+1.png
  28. BIN
      .work/check-laba6-a3/full-p11--1.png
  29. BIN
      .work/check-laba6-a3/full-p40-+0.png
  30. BIN
      .work/check-laba6-a3/full-p40-+1.png
  31. BIN
      .work/check-laba6-a3/full-p40--1.png
  32. BIN
      .work/check-laba6-a3/lab6-p13.png
  33. BIN
      .work/check-laba6-a3/lab6-p14.png
  34. BIN
      .work/check-laba6-a3/lab6-p15.png
  35. BIN
      .work/font-diff/cmp-laba3.png
  36. BIN
      .work/font-diff/cmp-laba6.png
  37. 0 0
      .work/font-diff/old-laba6.png
  38. BIN
      .work/judge/crops/folio_08.png
  39. BIN
      .work/judge/crops/folio_09.png
  40. BIN
      .work/judge/crops/folio_10.png
  41. BIN
      .work/judge/crops/folio_11.png
  42. BIN
      .work/judge/crops/folio_12.png
  43. BIN
      .work/judge/crops/folio_25.png
  44. BIN
      .work/judge/crops/folio_26.png
  45. BIN
      .work/judge/crops/folio_39.png
  46. BIN
      .work/judge/crops/folio_40.png
  47. BIN
      .work/judge/crops/folio_41.png
  48. BIN
      .work/judge/crops/p11_bottomband.png
  49. BIN
      .work/judge/crops/p11_gridlabels.png
  50. BIN
      .work/judge/crops/p11_gridrows.png
  51. BIN
      .work/judge/crops/p11_leftstrip.png
  52. BIN
      .work/judge/crops/p11_midlabels.png
  53. BIN
      .work/judge/crops/p11_rows4x.png
  54. BIN
      .work/judge/crops/p11_rowszoom.png
  55. BIN
      .work/judge/crops/p11_tunnel.png
  56. BIN
      .work/judge/crops/p11_vedomost.png
  57. BIN
      .work/judge/crops/p26_gamma.png
  58. BIN
      .work/judge/crops/p26_main.png
  59. BIN
      .work/judge/crops/p26_right.png
  60. BIN
      .work/judge/crops/p39_f29.png
  61. BIN
      .work/judge/crops/p40_142.png
  62. BIN
      .work/judge/crops/p40_2243.png
  63. BIN
      .work/judge/crops/p40_bottom.png
  64. BIN
      .work/judge/crops/p40_razrez.png
  65. BIN
      .work/judge/crops/p40_top.png
  66. BIN
      .work/judge/crops/p41_tipvv.png
  67. BIN
      .work/judge/crops/p9_A_area.png
  68. BIN
      .work/judge/crops/p9_bottom.png
  69. BIN
      .work/judge/crops/p9_callouts.png
  70. BIN
      .work/judge/crops/p9_k3box.png
  71. BIN
      .work/judge/crops/p9_legend.png
  72. BIN
      .work/judge/page-10-10.png
  73. BIN
      .work/judge/page-11-11.png
  74. BIN
      .work/judge/page-12-12.png
  75. BIN
      .work/judge/page-25-25.png
  76. BIN
      .work/judge/page-26-26.png
  77. BIN
      .work/judge/page-27-27.png
  78. BIN
      .work/judge/page-39-39.png
  79. BIN
      .work/judge/page-40-40.png
  80. BIN
      .work/judge/page-41-41.png
  81. BIN
      .work/judge/page-8-08.png
  82. BIN
      .work/judge/page-9-09.png
  83. BIN
      .work/judge2/final-11-11.png
  84. BIN
      .work/judge2/final-40-40.png
  85. BIN
      .work/judge2/final-8-08.png
  86. BIN
      .work/judge2/page-11-11.png
  87. BIN
      .work/judge2/page-40-40.png
  88. BIN
      .work/judge2/page-8-08.png
  89. BIN
      .work/judge2/page-9-09.png
  90. BIN
      .work/lab3-fig-page.png
  91. BIN
      .work/lab6-fig-page.png
  92. 30 30
      .work/laba-2-vse.pdf
  93. BIN
      .work/laba-2.pdf
  94. BIN
      .work/laba-3.pdf
  95. BIN
      .work/laba-6.pdf
  96. 8 8
      .work/laba-7.pdf
  97. 13 14
      .work/laba-8.pdf
  98. BIN
      .work/laba2-contours-paths.pkl
  99. BIN
      .work/laba2-contours-raw.pkl
  100. BIN
      .work/laba2-plan-data.pkl

+ 1 - 0
.template/lib/domain/document.typ

@@ -31,6 +31,7 @@
       watermark: none,
       media-policy: "placeholder",
       diagnostics: true,
+      toc: true,
     ),
     options,
     scope: "render-options",

+ 5 - 1
.template/lib/presentation/profiles/report.typ

@@ -3,7 +3,7 @@
 // ==========================================
 #import "../../domain/document.typ": document-profile, fail
 #import "../../domain/attachments.typ": attachment-set
-#import "../../report.typ": report
+#import "../../report.typ": report, report-toc
 #import "../../appendices.typ": make_appendices
 #import "../references.typ": render-bibliographies
 
@@ -121,6 +121,10 @@
   }
   let composed = [
     #body
+    #if ctx.options.toc {
+      pagebreak()
+      report-toc()
+    }
     #if ctx.bibliographies.len() > 0 {
       pagebreak()
       render-bibliographies(ctx.bibliographies)

+ 36 - 35
.template/lib/report.typ

@@ -45,8 +45,6 @@
   }
   let mode = if report_mode == "draft" or report_mode == "paper" { report_mode } else { "default" }
   let with-title-page = mode != "paper"
-  // Личный проект: содержание выводится и без фирменного титульного листа.
-  let with-toc = true
   let with-signs-and-stamps = mode == "default"
   let has-watermark = watermark != none
   let watermark-mark = (dx, dy) => place(center + horizon, dx: dx, dy: dy)[
@@ -419,39 +417,6 @@
     }
   }
 
-  // ==========================================
-  // 3. СОДЕРЖАНИЕ
-  // ==========================================
-  if with-toc {
-    service-title([СОДЕРЖАНИЕ])
-
-    // Настройка внешнего вида содержания под стандарт
-    show outline.entry.where(level: 1): it => {
-      v(12pt, weak: true)
-      text(weight: "regular")[#it]
-    }
-
-    // Переопределяем отображение элементов содержания для Приложений (где есть supplement "Приложение")
-    show outline.entry.where(level: 1): it => {
-      if it.element.supplement == [Приложение] {
-        // Поскольку нумерация - функция, мы передаем ее в платформенную функцию numbering
-        let app_num = numbering(it.element.numbering, ..counter(heading).at(it.element.location()))
-        // Отменяем глобальный абзацный отступ, чтобы Приложение Б, В не уезжали вправо, и делаем кликабельным
-        set par(first-line-indent: 0pt)
-        link(it.element.location())[
-          #text(weight: "regular")[Приложение #app_num. #it.element.body]
-          #box(width: 1fr, repeat[.])
-          #it.page()
-        ]
-      } else {
-        text(weight: "regular")[#it]
-      }
-    }
-    outline(title: none, depth: 3, indent: 2em)
-
-    pagebreak()
-  }
-
   // --- ВСТАВКА ОСНОВНОГО ТЕКСТА ---
   // В Typst leading — дополнительный промежуток между строками, а не
   // коэффициент высоты строки. Для Times New Roman 12 pt значение 0.85em
@@ -459,3 +424,39 @@
   set par(leading: 0.85em, spacing: 0.85em)
   body
 }
+
+// ==========================================
+// СОДЕРЖАНИЕ (вставляется вызывающей стороной — render-report)
+// ==========================================
+#let report-toc() = {
+  let service-title = title => {
+    align(center)[
+      #text(size: 14pt, weight: "bold")[#title]
+      #v(1.2em)
+    ]
+  }
+  service-title([СОДЕРЖАНИЕ])
+
+  show outline.entry.where(level: 1): it => {
+    v(12pt, weak: true)
+    if it.element.numbering == none {
+      text(weight: "bold")[#it]
+    } else {
+      text(weight: "regular")[#it]
+    }
+  }
+  show outline.entry.where(level: 1): it => {
+    if it.element.supplement == [Приложение] {
+      let app_num = numbering(it.element.numbering, ..counter(heading).at(it.element.location()))
+      set par(first-line-indent: 0pt)
+      link(it.element.location())[
+        #text(weight: "regular")[Приложение #app_num. #it.element.body]
+        #box(width: 1fr, repeat[.])
+        #it.page()
+      ]
+    } else {
+      text(weight: "regular")[#it]
+    }
+  }
+  outline(title: none, depth: 3, indent: 2em)
+}

BIN
.work/_z_caption.png


BIN
.work/_z_leg1.png


BIN
.work/_z_legend.png


BIN
.work/_z_title.png


BIN
.work/_zoom_bottom.png


BIN
.work/_zoom_top.png


BIN
.work/check-gost-font/full-fix-p26.png


BIN
.work/check-gost-font/full-fix-p40.png


BIN
.work/check-gost-font/full-p09.png


BIN
.work/check-gost-font/full-p11.png


BIN
.work/check-gost-font/full-p26.png


BIN
.work/check-gost-font/full-p40.png


BIN
.work/check-gost-font/l2-p09.png


BIN
.work/check-gost-font/l2-p11.png


BIN
.work/check-gost-font/l3-fix-p14.png


BIN
.work/check-gost-font/l3-p10.png


BIN
.work/check-gost-font/l3-p14.png


BIN
.work/check-gost-font/l6-fix-p14.png


BIN
.work/check-gost-font/l6-p14.png


BIN
.work/check-laba6-a3/full-p09-+0.png


BIN
.work/check-laba6-a3/full-p09-+1.png


BIN
.work/check-laba6-a3/full-p09--1.png


BIN
.work/check-laba6-a3/full-p11-+0.png


BIN
.work/check-laba6-a3/full-p11-+1.png


BIN
.work/check-laba6-a3/full-p11--1.png


BIN
.work/check-laba6-a3/full-p40-+0.png


BIN
.work/check-laba6-a3/full-p40-+1.png


BIN
.work/check-laba6-a3/full-p40--1.png


BIN
.work/check-laba6-a3/lab6-p13.png


BIN
.work/check-laba6-a3/lab6-p14.png


BIN
.work/check-laba6-a3/lab6-p15.png


BIN
.work/font-diff/cmp-laba3.png


BIN
.work/font-diff/cmp-laba6.png


+ 0 - 0
.work/font-diff/old-laba6.png


BIN
.work/judge/crops/folio_08.png


BIN
.work/judge/crops/folio_09.png


BIN
.work/judge/crops/folio_10.png


BIN
.work/judge/crops/folio_11.png


BIN
.work/judge/crops/folio_12.png


BIN
.work/judge/crops/folio_25.png


BIN
.work/judge/crops/folio_26.png


BIN
.work/judge/crops/folio_39.png


BIN
.work/judge/crops/folio_40.png


BIN
.work/judge/crops/folio_41.png


BIN
.work/judge/crops/p11_bottomband.png


BIN
.work/judge/crops/p11_gridlabels.png


BIN
.work/judge/crops/p11_gridrows.png


BIN
.work/judge/crops/p11_leftstrip.png


BIN
.work/judge/crops/p11_midlabels.png


BIN
.work/judge/crops/p11_rows4x.png


BIN
.work/judge/crops/p11_rowszoom.png


BIN
.work/judge/crops/p11_tunnel.png


BIN
.work/judge/crops/p11_vedomost.png


BIN
.work/judge/crops/p26_gamma.png


BIN
.work/judge/crops/p26_main.png


BIN
.work/judge/crops/p26_right.png


BIN
.work/judge/crops/p39_f29.png


BIN
.work/judge/crops/p40_142.png


BIN
.work/judge/crops/p40_2243.png


BIN
.work/judge/crops/p40_bottom.png


BIN
.work/judge/crops/p40_razrez.png


BIN
.work/judge/crops/p40_top.png


BIN
.work/judge/crops/p41_tipvv.png


BIN
.work/judge/crops/p9_A_area.png


BIN
.work/judge/crops/p9_bottom.png


BIN
.work/judge/crops/p9_callouts.png


BIN
.work/judge/crops/p9_k3box.png


BIN
.work/judge/crops/p9_legend.png


BIN
.work/judge/page-10-10.png


BIN
.work/judge/page-11-11.png


BIN
.work/judge/page-12-12.png


BIN
.work/judge/page-25-25.png


BIN
.work/judge/page-26-26.png


BIN
.work/judge/page-27-27.png


BIN
.work/judge/page-39-39.png


BIN
.work/judge/page-40-40.png


BIN
.work/judge/page-41-41.png


BIN
.work/judge/page-8-08.png


BIN
.work/judge/page-9-09.png


BIN
.work/judge2/final-11-11.png


BIN
.work/judge2/final-40-40.png


BIN
.work/judge2/final-8-08.png


BIN
.work/judge2/page-11-11.png


BIN
.work/judge2/page-40-40.png


BIN
.work/judge2/page-8-08.png


BIN
.work/judge2/page-9-09.png


BIN
.work/lab3-fig-page.png


BIN
.work/lab6-fig-page.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 30 - 30
.work/laba-2-vse.pdf


BIN
.work/laba-2.pdf


BIN
.work/laba-3.pdf


BIN
.work/laba-6.pdf


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 8 - 8
.work/laba-7.pdf


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 13 - 14
.work/laba-8.pdf


BIN
.work/laba2-contours-paths.pkl


BIN
.work/laba2-contours-raw.pkl


BIN
.work/laba2-plan-data.pkl


Vissa filer visades inte eftersom för många filer har ändrats