瀏覽代碼

29.09 upd

xander 1 周之前
父節點
當前提交
bf4092b085
共有 100 個文件被更改,包括 93 次插入 和 88 次删除
  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. 二進制
      .work/_z_caption.png
  5. 二進制
      .work/_z_leg1.png
  6. 二進制
      .work/_z_legend.png
  7. 二進制
      .work/_z_title.png
  8. 二進制
      .work/_zoom_bottom.png
  9. 二進制
      .work/_zoom_top.png
  10. 二進制
      .work/check-gost-font/full-fix-p26.png
  11. 二進制
      .work/check-gost-font/full-fix-p40.png
  12. 二進制
      .work/check-gost-font/full-p09.png
  13. 二進制
      .work/check-gost-font/full-p11.png
  14. 二進制
      .work/check-gost-font/full-p26.png
  15. 二進制
      .work/check-gost-font/full-p40.png
  16. 二進制
      .work/check-gost-font/l2-p09.png
  17. 二進制
      .work/check-gost-font/l2-p11.png
  18. 二進制
      .work/check-gost-font/l3-fix-p14.png
  19. 二進制
      .work/check-gost-font/l3-p10.png
  20. 二進制
      .work/check-gost-font/l3-p14.png
  21. 二進制
      .work/check-gost-font/l6-fix-p14.png
  22. 二進制
      .work/check-gost-font/l6-p14.png
  23. 二進制
      .work/check-laba6-a3/full-p09-+0.png
  24. 二進制
      .work/check-laba6-a3/full-p09-+1.png
  25. 二進制
      .work/check-laba6-a3/full-p09--1.png
  26. 二進制
      .work/check-laba6-a3/full-p11-+0.png
  27. 二進制
      .work/check-laba6-a3/full-p11-+1.png
  28. 二進制
      .work/check-laba6-a3/full-p11--1.png
  29. 二進制
      .work/check-laba6-a3/full-p40-+0.png
  30. 二進制
      .work/check-laba6-a3/full-p40-+1.png
  31. 二進制
      .work/check-laba6-a3/full-p40--1.png
  32. 二進制
      .work/check-laba6-a3/lab6-p13.png
  33. 二進制
      .work/check-laba6-a3/lab6-p14.png
  34. 二進制
      .work/check-laba6-a3/lab6-p15.png
  35. 二進制
      .work/font-diff/cmp-laba3.png
  36. 二進制
      .work/font-diff/cmp-laba6.png
  37. 0 0
      .work/font-diff/old-laba6.png
  38. 二進制
      .work/judge/crops/folio_08.png
  39. 二進制
      .work/judge/crops/folio_09.png
  40. 二進制
      .work/judge/crops/folio_10.png
  41. 二進制
      .work/judge/crops/folio_11.png
  42. 二進制
      .work/judge/crops/folio_12.png
  43. 二進制
      .work/judge/crops/folio_25.png
  44. 二進制
      .work/judge/crops/folio_26.png
  45. 二進制
      .work/judge/crops/folio_39.png
  46. 二進制
      .work/judge/crops/folio_40.png
  47. 二進制
      .work/judge/crops/folio_41.png
  48. 二進制
      .work/judge/crops/p11_bottomband.png
  49. 二進制
      .work/judge/crops/p11_gridlabels.png
  50. 二進制
      .work/judge/crops/p11_gridrows.png
  51. 二進制
      .work/judge/crops/p11_leftstrip.png
  52. 二進制
      .work/judge/crops/p11_midlabels.png
  53. 二進制
      .work/judge/crops/p11_rows4x.png
  54. 二進制
      .work/judge/crops/p11_rowszoom.png
  55. 二進制
      .work/judge/crops/p11_tunnel.png
  56. 二進制
      .work/judge/crops/p11_vedomost.png
  57. 二進制
      .work/judge/crops/p26_gamma.png
  58. 二進制
      .work/judge/crops/p26_main.png
  59. 二進制
      .work/judge/crops/p26_right.png
  60. 二進制
      .work/judge/crops/p39_f29.png
  61. 二進制
      .work/judge/crops/p40_142.png
  62. 二進制
      .work/judge/crops/p40_2243.png
  63. 二進制
      .work/judge/crops/p40_bottom.png
  64. 二進制
      .work/judge/crops/p40_razrez.png
  65. 二進制
      .work/judge/crops/p40_top.png
  66. 二進制
      .work/judge/crops/p41_tipvv.png
  67. 二進制
      .work/judge/crops/p9_A_area.png
  68. 二進制
      .work/judge/crops/p9_bottom.png
  69. 二進制
      .work/judge/crops/p9_callouts.png
  70. 二進制
      .work/judge/crops/p9_k3box.png
  71. 二進制
      .work/judge/crops/p9_legend.png
  72. 二進制
      .work/judge/page-10-10.png
  73. 二進制
      .work/judge/page-11-11.png
  74. 二進制
      .work/judge/page-12-12.png
  75. 二進制
      .work/judge/page-25-25.png
  76. 二進制
      .work/judge/page-26-26.png
  77. 二進制
      .work/judge/page-27-27.png
  78. 二進制
      .work/judge/page-39-39.png
  79. 二進制
      .work/judge/page-40-40.png
  80. 二進制
      .work/judge/page-41-41.png
  81. 二進制
      .work/judge/page-8-08.png
  82. 二進制
      .work/judge/page-9-09.png
  83. 二進制
      .work/judge2/final-11-11.png
  84. 二進制
      .work/judge2/final-40-40.png
  85. 二進制
      .work/judge2/final-8-08.png
  86. 二進制
      .work/judge2/page-11-11.png
  87. 二進制
      .work/judge2/page-40-40.png
  88. 二進制
      .work/judge2/page-8-08.png
  89. 二進制
      .work/judge2/page-9-09.png
  90. 二進制
      .work/lab3-fig-page.png
  91. 二進制
      .work/lab6-fig-page.png
  92. 30 30
      .work/laba-2-vse.pdf
  93. 二進制
      .work/laba-2.pdf
  94. 二進制
      .work/laba-3.pdf
  95. 二進制
      .work/laba-6.pdf
  96. 8 8
      .work/laba-7.pdf
  97. 13 14
      .work/laba-8.pdf
  98. 二進制
      .work/laba2-contours-paths.pkl
  99. 二進制
      .work/laba2-contours-raw.pkl
  100. 二進制
      .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)
