helpers, fixes

This commit is contained in:
2026-01-24 14:45:17 +02:00
parent 3e55bb39a2
commit c4e4bbf093
5 changed files with 21 additions and 19 deletions
+8 -10
View File
@@ -15,6 +15,10 @@
).at(month - 1) ).at(month - 1)
#let is-cyr(c) = regex("[\p{Cyrillic}]") in c #let is-cyr(c) = regex("[\p{Cyrillic}]") in c
#let is-empty(val) = val == none or str(val).len() == 0 or val == []
#let in-keys(key, dict) = str(key) in dict.keys()
#let degree-get(m) = if in-keys("degree", m) and not is-empty(m.degree) { [#m.degree\ ] }
#let gender-verb(verb, gender: "p") = { #let gender-verb(verb, gender: "p") = {
( (
@@ -24,14 +28,8 @@
.at(verb) .at(verb)
.at(if gender == "m" or gender == "f" { gender } else { "p" }, default: "p") .at(if gender == "m" or gender == "f" { gender } else { "p" }, default: "p")
} }
#let gender-get(dict) = if "gender" in dict.keys() { dict.gender } else { "p" } #let gender-get(dict) = if type(dict) == dictionary and in-keys("gender", dict) { dict.gender }
#let gender-form(verb, dict: none) = if type(dict) == "dictionary" { #let gender-form(verb, dict: none) = gender-verb(verb, gender: gender-get(dict))
gender-verb(verb, gender: gender-get(dict))
} else {
gender-verb(verb, gender: none)
}
#let degree-get(m) = if "degree" in m.keys() and m.degree != none { [#m.degree\ ] }
#let pz-lb-title(type, number: none) = { #let pz-lb-title(type, number: none) = {
let type-title = ( let type-title = (
@@ -39,7 +37,7 @@
"ПЗ": [Звіт \ з практичної роботи], "ПЗ": [Звіт \ з практичної роботи],
"КР": [Контрольна робота], "КР": [Контрольна робота],
"РФ": [Реферат], // зрада "РФ": [Реферат], // зрада
"ІДЗ": [Індивідуальне домашнє завданння],
).at(type, default: type) ).at(type, default: type)
if number != none { [#type-title #number] } else { [#type-title] } if not is-empty(number) { [#type-title #number] } else { [#type-title] }
} }
+1 -1
View File
@@ -53,7 +53,7 @@
#set align(left) #set align(left)
#set par(first-line-indent: 0pt) #set par(first-line-indent: 0pt)
#gender-form("author", author) ст. гр. #author.edu_program\-#author.group #gender-form("author", dict: author) ст. гр. #author.edu_program\-#author.group
\ \
Керівник:\ Керівник:\
+1 -1
View File
@@ -22,7 +22,7 @@
[#gender-form("author", dict: a):\ ] [#gender-form("author", dict: a):\ ]
[ст. гр. #a.edu_program\-#a.group\ ] [ст. гр. #a.edu_program\-#a.group\ ]
[#a.name\ ] [#a.name\ ]
if a.variant != none [Варіант: №#a.variant] if not is-empty(a.variant) [Варіант: №#a.variant]
} else if authors.len() > 1 [ } else if authors.len() > 1 [
#gender-form("author"):\ #gender-form("author"):\
#for a in authors [ст. гр. #a.edu_program\-#a.group\ #a.name\ ] #for a in authors [ст. гр. #a.edu_program\-#a.group\ #a.name\ ]
+6 -4
View File
@@ -1,5 +1,7 @@
#import "lib.typ": * #import "@local/nure:0.1.0": *
#import "utils.typ": * #import style: spacing
// #import "utils.typ": *
#let authors = ( #let authors = (
( (
@@ -11,7 +13,7 @@
course: 2, course: 2,
semester: 3, semester: 3,
variant: 13, variant: 13,
) ),
) )
#let mentors = ( #let mentors = (
@@ -117,7 +119,7 @@
task_list: task_list, task_list: task_list,
calendar_plan: calendar_plan, calendar_plan: calendar_plan,
abstract: abstract, abstract: abstract,
bib_path: "bibl.yml", // NOTE: use `bytes("bibl.yml")` as typst looks in template dir when using just filename bib_path: bytes(read("bibl.yml")), // NOTE: use `bytes("bibl.yml")` as typst looks in template dir when using just filename
appendices: appendices, appendices: appendices,
) )
+5 -3
View File
@@ -1,5 +1,7 @@
#import "../lib.typ": * #import "@local/nure:0.1.0": *
#import "utils.typ": * // #import "utils.typ": *
#import style: spacing
#show: pz-lb.with( #show: pz-lb.with(
university: "ХНУРЕ", university: "ХНУРЕ",
@@ -53,7 +55,7 @@
- #lorem(42); - #lorem(42);
- #lorem(27). - #lorem(27).
#show: appendices #show: style.appendices
= Quote = Quote
#link("https://youtu.be/bJQj1uKtnus")[ #link("https://youtu.be/bJQj1uKtnus")[