// Test labels. --- label-show-where-selector --- // Test labelled headings. #show heading: set text(10pt) #show heading.where(label: ): underline = Introduction The beginning. = Conclusion The end. --- label-after-expression --- // Test label after expression. #show strong.where(label: ): set text(red) #let a = [*A*] #let b = [*B*] #a #b --- label-dynamic-show-set --- // Test abusing dynamic labels for styling. #show : set text(red) #show : set text(blue) *A* *B* *C* #label("bl" + "ue") *D* --- label-after-parbreak --- // Test that label ignores parbreak. #show : none _Hidden_ _Hidden_ _Visible_ --- label-in-block --- // Test that label only works within one content block. #show : strike // Warning: 13-21 label `` is not attached to anything *This is* #[] *protected.* *This is not.* --- label-unclosed-is-text --- // Test that incomplete label is text. 1 < 2 is #if 1 < 2 [not] a label. --- label-text-styled-and-sequence --- // Test label on text, styled, and sequence. #test([Hello].label, ) #test([#[A *B* C]].label, ) #test([#text(red)[Hello]].label, ) --- label-string-conversion --- // Test getting the name of a label. #test(str(), "hey") #test(str(label("hey")), "hey") #test(str([Hmm].label), "hey") --- label-in-code-mode-hint --- // Error: 7-7 expected semicolon or line break // Hint: 7-7 labels can only be applied in markup mode // Hint: 7-7 try wrapping your code in a markup block (`[ ]`) #{ [A] } --- label-multiple-ignored-warn --- // Warning: 1-8 content labelled multiple times // Hint: 1-8 only the last label is used, the rest are ignored = Hello // Warning: 12-19 content labelled multiple times // Hint: 12-19 only the last label is used, the rest are ignored #let f = [#block()] #f // Warning: 6-13 content labelled multiple times // Hint: 6-13 only the last label is used, the rest are ignored #[#[#block()]] // Error: 1-3 label `` does not exist in the document @a --- label-unattached-warn --- #set heading(numbering: "1.") // Warning: 1-4 label `` is not attached to anything --- label-non-existent-error --- // Error: 5-10 sequence does not have field "label" #[].label