Initial commit
This commit is contained in:
commit
c534d5ce80
163 files changed
+11500
No files matched your search
@@ -0,0 +1,68 @@
|
||||
// ==========================================
|
||||
// SHARED: ЧИСТЫЕ СТРАТЕГИИ НУМЕРАЦИИ
|
||||
// ==========================================
|
||||
|
||||
#let cyrillic_letters = (
|
||||
"А", "Б", "В", "Г", "Д", "Е", "Ж", "И", "К", "Л", "М", "Н", "П",
|
||||
"Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ш", "Щ", "Э", "Ю", "Я",
|
||||
)
|
||||
|
||||
#let cyrillic_letters_lower = (
|
||||
"а", "б", "в", "г", "д", "е", "ж", "и", "к", "л", "м", "н", "п",
|
||||
"р", "с", "т", "у", "ф", "х", "ц", "ш", "щ", "э", "ю", "я",
|
||||
)
|
||||
|
||||
#let cyrillic_numbering = (..nums) => {
|
||||
let n = nums.pos().first()
|
||||
if n > 0 and n <= cyrillic_letters.len() {
|
||||
cyrillic_letters.at(n - 1)
|
||||
} else {
|
||||
str(n)
|
||||
}
|
||||
}
|
||||
|
||||
#let cyrillic_lower_numbering = (..nums) => {
|
||||
let n = nums.pos().last()
|
||||
if n > 0 and n <= cyrillic_letters_lower.len() {
|
||||
cyrillic_letters_lower.at(n - 1)
|
||||
} else {
|
||||
str(n)
|
||||
}
|
||||
}
|
||||
|
||||
#let num_11 = (..nums) => nums.pos().map(str).join(".") + "."
|
||||
|
||||
#let num_1a = (..nums) => {
|
||||
let pos = nums.pos()
|
||||
let out = ""
|
||||
for (i, n) in pos.enumerate() {
|
||||
if calc.rem(i, 2) == 0 {
|
||||
out += str(n) + "."
|
||||
} else {
|
||||
out += cyrillic_lower_numbering(n) + "."
|
||||
}
|
||||
}
|
||||
out
|
||||
}
|
||||
|
||||
#let num_1_a = (..nums) => {
|
||||
let pos = nums.pos()
|
||||
let n = pos.last()
|
||||
if calc.rem(pos.len() - 1, 2) == 0 {
|
||||
str(n) + "."
|
||||
} else {
|
||||
cyrillic_lower_numbering(n) + "."
|
||||
}
|
||||
}
|
||||
|
||||
#let attachment_numbering(policy, n) = {
|
||||
if policy == "arabic" {
|
||||
str(n)
|
||||
} else if policy == "cyrillic" {
|
||||
cyrillic_numbering(n)
|
||||
} else if policy == "none" {
|
||||
""
|
||||
} else {
|
||||
panic("Scientia / attachment-numbering: неизвестная политика " + repr(policy))
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user