+}

二進制
.work/_z_caption.png


二進制
.work/_z_leg1.png


二進制
.work/_z_legend.png


二進制
.work/_z_title.png


二進制
.work/_zoom_bottom.png


二進制
.work/_zoom_top.png


二進制
.work/check-gost-font/full-fix-p26.png


二進制
.work/check-gost-font/full-fix-p40.png


二進制
.work/check-gost-font/full-p09.png


二進制
.work/check-gost-font/full-p11.png


二進制
.work/check-gost-font/full-p26.png


二進制
.work/check-gost-font/full-p40.png


二進制
.work/check-gost-font/l2-p09.png


二進制
.work/check-gost-font/l2-p11.png


二進制
.work/check-gost-font/l3-fix-p14.png


二進制
.work/check-gost-font/l3-p10.png


二進制
.work/check-gost-font/l3-p14.png


二進制
.work/check-gost-font/l6-fix-p14.png


二進制
.work/check-gost-font/l6-p14.png


二進制
.work/check-laba6-a3/full-p09-+0.png


二進制
.work/check-laba6-a3/full-p09-+1.png


二進制
.work/check-laba6-a3/full-p09--1.png


二進制
.work/check-laba6-a3/full-p11-+0.png


二進制
.work/check-laba6-a3/full-p11-+1.png


