appendices.typ 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. // ==========================================
  2. // ЛОГИКА ПРИЛОЖЕНИЙ
  3. // ==========================================
  4. #import "numbering.typ": cyrillic_numbering
  5. // Макрос для Приложений
  6. #let make_appendices(body) = {
  7. counter(heading).update(0)
  8. // Настраиваем кириллическую нумерацию и указываем явно supplement
  9. set heading(numbering: cyrillic_numbering, supplement: [Приложение])
  10. show heading.where(level: 1): it => {
  11. pagebreak()
  12. // Сброс счетчиков рисунков/таблиц: нумерация в каждом приложении начинается с 1
  13. counter(figure.where(kind: image)).update(0)
  14. counter(figure.where(kind: table)).update(0)
  15. // Заголовок 1 уровня в приложениях выровнен по правому краю, жирным и чуть меньшим шрифтом
  16. set align(right)
  17. set text(weight: "bold", size: 12pt)
  18. set par(leading: 0.7em)
  19. let num = cyrillic_numbering(counter(heading).get().first())
  20. [Приложение #num. #it.body]
  21. v(0.5em)
  22. }
  23. set figure(numbering: (..nums) => {
  24. let h = counter(heading).get().first()
  25. cyrillic_numbering(h) + "." + str(nums.pos().last())
  26. })
  27. body
  28. }