Skip to content

如何定义一个在 inline 公式与 display 公式中形式不同的符号?

如何定义一个在 inline 公式与 display 公式中形式不同的符号?

如果你指的是求和或者积分符号那种,应直接用 limits

typst
#let cfrac = $limits(inline: #false, upright(K))$

$cfrac_(i=1)^oo$

$ cfrac_(i=1)^oo $

typst-demo

更复杂的可以用 state 来实现

typst
#let s = state("in-block", -1)

#show math.equation.where(block: true): it => {
  s.update(1)
  it
}

#show math.equation.where(block: false): it => {
  s.update(0)
  it
}

#let cfrac(x, y) = context {
  if s.get() == 0 {
    $upright(K)_#x^#y$
  }
  else if s.get() == 1 {
    $ limits(upright(K))_#x^#y $
  }
}

$cfrac(i=1, oo)$

$ cfrac(i=1, oo) $

typst-demo

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

基于 MIT 许可发布