# Zettelmarkup: Literal-like formatting

00001007040200 · Info · (manual) · #manual #zettelmarkup #zettelstore

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 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:

• 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 abcdef.
• 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.
• @@<small>@@{=html}Small@@</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`!
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. ↩︎