二進制
.work/check-laba6-a3/full-p11--1.png


二進制
.work/check-laba6-a3/full-p40-+0.png


二進制
.work/check-laba6-a3/full-p40-+1.png


二進制
.work/check-laba6-a3/full-p40--1.png


二進制
.work/check-laba6-a3/lab6-p13.png


二進制
.work/check-laba6-a3/lab6-p14.png


二進制
.work/check-laba6-a3/lab6-p15.png


二進制
.work/font-diff/cmp-laba3.png


二進制
.work/font-diff/cmp-laba6.png


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


二進制
.work/judge/crops/folio_08.png


二進制
.work/judge/crops/folio_09.png


二進制
.work/judge/crops/folio_10.png


二進制
.work/judge/crops/folio_11.png


二進制
.work/judge/crops/folio_12.png


二進制
.work/judge/crops/folio_25.png


二進制
.work/judge/crops/folio_26.png


二進制
.work/judge/crops/folio_39.png


二進制
.work/judge/crops/folio_40.png


二進制
.work/judge/crops/folio_41.png


二進制
.work/judge/crops/p11_bottomband.png


二進制
.work/judge/crops/p11_gridlabels.png


二進制
.work/judge/crops/p11_gridrows.png


二進制
.work/judge/crops/p11_leftstrip.png


二進制
.work/judge/crops/p11_midlabels.png


二進制
.work/judge/crops/p11_rows4x.png


二進制
.work/judge/crops/p11_rowszoom.png


二進制
.work/judge/crops/p11_tunnel.png


二進制
.work/judge/crops/p11_vedomost.png


二進制
.work/judge/crops/p26_gamma.png


二進制
.work/judge/crops/p26_main.png


二進制
.work/judge/crops/p26_right.png


二進制
.work/judge/crops/p39_f29.png


二進制
.work/judge/crops/p40_142.png


二進制
.work/judge/crops/p40_2243.png


二進制
.work/judge/crops/p40_bottom.png


二進制
.work/judge/crops/p40_razrez.png


二進制
.work/judge/crops/p40_top.png


二進制
.work/judge/crops/p41_tipvv.png


二進制
.work/judge/crops/p9_A_area.png


二進制
.work/judge/crops/p9_bottom.png


二進制
.work/judge/crops/p9_callouts.png


二進制
.work/judge/crops/p9_k3box.png


二進制
.work/judge/crops/p9_legend.png


二進制
.work/judge/page-10-10.png


二進制
.work/judge/page-11-11.png


二進制
.work/judge/page-12-12.png


二進制
.work/judge/page-25-25.png


二進制
.work/judge/page-26-26.png


二進制
.work/judge/page-27-27.png


二進制
.work/judge/page-39-39.png


二進制
.work/judge/page-40-40.png


二進制
.work/judge/page-41-41.png


二進制
.work/judge/page-8-08.png


二進制
.work/judge/page-9-09.png


二進制
.work/judge2/final-11-11.png


二進制
.work/judge2/final-40-40.png


二進制
.work/judge2/final-8-08.png


二進制
.work/judge2/page-11-11.png


二進制
.work/judge2/page-40-40.png


二進制
.work/judge2/page-8-08.png


二進制
.work/judge2/page-9-09.png


二進制
.work/lab3-fig-page.png


二進制
.work/lab6-fig-page.png


File diff suppressed because it is too large
+ 30 - 30
.work/laba-2-vse.pdf


二進制
.work/laba-2.pdf


二進制
.work/laba-3.pdf


二進制
.work/laba-6.pdf


File diff suppressed because it is too large
+ 8 - 8
.work/laba-7.pdf


File diff suppressed because it is too large
+ 13 - 14
.work/laba-8.pdf


二進制
.work/laba2-contours-paths.pkl


二進制
.work/laba2-contours-raw.pkl


二進制
.work/laba2-plan-data.pkl


Some files were not shown because too many files changed in this diff