とりあえずTypstで行取りしてみた.
#let gyodori(lines: 2,x) ={
context{
// 和文文字の縦方向長さ(!= 横幅?)
let letter_height = measure(box[阿]).height
// 段落間の長さ(block(spacing:**)のやつ)を計測
let block_spacing = measure(block[#par[阿];#par[阿]]).height - 2 * letter_height
// 本文のテキスト長さの計算
let textlen = page.width - {
if page.margin == auto {
(5/21) * {
if page.width < page.height { page.width}
else { page.height }
}
} else {
page.margin.left + page.margin.right
}
}
// とりあえずブロックに入れる
let b = block(width: textlen, x)
// 長さ計算
let total_len = (letter_height + par.leading) * lines + par.leading
let ue = (total_len - measure(b).height)/2
let shita = ue
block[
#v(-block_spacing + ue)
#b
#v(-block_spacing + shita)
]
}
}
ああああああああああ
#gyodori(lines: 4)[かきくけこ]
ああああああああああ
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です