[BACK]Return to mandoc_char.7 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Annotation of mandoc/mandoc_char.7, Revision 1.45

1.45    ! kristaps    1: .\"    $Id: mandoc_char.7,v 1.44 2011/05/01 08:45:10 kristaps Exp $
1.1       kristaps    2: .\"
1.36      kristaps    3: .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>
1.1       kristaps    4: .\"
                      5: .\" Permission to use, copy, modify, and distribute this software for any
1.4       kristaps    6: .\" purpose with or without fee is hereby granted, provided that the above
                      7: .\" copyright notice and this permission notice appear in all copies.
1.1       kristaps    8: .\"
1.30      kristaps   16: .\"
1.45    ! kristaps   17: .Dd $Mdocdate: May 1 2011 $
1.2       kristaps   18: .Dt MANDOC_CHAR 7
1.1       kristaps   19: .Os
                     20: .Sh NAME
                     21: .Nm mandoc_char
                     22: .Nd mandoc special characters
                     23: .Sh DESCRIPTION
1.31      kristaps   24: This page documents the special characters and predefined strings accepted by
1.1       kristaps   25: .Xr mandoc 1
                     26: to format
                     27: .Xr mdoc 7
                     28: and
                     29: .Xr man 7
1.24      kristaps   30: documents.
1.1       kristaps   31: .Pp
                     32: Both
                     33: .Xr mdoc 7
                     34: and
                     35: .Xr man 7
