Zettelmarkup: Literal-like formatting

There are some reasons to mark text that should be rendered as uninterpreted:

Literal text

Literal text somehow relates to verbatim blocks: their content should not be interpreted further, but may be rendered special. It is specified by two grave accent characters (“`”, U+0060), followed by the text, followed by again two grave accent characters, optionally followed by an attribute specification. Similar to the verbatim block, the literal element allows also a modifier letter grave accent (“ˋ”, U+02CB) as an alternative to the grave accent character1. However, all four characters must be the same.

The literal element supports the default attribute: when given, all spaces in the text are rendered in HTML as open box characters (U+2423). The use of a generic attribute allows to specify a (programming) language that controls syntax coloring when rendered in HTML.

If you want to specify a grave accent character in the text, either use modifier grave accent characters as delimiters for the element, or put a backslash character before the grave accent character you want to use inside the element. If you want to enter a backslash character, you need to enter two of these.

Examples:

Computer input

To mark text as input into a computer program, delimit your text with two apostrophe characters (“'”, U+0027) on each side.

Example:

Attributes can be specified, the default attribute has the same semantic as for literal text.

Computer output

To mark text as output from a computer program, delimit your text with two equal sign characters (“=”, U+003D) on each side.

Examples:

Attributes can be specified, the default attribute has the same semantic as for literal text.

Inline-zettel snippet

To specify an inline snippet in a different syntax, delimit your text with two at-sign characters (“@”, U+0040) on each side.

You can add some attributes immediate after the two closing at-sign characters to specify the syntax to use. Either use the attribute key “syntax” or use the generic attribute to specify the syntax value. If no value is provided, “text” is assumed.

Examples:

To some degree, an inline-zettel snippet is the smaller sibling of the inline-zettel block. For HTML syntax, the same rules apply.

Math mode / \TeX input

This allows to enter text, that is typically interpreted by \TeX or similar software. The main difference to all other literal-like formatting above is that the backslash character (“\”, U+005C) has no special meaning. Therefore it is well suited the enter text with a lot of backslash characters.

Math mode text is delimited with two dollar signs (“$”, U+0024) on each side.

You can add some attributes immediate after the two closing at-sign characters to specify the syntax to use. Either use the attribute key “syntax” or use the generic attribute to specify the syntax value. If no syntax value is provided, math mode text roughly corresponds to literal text.

Currently, Zettelstore does not support any syntax. This will probably change. However, external software might support specific syntax value, like “tex”, “latex”, “mathjax”, “itex”, or “webtex”. Even an empty syntax value might be supported.

Example:

  1. On some devices, such as an iPhone / iPad, a grave accent character is harder to enter and is often confused with a modifier letter grave accent. ↩︎