((p "A mark allows to name a point within a zettel." " " "This is useful if you want to reference some content in a zettel, either with a " (a (@ (href . "00001007040310")) "link") " or with an " (a (@ (href . "00001007040324")) "inline-mode transclusion") ".") (p "A mark begins with a left square bracket, followed by an exclamation mark character (" (@L (@H "“") (kbd "!") (@H "”")) ", U+0021)." " " "Now the optional mark name follows." " " "It is a (possibly empty) sequence of Unicode letters, Unicode digits, the hyphen-minus character (" (@L (@H "“") (kbd "-") (@H "”")) ", U+002D), or the low-line character (" (@L (@H "“") (kbd "_") (@H "”")) ", U+005F)." " " "An optional text to be explicitly marked is introduced with a vertical bar character (" (@L (@H "“") (kbd "|") (@H "”")) ", U+007C), followed by some " (a (@ (href . "00001007040000")) "inline-structured elements") "." " " "The mark element ends with a right square bracket.") (p "Examples:") (ul (li (code "[!]") " is a mark without a name, the empty mark.") (li (code "[!mark]") " is a mark with the name " (@L (@H "“") "mark" (@H "”")) ".") (li (code "[!|some text]") "is the empty mark with " (@L (@H "“") "some text" (@H "”")) ".") (li (code "[!mark|some text]") "is a mark with the name " (@L (@H "“") "mark" (@H "”")) " and with " (@L (@H "“") "some text" (@H "”")) " that is marked.")))