Zettelmarkup: Literal-like formatting manual manual zettelmarkup zettelstore zmk 00001007040000 00001007800000 00001007990000 00001012920513 00001007040000 00001007800000 00001007990000 00001012920513 1 (c) 2020-present by Detlef Stern 00010101000000 00001007030500 00001007031200 00001007050000 00001007050200 00001008000000 en EUPL-1.2-or-later 20220311185110 20220311185110 public There are some reasons to mark text that should be rendered as uninterpreted: Mark text as literal, sometimes as part of a program. Mark text as input you give into a computer via a keyboard. Mark text as output from some computer, e.g. shown at the command line. 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 character 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.. 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: ``abc def`` is rendered in HTML as abc def. ``abc def``{-} is rendered in HTML as abc def. ``abc\`def`` is rendered in HTML as abc`def. ``abc\\def`` is rendered in HTML as abc\def. Computer input To mark text as input into a computer program, delimit your text with two apostrophe characters (', U+0027) on each side. Example: ''STRG-C'' renders in HTML as STRG-C. ''STRG C''{-} renders in HTML as STRG C. 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: ==The result is: 42== renders in HTML as The result is: 42. ==The result is: 42=={-} renders in HTML as The result is: 42. 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: A @@-->@@ B renders in HTML as A --> B. @@@@{=html}Small@@@@{=html} renders in HTML as Small. 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: Happy $$\TeX$$!is rendered as Happy \TeX!