MANDOC_CHAR(7)

NAME
mandoc_char - mandoc special characters

DESCRIPTION
This page documents the special characters and predefined strings accepted by mandoc(1) to format mdoc(7) and man(7) documents.

Both mdoc(7) and man(7) encode special characters with ‘\X’ (for a one-character escape), ‘\(XX’ (two-character), and ‘\[N]’ (N-character). One may generalise ‘\(XX’ as ‘\[XX]’ and ‘\X’ as ‘\[X]’. Predefined strings are functionally similar to special characters, using ‘\*X’ (for a one-character escape), ‘\*(XX’ (two-character), and ‘\*[N]’ (N-character). One may generalise ‘\*(XX’ as ‘\*[XX]’ and ‘\*X’ as ‘\*[X]’.

Note that each output mode will have a different rendering of the characters. It's guaranteed that each input symbol will correspond to a (more or less) meaningful output rendering, regardless the mode.

SPECIAL CHARACTERS
These are the preferred input symbols for producing special characters.

Spacing:
Input | Description
\~ | non-breaking, non-collapsing space
\ | breaking, non-collapsing n-width space
\^ | zero-width space
\% | zero-width space
\& | zero-width space
\| | zero-width space
\0 | breaking, non-collapsing digit-width space
\c | removes any trailing space (if applicable)

Lines:
Input | Rendered | Description
\(ba | | | bar
\(br | | | box rule
\(ul | _ | underscore
\(rl | | overline
\(bb | ¦ | broken bar
\(sl | / | forward slash
\(rs | \ | backward slash

Text markers:
Input | Rendered | Description
\(ci | ○ | circle
\(bu | • | bullet
\(dd | ‡ | double dagger
\(dg | † | dagger
\(lz | ◊ | lozenge
\(sq | □ | white square
\(ps | ¶ | paragraph
\(sc | § | section
\(lh | ☜ | left hand
\(rh | ☞ | right hand
\(at | @ | at
\(sh | # | hash (pound)
\(CR | ↵ | carriage return
\(OK | ✓ | check mark

Legal symbols:
Input | Rendered | Description
\(co | © | copyright
\(rg | ® | registered
\(tm | ™ | trademarked

Punctuation:
Input | Rendered | Description
\(em | — | em-dash
\(en | – | en-dash
\(hy | - | hyphen
\e | \ | back-slash
\. |. | period
\(r! | ¡ | upside-down exclamation
\(r? | ¿ | upside-down question

Quotes:
Input | Rendered | Description
\(Bq | „ | right low double-quote
\(bq | ‚ | right low single-quote
\(lq | “ | left double-quote
\(rq | ” | right double-quote
\(oq | ‘ | left single-quote
\(cq | ’ | right single-quote
\(aq | ' | apostrophe quote (text)
\(dq | " | double quote (text)
\(Fo | « | left guillemet
\(Fc | » | right guillemet
\(fo | ‹ | left single guillemet
\(fc | › | right single guillemet

Brackets:
Input | Rendered | Description
\(lB | [| left bracket
\(rB |] | right bracket
\(lC | { | left brace
\(rC | } | right brace
\(la | ⟨ | left angle
\(ra | ⟩ | right angle
\(bv | | | brace extension
\[braceex] | | brace extension
\[bracketlefttp] | | top-left hooked bracket
\[bracketleftbp] | | bottom-left hooked bracket
\[bracketleftex] | | left hooked bracket extension
\[bracketrighttp] | | top-right hooked bracket
\[bracketrightbp] | | bottom-right hooked bracket
\[bracketrightex] | | right hooked bracket extension
\(lt | | top-left hooked brace
\[bracelefttp] | | top-left hooked brace
\(lk | | mid-left hooked brace
\[braceleftmid] | | mid-left hooked brace
\(lb | | bottom-left hooked brace
\[braceleftbp] | | bottom-left hooked brace
\[braceleftex] | | left hooked brace extension
\(rt | | top-left hooked brace
\[bracerighttp] | | top-right hooked brace
\(rk | | mid-right hooked brace
\[bracerightmid] | | mid-right hooked brace
\(rb | | bottom-right hooked brace
\[bracerightbp] | | bottom-right hooked brace
\[bracerightex] | | right hooked brace extension
\[parenlefttp] | | top-left hooked parenthesis
\[parenleftbp] | | bottom-left hooked parenthesis
\[parenleftex] | | left hooked parenthesis extension
\[parenrighttp] | | top-right hooked parenthesis
\[parenrightbp] | | bottom-right hooked parenthesis
\[parenrightex] | | right hooked parenthesis extension

Arrows:
Input | Rendered | Description
\(<- | ← | left arrow
\(-> | → | right arrow
\(<> | ↔ | left-right arrow
\(da | ↓ | down arrow
\(ua | ↑ | up arrow
\(va | ǎ | up-down arrow
\(lA | ⇐ | left double-arrow
\(rA | ⇒ | right double-arrow
\(hA | ⇔ | left-right double-arrow
\(uA | | up double-arrow
\(dA | | down double-arrow
\(vA | Ǎ | up-down double-arrow

Logical:
Input | Rendered | Description
\(AN | ∧ | logical and
\(OR | ∨ | logical or
\(no | ¬ | logical not
\[tno] | ¬ | logical not (text)
\(te | ∃ | existential quantifier
\(fa | ∀ | universal quantifier
\(st | | such that
\(tf | ∴ | therefore
\(3d | ∴ | therefore
\(or | | | bitwise or

Mathematical:
Input | Rendered | Description
\(pl | + | plus
\(mi | - | minus
\- | - | minus (text)
\(-+ | | minus-plus
\(+- | ± | plus-minus
\[t+-] | | plus-minus (text)
\(pc | · | centre-dot
\(mu | × | multiply
\[tmu] | | multiply (text)
\(c* | ⊗ | circle-multiply
\(c+ | ⊕ | circle-plus
\(di | ÷ | divide
\[tdi] | | divide (text)
\(f/ | | fraction
\(** | * | asterisk
\(<= | ≤ | less-than-equal
\(>= | ≥ | greater-than-equal
\(<< | ≪ | much less
\(>> | ≫ | much greater
\(eq | | equal
\(!= | ≠ | not equal
\(== | ≡ | equivalent
\(ne | ≢ | not equivalent
\(=~ | ≅ | congruent
\(-~ | | asymptotically congruent
\(ap | ~ | asymptotically similar
\(~~ | ≈ | approximately similar
\(~= | ≈ | approximately equal
\(pt | ∝ | proportionate
\(es | ∅ | empty set
\(mo | ∈ | element
\(nm | ∉ | not element
\(sb | ⊂ | proper subset
\(nb | ⊄ | not subset
\(sp | ⊃ | proper superset
\(nc | ⊅ | not superset
\(ib | ⊆ | reflexive subset
\(ip | ⊇ | reflexive superset
\(ca | ∩ | intersection
\(cu | ∪ | union
\(/_ | | angle
\(pp | ⊥ | perpendicular
\(is | ∫ | integral
\[integral] | ∫ | integral
\[sum] | | summation
\[product] | | product
\[coproduct] | | coproduct
\(gr | ∇ | gradient
\(sr | √ | square root
\[sqrt] | √ | square root
\(lc | | left-ceiling
\(rc | | right-ceiling
\(lf | | left-floor
\(rf | | right-floor
\(if | ∞ | infinity
\(Ah | ℵ | aleph
\(Im | ℑ | imaginary
\(Re | ℜ | real
\(pd | ∂ | partial differential
\(-h | | Planck constant over 2π

Ligatures:
Input | Rendered | Description
\(ff | ff | ff ligature
\(fi | fi | fi ligature
\(fl | fl | fl ligature
\(Fi | ffi | ffi ligature
\(Fl | ffl | ffl ligature
\(AE | Æ | AE
\(ae | æ | ae
\(OE | Œ | OE
\(oe | œ | oe
\(ss | ß | German eszett
\(IJ | | IJ ligature
\(ij | | ij ligature

Accents:
Input | Rendered | Description
\(a" | | Hungarian umlaut
\(a- | | macron
\(a. | | dotted
\(a^ | ^ | circumflex
\(aa | ´ | acute
\' | ' | acute
\(ga | ` | grave
\` | ` | grave
\(ab | | breve
\(ac | | cedilla
\(ad | | dieresis
\(ah | | caron
\(ao | | ring
\(a~ | ~ | tilde
\(ho | | ogonek
\(ha | ^ | hat (text)
\(ti | ~ | tilde (text)

Accented letters:
Input | Rendered | Description
\('A | Á | acute A
\('E | É | acute E
\('I | Í | acute I
\('O | Ó | acute O
\('U | Ú | acute U
\('a | á | acute a
\('e | é | acute e
\('i | í | acute i
\('o | ó | acute o
\('u | ú | acute u
\(`A | À | grave A
\(`E | È | grave E
\(`I | Ì | grave I
\(`O | Ò | grave O
\(`U | Ù | grave U
\(`a | à | grave a
\(`e | è | grave e
\(`i | ì | grave i
\(`o | ì | grave o
\(`u | ù | grave u
\(~A | Ã | tilde A
\(~N | Ñ | tilde N
\(~O | Õ | tilde O
\(~a | ã | tilde a
\(~n | ñ | tilde n
\(~o | õ | tilde o
\(:A | Ä | dieresis A
\(:E | Ë | dieresis E
\(:I | Ï | dieresis I
\(:O | Ö | dieresis O
\(:U | Ü | dieresis U
\(:a | ä | dieresis a
\(:e | ë | dieresis e
\(:i | ï | dieresis i
\(:o | ö | dieresis o
\(:u | ü | dieresis u
\(:y | ÿ | dieresis y
\(^A | Â | circumflex A
\(^E | Ê | circumflex E
\(^I | Î | circumflex I
\(^O | Ô | circumflex O
\(^U | Û | circumflex U
\(^a | â | circumflex a
\(^e | ê | circumflex e
\(^i | î | circumflex i
\(^o | ô | circumflex o
\(^u | û | circumflex u
\(,C | Ç | cedilla C
\(,c | ç | cedilla c
\(/L | Ł | stroke L
\(/l | ł | stroke l
\(/O | Ø | stroke O
\(/o | ø | stroke o
\(oA | Å | ring A
\(oa | å | ring a

Special letters:
Input | Rendered | Description
\(-D | Ð | Eth
\(Sd | ð | eth
\(TP | Þ | Thorn
\(Tp | þ | thorn
\(.i | ı | dotless i
\(.j | | dotless j

Currency:
Input | Rendered | Description
\(Do | $ | dollar
\(ct | ¢ | cent
\(Eu | € | Euro symbol
\(eu | € | Euro symbol
\(Ye | ¥ | yen
\(Po | £ | pound
\(Cs | ¤ | Scandinavian
\(Fn | ƒ | florin

Units:
Input | Rendered | Description
\(de | ° | degree
\(%0 | ‰ | per-thousand
\(fm | ′ | minute
\(sd | ″ | second
\(mc | µ | micro

Greek letters:
Input | Rendered | Description
\(*A | Α | Alpha
\(*B | Β | Beta
\(*G | Γ | Gamma
\(*D | Δ | Delta
\(*E | Ε | Epsilon
\(*Z | Ζ | Zeta
\(*Y | Η | Eta
\(*H | Θ | Theta
\(*I | Ι | Iota
\(*K | Κ | Kappa
\(*L | Λ | Lambda
\(*M | Μ | Mu
\(*N | Ν | Nu
\(*C | Ξ | Xi
\(*O | Ο | Omicron
\(*P | Π | Pi
\(*R | Ρ | Rho
\(*S | Σ | Sigma
\(*T | Τ | Tau
\(*U | Υ | Upsilon
\(*F | Φ | Phi
\(*X | Χ | Chi
\(*Q | Ψ | Psi
\(*W | Ω | Omega
\(*a | α | alpha
\(*b | β | beta
\(*g | γ | gamma
\(*d | δ | delta
\(*e | ε | epsilon
\(*z | ζ | zeta
\(*y | η | eta
\(*h | θ | theta
\(*i | ι | iota
\(*k | κ | kappa
\(*l | λ | lambda
\(*m | μ | mu
\(*n | ν | nu
\(*c | ξ | xi
\(*o | ο | omicron
\(*p | π | pi
\(*r | ρ | rho
\(*s | σ | sigma
\(*t | τ | tau
\(*u | υ | upsilon
\(*f | φ | phi
\(*x | χ | chi
\(*q | ψ | psi
\(*w | ω | omega
\(+h | | theta variant
\(+f | | phi variant
\(+p | | pi variant
\(+e | | epsilon variant
\(ts | ς | sigma terminal

PREDEFINED STRINGS
Predefined strings are inherited from the macro packages of historical troff implementations. They are not recommended for use, as they differ across implementations. Manuals using these predefined strings are almost certainly not portable.

Input | Rendered | Description
\*(Ba | | vertical bar
\*(Ne | | not equal
\*(Ge | | greater-than-equal
\*(Le | | less-than-equal
\*(Gt | | greater-than
\*(Lt | | less-than
\*(Pm | | plus-minus
\*(If | | infinity
\*(Pi | | pi
\*(Na | | NaN
\*(Am | | ampersand
\*R | ® | restricted mark
\*(Tm | ™ | trade mark
\*q | | double-quote
\*(Rq | | right-double-quote
\*(Lq | | left-double-quote
\*(lp | | right-parenthesis
\*(rp | | left-parenthesis
\*(lq | “ | left double-quote
\*(rq | ” | right double-quote
\*(ua | | up arrow
\*(va | | up-down arrow
\*(<= | | less-than-equal
\*(>= | | greater-than-equal
\*(aa | | acute
\*(ga | | grave
\*(Px | | POSIX standard name
\*(Ai | | ANSI standard name

UNICODE CHARACTERS
The escape sequence

    \[uXXXX]

is interpreted as a Unicode codepoint. The codepoint must be in the range above U+0080 and less than U+10FFFF. For compatibility, points must be zero-padded to four characters; if greater than four characters, no zero padding is allowed. Unicode surrogates are not allowed.

NUMBERED CHARACTERS
For backward compatibility with existing manuals, mandoc(1) also supports the

    \N'number'

escape sequence, inserting the character number from the current character set into the output. Of course, this is inherently non-portable and is already marked as deprecated in the Heirloom roff manual. For example, do not use \N'34', use \(dq, or even the plain ‘"’ character where possible.

COMPATIBILITY
This section documents compatibility between mandoc and other other troff implementations, at this time limited to GNU troff ("groff").

-   The \N'' escape sequence is limited to printable characters; in groff, it accepts arbitrary character numbers.
-   In -Tascii, the \(ss, \(nm, \(nb, \(nc, \(ib, \(ip, \(pp, \[sum], \[product], \[coproduct], \(gr, \(-h, and \(a. special characters render differently between mandoc and groff.
-   In -Thtml and -Txhtml, the \(~=, \(nb, and \(nc special characters render differently between mandoc and groff.
-   The -Tps and -Tpdf modes format like -Tascii instead of rendering glyphs as in groff.
-   The \[radicalex], \[sqrtex], and \(ru special characters have been omitted from mandoc either because they are poorly documented or they have no known representation.

SEE ALSO
mandoc(1)

AUTHORS
The mandoc_char manual page was written by Kristaps Dzonsons <kristaps@bsd.lv>.

CAVEATS
The ‘\*(Ba’ escape mimics the behaviour of the ‘|’ character in mdoc(7); thus, if you wish to render a vertical bar with no side effects, use the ‘\(ba’ escape.