1.30      kristaps   36: encode special characters with
1.9       kristaps   37: .Sq \eX
                     38: .Pq for a one-character escape ,
                     39: .Sq \e(XX
                     40: .Pq two-character ,
                     41: and
                     42: .Sq \e[N]
                     43: .Pq N-character .
                     44: One may generalise
                     45: .Sq \e(XX
                     46: as
1.12      kristaps   47: .Sq \e[XX]
1.10      kristaps   48: and
                     49: .Sq \eX
                     50: as
                     51: .Sq \e[X] .
1.30      kristaps   52: Predefined strings are functionally similar to special characters, using
1.10      kristaps   53: .Sq \e*X
                     54: .Pq for a one-character escape ,
                     55: .Sq \e*(XX
                     56: .Pq two-character ,
                     57: and
                     58: .Sq \e*[N]
                     59: .Pq N-character .
                     60: One may generalise
                     61: .Sq \e*(XX
                     62: as
                     63: .Sq \e*[XX]
                     64: and
                     65: .Sq \e*X
                     66: as
                     67: .Sq \e*[X] .
1.24      kristaps   68: .Pp
                     69: Note that each output mode will have a different rendering of the
1.30      kristaps   70: characters.
                     71: It's guaranteed that each input symbol will correspond to a
1.24      kristaps   72: (more or less) meaningful output rendering, regardless the mode.
1.26      kristaps   73: .Sh SPECIAL CHARACTERS
1.10      kristaps   74: These are the preferred input symbols for producing special characters.
1.8       kristaps   75: .Pp
1.23      kristaps   76: Spacing:
1.30      kristaps   77: .Bl -column -compact -offset indent "Input" "Description"
1.24      kristaps   78: .It Em Input Ta Em Description
                     79: .It \e~      Ta non-breaking, non-collapsing space
                     80: .It \e       Ta breaking, non-collapsing n-width space
                     81: .It \e^      Ta zero-width space
                     82: .It \e%      Ta zero-width space
                     83: .It \e&      Ta zero-width space
                     84: .It \e|      Ta zero-width space
                     85: .It \e0      Ta breaking, non-collapsing digit-width space
1.28      kristaps   86: .It \ec      Ta removes any trailing space (if applicable)
1.8       kristaps   87: .El
1.1       kristaps   88: .Pp
1.23      kristaps   89: Lines:
1.30      kristaps   90: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps   91: .It Em Input Ta Em Rendered Ta Em Description
                     92: .It \e(ba    Ta \(ba        Ta bar
                     93: .It \e(br    Ta \(br        Ta box rule
                     94: .It \e(ul    Ta \(ul        Ta underscore
                     95: .It \e(rl    Ta \(rl        Ta overline
                     96: .It \e(bb    Ta \(bb        Ta broken bar
                     97: .It \e(sl    Ta \(sl        Ta forward slash
                     98: .It \e(rs    Ta \(rs        Ta backward slash
1.23      kristaps   99: .El
                    100: .Pp
                    101: Text markers:
1.30      kristaps  102: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  103: .It Em Input Ta Em Rendered Ta Em Description
                    104: .It \e(ci    Ta \(ci        Ta circle
                    105: .It \e(bu    Ta \(bu        Ta bullet
                    106: .It \e(dd    Ta \(dd        Ta double dagger
                    107: .It \e(dg    Ta \(dg        Ta dagger
                    108: .It \e(lz    Ta \(lz        Ta lozenge
                    109: .It \e(sq    Ta \(sq        Ta white square
                    110: .It \e(ps    Ta \(ps        Ta paragraph
                    111: .It \e(sc    Ta \(sc        Ta section
                    112: .It \e(lh    Ta \(lh        Ta left hand
                    113: .It \e(rh    Ta \(rh        Ta right hand
                    114: .It \e(at    Ta \(at        Ta at
                    115: .It \e(sh    Ta \(sh        Ta hash (pound)
                    116: .It \e(CR    Ta \(CR        Ta carriage return
                    117: .It \e(OK    Ta \(OK        Ta check mark
1.23      kristaps  118: .El
                    119: .Pp
                    120: Legal symbols:
1.30      kristaps  121: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  122: .It Em Input Ta Em Rendered Ta Em Description
                    123: .It \e(co    Ta \(co        Ta copyright
                    124: .It \e(rg    Ta \(rg        Ta registered
                    125: .It \e(tm    Ta \(tm        Ta trademarked
1.23      kristaps  126: .El
                    127: .Pp
                    128: Punctuation:
1.30      kristaps  129: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  130: .It Em Input Ta Em Rendered Ta Em Description
                    131: .It \e(em    Ta \(em        Ta em-dash
                    132: .It \e(en    Ta \(en        Ta en-dash
                    133: .It \e(hy    Ta \(hy        Ta hyphen
                    134: .It \ee      Ta \e          Ta back-slash
                    135: .It \e.      Ta \.          Ta period
                    136: .It \e(r!    Ta \(r!        Ta upside-down exclamation
                    137: .It \e(r?    Ta \(r?        Ta upside-down question
1.1       kristaps  138: .El
                    139: .Pp
1.19      kristaps  140: Quotes:
1.30      kristaps  141: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  142: .It Em Input Ta Em Rendered Ta Em Description
                    143: .It \e(Bq    Ta \(Bq        Ta right low double-quote
                    144: .It \e(bq    Ta \(bq        Ta right low single-quote
                    145: .It \e(lq    Ta \(lq        Ta left double-quote
                    146: .It \e(rq    Ta \(rq        Ta right double-quote
                    147: .It \e(oq    Ta \(oq        Ta left single-quote
                    148: .It \e(cq    Ta \(cq        Ta right single-quote
                    149: .It \e(aq    Ta \(aq        Ta apostrophe quote (text)
                    150: .It \e(dq    Ta \(dq        Ta double quote (text)
                    151: .It \e(Fo    Ta \(Fo        Ta left guillemet
                    152: .It \e(Fc    Ta \(Fc        Ta right guillemet
                    153: .It \e(fo    Ta \(fo        Ta left single guillemet
                    154: .It \e(fc    Ta \(fc        Ta right single guillemet
1.19      kristaps  155: .El
                    156: .Pp
                    157: Brackets:
1.37      kristaps  158: .Bl -column -compact -offset indent "xxbracketrightbpx" Rendered Description
1.24      kristaps  159: .It Em Input Ta Em Rendered Ta Em Description
                    160: .It \e(lB    Ta \(lB        Ta left bracket
                    161: .It \e(rB    Ta \(rB        Ta right bracket
                    162: .It \e(lC    Ta \(lC        Ta left brace
                    163: .It \e(rC    Ta \(rC        Ta right brace
                    164: .It \e(la    Ta \(la        Ta left angle
                    165: .It \e(ra    Ta \(ra        Ta right angle
                    166: .It \e(bv    Ta \(bv        Ta brace extension
1.20      kristaps  167: .It \e[braceex] Ta \[braceex] Ta brace extension
                    168: .It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket
                    169: .It \e[bracketleftbp] Ta \[bracketleftbp] Ta bottom-left hooked bracket
                    170: .It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension
                    171: .It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket
                    172: .It \e[bracketrightbp] Ta \[bracketrightbp] Ta bottom-right hooked bracket
                    173: .It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension
1.24      kristaps  174: .It \e(lt    Ta \(lt        Ta top-left hooked brace
1.20      kristaps  175: .It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace
1.24      kristaps  176: .It \e(lk    Ta \(lk        Ta mid-left hooked brace
1.20      kristaps  177: .It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace
1.24      kristaps  178: .It \e(lb    Ta \(lb        Ta bottom-left hooked brace
1.20      kristaps  179: .It \e[braceleftbp] Ta \[braceleftbp] Ta bottom-left hooked brace
                    180: .It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension
1.24      kristaps  181: .It \e(rt    Ta \(rt        Ta top-left hooked brace
1.20      kristaps  182: .It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace
1.24      kristaps  183: .It \e(rk    Ta \(rk        Ta mid-right hooked brace
1.20      kristaps  184: .It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace
1.24      kristaps  185: .It \e(rb    Ta \(rb        Ta bottom-right hooked brace
1.20      kristaps  186: .It \e[bracerightbp] Ta \[bracerightbp] Ta bottom-right hooked brace
                    187: .It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension
                    188: .It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis
                    189: .It \e[parenleftbp] Ta \[parenleftbp] Ta bottom-left hooked parenthesis
                    190: .It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension
                    191: .It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis
                    192: .It \e[parenrightbp] Ta \[parenrightbp] Ta bottom-right hooked parenthesis
                    193: .It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension
1.1       kristaps  194: .El
                    195: .Pp
1.20      kristaps  196: Arrows:
1.30      kristaps  197: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  198: .It Em Input Ta Em Rendered Ta Em Description
                    199: .It \e(<-    Ta \(<-        Ta left arrow
                    200: .It \e(->    Ta \(->        Ta right arrow
                    201: .It \e(<>    Ta \(<>        Ta left-right arrow
                    202: .It \e(da    Ta \(da        Ta down arrow
                    203: .It \e(ua    Ta \(ua        Ta up arrow
                    204: .It \e(va    Ta \(va        Ta up-down arrow
                    205: .It \e(lA    Ta \(lA        Ta left double-arrow
                    206: .It \e(rA    Ta \(rA        Ta right double-arrow
                    207: .It \e(hA    Ta \(hA        Ta left-right double-arrow
                    208: .It \e(uA    Ta \(uA        Ta up double-arrow
                    209: .It \e(dA    Ta \(dA        Ta down double-arrow
                    210: .It \e(vA    Ta \(vA        Ta up-down double-arrow
1.1       kristaps  211: .El
                    212: .Pp
1.17      kristaps  213: Logical:
1.30      kristaps  214: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  215: .It Em Input Ta Em Rendered Ta Em Description
                    216: .It \e(AN    Ta \(AN        Ta logical and
                    217: .It \e(OR    Ta \(OR        Ta logical or
                    218: .It \e(no    Ta \(no        Ta logical not
                    219: .It \e[tno]  Ta \[tno]      Ta logical not (text)
                    220: .It \e(te    Ta \(te        Ta existential quantifier
                    221: .It \e(fa    Ta \(fa        Ta universal quantifier
                    222: .It \e(st    Ta \(st        Ta such that
                    223: .It \e(tf    Ta \(tf        Ta therefore
                    224: .It \e(3d    Ta \(3d        Ta therefore
                    225: .It \e(or    Ta \(or        Ta bitwise or
1.17      kristaps  226: .El
                    227: .Pp
                    228: Mathematical:
1.37      kristaps  229: .Bl -column -compact -offset indent "xxcoproductxx" "Rendered" "Description"
1.24      kristaps  230: .It Em Input Ta Em Rendered Ta Em Description
                    231: .It \e(pl    Ta \(pl        Ta plus
                    232: .It \e(mi    Ta \(mi        Ta minus
                    233: .It \e-      Ta \-          Ta minus (text)
                    234: .It \e(-+    Ta \(-+        Ta minus-plus
                    235: .It \e(+-    Ta \(+-        Ta plus-minus
                    236: .It \e[t+-]  Ta \[t+-]      Ta plus-minus (text)
                    237: .It \e(pc    Ta \(pc        Ta centre-dot
                    238: .It \e(mu    Ta \(mu        Ta multiply
                    239: .It \e[tmu]  Ta \[tmu]      Ta multiply (text)
                    240: .It \e(c*    Ta \(c*        Ta circle-multiply
                    241: .It \e(c+    Ta \(c+        Ta circle-plus
                    242: .It \e(di    Ta \(di        Ta divide
                    243: .It \e[tdi]  Ta \[tdi]      Ta divide (text)
                    244: .It \e(f/    Ta \(f/        Ta fraction
                    245: .It \e(**    Ta \(**        Ta asterisk
                    246: .It \e(<=    Ta \(<=        Ta less-than-equal
                    247: .It \e(>=    Ta \(>=        Ta greater-than-equal
                    248: .It \e(<<    Ta \(<<        Ta much less
                    249: .It \e(>>    Ta \(>>        Ta much greater
                    250: .It \e(eq    Ta \(eq        Ta equal
                    251: .It \e(!=    Ta \(!=        Ta not equal
                    252: .It \e(==    Ta \(==        Ta equivalent
                    253: .It \e(ne    Ta \(ne        Ta not equivalent
                    254: .It \e(=~    Ta \(=~        Ta congruent
                    255: .It \e(-~    Ta \(-~        Ta asymptotically congruent
                    256: .It \e(ap    Ta \(ap        Ta asymptotically similar
                    257: .It \e(~~    Ta \(~~        Ta approximately similar
                    258: .It \e(~=    Ta \(~=        Ta approximately equal
                    259: .It \e(pt    Ta \(pt        Ta proportionate
                    260: .It \e(es    Ta \(es        Ta empty set
                    261: .It \e(mo    Ta \(mo        Ta element
                    262: .It \e(nm    Ta \(nm        Ta not element
                    263: .It \e(sb    Ta \(sb        Ta proper subset
                    264: .It \e(nb    Ta \(nb        Ta not subset
                    265: .It \e(sp    Ta \(sp        Ta proper superset
                    266: .It \e(nc    Ta \(nc        Ta not superset
                    267: .It \e(ib    Ta \(ib        Ta reflexive subset
                    268: .It \e(ip    Ta \(ip        Ta reflexive superset
                    269: .It \e(ca    Ta \(ca        Ta intersection
                    270: .It \e(cu    Ta \(cu        Ta union
                    271: .It \e(/_    Ta \(/_        Ta angle
                    272: .It \e(pp    Ta \(pp        Ta perpendicular
                    273: .It \e(is    Ta \(is        Ta integral
1.17      kristaps  274: .It \e[integral] Ta \[integral] Ta integral
                    275: .It \e[sum]    Ta \[sum]   Ta summation
                    276: .It \e[product] Ta \[product] Ta product
                    277: .It \e[coproduct] Ta \[coproduct] Ta coproduct
1.24      kristaps  278: .It \e(gr    Ta \(gr        Ta gradient
                    279: .It \e(sr    Ta \(sr        Ta square root
                    280: .It \e[sqrt] Ta \[sqrt]     Ta square root
                    281: .It \e(lc    Ta \(lc        Ta left-ceiling
                    282: .It \e(rc    Ta \(rc        Ta right-ceiling
                    283: .It \e(lf    Ta \(lf        Ta left-floor
                    284: .It \e(rf    Ta \(rf        Ta right-floor
                    285: .It \e(if    Ta \(if        Ta infinity
                    286: .It \e(Ah    Ta \(Ah        Ta aleph
                    287: .It \e(Im    Ta \(Im        Ta imaginary
                    288: .It \e(Re    Ta \(Re        Ta real
                    289: .It \e(pd    Ta \(pd        Ta partial differential
                    290: .It \e(-h    Ta \(-h        Ta Planck constant over 2\(*p
1.1       kristaps  291: .El
                    292: .Pp
                    293: Ligatures:
1.30      kristaps  294: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  295: .It Em Input Ta Em Rendered Ta Em Description
                    296: .It \e(ff    Ta \(ff        Ta ff ligature
                    297: .It \e(fi    Ta \(fi        Ta fi ligature
                    298: .It \e(fl    Ta \(fl        Ta fl ligature
                    299: .It \e(Fi    Ta \(Fi        Ta ffi ligature
                    300: .It \e(Fl    Ta \(Fl        Ta ffl ligature
                    301: .It \e(AE    Ta \(AE        Ta AE
                    302: .It \e(ae    Ta \(ae        Ta ae
                    303: .It \e(OE    Ta \(OE        Ta OE
                    304: .It \e(oe    Ta \(oe        Ta oe
                    305: .It \e(ss    Ta \(ss        Ta German eszett
                    306: .It \e(IJ    Ta \(IJ        Ta IJ ligature
                    307: .It \e(ij    Ta \(ij        Ta ij ligature
1.1       kristaps  308: .El
                    309: .Pp
1.18      kristaps  310: Accents:
1.30      kristaps  311: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  312: .It Em Input Ta Em Rendered Ta Em Description
                    313: .It \e(a"    Ta \(a"        Ta Hungarian umlaut
                    314: .It \e(a-    Ta \(a-        Ta macron
                    315: .It \e(a.    Ta \(a.        Ta dotted
                    316: .It \e(a^    Ta \(a^        Ta circumflex
                    317: .It \e(aa    Ta \(aa        Ta acute
                    318: .It \e'      Ta \'          Ta acute
                    319: .It \e(ga    Ta \(ga        Ta grave
                    320: .It \e`      Ta \`          Ta grave
                    321: .It \e(ab    Ta \(ab        Ta breve
                    322: .It \e(ac    Ta \(ac        Ta cedilla
                    323: .It \e(ad    Ta \(ad        Ta dieresis
                    324: .It \e(ah    Ta \(ah        Ta caron
                    325: .It \e(ao    Ta \(ao        Ta ring
                    326: .It \e(a~    Ta \(a~        Ta tilde
                    327: .It \e(ho    Ta \(ho        Ta ogonek
                    328: .It \e(ha    Ta \(ha        Ta hat (text)
                    329: .It \e(ti    Ta \(ti        Ta tilde (text)
1.18      kristaps  330: .El
                    331: .Pp
1.21      kristaps  332: Accented letters:
1.30      kristaps  333: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  334: .It Em Input Ta Em Rendered Ta Em Description
                    335: .It \e('A    Ta \('A        Ta acute A
                    336: .It \e('E    Ta \('E        Ta acute E
                    337: .It \e('I    Ta \('I        Ta acute I
                    338: .It \e('O    Ta \('O        Ta acute O
                    339: .It \e('U    Ta \('U        Ta acute U
                    340: .It \e('a    Ta \('a        Ta acute a
                    341: .It \e('e    Ta \('e        Ta acute e
                    342: .It \e('i    Ta \('i        Ta acute i
                    343: .It \e('o    Ta \('o        Ta acute o
                    344: .It \e('u    Ta \('u        Ta acute u
                    345: .It \e(`A    Ta \(`A        Ta grave A
                    346: .It \e(`E    Ta \(`E        Ta grave E
                    347: .It \e(`I    Ta \(`I        Ta grave I
                    348: .It \e(`O    Ta \(`O        Ta grave O
                    349: .It \e(`U    Ta \(`U        Ta grave U
                    350: .It \e(`a    Ta \(`a        Ta grave a
                    351: .It \e(`e    Ta \(`e        Ta grave e
                    352: .It \e(`i    Ta \(`i        Ta grave i
                    353: .It \e(`o    Ta \(`i        Ta grave o
                    354: .It \e(`u    Ta \(`u        Ta grave u
                    355: .It \e(~A    Ta \(~A        Ta tilde A
                    356: .It \e(~N    Ta \(~N        Ta tilde N
                    357: .It \e(~O    Ta \(~O        Ta tilde O
                    358: .It \e(~a    Ta \(~a        Ta tilde a
                    359: .It \e(~n    Ta \(~n        Ta tilde n
                    360: .It \e(~o    Ta \(~o        Ta tilde o
                    361: .It \e(:A    Ta \(:A        Ta dieresis A
                    362: .It \e(:E    Ta \(:E        Ta dieresis E
                    363: .It \e(:I    Ta \(:I        Ta dieresis I
                    364: .It \e(:O    Ta \(:O        Ta dieresis O
                    365: .It \e(:U    Ta \(:U        Ta dieresis U
                    366: .It \e(:a    Ta \(:a        Ta dieresis a
                    367: .It \e(:e    Ta \(:e        Ta dieresis e
                    368: .It \e(:i    Ta \(:i        Ta dieresis i
                    369: .It \e(:o    Ta \(:o        Ta dieresis o
                    370: .It \e(:u    Ta \(:u        Ta dieresis u
                    371: .It \e(:y    Ta \(:y        Ta dieresis y
                    372: .It \e(^A    Ta \(^A        Ta circumflex A
                    373: .It \e(^E    Ta \(^E        Ta circumflex E
                    374: .It \e(^I    Ta \(^I        Ta circumflex I
                    375: .It \e(^O    Ta \(^O        Ta circumflex O
                    376: .It \e(^U    Ta \(^U        Ta circumflex U
                    377: .It \e(^a    Ta \(^a        Ta circumflex a
                    378: .It \e(^e    Ta \(^e        Ta circumflex e
                    379: .It \e(^i    Ta \(^i        Ta circumflex i
                    380: .It \e(^o    Ta \(^o        Ta circumflex o
                    381: .It \e(^u    Ta \(^u        Ta circumflex u
                    382: .It \e(,C    Ta \(,C        Ta cedilla C
                    383: .It \e(,c    Ta \(,c        Ta cedilla c
                    384: .It \e(/L    Ta \(/L        Ta stroke L
                    385: .It \e(/l    Ta \(/l        Ta stroke l
                    386: .It \e(/O    Ta \(/O        Ta stroke O
                    387: .It \e(/o    Ta \(/o        Ta stroke o
                    388: .It \e(oA    Ta \(oA        Ta ring A
                    389: .It \e(oa    Ta \(oa        Ta ring a
1.1       kristaps  390: .El
                    391: .Pp
1.21      kristaps  392: Special letters:
1.30      kristaps  393: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  394: .It Em Input Ta Em Rendered Ta Em Description
                    395: .It \e(-D    Ta \(-D        Ta Eth
                    396: .It \e(Sd    Ta \(Sd        Ta eth
                    397: .It \e(TP    Ta \(TP        Ta Thorn
                    398: .It \e(Tp    Ta \(Tp        Ta thorn
                    399: .It \e(.i    Ta \(.i        Ta dotless i
                    400: .It \e(.j    Ta \(.j        Ta dotless j
1.21      kristaps  401: .El
                    402: .Pp
1.22      kristaps  403: Currency:
1.30      kristaps  404: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  405: .It Em Input Ta Em Rendered Ta Em Description
                    406: .It \e(Do    Ta \(Do        Ta dollar
                    407: .It \e(ct    Ta \(ct        Ta cent
                    408: .It \e(Eu    Ta \(Eu        Ta Euro symbol
                    409: .It \e(eu    Ta \(eu        Ta Euro symbol
                    410: .It \e(Ye    Ta \(Ye        Ta yen
                    411: .It \e(Po    Ta \(Po        Ta pound
                    412: .It \e(Cs    Ta \(Cs        Ta Scandinavian
                    413: .It \e(Fn    Ta \(Fn        Ta florin
1.11      kristaps  414: .El
                    415: .Pp
1.23      kristaps  416: Units:
1.30      kristaps  417: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  418: .It Em Input Ta Em Rendered Ta Em Description
                    419: .It \e(de    Ta \(de        Ta degree
                    420: .It \e(%0    Ta \(%0        Ta per-thousand
                    421: .It \e(fm    Ta \(fm        Ta minute
                    422: .It \e(sd    Ta \(sd        Ta second
                    423: .It \e(mc    Ta \(mc        Ta micro
1.23      kristaps  424: .El
                    425: .Pp
1.11      kristaps  426: Greek letters:
1.30      kristaps  427: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  428: .It Em Input Ta Em Rendered Ta Em Description
                    429: .It \e(*A    Ta \(*A        Ta Alpha
                    430: .It \e(*B    Ta \(*B        Ta Beta
                    431: .It \e(*G    Ta \(*G        Ta Gamma
                    432: .It \e(*D    Ta \(*D        Ta Delta
                    433: .It \e(*E    Ta \(*E        Ta Epsilon
                    434: .It \e(*Z    Ta \(*Z        Ta Zeta
                    435: .It \e(*Y    Ta \(*Y        Ta Eta
                    436: .It \e(*H    Ta \(*H        Ta Theta
                    437: .It \e(*I    Ta \(*I        Ta Iota
                    438: .It \e(*K    Ta \(*K        Ta Kappa
                    439: .It \e(*L    Ta \(*L        Ta Lambda
                    440: .It \e(*M    Ta \(*M        Ta Mu
                    441: .It \e(*N    Ta \(*N        Ta Nu
                    442: .It \e(*C    Ta \(*C        Ta Xi
                    443: .It \e(*O    Ta \(*O        Ta Omicron
                    444: .It \e(*P    Ta \(*P        Ta Pi
                    445: .It \e(*R    Ta \(*R        Ta Rho
                    446: .It \e(*S    Ta \(*S        Ta Sigma
                    447: .It \e(*T    Ta \(*T        Ta Tau
                    448: .It \e(*U    Ta \(*U        Ta Upsilon
                    449: .It \e(*F    Ta \(*F        Ta Phi
                    450: .It \e(*X    Ta \(*X        Ta Chi
                    451: .It \e(*Q    Ta \(*Q        Ta Psi
                    452: .It \e(*W    Ta \(*W        Ta Omega
                    453: .It \e(*a    Ta \(*a        Ta alpha
                    454: .It \e(*b    Ta \(*b        Ta beta
                    455: .It \e(*g    Ta \(*g        Ta gamma
                    456: .It \e(*d    Ta \(*d        Ta delta
                    457: .It \e(*e    Ta \(*e        Ta epsilon
                    458: .It \e(*z    Ta \(*z        Ta zeta
                    459: .It \e(*y    Ta \(*y        Ta eta
                    460: .It \e(*h    Ta \(*h        Ta theta
                    461: .It \e(*i    Ta \(*i        Ta iota
                    462: .It \e(*k    Ta \(*k        Ta kappa
                    463: .It \e(*l    Ta \(*l        Ta lambda
                    464: .It \e(*m    Ta \(*m        Ta mu
                    465: .It \e(*n    Ta \(*n        Ta nu
                    466: .It \e(*c    Ta \(*c        Ta xi
                    467: .It \e(*o    Ta \(*o        Ta omicron
                    468: .It \e(*p    Ta \(*p        Ta pi
                    469: .It \e(*r    Ta \(*r        Ta rho
                    470: .It \e(*s    Ta \(*s        Ta sigma
                    471: .It \e(*t    Ta \(*t        Ta tau
                    472: .It \e(*u    Ta \(*u        Ta upsilon
                    473: .It \e(*f    Ta \(*f        Ta phi
                    474: .It \e(*x    Ta \(*x        Ta chi
                    475: .It \e(*q    Ta \(*q        Ta psi
                    476: .It \e(*w    Ta \(*w        Ta omega
                    477: .It \e(+h    Ta \(+h        Ta theta variant
                    478: .It \e(+f    Ta \(+f        Ta phi variant
                    479: .It \e(+p    Ta \(+p        Ta pi variant
                    480: .It \e(+e    Ta \(+e        Ta epsilon variant
                    481: .It \e(ts    Ta \(ts        Ta sigma terminal
1.1       kristaps  482: .El
1.10      kristaps  483: .Sh PREDEFINED STRINGS
1.43      kristaps  484: Predefined strings are inherited from the macro packages of historical
                    485: troff implementations.
                    486: They are
                    487: .Em not recommended
                    488: for use, as they differ across implementations.
                    489: Manuals using these predefined strings are almost certainly not
                    490: portable.
1.10      kristaps  491: .Pp
1.30      kristaps  492: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24      kristaps  493: .It Em Input Ta Em Rendered Ta Em Description
                    494: .It \e*(Ba   Ta \*(Ba       Ta vertical bar
                    495: .It \e*(Ne   Ta \*(Ne       Ta not equal
                    496: .It \e*(Ge   Ta \*(Ge       Ta greater-than-equal
                    497: .It \e*(Le   Ta \*(Le       Ta less-than-equal
                    498: .It \e*(Gt   Ta \*(Gt       Ta greater-than
                    499: .It \e*(Lt   Ta \*(Lt       Ta less-than
                    500: .It \e*(Pm   Ta \*(Pm       Ta plus-minus
                    501: .It \e*(If   Ta \*(If       Ta infinity
                    502: .It \e*(Pi   Ta \*(Pi       Ta pi
                    503: .It \e*(Na   Ta \*(Na       Ta NaN
                    504: .It \e*(Am   Ta \*(Am       Ta ampersand
                    505: .It \e*R     Ta \*R         Ta restricted mark
                    506: .It \e*(Tm   Ta \*(Tm       Ta trade mark
                    507: .It \e*q     Ta \*q         Ta double-quote
                    508: .It \e*(Rq   Ta \*(Rq       Ta right-double-quote
                    509: .It \e*(Lq   Ta \*(Lq       Ta left-double-quote
                    510: .It \e*(lp   Ta \*(lp       Ta right-parenthesis
                    511: .It \e*(rp   Ta \*(rp       Ta left-parenthesis
                    512: .It \e*(lq   Ta \*(lq       Ta left double-quote
                    513: .It \e*(rq   Ta \*(rq       Ta right double-quote
                    514: .It \e*(ua   Ta \*(ua       Ta up arrow
                    515: .It \e*(va   Ta \*(va       Ta up-down arrow
                    516: .It \e*(<=   Ta \*(<=       Ta less-than-equal
                    517: .It \e*(>=   Ta \*(>=       Ta greater-than-equal
                    518: .It \e*(aa   Ta \*(aa       Ta acute
                    519: .It \e*(ga   Ta \*(ga       Ta grave
1.43      kristaps  520: .It \e*(Px   Ta \*(Px       Ta POSIX standard name
                    521: .It \e*(Ai   Ta \*(Ai       Ta ANSI standard name
1.10      kristaps  522: .El
1.45    ! kristaps  523: .Sh UNICODE CHARACTERS
        !           524: The escape sequence
        !           525: .Pp
        !           526: .Dl \e[uXXXX]
        !           527: .Pp
        !           528: is interpreted as a Unicode codepoint.
        !           529: The codepoint must be in the range above U+0080 and less than U+10FFFF.
        !           530: For compatibility, points must be zero-padded to four characters; if
        !           531: greater than four characters, no zero padding is allowed.
        !           532: Unicode surrogates are not allowed.
        !           533: .\" .Pp
        !           534: .\" Unicode glyphs attenuate to the
        !           535: .\" .Sq \&?
        !           536: .\" character if invalid or not rendered by current output media.
1.41      schwarze  537: .Sh NUMBERED CHARACTERS
                    538: For backward compatibility with existing manuals,
                    539: .Xr mandoc 1
                    540: also supports the
                    541: .Pp
                    542: .Dl \eN\(aq Ns Ar number Ns \(aq
                    543: .Pp
                    544: escape sequence, inserting the character
                    545: .Ar number
                    546: from the current character set into the output.
                    547: Of course, this is inherently non-portable and is already marked
                    548: as deprecated in the Heirloom roff manual.
                    549: For example, do not use \eN'34', use \e(dq, or even the plain
                    550: .Sq \(dq
                    551: character where possible.
1.3       kristaps  552: .Sh COMPATIBILITY
1.42      schwarze  553: This section documents compatibility between mandoc and other other
                    554: troff implementations, at this time limited to GNU troff
                    555: .Pq Qq groff .
                    556: .Pp
                    557: .Bl -dash -compact
1.44      kristaps  558: .It
                    559: The \eN\(aq\(aq escape sequence is limited to printable characters; in
                    560: groff, it accepts arbitrary character numbers.
1.42      schwarze  561: .It
                    562: In
                    563: .Fl T Ns Cm ascii ,
                    564: the
1.17      kristaps  565: \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product],
1.42      schwarze  566: \e[coproduct], \e(gr, \e(\-h, and \e(a. special characters render
                    567: differently between mandoc and groff.
                    568: .It
                    569: In
                    570: .Fl T Ns Cm html
                    571: and
                    572: .Fl T Ns Cm xhtml ,
                    573: the \e(~=, \e(nb, and \e(nc special characters render differently
                    574: between mandoc and groff.
                    575: .It
                    576: The
                    577: .Fl T Ns Cm ps
                    578: and
                    579: .Fl T Ns Cm pdf
                    580: modes format like
                    581: .Fl T Ns Cm ascii
                    582: instead of rendering glyphs as in groff.
                    583: .It
                    584: The \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted
                    585: from mandoc either because they are poorly documented or they have no
                    586: known representation.
                    587: .El
1.1       kristaps  588: .Sh SEE ALSO
                    589: .Xr mandoc 1
                    590: .Sh AUTHORS
                    591: The
                    592: .Nm
1.30      kristaps  593: manual page was written by
1.36      kristaps  594: .An Kristaps Dzonsons Aq kristaps@bsd.lv .
1.38      kristaps  595: .Sh CAVEATS
                    596: The
                    597: .Sq \e*(Ba
                    598: escape mimics the behaviour of the
1.39      kristaps  599: .Sq \&|
1.38      kristaps  600: character in
                    601: .Xr mdoc 7 ;
                    602: thus, if you wish to render a vertical bar with no side effects, use
                    603: the
                    604: .Sq \e(ba
                    605: escape.