2024/1/9 3 min read
Typstで最初の段落も字下げする
typstのparにはfirst-line-indentというオプションがあり字下げを設定できるが、このオプションを設定しても見出しの後の最初の段落は字下げされず、さらにそのようなオプションもない。
そうは言ってもできないと困るのでこちらで議論されている。
何やら色々難しいらしくあまり本体の改善は進展してなさそうだがいくつか回避策があり、このコメントにまとめられている。
コピペしたものがこちら↓
// Workaround 1: Function to add horizontal space
#let indent = 1em // or whatever value you want
#let indent_par(body) = par[#h(indent)#body]
// Usage:
#indent_par[First paragraph]
// Workaround 2: Special character show rule
#show "¬": h(1em) // Use whatever symbol and space you want
// Usage:
¬First paragraph
// Workaround 3: Automatically add empty paragraph after heading
#show heading: it => {
it
par(text(size:0.35em, h(0.0em)))
} // Only works for paragraphs directly after heading
- workaround 1ではインデントをする関数を定義してその中に関数を入れれば字下げされる。クリーンな感じだが一々これで囲まなければいけなくてめんどうそう。
- 2では
¬という文字にインデントの役割を振ることで若干書きやすくなっている。 - 3はheadingの後に自動で段落を追加することで最初の段落を2段落目の扱いにしている。
どれも一長一短という感じで、3の方法は自動なので楽だが段落の分若干スペースが開いてレイアウトが変わってしまう。
とりあえず2の方法を使うのがちょうど良いかもしれない。