Annotation of mandoc/mandoc_char.7, Revision 1.47
1.47 ! kristaps 1: .\" $Id: mandoc_char.7,v 1.46 2011/07/22 14:15:15 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.4 kristaps 9: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.30 kristaps 16: .\"
1.47 ! kristaps 17: .Dd $Mdocdate: July 22 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.46 kristaps 291: .It \e[12] Ta \[12] Ta one-half
292: .It \e[14] Ta \[14] Ta one-fourth
293: .It \e[34] Ta \[34] Ta three-fourths
1.1 kristaps 294: .El
295: .Pp
296: Ligatures:
1.30 kristaps 297: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 298: .It Em Input Ta Em Rendered Ta Em Description
299: .It \e(ff Ta \(ff Ta ff ligature
300: .It \e(fi Ta \(fi Ta fi ligature
301: .It \e(fl Ta \(fl Ta fl ligature
302: .It \e(Fi Ta \(Fi Ta ffi ligature
303: .It \e(Fl Ta \(Fl Ta ffl ligature
304: .It \e(AE Ta \(AE Ta AE
305: .It \e(ae Ta \(ae Ta ae
306: .It \e(OE Ta \(OE Ta OE
307: .It \e(oe Ta \(oe Ta oe
308: .It \e(ss Ta \(ss Ta German eszett
309: .It \e(IJ Ta \(IJ Ta IJ ligature
310: .It \e(ij Ta \(ij Ta ij ligature
1.1 kristaps 311: .El
312: .Pp
1.18 kristaps 313: Accents:
1.30 kristaps 314: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 315: .It Em Input Ta Em Rendered Ta Em Description
316: .It \e(a" Ta \(a" Ta Hungarian umlaut
317: .It \e(a- Ta \(a- Ta macron
318: .It \e(a. Ta \(a. Ta dotted
319: .It \e(a^ Ta \(a^ Ta circumflex
320: .It \e(aa Ta \(aa Ta acute
321: .It \e' Ta \' Ta acute
322: .It \e(ga Ta \(ga Ta grave
323: .It \e` Ta \` Ta grave
324: .It \e(ab Ta \(ab Ta breve
325: .It \e(ac Ta \(ac Ta cedilla
326: .It \e(ad Ta \(ad Ta dieresis
327: .It \e(ah Ta \(ah Ta caron
328: .It \e(ao Ta \(ao Ta ring
329: .It \e(a~ Ta \(a~ Ta tilde
330: .It \e(ho Ta \(ho Ta ogonek
331: .It \e(ha Ta \(ha Ta hat (text)
332: .It \e(ti Ta \(ti Ta tilde (text)
1.18 kristaps 333: .El
334: .Pp
1.21 kristaps 335: Accented letters:
1.30 kristaps 336: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 337: .It Em Input Ta Em Rendered Ta Em Description
338: .It \e('A Ta \('A Ta acute A
339: .It \e('E Ta \('E Ta acute E
340: .It \e('I Ta \('I Ta acute I
341: .It \e('O Ta \('O Ta acute O
342: .It \e('U Ta \('U Ta acute U
343: .It \e('a Ta \('a Ta acute a
344: .It \e('e Ta \('e Ta acute e
345: .It \e('i Ta \('i Ta acute i
346: .It \e('o Ta \('o Ta acute o
347: .It \e('u Ta \('u Ta acute u
348: .It \e(`A Ta \(`A Ta grave A
349: .It \e(`E Ta \(`E Ta grave E
350: .It \e(`I Ta \(`I Ta grave I
351: .It \e(`O Ta \(`O Ta grave O
352: .It \e(`U Ta \(`U Ta grave U
353: .It \e(`a Ta \(`a Ta grave a
354: .It \e(`e Ta \(`e Ta grave e
355: .It \e(`i Ta \(`i Ta grave i
356: .It \e(`o Ta \(`i Ta grave o
357: .It \e(`u Ta \(`u Ta grave u
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 tilde a
362: .It \e(~n Ta \(~n Ta tilde n
363: .It \e(~o Ta \(~o Ta tilde o
364: .It \e(:A Ta \(:A Ta dieresis A
365: .It \e(:E Ta \(:E Ta dieresis E
366: .It \e(:I Ta \(:I Ta dieresis I
367: .It \e(:O Ta \(:O Ta dieresis O
368: .It \e(:U Ta \(:U Ta dieresis U
369: .It \e(:a Ta \(:a Ta dieresis a
370: .It \e(:e Ta \(:e Ta dieresis e
371: .It \e(:i Ta \(:i Ta dieresis i
372: .It \e(:o Ta \(:o Ta dieresis o
373: .It \e(:u Ta \(:u Ta dieresis u
374: .It \e(:y Ta \(:y Ta dieresis y
375: .It \e(^A Ta \(^A Ta circumflex A
376: .It \e(^E Ta \(^E Ta circumflex E
377: .It \e(^I Ta \(^I Ta circumflex I
378: .It \e(^O Ta \(^O Ta circumflex O
379: .It \e(^U Ta \(^U Ta circumflex U
380: .It \e(^a Ta \(^a Ta circumflex a
381: .It \e(^e Ta \(^e Ta circumflex e
382: .It \e(^i Ta \(^i Ta circumflex i
383: .It \e(^o Ta \(^o Ta circumflex o
384: .It \e(^u Ta \(^u Ta circumflex u
385: .It \e(,C Ta \(,C Ta cedilla C
386: .It \e(,c Ta \(,c Ta cedilla c
387: .It \e(/L Ta \(/L Ta stroke L
388: .It \e(/l Ta \(/l Ta stroke l
389: .It \e(/O Ta \(/O Ta stroke O
390: .It \e(/o Ta \(/o Ta stroke o
391: .It \e(oA Ta \(oA Ta ring A
392: .It \e(oa Ta \(oa Ta ring a
1.1 kristaps 393: .El
394: .Pp
1.21 kristaps 395: Special letters:
1.30 kristaps 396: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 397: .It Em Input Ta Em Rendered Ta Em Description
398: .It \e(-D Ta \(-D Ta Eth
399: .It \e(Sd Ta \(Sd Ta eth
400: .It \e(TP Ta \(TP Ta Thorn
401: .It \e(Tp Ta \(Tp Ta thorn
402: .It \e(.i Ta \(.i Ta dotless i
403: .It \e(.j Ta \(.j Ta dotless j
1.21 kristaps 404: .El
405: .Pp
1.22 kristaps 406: Currency:
1.30 kristaps 407: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 408: .It Em Input Ta Em Rendered Ta Em Description
409: .It \e(Do Ta \(Do Ta dollar
410: .It \e(ct Ta \(ct Ta cent
411: .It \e(Eu Ta \(Eu Ta Euro symbol
412: .It \e(eu Ta \(eu Ta Euro symbol
413: .It \e(Ye Ta \(Ye Ta yen
414: .It \e(Po Ta \(Po Ta pound
415: .It \e(Cs Ta \(Cs Ta Scandinavian
416: .It \e(Fn Ta \(Fn Ta florin
1.11 kristaps 417: .El
418: .Pp
1.23 kristaps 419: Units:
1.30 kristaps 420: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 421: .It Em Input Ta Em Rendered Ta Em Description
422: .It \e(de Ta \(de Ta degree
423: .It \e(%0 Ta \(%0 Ta per-thousand
424: .It \e(fm Ta \(fm Ta minute
425: .It \e(sd Ta \(sd Ta second
426: .It \e(mc Ta \(mc Ta micro
1.23 kristaps 427: .El
428: .Pp
1.11 kristaps 429: Greek letters:
1.30 kristaps 430: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 431: .It Em Input Ta Em Rendered Ta Em Description
432: .It \e(*A Ta \(*A Ta Alpha
433: .It \e(*B Ta \(*B Ta Beta
434: .It \e(*G Ta \(*G Ta Gamma
435: .It \e(*D Ta \(*D Ta Delta
436: .It \e(*E Ta \(*E Ta Epsilon
437: .It \e(*Z Ta \(*Z Ta Zeta
438: .It \e(*Y Ta \(*Y Ta Eta
439: .It \e(*H Ta \(*H Ta Theta
440: .It \e(*I Ta \(*I Ta Iota
441: .It \e(*K Ta \(*K Ta Kappa
442: .It \e(*L Ta \(*L Ta Lambda
443: .It \e(*M Ta \(*M Ta Mu
444: .It \e(*N Ta \(*N Ta Nu
445: .It \e(*C Ta \(*C Ta Xi
446: .It \e(*O Ta \(*O Ta Omicron
447: .It \e(*P Ta \(*P Ta Pi
448: .It \e(*R Ta \(*R Ta Rho
449: .It \e(*S Ta \(*S Ta Sigma
450: .It \e(*T Ta \(*T Ta Tau
451: .It \e(*U Ta \(*U Ta Upsilon
452: .It \e(*F Ta \(*F Ta Phi
453: .It \e(*X Ta \(*X Ta Chi
454: .It \e(*Q Ta \(*Q Ta Psi
455: .It \e(*W Ta \(*W Ta Omega
456: .It \e(*a Ta \(*a Ta alpha
457: .It \e(*b Ta \(*b Ta beta
458: .It \e(*g Ta \(*g Ta gamma
459: .It \e(*d Ta \(*d Ta delta
460: .It \e(*e Ta \(*e Ta epsilon
461: .It \e(*z Ta \(*z Ta zeta
462: .It \e(*y Ta \(*y Ta eta
463: .It \e(*h Ta \(*h Ta theta
464: .It \e(*i Ta \(*i Ta iota
465: .It \e(*k Ta \(*k Ta kappa
466: .It \e(*l Ta \(*l Ta lambda
467: .It \e(*m Ta \(*m Ta mu
468: .It \e(*n Ta \(*n Ta nu
469: .It \e(*c Ta \(*c Ta xi
470: .It \e(*o Ta \(*o Ta omicron
471: .It \e(*p Ta \(*p Ta pi
472: .It \e(*r Ta \(*r Ta rho
473: .It \e(*s Ta \(*s Ta sigma
474: .It \e(*t Ta \(*t Ta tau
475: .It \e(*u Ta \(*u Ta upsilon
476: .It \e(*f Ta \(*f Ta phi
477: .It \e(*x Ta \(*x Ta chi
478: .It \e(*q Ta \(*q Ta psi
479: .It \e(*w Ta \(*w Ta omega
480: .It \e(+h Ta \(+h Ta theta variant
481: .It \e(+f Ta \(+f Ta phi variant
482: .It \e(+p Ta \(+p Ta pi variant
483: .It \e(+e Ta \(+e Ta epsilon variant
484: .It \e(ts Ta \(ts Ta sigma terminal
1.1 kristaps 485: .El
1.10 kristaps 486: .Sh PREDEFINED STRINGS
1.43 kristaps 487: Predefined strings are inherited from the macro packages of historical
488: troff implementations.
489: They are
490: .Em not recommended
491: for use, as they differ across implementations.
492: Manuals using these predefined strings are almost certainly not
493: portable.
1.10 kristaps 494: .Pp
1.30 kristaps 495: .Bl -column -compact -offset indent "Input" "Rendered" "Description"
1.24 kristaps 496: .It Em Input Ta Em Rendered Ta Em Description
497: .It \e*(Ba Ta \*(Ba Ta vertical bar
498: .It \e*(Ne Ta \*(Ne Ta not equal
499: .It \e*(Ge Ta \*(Ge Ta greater-than-equal
500: .It \e*(Le Ta \*(Le Ta less-than-equal
501: .It \e*(Gt Ta \*(Gt Ta greater-than
502: .It \e*(Lt Ta \*(Lt Ta less-than
503: .It \e*(Pm Ta \*(Pm Ta plus-minus
504: .It \e*(If Ta \*(If Ta infinity
505: .It \e*(Pi Ta \*(Pi Ta pi
506: .It \e*(Na Ta \*(Na Ta NaN
507: .It \e*(Am Ta \*(Am Ta ampersand
508: .It \e*R Ta \*R Ta restricted mark
509: .It \e*(Tm Ta \*(Tm Ta trade mark
510: .It \e*q Ta \*q Ta double-quote
511: .It \e*(Rq Ta \*(Rq Ta right-double-quote
512: .It \e*(Lq Ta \*(Lq Ta left-double-quote
513: .It \e*(lp Ta \*(lp Ta right-parenthesis
514: .It \e*(rp Ta \*(rp Ta left-parenthesis
515: .It \e*(lq Ta \*(lq Ta left double-quote
516: .It \e*(rq Ta \*(rq Ta right double-quote
517: .It \e*(ua Ta \*(ua Ta up arrow
518: .It \e*(va Ta \*(va Ta up-down arrow
519: .It \e*(<= Ta \*(<= Ta less-than-equal
520: .It \e*(>= Ta \*(>= Ta greater-than-equal
521: .It \e*(aa Ta \*(aa Ta acute
522: .It \e*(ga Ta \*(ga Ta grave
1.43 kristaps 523: .It \e*(Px Ta \*(Px Ta POSIX standard name
524: .It \e*(Ai Ta \*(Ai Ta ANSI standard name
1.10 kristaps 525: .El
1.45 kristaps 526: .Sh UNICODE CHARACTERS
527: The escape sequence
528: .Pp
529: .Dl \e[uXXXX]
530: .Pp
531: is interpreted as a Unicode codepoint.
532: The codepoint must be in the range above U+0080 and less than U+10FFFF.
533: For compatibility, points must be zero-padded to four characters; if
534: greater than four characters, no zero padding is allowed.
535: Unicode surrogates are not allowed.
536: .\" .Pp
537: .\" Unicode glyphs attenuate to the
538: .\" .Sq \&?
539: .\" character if invalid or not rendered by current output media.
1.41 schwarze 540: .Sh NUMBERED CHARACTERS
541: For backward compatibility with existing manuals,
542: .Xr mandoc 1
543: also supports the
544: .Pp
545: .Dl \eN\(aq Ns Ar number Ns \(aq
546: .Pp
547: escape sequence, inserting the character
548: .Ar number
549: from the current character set into the output.
550: Of course, this is inherently non-portable and is already marked
551: as deprecated in the Heirloom roff manual.
552: For example, do not use \eN'34', use \e(dq, or even the plain
553: .Sq \(dq
554: character where possible.
1.3 kristaps 555: .Sh COMPATIBILITY
1.42 schwarze 556: This section documents compatibility between mandoc and other other
557: troff implementations, at this time limited to GNU troff
558: .Pq Qq groff .
559: .Pp
560: .Bl -dash -compact
1.44 kristaps 561: .It
562: The \eN\(aq\(aq escape sequence is limited to printable characters; in
563: groff, it accepts arbitrary character numbers.
1.42 schwarze 564: .It
565: In
566: .Fl T Ns Cm ascii ,
567: the
1.17 kristaps 568: \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product],
1.42 schwarze 569: \e[coproduct], \e(gr, \e(\-h, and \e(a. special characters render
570: differently between mandoc and groff.
571: .It
572: In
573: .Fl T Ns Cm html
574: and
575: .Fl T Ns Cm xhtml ,
576: the \e(~=, \e(nb, and \e(nc special characters render differently
577: between mandoc and groff.
578: .It
579: The
580: .Fl T Ns Cm ps
581: and
582: .Fl T Ns Cm pdf
583: modes format like
584: .Fl T Ns Cm ascii
585: instead of rendering glyphs as in groff.
586: .It
587: The \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted
588: from mandoc either because they are poorly documented or they have no
589: known representation.
590: .El
1.1 kristaps 591: .Sh SEE ALSO
592: .Xr mandoc 1
593: .Sh AUTHORS
594: The
595: .Nm
1.30 kristaps 596: manual page was written by
1.47 ! kristaps 597: .An Kristaps Dzonsons ,
! 598: .Mt kristaps@bsd.lv .
1.38 kristaps 599: .Sh CAVEATS
600: The
601: .Sq \e*(Ba
602: escape mimics the behaviour of the
1.39 kristaps 603: .Sq \&|
1.38 kristaps 604: character in
605: .Xr mdoc 7 ;
606: thus, if you wish to render a vertical bar with no side effects, use
607: the
608: .Sq \e(ba
609: escape.
CVSweb