More fixes
This commit is contained in:
+79
-10
@@ -1,3 +1,12 @@
|
||||
#let page-numbering(n) = {
|
||||
let chars = ("ก", "ข", "ค", "ง", "จ", "ฉ", "ช")
|
||||
if n <= chars.len() {
|
||||
chars.at(n - 1)
|
||||
} else {
|
||||
str(n - chars.len()) // fallback to numbers if exceeds available characters
|
||||
}
|
||||
}
|
||||
|
||||
#let thai-numbering(n) = {
|
||||
let chars = ("ก", "ข", "ค", "ง", "จ", "ฉ", "ช")
|
||||
if n <= chars.len() {
|
||||
@@ -5,6 +14,7 @@
|
||||
} else {
|
||||
str(n - chars.len()) // fallback to numbers if exceeds available characters
|
||||
}
|
||||
[)]
|
||||
}
|
||||
|
||||
#let chapter-page(doc) = {
|
||||
@@ -38,6 +48,26 @@
|
||||
|
||||
#let iiiiii = h(16.85em)
|
||||
|
||||
#let listy(
|
||||
numbering: "1)",
|
||||
indent: 1em,
|
||||
hanging-indent: 0em,
|
||||
body-spacing: .3em,
|
||||
..items,
|
||||
) = context {
|
||||
let nums = range(1, items.pos().len() + 1)
|
||||
let fnums = nums.map(std.numbering.with(numbering))
|
||||
let numwidth = calc.max(..fnums.map(it => measure(it).width))
|
||||
for (num, item) in fnums.zip(items.pos()) {
|
||||
block(inset: (left: hanging-indent), {
|
||||
h(indent - hanging-indent)
|
||||
box(width: numwidth + body-spacing, stroke: none, num)
|
||||
item
|
||||
})
|
||||
v(1em, weak: true)
|
||||
}
|
||||
}
|
||||
|
||||
#let page-theme(doc) = {
|
||||
set page(
|
||||
paper: "a4",
|
||||
@@ -49,7 +79,7 @@
|
||||
),
|
||||
header: context [
|
||||
#h(1fr)
|
||||
#counter(page).display(thai-numbering)
|
||||
#counter(page).display(page-numbering)
|
||||
],
|
||||
)
|
||||
set text(
|
||||
@@ -101,18 +131,57 @@
|
||||
}
|
||||
show figure.where(kind: "i-figured-table"): set align(start)
|
||||
show figure.where(kind: table): set figure.caption(position: top)
|
||||
show figure.caption: it => {
|
||||
text(weight: "bold")[
|
||||
#it.supplement
|
||||
#it.counter.display(it.numbering)
|
||||
]
|
||||
it.body
|
||||
show figure.where(kind: table): t => {
|
||||
show figure.caption: it => {
|
||||
it.supplement
|
||||
" "
|
||||
it.counter.display(it.numbering)
|
||||
" "
|
||||
it.body
|
||||
}
|
||||
it
|
||||
}
|
||||
show figure.caption.where(position: bottom): it => place(center, it, dy: 2em)
|
||||
set figure.caption(separator: "")
|
||||
// show figure.where(kind: image): set figure(gap: 2em)
|
||||
show figure.where(kind: "i-figured-image"): i => {
|
||||
show figure.caption: it => {
|
||||
place(
|
||||
center,
|
||||
[
|
||||
#text(weight: "bold")[
|
||||
#it.supplement
|
||||
#it.counter.display(it.numbering)
|
||||
]
|
||||
#it.body
|
||||
],
|
||||
dy: 2em,
|
||||
)
|
||||
}
|
||||
i
|
||||
}
|
||||
set figure.caption(separator: " ")
|
||||
show figure.where(kind: image): set block(below: 2.5em)
|
||||
set enum(number-align: start + top)
|
||||
show enum.item: it => context {
|
||||
if (it.number == auto) {
|
||||
return it
|
||||
}
|
||||
|
||||
let spacing = enum.indent
|
||||
if spacing == auto {
|
||||
if enum.tight {
|
||||
spacing = par.leading
|
||||
} else {
|
||||
spacing = par.spacing
|
||||
}
|
||||
}
|
||||
(
|
||||
h(spacing)
|
||||
+ [#{ str(it.number) + ")" }]
|
||||
+ h(enum.body-indent)
|
||||
+ it.body
|
||||
+ linebreak()
|
||||
)
|
||||
}
|
||||
set ref(supplement: "หัวข้อ")
|
||||
doc
|
||||
}
|
||||
@@ -132,7 +201,7 @@
|
||||
),
|
||||
header: context [
|
||||
#h(1fr)
|
||||
#counter(page).display(thai-numbering)
|
||||
#counter(page).display(page-numbering)
|
||||
],
|
||||
)
|
||||
set text(
|
||||
|
||||
Reference in New Issue
Block a user