| .\" |
| .\" Permission to use, copy, modify, and distribute this software for any |
| .\" purpose with or without fee is hereby granted, provided that the above |
| .\" copyright notice and this permission notice appear in all copies. |
| .\" |
| .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| .\" |
| .\" |
| .\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org> |
| .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
| .\" Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org> |
| .\" Copyright 2012 Nexenta Systems, Inc. All rights reserved. |
| .\" |
| .Dd Nov 23, 2011 |
| .Dt MANDOC_CHAR 5 |
| .Os |
| .Sh NAME |
| .Nm mandoc_char |
| .Nd mandoc special characters |
| .Sh DESCRIPTION |
| This page documents the |
| .Xr roff 5 |
| escape sequences accepted by |
| .Xr mandoc 1 |
| to represent special characters in |
| .Xr mdoc 5 |
| and |
| .Xr man 5 |
| documents. |
| .Pp |
| The rendering depends on the |
| .Xr mandoc 1 |
| output mode; in ASCII output, most characters are completely |
| unintelligible. |
| For that reason, using any of the special characters documented here, |
| except those discussed in the |
| .Sx DESCRIPTION , |
| is strongly discouraged; they are supported merely for backwards |
| compatibility with existing documents. |
| .Pp |
| In particular, in English manual pages, do not use special-character |
| escape sequences to represent national language characters in author |
| names; instead, provide ASCII transcriptions of the names. |
| .Ss Dashes and Hyphens |
| In typography there are different types of dashes of various width: |
| the hyphen (-), |
| the minus sign (\-), |
| the en-dash (\(en), |
| and the em-dash (\(em). |
| .Pp |
| Hyphens are used for adjectives; |
| to separate the two parts of a compound word; |
| or to separate a word across two successive lines of text. |
| The hyphen does not need to be escaped: |
| .Bd -unfilled -offset indent |
| blue-eyed |
| lorry-driver |
| .Ed |
| .Pp |
| The mathematical minus sign is used for negative numbers or subtraction. |
| It should be written as |
| .Sq \e- : |
| .Bd -unfilled -offset indent |
| a = 3 \e- 1; |
| b = \e-2; |
| .Ed |
| .Pp |
| The en-dash is used to separate the two elements of a range, |
| or can be used the same way as an em-dash. |
| It should be written as |
| .Sq \e(en : |
| .Bd -unfilled -offset indent |
| pp. 95\e(en97. |
| Go away \e(en or else! |
| .Ed |
| .Pp |
| The em-dash can be used to show an interruption |
| or can be used the same way as colons, semi-colons, or parentheses. |
| It should be written as |
| .Sq \e(em : |
| .Bd -unfilled -offset indent |
| Three things \e(em apples, oranges, and bananas. |
| This is not that \e(em rather, this is that. |
| .Ed |
| .Pp |
| Note: |
| hyphens, minus signs, and en-dashes look identical under normal ASCII output. |
| Other formats, such as PostScript, render them correctly, |
| with differing widths. |
| .Ss Spaces |
| To separate words in normal text, for indenting and alignment |
| in literal context, and when none of the following special cases apply, |
| just use the normal space character |
| .Pq Sq \ . |
| .Pp |
| When filling text, lines may be broken between words, i.e. at space |
| characters. |
| To prevent a line break between two particular words, |
| use the non-breaking space escape sequence |
| .Pq Sq \e~ |
| instead of the normal space character. |
| For example, the input string |
| .Dq number\e~1 |
| will be kept together as |
| .Dq number\~1 |
| on the same output line. |
| .Pp |
| On request and macro lines, the normal space character serves as an |
| argument delimiter. |
| To include whitespace into arguments, quoting is usually the best choice. |
| In some cases, using either the non-breaking |
| .Pq Sq \e~ |
| or the breaking |
| .Pq Sq \e\ \& |
| space escape sequence may be preferable. |
| To escape macro names and to protect whitespace at the end |
| of input lines, the zero-width space |
| .Pq Sq \e& |
| is often useful. |
| For example, in |
| .Xr mdoc 5 , |
| a normal space character can be displayed in single quotes in either |
| of the following ways: |
| .Pp |
| .Dl .Sq \(dq \(dq |
| .Dl .Sq \e \e& |
| .Ss Quotes |
| On request and macro lines, the double-quote character |
| .Pq Sq \(dq |
| is handled specially to allow quoting. |
| One way to prevent this special handling is by using the |
| .Sq \e(dq |
| escape sequence. |
| .Pp |
| Note that on text lines, literal double-quote characters can be used |
| verbatim. |
| All other quote-like characters can be used verbatim as well, |
| even on request and macro lines. |
| .Ss Periods |
| The period |
| .Pq Sq \&. |
| is handled specially at the beginning of an input line, |
| where it introduces a |
| .Xr roff 5 |
| request or a macro, and when appearing alone as a macro argument in |
| .Xr mdoc 5 . |
| In such situations, prepend a zero-width space |
| .Pq Sq \e&. |
| to make it behave like normal text. |
| .Pp |
| Do not use the |
| .Sq \e. |
| escape sequence. |
| It does not prevent special handling of the period. |
| .Ss Backslashes |
| To include a literal backslash |
| .Pq Sq \e |
| into the output, use the |
| .Pq Sq \ee |
| escape sequence. |
| .Pp |
| Note that doubling it |
| .Pq Sq \e\e |
| is not the right way to output a backslash. |
| Because |
| .Xr mandoc 1 |
| does not implement full |
| .Xr roff 5 |
| functionality, it may work with |
| .Xr mandoc 1 , |
| but it may have weird effects on complete |
| .Xr roff 5 |
| implementations. |
| .Sh SPECIAL CHARACTERS |
| Special characters are encoded as |
| .Sq \eX |
| .Pq for a one-character escape , |
| .Sq \e(XX |
| .Pq two-character , |
| and |
| .Sq \e[N] |
| .Pq N-character . |
| For details, see the |
| .Em Special Characters |
| subsection of the |
| .Xr roff 5 |
| manual. |
| .Pp |
| Spacing: |
| .Bl -column "Input" "Description" -offset indent -compact |
| .It Em Input Ta Em Description |
| .It \e~ Ta non-breaking, non-collapsing space |
| .It \e Ta breaking, non-collapsing n-width space |
| .It \e^ Ta zero-width space |
| .It \e% Ta zero-width space |
| .It \e& Ta zero-width space |
| .It \e| Ta zero-width space |
| .It \e0 Ta breaking, non-collapsing digit-width space |
| .It \ec Ta removes any trailing space (if applicable) |
| .El |
| .Pp |
| Lines: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(ba Ta \(ba Ta bar |
| .It \e(br Ta \(br Ta box rule |
| .It \e(ul Ta \(ul Ta underscore |
| .It \e(rl Ta \(rl Ta overline |
| .It \e(bb Ta \(bb Ta broken bar |
| .It \e(sl Ta \(sl Ta forward slash |
| .It \e(rs Ta \(rs Ta backward slash |
| .El |
| .Pp |
| Text markers: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(ci Ta \(ci Ta circle |
| .It \e(bu Ta \(bu Ta bullet |
| .It \e(dd Ta \(dd Ta double dagger |
| .It \e(dg Ta \(dg Ta dagger |
| .It \e(lz Ta \(lz Ta lozenge |
| .It \e(sq Ta \(sq Ta white square |
| .It \e(ps Ta \(ps Ta paragraph |
| .It \e(sc Ta \(sc Ta section |
| .It \e(lh Ta \(lh Ta left hand |
| .It \e(rh Ta \(rh Ta right hand |
| .It \e(at Ta \(at Ta at |
| .It \e(sh Ta \(sh Ta hash (pound) |
| .It \e(CR Ta \(CR Ta carriage return |
| .It \e(OK Ta \(OK Ta check mark |
| .El |
| .Pp |
| Legal symbols: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(co Ta \(co Ta copyright |
| .It \e(rg Ta \(rg Ta registered |
| .It \e(tm Ta \(tm Ta trademarked |
| .El |
| .Pp |
| Punctuation: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(em Ta \(em Ta em-dash |
| .It \e(en Ta \(en Ta en-dash |
| .It \e(hy Ta \(hy Ta hyphen |
| .It \ee Ta \e Ta back-slash |
| .It \e. Ta \. Ta period |
| .It \e(r! Ta \(r! Ta upside-down exclamation |
| .It \e(r? Ta \(r? Ta upside-down question |
| .El |
| .Pp |
| Quotes: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(Bq Ta \(Bq Ta right low double-quote |
| .It \e(bq Ta \(bq Ta right low single-quote |
| .It \e(lq Ta \(lq Ta left double-quote |
| .It \e(rq Ta \(rq Ta right double-quote |
| .It \e(oq Ta \(oq Ta left single-quote |
| .It \e(cq Ta \(cq Ta right single-quote |
| .It \e(aq Ta \(aq Ta apostrophe quote (text) |
| .It \e(dq Ta \(dq Ta double quote (text) |
| .It \e(Fo Ta \(Fo Ta left guillemet |
| .It \e(Fc Ta \(Fc Ta right guillemet |
| .It \e(fo Ta \(fo Ta left single guillemet |
| .It \e(fc Ta \(fc Ta right single guillemet |
| .El |
| .Pp |
| Brackets: |
| .Bl -column "xxbracketrightbpx" Rendered Description -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(lB Ta \(lB Ta left bracket |
| .It \e(rB Ta \(rB Ta right bracket |
| .It \e(lC Ta \(lC Ta left brace |
| .It \e(rC Ta \(rC Ta right brace |
| .It \e(la Ta \(la Ta left angle |
| .It \e(ra Ta \(ra Ta right angle |
| .It \e(bv Ta \(bv Ta brace extension |
| .It \e[braceex] Ta \[braceex] Ta brace extension |
| .It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket |
| .It \e[bracketleftbp] Ta \[bracketleftbp] Ta bottom-left hooked bracket |
| .It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension |
| .It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket |
| .It \e[bracketrightbp] Ta \[bracketrightbp] Ta bottom-right hooked bracket |
| .It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension |
| .It \e(lt Ta \(lt Ta top-left hooked brace |
| .It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace |
| .It \e(lk Ta \(lk Ta mid-left hooked brace |
| .It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace |
| .It \e(lb Ta \(lb Ta bottom-left hooked brace |
| .It \e[braceleftbp] Ta \[braceleftbp] Ta bottom-left hooked brace |
| .It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension |
| .It \e(rt Ta \(rt Ta top-left hooked brace |
| .It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace |
| .It \e(rk Ta \(rk Ta mid-right hooked brace |
| .It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace |
| .It \e(rb Ta \(rb Ta bottom-right hooked brace |
| .It \e[bracerightbp] Ta \[bracerightbp] Ta bottom-right hooked brace |
| .It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension |
| .It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis |
| .It \e[parenleftbp] Ta \[parenleftbp] Ta bottom-left hooked parenthesis |
| .It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension |
| .It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis |
| .It \e[parenrightbp] Ta \[parenrightbp] Ta bottom-right hooked parenthesis |
| .It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension |
| .El |
| .Pp |
| Arrows: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(<- Ta \(<- Ta left arrow |
| .It \e(-> Ta \(-> Ta right arrow |
| .It \e(<> Ta \(<> Ta left-right arrow |
| .It \e(da Ta \(da Ta down arrow |
| .It \e(ua Ta \(ua Ta up arrow |
| .It \e(va Ta \(va Ta up-down arrow |
| .It \e(lA Ta \(lA Ta left double-arrow |
| .It \e(rA Ta \(rA Ta right double-arrow |
| .It \e(hA Ta \(hA Ta left-right double-arrow |
| .It \e(uA Ta \(uA Ta up double-arrow |
| .It \e(dA Ta \(dA Ta down double-arrow |
| .It \e(vA Ta \(vA Ta up-down double-arrow |
| .El |
| .Pp |
| Logical: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(AN Ta \(AN Ta logical and |
| .It \e(OR Ta \(OR Ta logical or |
| .It \e(no Ta \(no Ta logical not |
| .It \e[tno] Ta \[tno] Ta logical not (text) |
| .It \e(te Ta \(te Ta existential quantifier |
| .It \e(fa Ta \(fa Ta universal quantifier |
| .It \e(st Ta \(st Ta such that |
| .It \e(tf Ta \(tf Ta therefore |
| .It \e(3d Ta \(3d Ta therefore |
| .It \e(or Ta \(or Ta bitwise or |
| .El |
| .Pp |
| Mathematical: |
| .Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(pl Ta \(pl Ta plus |
| .It \e(mi Ta \(mi Ta minus |
| .It \e- Ta \- Ta minus (text) |
| .It \e(-+ Ta \(-+ Ta minus-plus |
| .It \e(+- Ta \(+- Ta plus-minus |
| .It \e[t+-] Ta \[t+-] Ta plus-minus (text) |
| .It \e(pc Ta \(pc Ta centre-dot |
| .It \e(mu Ta \(mu Ta multiply |
| .It \e[tmu] Ta \[tmu] Ta multiply (text) |
| .It \e(c* Ta \(c* Ta circle-multiply |
| .It \e(c+ Ta \(c+ Ta circle-plus |
| .It \e(di Ta \(di Ta divide |
| .It \e[tdi] Ta \[tdi] Ta divide (text) |
| .It \e(f/ Ta \(f/ Ta fraction |
| .It \e(** Ta \(** Ta asterisk |
| .It \e(<= Ta \(<= Ta less-than-equal |
| .It \e(>= Ta \(>= Ta greater-than-equal |
| .It \e(<< Ta \(<< Ta much less |
| .It \e(>> Ta \(>> Ta much greater |
| .It \e(eq Ta \(eq Ta equal |
| .It \e(!= Ta \(!= Ta not equal |
| .It \e(== Ta \(== Ta equivalent |
| .It \e(ne Ta \(ne Ta not equivalent |
| .It \e(=~ Ta \(=~ Ta congruent |
| .It \e(-~ Ta \(-~ Ta asymptotically congruent |
| .It \e(ap Ta \(ap Ta asymptotically similar |
| .It \e(~~ Ta \(~~ Ta approximately similar |
| .It \e(~= Ta \(~= Ta approximately equal |
| .It \e(pt Ta \(pt Ta proportionate |
| .It \e(es Ta \(es Ta empty set |
| .It \e(mo Ta \(mo Ta element |
| .It \e(nm Ta \(nm Ta not element |
| .It \e(sb Ta \(sb Ta proper subset |
| .It \e(nb Ta \(nb Ta not subset |
| .It \e(sp Ta \(sp Ta proper superset |
| .It \e(nc Ta \(nc Ta not superset |
| .It \e(ib Ta \(ib Ta reflexive subset |
| .It \e(ip Ta \(ip Ta reflexive superset |
| .It \e(ca Ta \(ca Ta intersection |
| .It \e(cu Ta \(cu Ta union |
| .It \e(/_ Ta \(/_ Ta angle |
| .It \e(pp Ta \(pp Ta perpendicular |
| .It \e(is Ta \(is Ta integral |
| .It \e[integral] Ta \[integral] Ta integral |
| .It \e[sum] Ta \[sum] Ta summation |
| .It \e[product] Ta \[product] Ta product |
| .It \e[coproduct] Ta \[coproduct] Ta coproduct |
| .It \e(gr Ta \(gr Ta gradient |
| .It \e(sr Ta \(sr Ta square root |
| .It \e[sqrt] Ta \[sqrt] Ta square root |
| .It \e(lc Ta \(lc Ta left-ceiling |
| .It \e(rc Ta \(rc Ta right-ceiling |
| .It \e(lf Ta \(lf Ta left-floor |
| .It \e(rf Ta \(rf Ta right-floor |
| .It \e(if Ta \(if Ta infinity |
| .It \e(Ah Ta \(Ah Ta aleph |
| .It \e(Im Ta \(Im Ta imaginary |
| .It \e(Re Ta \(Re Ta real |
| .It \e(pd Ta \(pd Ta partial differential |
| .It \e(-h Ta \(-h Ta Planck constant over 2\(*p |
| .It \e[12] Ta \[12] Ta one-half |
| .It \e[14] Ta \[14] Ta one-fourth |
| .It \e[34] Ta \[34] Ta three-fourths |
| .El |
| .Pp |
| Ligatures: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(ff Ta \(ff Ta ff ligature |
| .It \e(fi Ta \(fi Ta fi ligature |
| .It \e(fl Ta \(fl Ta fl ligature |
| .It \e(Fi Ta \(Fi Ta ffi ligature |
| .It \e(Fl Ta \(Fl Ta ffl ligature |
| .It \e(AE Ta \(AE Ta AE |
| .It \e(ae Ta \(ae Ta ae |
| .It \e(OE Ta \(OE Ta OE |
| .It \e(oe Ta \(oe Ta oe |
| .It \e(ss Ta \(ss Ta German eszett |
| .It \e(IJ Ta \(IJ Ta IJ ligature |
| .It \e(ij Ta \(ij Ta ij ligature |
| .El |
| .Pp |
| Accents: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(a" Ta \(a" Ta Hungarian umlaut |
| .It \e(a- Ta \(a- Ta macron |
| .It \e(a. Ta \(a. Ta dotted |
| .It \e(a^ Ta \(a^ Ta circumflex |
| .It \e(aa Ta \(aa Ta acute |
| .It \e' Ta \' Ta acute |
| .It \e(ga Ta \(ga Ta grave |
| .It \e` Ta \` Ta grave |
| .It \e(ab Ta \(ab Ta breve |
| .It \e(ac Ta \(ac Ta cedilla |
| .It \e(ad Ta \(ad Ta dieresis |
| .It \e(ah Ta \(ah Ta caron |
| .It \e(ao Ta \(ao Ta ring |
| .It \e(a~ Ta \(a~ Ta tilde |
| .It \e(ho Ta \(ho Ta ogonek |
| .It \e(ha Ta \(ha Ta hat (text) |
| .It \e(ti Ta \(ti Ta tilde (text) |
| .El |
| .Pp |
| Accented letters: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e('A Ta \('A Ta acute A |
| .It \e('E Ta \('E Ta acute E |
| .It \e('I Ta \('I Ta acute I |
| .It \e('O Ta \('O Ta acute O |
| .It \e('U Ta \('U Ta acute U |
| .It \e('a Ta \('a Ta acute a |
| .It \e('e Ta \('e Ta acute e |
| .It \e('i Ta \('i Ta acute i |
| .It \e('o Ta \('o Ta acute o |
| .It \e('u Ta \('u Ta acute u |
| .It \e(`A Ta \(`A Ta grave A |
| .It \e(`E Ta \(`E Ta grave E |
| .It \e(`I Ta \(`I Ta grave I |
| .It \e(`O Ta \(`O Ta grave O |
| .It \e(`U Ta \(`U Ta grave U |
| .It \e(`a Ta \(`a Ta grave a |
| .It \e(`e Ta \(`e Ta grave e |
| .It \e(`i Ta \(`i Ta grave i |
| .It \e(`o Ta \(`i Ta grave o |
| .It \e(`u Ta \(`u Ta grave u |
| .It \e(~A Ta \(~A Ta tilde A |
| .It \e(~N Ta \(~N Ta tilde N |
| .It \e(~O Ta \(~O Ta tilde O |
| .It \e(~a Ta \(~a Ta tilde a |
| .It \e(~n Ta \(~n Ta tilde n |
| .It \e(~o Ta \(~o Ta tilde o |
| .It \e(:A Ta \(:A Ta dieresis A |
| .It \e(:E Ta \(:E Ta dieresis E |
| .It \e(:I Ta \(:I Ta dieresis I |
| .It \e(:O Ta \(:O Ta dieresis O |
| .It \e(:U Ta \(:U Ta dieresis U |
| .It \e(:a Ta \(:a Ta dieresis a |
| .It \e(:e Ta \(:e Ta dieresis e |
| .It \e(:i Ta \(:i Ta dieresis i |
| .It \e(:o Ta \(:o Ta dieresis o |
| .It \e(:u Ta \(:u Ta dieresis u |
| .It \e(:y Ta \(:y Ta dieresis y |
| .It \e(^A Ta \(^A Ta circumflex A |
| .It \e(^E Ta \(^E Ta circumflex E |
| .It \e(^I Ta \(^I Ta circumflex I |
| .It \e(^O Ta \(^O Ta circumflex O |
| .It \e(^U Ta \(^U Ta circumflex U |
| .It \e(^a Ta \(^a Ta circumflex a |
| .It \e(^e Ta \(^e Ta circumflex e |
| .It \e(^i Ta \(^i Ta circumflex i |
| .It \e(^o Ta \(^o Ta circumflex o |
| .It \e(^u Ta \(^u Ta circumflex u |
| .It \e(,C Ta \(,C Ta cedilla C |
| .It \e(,c Ta \(,c Ta cedilla c |
| .It \e(/L Ta \(/L Ta stroke L |
| .It \e(/l Ta \(/l Ta stroke l |
| .It \e(/O Ta \(/O Ta stroke O |
| .It \e(/o Ta \(/o Ta stroke o |
| .It \e(oA Ta \(oA Ta ring A |
| .It \e(oa Ta \(oa Ta ring a |
| .El |
| .Pp |
| Special letters: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(-D Ta \(-D Ta Eth |
| .It \e(Sd Ta \(Sd Ta eth |
| .It \e(TP Ta \(TP Ta Thorn |
| .It \e(Tp Ta \(Tp Ta thorn |
| .It \e(.i Ta \(.i Ta dotless i |
| .It \e(.j Ta \(.j Ta dotless j |
| .El |
| .Pp |
| Currency: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(Do Ta \(Do Ta dollar |
| .It \e(ct Ta \(ct Ta cent |
| .It \e(Eu Ta \(Eu Ta Euro symbol |
| .It \e(eu Ta \(eu Ta Euro symbol |
| .It \e(Ye Ta \(Ye Ta yen |
| .It \e(Po Ta \(Po Ta pound |
| .It \e(Cs Ta \(Cs Ta Scandinavian |
| .It \e(Fn Ta \(Fn Ta florin |
| .El |
| .Pp |
| Units: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(de Ta \(de Ta degree |
| .It \e(%0 Ta \(%0 Ta per-thousand |
| .It \e(fm Ta \(fm Ta minute |
| .It \e(sd Ta \(sd Ta second |
| .It \e(mc Ta \(mc Ta micro |
| .El |
| .Pp |
| Greek letters: |
| .Bl -column "Input" "Rendered" "Description" -offset indent -compact |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e(*A Ta \(*A Ta Alpha |
| .It \e(*B Ta \(*B Ta Beta |
| .It \e(*G Ta \(*G Ta Gamma |
| .It \e(*D Ta \(*D Ta Delta |
| .It \e(*E Ta \(*E Ta Epsilon |
| .It \e(*Z Ta \(*Z Ta Zeta |
| .It \e(*Y Ta \(*Y Ta Eta |
| .It \e(*H Ta \(*H Ta Theta |
| .It \e(*I Ta \(*I Ta Iota |
| .It \e(*K Ta \(*K Ta Kappa |
| .It \e(*L Ta \(*L Ta Lambda |
| .It \e(*M Ta \(*M Ta Mu |
| .It \e(*N Ta \(*N Ta Nu |
| .It \e(*C Ta \(*C Ta Xi |
| .It \e(*O Ta \(*O Ta Omicron |
| .It \e(*P Ta \(*P Ta Pi |
| .It \e(*R Ta \(*R Ta Rho |
| .It \e(*S Ta \(*S Ta Sigma |
| .It \e(*T Ta \(*T Ta Tau |
| .It \e(*U Ta \(*U Ta Upsilon |
| .It \e(*F Ta \(*F Ta Phi |
| .It \e(*X Ta \(*X Ta Chi |
| .It \e(*Q Ta \(*Q Ta Psi |
| .It \e(*W Ta \(*W Ta Omega |
| .It \e(*a Ta \(*a Ta alpha |
| .It \e(*b Ta \(*b Ta beta |
| .It \e(*g Ta \(*g Ta gamma |
| .It \e(*d Ta \(*d Ta delta |
| .It \e(*e Ta \(*e Ta epsilon |
| .It \e(*z Ta \(*z Ta zeta |
| .It \e(*y Ta \(*y Ta eta |
| .It \e(*h Ta \(*h Ta theta |
| .It \e(*i Ta \(*i Ta iota |
| .It \e(*k Ta \(*k Ta kappa |
| .It \e(*l Ta \(*l Ta lambda |
| .It \e(*m Ta \(*m Ta mu |
| .It \e(*n Ta \(*n Ta nu |
| .It \e(*c Ta \(*c Ta xi |
| .It \e(*o Ta \(*o Ta omicron |
| .It \e(*p Ta \(*p Ta pi |
| .It \e(*r Ta \(*r Ta rho |
| .It \e(*s Ta \(*s Ta sigma |
| .It \e(*t Ta \(*t Ta tau |
| .It \e(*u Ta \(*u Ta upsilon |
| .It \e(*f Ta \(*f Ta phi |
| .It \e(*x Ta \(*x Ta chi |
| .It \e(*q Ta \(*q Ta psi |
| .It \e(*w Ta \(*w Ta omega |
| .It \e(+h Ta \(+h Ta theta variant |
| .It \e(+f Ta \(+f Ta phi variant |
| .It \e(+p Ta \(+p Ta pi variant |
| .It \e(+e Ta \(+e Ta epsilon variant |
| .It \e(ts Ta \(ts Ta sigma terminal |
| .El |
| .Sh PREDEFINED STRINGS |
| Predefined strings are inherited from the macro packages of historical |
| troff implementations. |
| They are |
| .Em not recommended |
| for use, as they differ across implementations. |
| Manuals using these predefined strings are almost certainly not |
| portable. |
| .Pp |
| Their syntax is similar to special characters, using |
| .Sq \e*X |
| .Pq for a one-character escape , |
| .Sq \e*(XX |
| .Pq two-character , |
| and |
| .Sq \e*[N] |
| .Pq N-character . |
| For details, see the |
| .Em Predefined Strings |
| subsection of the |
| .Xr roff 5 |
| manual. |
| .Bl -column "Input" "Rendered" "Description" -offset indent |
| .It Em Input Ta Em Rendered Ta Em Description |
| .It \e*(Ba Ta \*(Ba Ta vertical bar |
| .It \e*(Ne Ta \*(Ne Ta not equal |
| .It \e*(Ge Ta \*(Ge Ta greater-than-equal |
| .It \e*(Le Ta \*(Le Ta less-than-equal |
| .It \e*(Gt Ta \*(Gt Ta greater-than |
| .It \e*(Lt Ta \*(Lt Ta less-than |
| .It \e*(Pm Ta \*(Pm Ta plus-minus |
| .It \e*(If Ta \*(If Ta infinity |
| .It \e*(Pi Ta \*(Pi Ta pi |
| .It \e*(Na Ta \*(Na Ta NaN |
| .It \e*(Am Ta \*(Am Ta ampersand |
| .It \e*R Ta \*R Ta restricted mark |
| .It \e*(Tm Ta \*(Tm Ta trade mark |
| .It \e*q Ta \*q Ta double-quote |
| .It \e*(Rq Ta \*(Rq Ta right-double-quote |
| .It \e*(Lq Ta \*(Lq Ta left-double-quote |
| .It \e*(lp Ta \*(lp Ta right-parenthesis |
| .It \e*(rp Ta \*(rp Ta left-parenthesis |
| .It \e*(lq Ta \*(lq Ta left double-quote |
| .It \e*(rq Ta \*(rq Ta right double-quote |
| .It \e*(ua Ta \*(ua Ta up arrow |
| .It \e*(va Ta \*(va Ta up-down arrow |
| .It \e*(<= Ta \*(<= Ta less-than-equal |
| .It \e*(>= Ta \*(>= Ta greater-than-equal |
| .It \e*(aa Ta \*(aa Ta acute |
| .It \e*(ga Ta \*(ga Ta grave |
| .It \e*(Px Ta \*(Px Ta POSIX standard name |
| .It \e*(Ai Ta \*(Ai Ta ANSI standard name |
| .El |
| .Sh UNICODE CHARACTERS |
| The escape sequence |
| .Pp |
| .Dl \e[uXXXX] |
| .Pp |
| 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. |
| .\" .Pp |
| .\" Unicode glyphs attenuate to the |
| .\" .Sq \&? |
| .\" character if invalid or not rendered by current output media. |
| .Sh NUMBERED CHARACTERS |
| For backward compatibility with existing manuals, |
| .Xr mandoc 1 |
| also supports the |
| .Pp |
| .Dl \eN\(aq Ns Ar number Ns \(aq |
| .Pp |
| escape sequence, inserting the character |
| .Ar 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 \eN'34', use \e(dq, or even the plain |
| .Sq \(dq |
| character where possible. |
| .Sh COMPATIBILITY |
| This section documents compatibility between mandoc and other other |
| troff implementations, at this time limited to GNU troff |
| .Pq Qq groff . |
| .Pp |
| .Bl -dash -compact |
| .It |
| The \eN\(aq\(aq escape sequence is limited to printable characters; in |
| groff, it accepts arbitrary character numbers. |
| .It |
| In |
| .Fl T Ns Cm ascii , |
| the |
| \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product], |
| \e[coproduct], \e(gr, \e(\-h, and \e(a. special characters render |
| differently between mandoc and groff. |
| .It |
| In |
| .Fl T Ns Cm html |
| and |
| .Fl T Ns Cm xhtml , |
| the \e(~=, \e(nb, and \e(nc special characters render differently |
| between mandoc and groff. |
| .It |
| The |
| .Fl T Ns Cm ps |
| and |
| .Fl T Ns Cm pdf |
| modes format like |
| .Fl T Ns Cm ascii |
| instead of rendering glyphs as in groff. |
| .It |
| The \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted |
| from mandoc either because they are poorly documented or they have no |
| known representation. |
| .El |
| .Sh SEE ALSO |
| .Xr mandoc 1 , |
| .Xr man 5 , |
| .Xr mdoc 5 , |
| .Xr roff 5 |
| .Sh AUTHORS |
| The |
| .Nm |
| manual page was written by |
| .An Kristaps Dzonsons , |
| .Mt kristaps@bsd.lv . |
| .Sh CAVEATS |
| The |
| .Sq \e*(Ba |
| escape mimics the behaviour of the |
| .Sq \&| |
| character in |
| .Xr mdoc 5 ; |
| thus, if you wish to render a vertical bar with no side effects, use |
| the |
| .Sq \e(ba |
| escape. |