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 [link](00001007040310) or with an [inline-mode transclusion](00001007040324).

A mark begins with a left square bracket, followed by an exclamation mark character (&ldquo;`!`&rdquo;, U+0021).
Now the optional mark name follows.
It is a (possibly empty) sequence of Unicode letters, Unicode digits, the hyphen-minus character (&ldquo;`-`&rdquo;, U+002D), or the low-line character (&ldquo;`_`&rdquo;, U+005F).
An optional text to be explicitly marked is introduced with a vertical bar character (&ldquo;`|`&rdquo;, U+007C), followed by some [inline-structured elements](00001007040000).
The mark element ends with a right square bracket.

Examples:

* `[!]` is a mark without a name, the empty mark.
* `[!mark]` is a mark with the name &ldquo;mark&rdquo;.
* `[!|some text]`is the empty mark with &ldquo;some text&rdquo;.
* `[!mark|some text]`is a mark with the name &ldquo;mark&rdquo; and with &ldquo;some text&rdquo; that is marked.