version 1.3, 2009/04/12 19:29:53 |
version 1.13, 2009/07/28 12:15:11 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
.\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@openbsd.org> |
.\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se> |
.\" |
.\" |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" purpose with or without fee is hereby granted, provided that the |
.\" purpose with or without fee is hereby granted, provided that the above |
.\" above copyright notice and this permission notice appear in all |
.\" copyright notice and this permission notice appear in all copies. |
.\" copies. |
|
.\" |
.\" |
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
.\" WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
.\" AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
.\" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
.\" PERFORMANCE OF THIS SOFTWARE. |
|
.\" |
.\" |
.Dd $Mdocdate$ |
.Dd $Mdocdate$ |
.Dt MANDOC_CHAR 7 |
.Dt MANDOC_CHAR 7 |
|
|
.Nd mandoc special characters |
.Nd mandoc special characters |
.\" SECTION |
.\" SECTION |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
This documents the special characters accepted by |
This documents the special characters and predefined strings accepted by |
.Xr mandoc 1 |
.Xr mandoc 1 |
to format |
to format |
.Xr mdoc 7 |
.Xr mdoc 7 |
Line 36 documents. Specific output devices of |
|
Line 34 documents. Specific output devices of |
|
dictated by the |
dictated by the |
.Fl T Ns Ar output |
.Fl T Ns Ar output |
argument, will properly render these sequences. |
argument, will properly render these sequences. |
|
.\" PARAGRAPH |
.Pp |
.Pp |
Both |
Both |
.Xr mdoc 7 |
.Xr mdoc 7 |
and |
and |
.Xr man 7 |
.Xr man 7 |
encode special characters with slightly different semantics; consult the |
encode special characters with |
respective manuals for these escapes. |
.Sq \eX |
|
.Pq for a one-character escape , |
|
.Sq \e(XX |
|
.Pq two-character , |
|
and |
|
.Sq \e[N] |
|
.Pq N-character . |
|
One may generalise |
|
.Sq \e(XX |
|
as |
|
.Sq \e[XX] |
|
and |
|
.Sq \eX |
|
as |
|
.Sq \e[X] . |
|
Predefined strings are functionally 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 . |
|
One may generalise |
|
.Sq \e*(XX |
|
as |
|
.Sq \e*[XX] |
|
and |
|
.Sq \e*X |
|
as |
|
.Sq \e*[X] . |
|
.\" SECTION |
|
.Sh Special Characters |
|
These are the preferred input symbols for producing special characters. |
|
.\" PARAGRAPH |
.Pp |
.Pp |
|
Typographic: |
|
.Bl -tag -width Ds -offset indent -compact |
|
.It \e~ |
|
.Pq non-breaking space |
|
.It \e |
|
.Pq space |
|
.It \e^ |
|
.Pq zero-width space |
|
.It \e% |
|
.Pq zero-width space |
|
.It \e& |
|
.Pq zero-width space |
|
.It \e| |
|
.Pq zero-width space |
|
.El |
|
.\" PARAGRAPH |
|
.Pp |
Grammatic: |
Grammatic: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(em |
.It \e(em |
.Pq em-dash |
.Pq em-dash |
.It \e(en |
.It \e(en |
.Pq en-dash |
.Pq en-dash |
.It \e- |
.It \e(hy |
.Pq hyphen |
.Pq hyphen |
.It \e\e |
.It \e\e |
.Pq back-slash |
.Pq back-slash |
|
.It \\e |
|
.Pq back-slash |
.It \e' |
.It \e' |
.Pq apostrophe |
.Pq apostrophe |
.It \e` |
.It \e` |
.Pq back-tick |
.Pq back-tick |
.It \e |
|
.Pq space |
|
.It \e. |
.It \e. |
.Pq period |
.Pq period |
.It \e(r! |
.It \e(r! |
|
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Enclosures: |
Enclosures: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(lh |
.It \e(lh |
.Pq left hand |
.Pq left hand |
.It \e(rh |
.It \e(rh |
|
|
.Pq right bracket |
.Pq right bracket |
.It \e(lB |
.It \e(lB |
.Pq left bracket |
.Pq left bracket |
.It \eq |
|
.Pq double-quote |
|
.It \e(lq |
.It \e(lq |
.Pq left double-quote |
.Pq left double-quote |
.It \e(Lq |
|
.Pq left double-quote, deprecated |
|
.It \e(rq |
.It \e(rq |
.Pq right double-quote |
.Pq right double-quote |
.It \e(Rq |
|
.Pq right double-quote, deprecated |
|
.It \e(oq |
.It \e(oq |
.Pq left single-quote |
.Pq left single-quote |
.It \e(aq |
.It \e(aq |
|
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Indicatives: |
Indicatives: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(<- |
.It \e(<- |
.Pq left arrow |
.Pq left arrow |
.It \e(-> |
.It \e(-> |
|
|
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Mathematical: |
Mathematical: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(es |
.It \e(es |
.Pq empty set |
.Pq empty set |
.It \e(ca |
.It \e(ca |
|
|
.Pq multiplication |
.Pq multiplication |
.It \e(pl |
.It \e(pl |
.Pq addition |
.Pq addition |
|
.It \e- |
|
.Pq subtraction |
.It \e(nm |
.It \e(nm |
.Pq not element |
.Pq not element |
.It \e(mo |
.It \e(mo |
|
|
.Pq approximately equals |
.Pq approximately equals |
.It \e(=~ |
.It \e(=~ |
.Pq congruent |
.Pq congruent |
.It \e(Gt |
|
.Pq greater-than, deprecated |
|
.It \e(Lt |
|
.Pq less-than, deprecated |
|
.It \e(<= |
.It \e(<= |
.Pq less-than-equal |
.Pq less-than-equal |
.It \e(Le |
|
.Pq less-than-equal, deprecated |
|
.It \e(>= |
.It \e(>= |
.Pq greater-than-equal |
.Pq greater-than-equal |
.It \e(Ge |
|
.Pq greater-than-equal |
|
.It \e(== |
.It \e(== |
.Pq equal |
.Pq equal |
.It \e(!= |
.It \e(!= |
.Pq not equal |
.Pq not equal |
.It \e(Ne |
|
.Pq not equal, deprecated |
|
.It \e(if |
.It \e(if |
.Pq infinity |
.Pq infinity |
.It \e(If |
|
.Pq infinity, deprecated |
|
.It \e(na |
.It \e(na |
.Pq NaN , an extension |
.Pq NaN, an extension |
.It \e(Na |
|
.Pq NaN, deprecated |
|
.It \e(+- |
.It \e(+- |
.Pq plus-minus |
.Pq plus-minus |
.It \e(Pm |
|
.Pq plus-minus, deprecated |
|
.It \e(** |
.It \e(** |
.Pq asterisk |
.Pq asterisk |
.El |
.El |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Ligatures: |
Ligatures: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(ss |
.It \e(ss |
.Pq German eszett |
.Pq German eszett |
.It \e(AE |
.It \e(AE |
.Pq upper-case AE |
.Pq AE |
.It \e(ae |
.It \e(ae |
.Pq lower-case AE |
.Pq ae |
.It \e(OE |
.It \e(OE |
.Pq upper-case OE |
.Pq OE |
.It \e(oe |
.It \e(oe |
.Pq lower-case OE |
.Pq oe |
.It \e(ff |
.It \e(ff |
.Pq ff ligature |
.Pq ff ligature |
.It \e(fi |
.It \e(fi |
|
|
.El |
.El |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Diacritics and letters: |
Diacritics and accented letters: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(ga |
.It \e(ga |
.Pq grave accent |
.Pq grave accent |
.It \e(aa |
.It \e(aa |
Line 286 Diacritics and letters: |
|
Line 316 Diacritics and letters: |
|
.It \e(a- |
.It \e(a- |
.Pq macron accent |
.Pq macron accent |
.It \e(-D |
.It \e(-D |
.Pq upper-case eth |
.Pq Eth |
.It \e(Sd |
.It \e(Sd |
.Pq lower-case eth |
.Pq eth |
.It \e(TP |
.It \e(TP |
.Pq upper-case thorn |
.Pq Thorn |
.It \e(Tp |
.It \e(Tp |
.Pq lower-case thorn |
.Pq thorn |
.It \e('A |
.It \e('A |
.Pq upper-case acute A |
.Pq acute A |
.It \e('E |
.It \e('E |
.Pq upper-case acute E |
.Pq acute E |
.It \e('I |
.It \e('I |
.Pq upper-case acute I |
.Pq acute I |
.It \e('O |
.It \e('O |
.Pq upper-case acute O |
.Pq acute O |
.It \e('U |
.It \e('U |
.Pq upper-case acute U |
.Pq acute U |
.It \e('a |
.It \e('a |
.Pq lower-case acute a |
.Pq acute a |
.It \e('e |
.It \e('e |
.Pq lower-case acute e |
.Pq acute e |
.It \e('i |
.It \e('i |
.Pq lower-case acute i |
.Pq acute i |
.It \e('o |
.It \e('o |
.Pq lower-case acute o |
.Pq acute o |
.It \e('u |
.It \e('u |
.Pq lower-case acute u |
.Pq acute u |
.It \e(`A |
.It \e(`A |
.Pq upper-case grave A |
.Pq grave A |
.It \e(`E |
.It \e(`E |
.Pq upper-case grave E |
.Pq grave E |
.It \e(`I |
.It \e(`I |
.Pq upper-case grave I |
.Pq grave I |
.It \e(`O |
.It \e(`O |
.Pq upper-case grave O |
.Pq grave O |
.It \e(`U |
.It \e(`U |
.Pq upper-case grave U |
.Pq grave U |
.It \e(`a |
.It \e(`a |
.Pq lower-case grave a |
.Pq grave a |
.It \e(`e |
.It \e(`e |
.Pq lower-case grave e |
.Pq grave e |
.It \e(`i |
.It \e(`i |
.Pq lower-case grave i |
.Pq grave i |
.It \e(`o |
.It \e(`o |
.Pq lower-case grave o |
.Pq grave o |
.It \e(`u |
.It \e(`u |
.Pq lower-case grave u |
.Pq grave u |
.It \e(~A |
.It \e(~A |
.Pq upper-case tilde A |
.Pq tilde A |
.It \e(~N |
.It \e(~N |
.Pq upper-case tilde N |
.Pq tilde N |
.It \e(~O |
.It \e(~O |
.Pq upper-case tilde O |
.Pq tilde O |
.It \e(~a |
.It \e(~a |
.Pq lower-case tilde a |
.Pq tilde a |
.It \e(~n |
.It \e(~n |
.Pq lower-case tilde n |
.Pq tilde n |
.It \e(~o |
.It \e(~o |
.Pq lower-case tilde o |
.Pq tilde o |
.It \e(:A |
.It \e(:A |
.Pq upper-case dieresis A |
.Pq dieresis A |
.It \e(:E |
.It \e(:E |
.Pq upper-case dieresis E |
.Pq dieresis E |
.It \e(:I |
.It \e(:I |
.Pq upper-case dieresis I |
.Pq dieresis I |
.It \e(:O |
.It \e(:O |
.Pq upper-case dieresis O |
.Pq dieresis O |
.It \e(:U |
.It \e(:U |
.Pq upper-case dieresis U |
.Pq dieresis U |
.It \e(:a |
.It \e(:a |
.Pq lower-case dieresis a |
.Pq dieresis a |
.It \e(:e |
.It \e(:e |
.Pq lower-case dieresis e |
.Pq dieresis e |
.It \e(:i |
.It \e(:i |
.Pq lower-case dieresis i |
.Pq dieresis i |
.It \e(:o |
.It \e(:o |
.Pq lower-case dieresis o |
.Pq dieresis o |
.It \e(:u |
.It \e(:u |
.Pq lower-case dieresis u |
.Pq dieresis u |
.It \e(:y |
.It \e(:y |
.Pq lower-case dieresis y |
.Pq dieresis y |
.It \e(^A |
.It \e(^A |
.Pq upper-case circumflex A |
.Pq circumflex A |
.It \e(^E |
.It \e(^E |
.Pq upper-case circumflex E |
.Pq circumflex E |
.It \e(^I |
.It \e(^I |
.Pq upper-case circumflex I |
.Pq circumflex I |
.It \e(^O |
.It \e(^O |
.Pq upper-case circumflex O |
.Pq circumflex O |
.It \e(^U |
.It \e(^U |
.Pq upper-case circumflex U |
.Pq circumflex U |
.It \e(^a |
.It \e(^a |
.Pq lower-case circumflex a |
.Pq circumflex a |
.It \e(^e |
.It \e(^e |
.Pq lower-case circumflex e |
.Pq circumflex e |
.It \e(^i |
.It \e(^i |
.Pq lower-case circumflex i |
.Pq circumflex i |
.It \e(^o |
.It \e(^o |
.Pq lower-case circumflex o |
.Pq circumflex o |
.It \e(^u |
.It \e(^u |
.Pq lower-case circumflex u |
.Pq circumflex u |
.It \e(,C |
.It \e(,C |
.Pq upper-case cedilla C |
.Pq cedilla C |
.It \e(,c |
.It \e(,c |
.Pq lower-case cedilla c |
.Pq cedilla c |
.It \e(/L |
.It \e(/L |
.Pq upper-case stroke L |
.Pq stroke L |
.It \e(/l |
.It \e(/l |
.Pq lower-case stroke l |
.Pq stroke l |
.It \e(/O |
.It \e(/O |
.Pq upper-case stroke O |
.Pq stroke O |
.It \e(/o |
.It \e(/o |
.Pq lower-case stroke o |
.Pq stroke o |
.It \e(oA |
.It \e(oA |
.Pq upper-case ring A |
.Pq ring A |
.It \e(oa |
.It \e(oa |
.Pq lower-case ring a |
.Pq ring a |
.El |
.El |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
Monetary: |
Monetary: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(Cs |
.It \e(Cs |
.Pq Scandinavian |
.Pq Scandinavian |
.It \e(Do |
.It \e(Do |
|
|
.Pq florin |
.Pq florin |
.It \e(ct |
.It \e(ct |
.Pq cent |
.Pq cent |
|
.It \e(Eu |
|
.Pq Euro character glyph |
|
.It \e(eu |
|
.Pq Euro symbol |
.El |
.El |
.\" PARAGRAPH |
.\" PARAGRAPH |
.Pp |
.Pp |
|
Greek letters: |
|
.Bl -tag -width Ds -offset indent -compact |
|
.It \e(*A |
|
.Pq Alpha |
|
.It \e(*B |
|
.Pq Beta |
|
.It \e(*C |
|
.Pq Xi |
|
.It \e(*D |
|
.Pq Delta |
|
.It \e(*E |
|
.Pq Epsilon |
|
.It \e(*F |
|
.Pq Phi |
|
.It \e(*G |
|
.Pq Gamma |
|
.It \e(*H |
|
.Pq Theta |
|
.It \e(*I |
|
.Pq Iota |
|
.It \e(*K |
|
.Pq Kappa |
|
.It \e(*L |
|
.Pq Lambda |
|
.It \e(*M |
|
.Pq Mu |
|
.It \e(*N |
|
.Pq Nu |
|
.It \e(*O |
|
.Pq Omicron |
|
.It \e(*P |
|
.Pq Pi |
|
.It \e(*Q |
|
.Pq Psi |
|
.It \e(*R |
|
.Pq Rho |
|
.It \e(*S |
|
.Pq Sigma |
|
.It \e(*T |
|
.Pq Tau |
|
.It \e(*U |
|
.Pq Upsilon |
|
.It \e(*W |
|
.Pq Omega |
|
.It \e(*X |
|
.Pq Chi |
|
.It \e(*Y |
|
.Pq Eta |
|
.It \e(*Z |
|
.Pq Zeta |
|
.It \e(*a |
|
.Pq alpha |
|
.It \e(*b |
|
.Pq beta |
|
.It \e(*c |
|
.Pq xi |
|
.It \e(*d |
|
.Pq delta |
|
.It \e(*e |
|
.Pq epsilon |
|
.It \e(*f |
|
.Pq phi |
|
.It \e(+f |
|
.Pq phi variant |
|
.It \e(*g |
|
.Pq gamma |
|
.It \e(*h |
|
.Pq theta |
|
.It \e(+h |
|
.Pq theta variant |
|
.It \e(*i |
|
.Pq iota |
|
.It \e(*k |
|
.Pq kappa |
|
.It \e(*l |
|
.Pq lambda |
|
.It \e(*m |
|
.Pq mu |
|
.It \e(*n |
|
.Pq nu |
|
.It \e(*o |
|
.Pq omicron |
|
.It \e(*p |
|
.Pq pi |
|
.It \e(+p |
|
.Pq pi variant |
|
.It \e(*q |
|
.Pq psi |
|
.It \e(*r |
|
.Pq rho |
|
.It \e(*s |
|
.Pq sigma |
|
.It \e(*t |
|
.Pq tau |
|
.It \e(*u |
|
.Pq upsilon |
|
.It \e(*w |
|
.Pq omega |
|
.It \e(*x |
|
.Pq chi |
|
.It \e(*y |
|
.Pq eta |
|
.It \e(*z |
|
.Pq zeta |
|
.It \e(ts |
|
.Pq sigma terminal |
|
.El |
|
.\" PARAGRAPH |
|
.Pp |
Special symbols: |
Special symbols: |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e0 |
.It \e0 |
.Pq white-space |
.Pq white-space |
.It \e(de |
.It \e(de |
Line 443 Special symbols: |
|
Line 586 Special symbols: |
|
.Pq bar |
.Pq bar |
.It \e(bb |
.It \e(bb |
.Pq broken bar |
.Pq broken bar |
.It \e(Ba |
|
.Pq bar, deprecated |
|
.It \e(co |
.It \e(co |
.Pq copyright |
.Pq copyright |
.It \e(rg |
.It \e(rg |
.Pq registered |
.Pq registered |
.It \e(tm |
.It \e(tm |
.Pq trademarked |
.Pq trademarked |
.It \e& |
|
.Pq non-breaking space |
|
.It \ee |
.It \ee |
.Pq escape |
.Pq escape |
.It \e(Am |
|
.Pq ampersand, deprecated |
|
.El |
.El |
.\" SECTION |
.\" SECTION |
|
.Sh PREDEFINED STRINGS |
|
These are not recommended for use, as they differ across |
|
implementations: |
|
.Pp |
|
Mathematical: |
|
.Bl -tag -width Ds -offset indent -compact |
|
.It \e*(Ne |
|
.Pq not equal |
|
.It \e*(Ge |
|
.Pq greater-than-equal |
|
.It \e*(Le |
|
.Pq less-than-equal |
|
.It \e*(Gt |
|
.Pq greater-than |
|
.It \e*(Lt |
|
.Pq greater-than |
|
.It \e*(Pm |
|
.Pq plus-minus |
|
.It \e*(If |
|
.Pq infinity |
|
.It \e*(Pi |
|
.Pq pi |
|
.It \e*(Na |
|
.Pq NaN |
|
.El |
|
.\" PARAGRAPH |
|
.Pp |
|
Special symbols: |
|
.Bl -tag -width Ds -offset indent -compact |
|
.It \e*(Ba |
|
.Pq vertical bar |
|
.It \e*(Am |
|
.Pq ampersand |
|
.It \e*R |
|
.Pq restricted mark |
|
.It \e*(Tm |
|
.Pq trade mark |
|
.El |
|
.\" PARAGRAPH |
|
.Pp |
|
Enclosures: |
|
.Bl -tag -width Ds -offset indent -compact |
|
.It \e*q |
|
.Pq double-quote |
|
.It \e*(Rq |
|
.Pq right-double-quote |
|
.It \e*(Lq |
|
.Pq left-double-quote |
|
.It \e*(lp |
|
.Pq right-parenthesis |
|
.It \e*(rp |
|
.Pq left-parenthesis |
|
.El |
|
.\" SECTION |
.Sh COMPATIBILITY |
.Sh COMPATIBILITY |
This section documents compatibility of |
This section documents compatibility of |
.Nm |
.Nm |
with older or existing versions of |
with older or existing versions of |
.Xr groff 1 : |
.Xr groff 1 : |
.Pp |
.Pp |
.Bl -tag -width 12n -offset "XXXX" -compact |
.Bl -tag -width Ds -offset indent -compact |
.It \e(ss |
.It \e(ss |
Renders differently in |
Renders differently in |
.Fl T Ns Ar ascii |
.Fl T Ns Ar ascii |
|
|
The |
The |
.Nm |
.Nm |
utility was written by |
utility was written by |
.An Kristaps Dzonsons Aq kristaps@openbsd.org . |
.An Kristaps Dzonsons Aq kristaps@kth.se . |