Marks the author places on their own words — emphasis and the small typographic and semantic marks.
<abbr>Semantic role: abbr. Compiles to eHTML <abbr>.
Registers:
- Canonical:
<abbr>
The <abbr title="Document Object Model" | DOM> is the browser API for HTML.
The DOM is the browser API for HTML.
Standard pattern — abbreviation with its expansion as the title kwarg. Browsers show the expansion in a hover tooltip.
Using <abbr | CSS> selectors.
Using CSS selectors.
Bare abbreviation, no title. Acceptable when the expansion has already been introduced earlier in the document.
| attribute | kind | values / default | notes |
|---|---|---|---|
title |
kwarg | The abbreviation’s expansion. |
<b>Semantic role: b. Compiles to eHTML <b>.
Registers:
- Canonical:
<b> - Markdown:
**…**
The keyword <b type=keyword | recursion> is fundamental.
The keyword recursion is fundamental.
Use <b type=product-name | Acrobat> to read the file.
Use Acrobat to read the file.
| attribute | kind | values / default | notes |
|---|---|---|---|
type |
kwarg | keyword product-name lead offset other |
<em>Semantic role: em. Compiles to eHTML <em>.
Registers:
- Canonical:
<em>
This has *emphasized* content.
This has emphasized content.
Plain markdown with single asterisks (or single underscores) produces the visual <i>, not the semantic <em> — markdown emphasis maps to the visual tag. <em> is reached only by the explicit form.
<em | emphasized>
The explicit form is reached for when attributes are needed.
<em #key-term .highlighted | distinguishing feature>
<i>Semantic role: i. Compiles to eHTML <i>.
Registers:
- Canonical:
<i> - Markdown:
*…*(or_…_)
The species is <i type=taxonomic | Loxodonta africana>.
The species is Loxodonta africana.
The French <i type=foreign | tour de force> is impressive.
The French tour de force is impressive.
The technical term <i type=technical | mitochondria> refers to organelles.
The technical term mitochondria refers to organelles.
| attribute | kind | values / default | notes |
|---|---|---|---|
type |
kwarg | foreign taxonomic technical thought ship-name other |
Optional classification of the italic’s role. |
<kbd>Semantic role: kbd. Compiles to eHTML <kbd>.
Registers:
- Canonical:
<kbd>
Press <kbd | Ctrl+C> to copy.
Press Ctrl+C to copy.
Single chord as a kbd block. Browsers render <kbd> in a monospace font by default, distinguishing it from surrounding prose.
Press <kbd | <kbd | Ctrl>+<kbd | C>> to copy.
Press Ctrl+C to copy.
Nested <kbd> distinguishes individual keys in a chord. Browsers render the outer block as the chord and the inner blocks as individual keys, both monospace.
<output>Semantic role: output. Compiles to eHTML <output>.
Registers:
- Canonical:
<output>
The function returns <output | 42> for the test input.
The function returns for the test input.
Result of a calculation in prose. <output> is semantically distinct from <samp> — <samp> is what a program prints (a display artifact); <output> is the result of a computation (a semantic value). Browsers render both similarly.
<s>Semantic role: s. Compiles to eHTML <s>.
Registers:
- Canonical:
<s> - Markdown:
~~…~~
The price is ~~$50~~ now $40.
The price is ~~
GFM’s tilde syntax produces <s> elements. The most common authoring path for casual strikethrough.
The claim <s type=retracted | was unsupported> has been corrected.
The claim was unsupported has been corrected.
| attribute | kind | values / default | notes |
|---|---|---|---|
type |
kwarg | outdated retracted deleted other |
<samp>Semantic role: samp. Compiles to eHTML <samp>.
Registers:
- Canonical:
<samp>
The command prints <samp | Hello, world!> to stdout.
The command prints Hello, world! to stdout.
Sample output from a program. Browsers render <samp> in a monospace font by default, distinguishing it from surrounding prose.
Set <var | threshold> to <samp | 0.05>.
Set threshold to 0.05.
<samp> for the sample value paired with <var> for the variable name — the natural pair for documenting configuration in technical writing.
<strong>Semantic role: strong. Compiles to eHTML <strong>.
Registers:
- Canonical:
<strong>
This is **strongly emphasized** content.
This is strongly emphasized content.
Plain markdown with double asterisks (or double underscores) produces the visual <b>, not the semantic <strong> — markdown emphasis maps to the visual tag. <strong> is reached only by the explicit form.
<strong | important>
<strong #critical .warning | This is critical.>
<sub>Semantic role: sub. Compiles to eHTML <sub>.
Registers:
- Canonical:
<sub>
Water is H<sub | 2>O.
Water is H2O.
The vector x<sub | i> represents the i-th component.
The vector xi represents the i-th component.
<sup>Semantic role: sup. Compiles to eHTML <sup>.
Registers:
- Canonical:
<sup>
The 1<sup | st> edition of the work.
The 1st edition of the work.
The function f(x) = x<sup | 2>.
The function f(x) = x2.
The isotope <sup | 12>C is abundant.
The isotope 12C is abundant.
<term>Semantic role: term. Compiles to eHTML <term>.
Registers:
- Canonical:
<term>
An <term | eigenvector> is a non-zero vector that scales under a linear transformation.
An
Standard term introduction. The element marks the word as “this is a term being introduced,” typically rendered in italic or bold by default CSS.
An <term #term:eigenvector | eigenvector> is a non-zero vector that scales under a linear transformation. Later we generalize <term | eigenvector>s to operators.
An
First introduction carries an id so later references can link back to it. Subsequent uses of the same term (without an id) still mark it as a term being referenced, distinct from running prose, without re-asserting the introduction.
<u>Semantic role: u. Compiles to eHTML <u>.
Registers:
- Canonical:
<u>
The author wrote <u type=misspelling | recieve> in the original.
The author wrote recieve in the original.
The Chinese name <u type=proper-name | 王明> appears here.
The Chinese name 王明 appears here.
| attribute | kind | values / default | notes |
|---|---|---|---|
type |
kwarg | misspelling proper-name editorial-correction other |
<var>Semantic role: var. Compiles to eHTML <var>.
Registers:
- Canonical:
<var>
The function takes a parameter <var | n> and returns <var | n>²+1.
The function takes a parameter n and returns n²+1.
Variable names in prose. Browsers render <var> in italic by default, distinguishing it from surrounding prose.
Set <var | threshold> to <samp | 0.05>.
Set threshold to 0.05.
<var> for the variable name and <samp> for a sample value — the natural pair for documenting configuration in technical writing.