[dragonfly.git] / contrib / mdocml / mandoc_char.7
1 .\"     $Id: mandoc_char.7,v 1.53 2013/07/13 19:41:16 schwarze Exp $
2 .\"
3 .\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org>
4 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
5 .\" Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
6 .\"
7 .\" Permission to use, copy, modify, and distribute this software for any
8 .\" purpose with or without fee is hereby granted, provided that the above
9 .\" copyright notice and this permission notice appear in all copies.
10 .\"
18 .\"
19 .Dd $Mdocdate: July 13 2013 $
21 .Os
22 .Sh NAME
23 .Nm mandoc_char
24 .Nd mandoc special characters
26 This page documents the
27 .Xr roff 7
28 escape sequences accepted by
29 .Xr mandoc 1
30 to represent special characters in
31 .Xr mdoc 7
32 and
33 .Xr man 7
34 documents.
35 .Pp
36 The rendering depends on the
37 .Xr mandoc 1
38 output mode; in ASCII output, most characters are completely
39 unintelligible.
40 For that reason, using any of the special characters documented here,
41 except those discussed in the
43 is strongly discouraged; they are supported merely for backwards
44 compatibility with existing documents.
45 .Pp
46 In particular, in English manual pages, do not use special-character
47 escape sequences to represent national language characters in author
48 names; instead, provide ASCII transcriptions of the names.
49 .Ss Dashes and Hyphens
50 In typography there are different types of dashes of various width:
51 the hyphen (-),
52 the minus sign (\-),
53 the en-dash (\(en),
54 and the em-dash (\(em).
55 .Pp
56 Hyphens are used for adjectives;
57 to separate the two parts of a compound word;
58 or to separate a word across two successive lines of text.
59 The hyphen does not need to be escaped:
60 .Bd -unfilled -offset indent
61 blue-eyed
62 lorry-driver
63 .Ed
64 .Pp
65 The mathematical minus sign is used for negative numbers or subtraction.
66 It should be written as
67 .Sq \e- :
68 .Bd -unfilled -offset indent
69 a = 3 \e- 1;
70 b = \e-2;
71 .Ed
72 .Pp
73 The en-dash is used to separate the two elements of a range,
74 or can be used the same way as an em-dash.
75 It should be written as
76 .Sq \e(en :
77 .Bd -unfilled -offset indent
78 pp. 95\e(en97.
79 Go away \e(en or else!
80 .Ed
81 .Pp
82 The em-dash can be used to show an interruption
83 or can be used the same way as colons, semi-colons, or parentheses.
84 It should be written as
85 .Sq \e(em :
86 .Bd -unfilled -offset indent
87 Three things \e(em apples, oranges, and bananas.
88 This is not that \e(em rather, this is that.
89 .Ed
90 .Pp
91 Note:
92 hyphens, minus signs, and en-dashes look identical under normal ASCII output.
93 Other formats, such as PostScript, render them correctly,
94 with differing widths.
95 .Ss Spaces
96 To separate words in normal text, for indenting and alignment
97 in literal context, and when none of the following special cases apply,
98 just use the normal space character
99 .Pq Sq \  .
100 .Pp
101 When filling text, lines may be broken between words, i.e. at space
102 characters.
103 To prevent a line break between two particular words,
104 use the non-breaking space escape sequence
105 .Pq Sq \e~
106 instead of the normal space character.
107 For example, the input string
108 .Dq number\e~1
109 will be kept together as
110 .Dq number\~1
111 on the same output line.
112 .Pp
113 On request and macro lines, the normal space character serves as an
114 argument delimiter.
115 To include whitespace into arguments, quoting is usually the best choice.
116 In some cases, using either the non-breaking
117 .Pq Sq \e~
118 or the breaking
119 .Pq Sq \e\ \&
120 space escape sequence may be preferable.
121 To escape macro names and to protect whitespace at the end
122 of input lines, the zero-width space
123 .Pq Sq \e&
124 is often useful.
125 For example, in
126 .Xr mdoc 7 ,
127 a normal space character can be displayed in single quotes in either
128 of the following ways:
129 .Pp
130 .Dl .Sq \(dq \(dq
131 .Dl .Sq \e \e&
132 .Ss Quotes
133 On request and macro lines, the double-quote character
134 .Pq Sq \(dq
135 is handled specially to allow quoting.
136 One way to prevent this special handling is by using the
137 .Sq \e(dq
138 escape sequence.
139 .Pp
140 Note that on text lines, literal double-quote characters can be used
141 verbatim.
142 All other quote-like characters can be used verbatim as well,
143 even on request and macro lines.
144 .Ss Periods
145 The period
146 .Pq Sq \&.
147 is handled specially at the beginning of an input line,
148 where it introduces a
149 .Xr roff 7
150 request or a macro, and when appearing alone as a macro argument in
151 .Xr mdoc 7 .
152 In such situations, prepend a zero-width space
153 .Pq Sq \e&.
154 to make it behave like normal text.
155 .Pp
156 Do not use the
157 .Sq \e.
158 escape sequence.
159 It does not prevent special handling of the period.
160 .Ss Backslashes
161 To include a literal backslash
162 .Pq Sq \e
163 into the output, use the
164 .Pq Sq \ee
165 escape sequence.
166 .Pp
167 Note that doubling it
168 .Pq Sq \e\e
169 is not the right way to output a backslash.
170 Because
171 .Xr mandoc 1
172 does not implement full
173 .Xr roff 7
174 functionality, it may work with
175 .Xr mandoc 1 ,
176 but it may have weird effects on complete
177 .Xr roff 7
178 implementations.
180 Special characters are encoded as
181 .Sq \eX
182 .Pq for a one-character escape ,
183 .Sq \e(XX
184 .Pq two-character ,
185 and
186 .Sq \e[N]
187 .Pq N-character .
188 For details, see the
189 .Em Special Characters
190 subsection of the
191 .Xr roff 7
192 manual.
193 .Pp
194 Spacing:
195 .Bl -column "Input" "Description" -offset indent -compact
196 .It Em Input Ta Em Description
197 .It \e~      Ta non-breaking, non-collapsing space
198 .It \e       Ta breaking, non-collapsing n-width space
199 .It \e^      Ta zero-width space
200 .It \e%      Ta zero-width space
201 .It \e&      Ta zero-width space
202 .It \e|      Ta zero-width space
203 .It \e0      Ta breaking, non-collapsing digit-width space
204 .It \ec      Ta removes any trailing space (if applicable)
205 .El
206 .Pp
207 Lines:
208 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
209 .It Em Input Ta Em Rendered Ta Em Description
210 .It \e(ba    Ta \(ba        Ta bar
211 .It \e(br    Ta \(br        Ta box rule
212 .It \e(ul    Ta \(ul        Ta underscore
213 .It \e(rl    Ta \(rl        Ta overline
214 .It \e(bb    Ta \(bb        Ta broken bar
215 .It \e(sl    Ta \(sl        Ta forward slash
216 .It \e(rs    Ta \(rs        Ta backward slash
217 .El
218 .Pp
219 Text markers:
220 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
221 .It Em Input Ta Em Rendered Ta Em Description
222 .It \e(ci    Ta \(ci        Ta circle
223 .It \e(bu    Ta \(bu        Ta bullet
224 .It \e(dd    Ta \(dd        Ta double dagger
225 .It \e(dg    Ta \(dg        Ta dagger
226 .It \e(lz    Ta \(lz        Ta lozenge
227 .It \e(sq    Ta \(sq        Ta white square
228 .It \e(ps    Ta \(ps        Ta paragraph
229 .It \e(sc    Ta \(sc        Ta section
230 .It \e(lh    Ta \(lh        Ta left hand
231 .It \e(rh    Ta \(rh        Ta right hand
232 .It \e(at    Ta \(at        Ta at
233 .It \e(sh    Ta \(sh        Ta hash (pound)
234 .It \e(CR    Ta \(CR        Ta carriage return
235 .It \e(OK    Ta \(OK        Ta check mark
236 .El
237 .Pp
238 Legal symbols:
239 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
240 .It Em Input Ta Em Rendered Ta Em Description
241 .It \e(co    Ta \(co        Ta copyright
242 .It \e(rg    Ta \(rg        Ta registered
243 .It \e(tm    Ta \(tm        Ta trademarked
244 .El
245 .Pp
246 Punctuation:
247 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
248 .It Em Input Ta Em Rendered Ta Em Description
249 .It \e(em    Ta \(em        Ta em-dash
250 .It \e(en    Ta \(en        Ta en-dash
251 .It \e(hy    Ta \(hy        Ta hyphen
252 .It \ee      Ta \e          Ta back-slash
253 .It \e.      Ta \.          Ta period
254 .It \e(r!    Ta \(r!        Ta upside-down exclamation
255 .It \e(r?    Ta \(r?        Ta upside-down question
256 .El
257 .Pp
259 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
260 .It Em Input Ta Em Rendered Ta Em Description
261 .It \e(Bq    Ta \(Bq        Ta right low double-quote
262 .It \e(bq    Ta \(bq        Ta right low single-quote
263 .It \e(lq    Ta \(lq        Ta left double-quote
264 .It \e(rq    Ta \(rq        Ta right double-quote
265 .It \e(oq    Ta \(oq        Ta left single-quote
266 .It \e(cq    Ta \(cq        Ta right single-quote
267 .It \e(aq    Ta \(aq        Ta apostrophe quote (text)
268 .It \e(dq    Ta \(dq        Ta double quote (text)
269 .It \e(Fo    Ta \(Fo        Ta left guillemet
270 .It \e(Fc    Ta \(Fc        Ta right guillemet
271 .It \e(fo    Ta \(fo        Ta left single guillemet
272 .It \e(fc    Ta \(fc        Ta right single guillemet
273 .El
274 .Pp
275 Brackets:
276 .Bl -column "xxbracketrightbpx" Rendered Description -offset indent -compact
277 .It Em Input Ta Em Rendered Ta Em Description
278 .It \e(lB    Ta \(lB        Ta left bracket
279 .It \e(rB    Ta \(rB        Ta right bracket
280 .It \e(lC    Ta \(lC        Ta left brace
281 .It \e(rC    Ta \(rC        Ta right brace
282 .It \e(la    Ta \(la        Ta left angle
283 .It \e(ra    Ta \(ra        Ta right angle
284 .It \e(bv    Ta \(bv        Ta brace extension
285 .It \e[braceex] Ta \[braceex] Ta brace extension
286 .It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket
287 .It \e[bracketleftbp] Ta \[bracketleftbp] Ta bottom-left hooked bracket
288 .It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension
289 .It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket
290 .It \e[bracketrightbp] Ta \[bracketrightbp] Ta bottom-right hooked bracket
291 .It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension
292 .It \e(lt    Ta \(lt        Ta top-left hooked brace
293 .It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace
294 .It \e(lk    Ta \(lk        Ta mid-left hooked brace
295 .It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace
296 .It \e(lb    Ta \(lb        Ta bottom-left hooked brace
297 .It \e[braceleftbp] Ta \[braceleftbp] Ta bottom-left hooked brace
298 .It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension
299 .It \e(rt    Ta \(rt        Ta top-left hooked brace
300 .It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace
301 .It \e(rk    Ta \(rk        Ta mid-right hooked brace
302 .It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace
303 .It \e(rb    Ta \(rb        Ta bottom-right hooked brace
304 .It \e[bracerightbp] Ta \[bracerightbp] Ta bottom-right hooked brace
305 .It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension
306 .It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis
307 .It \e[parenleftbp] Ta \[parenleftbp] Ta bottom-left hooked parenthesis
308 .It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension
309 .It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis
310 .It \e[parenrightbp] Ta \[parenrightbp] Ta bottom-right hooked parenthesis
311 .It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension
312 .El
313 .Pp
314 Arrows:
315 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
316 .It Em Input Ta Em Rendered Ta Em Description
317 .It \e(<-    Ta \(<-        Ta left arrow
318 .It \e(->    Ta \(->        Ta right arrow
319 .It \e(<>    Ta \(<>        Ta left-right arrow
320 .It \e(da    Ta \(da        Ta down arrow
321 .It \e(ua    Ta \(ua        Ta up arrow
322 .It \e(va    Ta \(va        Ta up-down arrow
323 .It \e(lA    Ta \(lA        Ta left double-arrow
324 .It \e(rA    Ta \(rA        Ta right double-arrow
325 .It \e(hA    Ta \(hA        Ta left-right double-arrow
326 .It \e(uA    Ta \(uA        Ta up double-arrow
327 .It \e(dA    Ta \(dA        Ta down double-arrow
328 .It \e(vA    Ta \(vA        Ta up-down double-arrow
329 .El
330 .Pp
331 Logical:
332 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
333 .It Em Input Ta Em Rendered Ta Em Description
334 .It \e(AN    Ta \(AN        Ta logical and
335 .It \e(OR    Ta \(OR        Ta logical or
336 .It \e(no    Ta \(no        Ta logical not
337 .It \e[tno]  Ta \[tno]      Ta logical not (text)
338 .It \e(te    Ta \(te        Ta existential quantifier
339 .It \e(fa    Ta \(fa        Ta universal quantifier
340 .It \e(st    Ta \(st        Ta such that
341 .It \e(tf    Ta \(tf        Ta therefore
342 .It \e(3d    Ta \(3d        Ta therefore
343 .It \e(or    Ta \(or        Ta bitwise or
344 .El
345 .Pp
346 Mathematical:
347 .Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact
348 .It Em Input Ta Em Rendered Ta Em Description
349 .It \e(pl    Ta \(pl        Ta plus
350 .It \e(mi    Ta \(mi        Ta minus
351 .It \e-      Ta \-          Ta minus (text)
352 .It \e(-+    Ta \(-+        Ta minus-plus
353 .It \e(+-    Ta \(+-        Ta plus-minus
354 .It \e[t+-]  Ta \[t+-]      Ta plus-minus (text)
355 .It \e(pc    Ta \(pc        Ta centre-dot
356 .It \e(mu    Ta \(mu        Ta multiply
357 .It \e[tmu]  Ta \[tmu]      Ta multiply (text)
358 .It \e(c*    Ta \(c*        Ta circle-multiply
359 .It \e(c+    Ta \(c+        Ta circle-plus
360 .It \e(di    Ta \(di        Ta divide
361 .It \e[tdi]  Ta \[tdi]      Ta divide (text)
362 .It \e(f/    Ta \(f/        Ta fraction
363 .It \e(**    Ta \(**        Ta asterisk
364 .It \e(<=    Ta \(<=        Ta less-than-equal
365 .It \e(>=    Ta \(>=        Ta greater-than-equal
366 .It \e(<<    Ta \(<<        Ta much less
367 .It \e(>>    Ta \(>>        Ta much greater
368 .It \e(eq    Ta \(eq        Ta equal
369 .It \e(!=    Ta \(!=        Ta not equal
370 .It \e(==    Ta \(==        Ta equivalent
371 .It \e(ne    Ta \(ne        Ta not equivalent
372 .It \e(=~    Ta \(=~        Ta congruent
373 .It \e(-~    Ta \(-~        Ta asymptotically congruent
374 .It \e(ap    Ta \(ap        Ta asymptotically similar
375 .It \e(~~    Ta \(~~        Ta approximately similar
376 .It \e(~=    Ta \(~=        Ta approximately equal
377 .It \e(pt    Ta \(pt        Ta proportionate
378 .It \e(es    Ta \(es        Ta empty set
379 .It \e(mo    Ta \(mo        Ta element
380 .It \e(nm    Ta \(nm        Ta not element
381 .It \e(sb    Ta \(sb        Ta proper subset
382 .It \e(nb    Ta \(nb        Ta not subset
383 .It \e(sp    Ta \(sp        Ta proper superset
384 .It \e(nc    Ta \(nc        Ta not superset
385 .It \e(ib    Ta \(ib        Ta reflexive subset
386 .It \e(ip    Ta \(ip        Ta reflexive superset
387 .It \e(ca    Ta \(ca        Ta intersection
388 .It \e(cu    Ta \(cu        Ta union
389 .It \e(/_    Ta \(/_        Ta angle
390 .It \e(pp    Ta \(pp        Ta perpendicular
391 .It \e(is    Ta \(is        Ta integral
392 .It \e[integral] Ta \[integral] Ta integral
393 .It \e[sum]    Ta \[sum]   Ta summation
394 .It \e[product] Ta \[product] Ta product
395 .It \e[coproduct] Ta \[coproduct] Ta coproduct
396 .It \e(gr    Ta \(gr        Ta gradient
397 .It \e(sr    Ta \(sr        Ta square root
398 .It \e[sqrt] Ta \[sqrt]     Ta square root
399 .It \e(lc    Ta \(lc        Ta left-ceiling
400 .It \e(rc    Ta \(rc        Ta right-ceiling
401 .It \e(lf    Ta \(lf        Ta left-floor
402 .It \e(rf    Ta \(rf        Ta right-floor
403 .It \e(if    Ta \(if        Ta infinity
404 .It \e(Ah    Ta \(Ah        Ta aleph
405 .It \e(Im    Ta \(Im        Ta imaginary
406 .It \e(Re    Ta \(Re        Ta real
407 .It \e(pd    Ta \(pd        Ta partial differential
408 .It \e(-h    Ta \(-h        Ta Planck constant over 2\(*p
409 .It \e[12]   Ta \[12]       Ta one-half
410 .It \e[14]   Ta \[14]       Ta one-fourth
411 .It \e[34]   Ta \[34]       Ta three-fourths
412 .El
413 .Pp
414 Ligatures:
415 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
416 .It Em Input Ta Em Rendered Ta Em Description
417 .It \e(ff    Ta \(ff        Ta ff ligature
418 .It \e(fi    Ta \(fi        Ta fi ligature
419 .It \e(fl    Ta \(fl        Ta fl ligature
420 .It \e(Fi    Ta \(Fi        Ta ffi ligature
421 .It \e(Fl    Ta \(Fl        Ta ffl ligature
422 .It \e(AE    Ta \(AE        Ta AE
423 .It \e(ae    Ta \(ae        Ta ae
424 .It \e(OE    Ta \(OE        Ta OE
425 .It \e(oe    Ta \(oe        Ta oe
426 .It \e(ss    Ta \(ss        Ta German eszett
427 .It \e(IJ    Ta \(IJ        Ta IJ ligature
428 .It \e(ij    Ta \(ij        Ta ij ligature
429 .El
430 .Pp
431 Accents:
432 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
433 .It Em Input Ta Em Rendered Ta Em Description
434 .It \e(a"    Ta \(a"        Ta Hungarian umlaut
435 .It \e(a-    Ta \(a-        Ta macron
436 .It \e(a.    Ta \(a.        Ta dotted
437 .It \e(a^    Ta \(a^        Ta circumflex
438 .It \e(aa    Ta \(aa        Ta acute
439 .It \e'      Ta \'          Ta acute
440 .It \e(ga    Ta \(ga        Ta grave
441 .It \e`      Ta \`          Ta grave
442 .It \e(ab    Ta \(ab        Ta breve
443 .It \e(ac    Ta \(ac        Ta cedilla
444 .It \e(ad    Ta \(ad        Ta dieresis
445 .It \e(ah    Ta \(ah        Ta caron
446 .It \e(ao    Ta \(ao        Ta ring
447 .It \e(a~    Ta \(a~        Ta tilde
448 .It \e(ho    Ta \(ho        Ta ogonek
449 .It \e(ha    Ta \(ha        Ta hat (text)
450 .It \e(ti    Ta \(ti        Ta tilde (text)
451 .El
452 .Pp
453 Accented letters:
454 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
455 .It Em Input Ta Em Rendered Ta Em Description
456 .It \e('A    Ta \('A        Ta acute A
457 .It \e('E    Ta \('E        Ta acute E
458 .It \e('I    Ta \('I        Ta acute I
459 .It \e('O    Ta \('O        Ta acute O
460 .It \e('U    Ta \('U        Ta acute U
461 .It \e('a    Ta \('a        Ta acute a
462 .It \e('e    Ta \('e        Ta acute e
463 .It \e('i    Ta \('i        Ta acute i
464 .It \e('o    Ta \('o        Ta acute o
465 .It \e('u    Ta \('u        Ta acute u
466 .It \e(`A    Ta \(`A        Ta grave A
467 .It \e(`E    Ta \(`E        Ta grave E
468 .It \e(`I    Ta \(`I        Ta grave I
469 .It \e(`O    Ta \(`O        Ta grave O
470 .It \e(`U    Ta \(`U        Ta grave U
471 .It \e(`a    Ta \(`a        Ta grave a
472 .It \e(`e    Ta \(`e        Ta grave e
473 .It \e(`i    Ta \(`i        Ta grave i
474 .It \e(`o    Ta \(`i        Ta grave o
475 .It \e(`u    Ta \(`u        Ta grave u
476 .It \e(~A    Ta \(~A        Ta tilde A
477 .It \e(~N    Ta \(~N        Ta tilde N
478 .It \e(~O    Ta \(~O        Ta tilde O
479 .It \e(~a    Ta \(~a        Ta tilde a
480 .It \e(~n    Ta \(~n        Ta tilde n
481 .It \e(~o    Ta \(~o        Ta tilde o
482 .It \e(:A    Ta \(:A        Ta dieresis A
483 .It \e(:E    Ta \(:E        Ta dieresis E
484 .It \e(:I    Ta \(:I        Ta dieresis I
485 .It \e(:O    Ta \(:O        Ta dieresis O
486 .It \e(:U    Ta \(:U        Ta dieresis U
487 .It \e(:a    Ta \(:a        Ta dieresis a
488 .It \e(:e    Ta \(:e        Ta dieresis e
489 .It \e(:i    Ta \(:i        Ta dieresis i
490 .It \e(:o    Ta \(:o        Ta dieresis o
491 .It \e(:u    Ta \(:u        Ta dieresis u
492 .It \e(:y    Ta \(:y        Ta dieresis y
493 .It \e(^A    Ta \(^A        Ta circumflex A
494 .It \e(^E    Ta \(^E        Ta circumflex E
495 .It \e(^I    Ta \(^I        Ta circumflex I
496 .It \e(^O    Ta \(^O        Ta circumflex O
497 .It \e(^U    Ta \(^U        Ta circumflex U
498 .It \e(^a    Ta \(^a        Ta circumflex a
499 .It \e(^e    Ta \(^e        Ta circumflex e
500 .It \e(^i    Ta \(^i        Ta circumflex i
501 .It \e(^o    Ta \(^o        Ta circumflex o
502 .It \e(^u    Ta \(^u        Ta circumflex u
503 .It \e(,C    Ta \(,C        Ta cedilla C
504 .It \e(,c    Ta \(,c        Ta cedilla c
505 .It \e(/L    Ta \(/L        Ta stroke L
506 .It \e(/l    Ta \(/l        Ta stroke l
507 .It \e(/O    Ta \(/O        Ta stroke O
508 .It \e(/o    Ta \(/o        Ta stroke o
509 .It \e(oA    Ta \(oA        Ta ring A
510 .It \e(oa    Ta \(oa        Ta ring a
511 .El
512 .Pp
513 Special letters:
514 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
515 .It Em Input Ta Em Rendered Ta Em Description
516 .It \e(-D    Ta \(-D        Ta Eth
517 .It \e(Sd    Ta \(Sd        Ta eth
518 .It \e(TP    Ta \(TP        Ta Thorn
519 .It \e(Tp    Ta \(Tp        Ta thorn
520 .It \e(.i    Ta \(.i        Ta dotless i
521 .It \e(.j    Ta \(.j        Ta dotless j
522 .El
523 .Pp
524 Currency:
525 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
526 .It Em Input Ta Em Rendered Ta Em Description
527 .It \e(Do    Ta \(Do        Ta dollar
528 .It \e(ct    Ta \(ct        Ta cent
529 .It \e(Eu    Ta \(Eu        Ta Euro symbol
530 .It \e(eu    Ta \(eu        Ta Euro symbol
531 .It \e(Ye    Ta \(Ye        Ta yen
532 .It \e(Po    Ta \(Po        Ta pound
533 .It \e(Cs    Ta \(Cs        Ta Scandinavian
534 .It \e(Fn    Ta \(Fn        Ta florin
535 .El
536 .Pp
537 Units:
538 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
539 .It Em Input Ta Em Rendered Ta Em Description
540 .It \e(de    Ta \(de        Ta degree
541 .It \e(%0    Ta \(%0        Ta per-thousand
542 .It \e(fm    Ta \(fm        Ta minute
543 .It \e(sd    Ta \(sd        Ta second
544 .It \e(mc    Ta \(mc        Ta micro
545 .El
546 .Pp
547 Greek letters:
548 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
549 .It Em Input Ta Em Rendered Ta Em Description
550 .It \e(*A    Ta \(*A        Ta Alpha
551 .It \e(*B    Ta \(*B        Ta Beta
552 .It \e(*G    Ta \(*G        Ta Gamma
553 .It \e(*D    Ta \(*D        Ta Delta
554 .It \e(*E    Ta \(*E        Ta Epsilon
555 .It \e(*Z    Ta \(*Z        Ta Zeta
556 .It \e(*Y    Ta \(*Y        Ta Eta
557 .It \e(*H    Ta \(*H        Ta Theta
558 .It \e(*I    Ta \(*I        Ta Iota
559 .It \e(*K    Ta \(*K        Ta Kappa
560 .It \e(*L    Ta \(*L        Ta Lambda
561 .It \e(*M    Ta \(*M        Ta Mu
562 .It \e(*N    Ta \(*N        Ta Nu
563 .It \e(*C    Ta \(*C        Ta Xi
564 .It \e(*O    Ta \(*O        Ta Omicron
565 .It \e(*P    Ta \(*P        Ta Pi
566 .It \e(*R    Ta \(*R        Ta Rho
567 .It \e(*S    Ta \(*S        Ta Sigma
568 .It \e(*T    Ta \(*T        Ta Tau
569 .It \e(*U    Ta \(*U        Ta Upsilon
570 .It \e(*F    Ta \(*F        Ta Phi
571 .It \e(*X    Ta \(*X        Ta Chi
572 .It \e(*Q    Ta \(*Q        Ta Psi
573 .It \e(*W    Ta \(*W        Ta Omega
574 .It \e(*a    Ta \(*a        Ta alpha
575 .It \e(*b    Ta \(*b        Ta beta
576 .It \e(*g    Ta \(*g        Ta gamma
577 .It \e(*d    Ta \(*d        Ta delta
578 .It \e(*e    Ta \(*e        Ta epsilon
579 .It \e(*z    Ta \(*z        Ta zeta
580 .It \e(*y    Ta \(*y        Ta eta
581 .It \e(*h    Ta \(*h        Ta theta
582 .It \e(*i    Ta \(*i        Ta iota
583 .It \e(*k    Ta \(*k        Ta kappa
584 .It \e(*l    Ta \(*l        Ta lambda
585 .It \e(*m    Ta \(*m        Ta mu
586 .It \e(*n    Ta \(*n        Ta nu
587 .It \e(*c    Ta \(*c        Ta xi
588 .It \e(*o    Ta \(*o        Ta omicron
589 .It \e(*p    Ta \(*p        Ta pi
590 .It \e(*r    Ta \(*r        Ta rho
591 .It \e(*s    Ta \(*s        Ta sigma
592 .It \e(*t    Ta \(*t        Ta tau
593 .It \e(*u    Ta \(*u        Ta upsilon
594 .It \e(*f    Ta \(*f        Ta phi
595 .It \e(*x    Ta \(*x        Ta chi
596 .It \e(*q    Ta \(*q        Ta psi
597 .It \e(*w    Ta \(*w        Ta omega
598 .It \e(+h    Ta \(+h        Ta theta variant
599 .It \e(+f    Ta \(+f        Ta phi variant
600 .It \e(+p    Ta \(+p        Ta pi variant
601 .It \e(+e    Ta \(+e        Ta epsilon variant
602 .It \e(ts    Ta \(ts        Ta sigma terminal
603 .El
605 Predefined strings are inherited from the macro packages of historical
606 troff implementations.
607 They are
608 .Em not recommended
609 for use, as they differ across implementations.
610 Manuals using these predefined strings are almost certainly not
611 portable.
612 .Pp
613 Their syntax is similar to special characters, using
614 .Sq \e*X
615 .Pq for a one-character escape ,
616 .Sq \e*(XX
617 .Pq two-character ,
618 and
619 .Sq \e*[N]
620 .Pq N-character .
621 For details, see the
622 .Em Predefined Strings
623 subsection of the
624 .Xr roff 7
625 manual.
626 .Bl -column "Input" "Rendered" "Description" -offset indent
627 .It Em Input Ta Em Rendered Ta Em Description
628 .It \e*(Ba   Ta \*(Ba       Ta vertical bar
629 .It \e*(Ne   Ta \*(Ne       Ta not equal
630 .It \e*(Ge   Ta \*(Ge       Ta greater-than-equal
631 .It \e*(Le   Ta \*(Le       Ta less-than-equal
632 .It \e*(Gt   Ta \*(Gt       Ta greater-than
633 .It \e*(Lt   Ta \*(Lt       Ta less-than
634 .It \e*(Pm   Ta \*(Pm       Ta plus-minus
635 .It \e*(If   Ta \*(If       Ta infinity
636 .It \e*(Pi   Ta \*(Pi       Ta pi
637 .It \e*(Na   Ta \*(Na       Ta NaN
638 .It \e*(Am   Ta \*(Am       Ta ampersand
639 .It \e*R     Ta \*R         Ta restricted mark
640 .It \e*(Tm   Ta \*(Tm       Ta trade mark
641 .It \e*q     Ta \*q         Ta double-quote
642 .It \e*(Rq   Ta \*(Rq       Ta right-double-quote
643 .It \e*(Lq   Ta \*(Lq       Ta left-double-quote
644 .It \e*(lp   Ta \*(lp       Ta right-parenthesis
645 .It \e*(rp   Ta \*(rp       Ta left-parenthesis
646 .It \e*(lq   Ta \*(lq       Ta left double-quote
647 .It \e*(rq   Ta \*(rq       Ta right double-quote
648 .It \e*(ua   Ta \*(ua       Ta up arrow
649 .It \e*(va   Ta \*(va       Ta up-down arrow
650 .It \e*(<=   Ta \*(<=       Ta less-than-equal
651 .It \e*(>=   Ta \*(>=       Ta greater-than-equal
652 .It \e*(aa   Ta \*(aa       Ta acute
653 .It \e*(ga   Ta \*(ga       Ta grave
654 .It \e*(Px   Ta \*(Px       Ta POSIX standard name
655 .It \e*(Ai   Ta \*(Ai       Ta ANSI standard name
656 .El
658 The escape sequence
659 .Pp
660 .Dl \e[uXXXX]
661 .Pp
662 is interpreted as a Unicode codepoint.
663 The codepoint must be in the range above U+0080 and less than U+10FFFF.
664 For compatibility, points must be zero-padded to four characters; if
665 greater than four characters, no zero padding is allowed.
666 Unicode surrogates are not allowed.
667 .\" .Pp
668 .\" Unicode glyphs attenuate to the
669 .\" .Sq \&?
670 .\" character if invalid or not rendered by current output media.
672 For backward compatibility with existing manuals,
673 .Xr mandoc 1
674 also supports the
675 .Pp
676 .Dl \eN\(aq Ns Ar number Ns \(aq
677 .Pp
678 escape sequence, inserting the character
679 .Ar number
680 from the current character set into the output.
681 Of course, this is inherently non-portable and is already marked
682 as deprecated in the Heirloom roff manual.
683 For example, do not use \eN'34', use \e(dq, or even the plain
684 .Sq \(dq
685 character where possible.
687 This section documents compatibility between mandoc and other
688 troff implementations, at this time limited to GNU troff
689 .Pq Qq groff .
690 .Pp
691 .Bl -dash -compact
692 .It
693 The \eN\(aq\(aq escape sequence is limited to printable characters; in
694 groff, it accepts arbitrary character numbers.
695 .It
696 In
697 .Fl T Ns Cm ascii ,
698 the
699 \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product],
700 \e[coproduct], \e(gr, \e(\-h, and \e(a. special characters render
701 differently between mandoc and groff.
702 .It
703 In
704 .Fl T Ns Cm html
705 and
706 .Fl T Ns Cm xhtml ,
707 the \e(~=, \e(nb, and \e(nc special characters render differently
708 between mandoc and groff.
709 .It
710 The
711 .Fl T Ns Cm ps
712 and
713 .Fl T Ns Cm pdf
714 modes format like
715 .Fl T Ns Cm ascii
716 instead of rendering glyphs as in groff.
717 .It
718 The \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted
719 from mandoc either because they are poorly documented or they have no
720 known representation.
721 .El
722 .Sh SEE ALSO
723 .Xr mandoc 1 ,
724 .Xr man 7 ,
725 .Xr mdoc 7 ,
726 .Xr roff 7
728 The
729 .Nm
730 manual page was written by
731 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
733 The
734 .Sq \e*(Ba
735 escape mimics the behaviour of the
736 .Sq \&|
737 character in
738 .Xr mdoc 7 ;
739 thus, if you wish to render a vertical bar with no side effects, use
740 the
741 .Sq \e(ba
742 escape.