Skip to content

一些未整理的例子

下划线

typst
#set page(height: 9cm, width: 16cm)

#set par(leading: 1em)
#let uline(answer: false, body) = context {
  let show_all_answer = false
  show_all_answer = true
  
  let y = 1em / 5
  let l = measure(body).width + 3pt
  if body.has("block") { // 内容是否是公式
    if body.fields().block { // 行间公式
      set align(center)
      block(outset: (bottom:0.1em), stroke: (bottom: 0.6pt))[#body]
      return
    } else { // 行内公式
      y = 1em / 2
    }
  }
  box(place(dy: y, dx: 2pt, line(length: l, stroke: .6pt)))
  if show_all_answer {
    [ ] + body + [ ]
  } else {
    [ ] + if answer { body } else { hide(body) } + [ ]
  }
}
+ 计算 #uline()[$x+y$]
+ 第一布里渊区的范围是:#uline(answer: true, $-pi / a < k < pi / a$)
+ 白日依山尽,#uline()[黄河入海流]

#text(20pt, red, stroke: 1pt + red)[问题:]
+ 如果传入的公式是行间公式,不清楚如何放置下划线\
  #uline()[$ f(x)dif x $]
+ 不清楚如何针对公式的宽度自适应下划线的位置\
  对于 $upright(p^+n)$ 结,其扩散电容的表达式为:#uline(answer: true)[$ C_D = (frac(A q^2 p_(n_0)L_p, k_o T)) exp(frac(q V , k_o T))$]

typst-demo

Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v3.3.0