main.typ 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. // ============================================================================
  2. // Меняйте значения в этом файле и подключайте нужные главы через #include.
  3. // Готовые варианты для письма, ТКП и договора: docs/examples/documents/.
  4. // ============================================================================
  5. #import "/.template/lib/index.typ": (
  6. attachment, attachment-set, bibliography-section, document, empty-private-settings, load-company,
  7. private-company-media, profiles, report-executor,
  8. )
  9. // --- 1. ОСНОВНЫЕ ПЕРЕКЛЮЧАТЕЛИ ---------------------------------------------
  10. #let company-id = "scientia" // id папки в .template/companies/ (данные обезличены)
  11. #let document-mode = "clean-copy" // Варианты: "final" | "draft" | "clean-copy"
  12. // Переключатель приватных данных, если есть папка ".private".
  13. #let use-private-assets = false // Варианты: false | true
  14. #let private-settings = if use-private-assets {
  15. import "/.private/settings.typ": settings
  16. settings // обработчик приватных данных
  17. } else {
  18. empty-private-settings
  19. }
  20. #let company-media = private-company-media(private-settings, company-id)
  21. #let company = load-company(
  22. company-id,
  23. logo: auto,
  24. signature: company-media.signature,
  25. stamp: company-media.stamp,
  26. )
  27. // --- 2. ИСПОЛНИТЕЛИ ---------------------------------------------------------
  28. // Меняйте состав, порядок и должность только здесь. Должность можно не указывать — тогда берётся из справочника.
  29. #let executors = (
  30. report-executor("tkachenko", role: "Автор", private-settings: private-settings),
  31. )
  32. // --- 3. ИСТОЧНИКИ -----------------------------------------------------------
  33. // Для лабораторных работ используется отдельный файл lab-references.bib с
  34. // полным выводом списка (full: true — в тексте лабораторных цитат нет).
  35. // Для геомеханического отчёта вернуть path("assets/references.bib") и full: false.
  36. #let bibliographies = (
  37. bibliography-section(
  38. "sources",
  39. path("assets/lab-references.bib"),
  40. title: [СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ],
  41. style: "gost-r-705-2008-numeric",
  42. target: auto,
  43. group: "report-sources",
  44. full: true,
  45. page_break: true,
  46. ),
  47. )
  48. // --- 4. ПРИЛОЖЕНИЯ ---------------------------------------------------------
  49. // Приложения временно закомментированы (пока не нужны) — вернуть элементы в
  50. // items, когда понадобятся снова.
  51. #let attachments = attachment-set(
  52. items: (
  53. // attachment(
  54. // "rating-table",
  55. // "Рейтинговая система оценки данных WSM",
  56. // [#include "chapters/report-appendices.typ"],
  57. // subtitle: none,
  58. // number: auto,
  59. // outlined: true,
  60. // ),
  61. // attachment(
  62. // "models",
  63. // "Геометрия моделей расчётных профилей",
  64. // [#include "chapters/models-appendices.typ"],
  65. // subtitle: none,
  66. // number: auto,
  67. // outlined: true,
  68. // ),
  69. // attachment(
  70. // "R-calc",
  71. // "Расчёт коэффициента формы R",
  72. // [#include "chapters/R_calc.typ"],
  73. // subtitle: none,
  74. // number: auto,
  75. // outlined: true,
  76. // label: <R-calc>,
  77. // ),
  78. // attachment(
  79. // "profile-stress-calc",
  80. // "Расчёт напряжений в осях разрезов",
  81. // [#include "chapters/profile_stress_calc.typ"],
  82. // subtitle: none,
  83. // number: auto,
  84. // outlined: true,
  85. // label: <profile-stress-calc>,
  86. // ),
  87. ),
  88. numbering: "cyrillic",
  89. start: 1,
  90. )
  91. // --- ТИТУЛЬНЫЕ ЛИСТЫ -------------------------------------------------------
  92. // title-page.typ экспортирует функцию title-page(number): вызывается перед
  93. // каждой практической работой; тема подставляется из словаря topics.
  94. #import "chapters/title-page.typ": title-page, topics
  95. // Скрытый заголовок работы для СОДЕРЖАНИЯ: не отображается на титуле,
  96. // но попадает в оглавление («Практическая работа №N. Тема»).
  97. #let work-heading(n) = place(top + left)[
  98. #hide[#heading(numbering: none)[Практическая работа №#n. #topics.at(str(n))]]
  99. ]
  100. // --- 5. ПАРАМЕТРЫ ОТЧЁТА ---------------------------------------------------
  101. // Все значения, которые обычно проверяют в начале проекта, показаны явно.
  102. #show: document.with(
  103. company: company,
  104. profile: profiles.report(
  105. title: "Геомеханическое обоснование устойчивости бортов карьера",
  106. theme: "Этап 1. Анализ устойчивости бортов участка Кварцитовый с помощью численного моделирования в ПК Prorock",
  107. udk: "622.271.3",
  108. director_date: "«01» января 2026 г.", // Дата подписи
  109. is_research: false, // О научно-исследовательской
  110. is_intermediate: true, // промежуточный
  111. stage_number: 1, // Этап
  112. volume_number: 1, // Том
  113. contract_number: "Д-001/2026", // Номер договора
  114. contract_date: "«01» января 2026 г.", // Дата договора
  115. city: "Красноярск", // Город
  116. year: 2026, // год
  117. executors: executors, // Исполнители
  118. attachments: attachments, // Приложения
  119. bibliographies: bibliographies, // Список источников
  120. ),
  121. options: (
  122. mode: document-mode,
  123. // Надпись вотермарки
  124. watermark: if document-mode == "draft" { "DRAFT" } else { none },
  125. media-policy: if document-mode == "final" { "placeholder" } else { "reserve-space" },
  126. diagnostics: true,
  127. ),
  128. )
  129. // --- 5. СОСТАВ ДОКУМЕНТА ---------------------------------------------------
  130. // Чтобы заменить, добавить или переставить главу, измените только этот список.
  131. /*
  132. #include "chapters/00-introduction.typ"
  133. #pagebreak()
  134. #include "chapters/10-main.typ"
  135. #pagebreak()
  136. #include "chapters/11-test.typ"
  137. #pagebreak()
  138. #include "chapters/90-conclusion.typ"
  139. #pagebreak()
  140. */
  141. /* #include "/chapters/Numerical-modeling-method.typ"
  142. #pagebreak()
  143. #include "chapters/Defining-rock-properties.typ"
  144. #pagebreak()
  145. #include "/chapters/seismic_data.typ"
  146. #pagebreak()
  147. #include "/chapters/IFS.typ"
  148. #pagebreak()
  149. #include "chapters/Model-properties.typ"
  150. #pagebreak()
  151. #include "/chapters/analysis/Pit-design-analysis-2026.typ"
  152. #pagebreak()
  153. #include "/chapters/analysis/Pit-design-analysis-2031.typ"
  154. #pagebreak()
  155. #include "/chapters/analysis/Pit-design-analysis-2033.typ"
  156. #pagebreak()
  157. #include "/chapters/analysis/Pit-design-analysis-2035.typ"
  158. #pagebreak()
  159. #include "/chapters/90-conclusion.typ"
  160. */
  161. // Практические работы: перед каждой — титульный лист с её номером
  162. // и сброс нумерации страниц и разделов; скрытый заголовок работы попадает
  163. // в содержание.
  164. #title-page(2)
  165. #pagebreak()
  166. #counter(page).update(1)
  167. #work-heading(2)
  168. #counter(heading).update(0)
  169. #include "/chapters/lab-2.typ"
  170. #title-page(3)
  171. #pagebreak()
  172. #counter(page).update(1)
  173. #work-heading(3)
  174. #counter(heading).update(0)
  175. #include "/chapters/lab-3.typ"
  176. #title-page(6)
  177. #pagebreak()
  178. #counter(page).update(1)
  179. #work-heading(6)
  180. #counter(heading).update(0)
  181. #include "/chapters/lab-6.typ"
  182. #title-page(7)
  183. #pagebreak()
  184. #counter(page).update(1)
  185. #work-heading(7)
  186. #counter(heading).update(0)
  187. #include "/chapters/lab-7.typ"
  188. #title-page(8)
  189. #pagebreak()
  190. #counter(page).update(1)
  191. #work-heading(8)
  192. #counter(heading).update(0)
  193. #include "/chapters/lab-8.typ"