레이블 (Labels)

레이블의 장(Chapter) 정보 가져오기

#let ref-heading(label) = context {
  let elems = query(label)
  if elems.len() != 1 {
    panic("여러 요소가 발견되었습니다")
  }
  let element = elems.first()
  if element.func() != heading {
    panic("레이블이 제목(heading)을 대상으로 해야 합니다")
  }
  link(label, element.body)
}

= 디자인 <design>
#lorem(20)

= 구현
#ref-heading(<design>) 에서 논의했듯이...
Rendered image

존재하지 않는 참조 허용하기

// 저자: Enivex
#set heading(numbering: "1.")

#let myref(label) = context {
    if query(label).len() != 0 {
        ref(label)
    } else {
        // 존재하지 않는 참조
        text(fill: red)[???]
    }
}

= 두 번째 <test2>

#myref(<test>)

#myref(<test2>)
Rendered image