xref: /openbsd-src/share/man/man7/mandoc_char.7 (revision d1df930ffab53da22f3324c32bed7ac5709915e6)
1.\"	$OpenBSD: mandoc_char.7,v 1.39 2018/08/21 01:56:26 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, 2013, 2015, 2017 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.\"
11.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18.\"
19.Dd $Mdocdate: August 21 2018 $
20.Dt MANDOC_CHAR 7
21.Os
22.Sh NAME
23.Nm mandoc_char
24.Nd mandoc special characters
25.Sh DESCRIPTION
26This page documents the
27.Xr roff 7
28escape sequences accepted by
29.Xr mandoc 1
30to represent special characters in
31.Xr mdoc 7
32and
33.Xr man 7
34documents.
35.Pp
36The rendering depends on the
37.Xr mandoc 1
38output mode; it can be inspected by calling
39.Xr man 1
40on the
41.Nm
42manual page with different
43.Fl T
44arguments.
45In ASCII output, the rendering of some characters may be hard
46to interpret for the reader.
47Many are rendered as descriptive strings like
48.Qq <integral> ,
49.Qq <degree> ,
50or
51.Qq <Gamma> ,
52which may look ugly, and many are replaced by similar ASCII characters.
53In particular, accented characters are usually shown without the accent.
54For that reason, try to avoid using any of the special characters
55documented here except those discussed in the
56.Sx DESCRIPTION ,
57unless they are essential for explaining the subject matter at hand,
58for example when documenting complicated mathematical functions.
59.Pp
60In particular, in English manual pages, do not use special-character
61escape sequences to represent national language characters in author
62names; instead, provide ASCII transcriptions of the names.
63.Ss Dashes and Hyphens
64In typography there are different types of dashes of various width:
65the hyphen (\(hy),
66the en-dash (\(en),
67the em-dash (\(em),
68and the mathematical minus sign (\(mi).
69.Pp
70Hyphens are used for adjectives;
71to separate the two parts of a compound word;
72or to separate a word across two successive lines of text.
73The hyphen does not need to be escaped:
74.Bd -unfilled -offset indent
75blue-eyed
76lorry-driver
77.Ed
78.Pp
79The en-dash is used to separate the two elements of a range,
80or can be used the same way as an em-dash.
81It should be written as
82.Sq \e(en :
83.Bd -unfilled -offset indent
84pp. 95\e(en97.
85Go away \e(en or else!
86.Ed
87.Pp
88The em-dash can be used to show an interruption
89or can be used the same way as colons, semi-colons, or parentheses.
90It should be written as
91.Sq \e(em :
92.Bd -unfilled -offset indent
93Three things \e(em apples, oranges, and bananas.
94This is not that \e(em rather, this is that.
95.Ed
96.Pp
97In
98.Xr roff 7
99documents, the minus sign is normally written as
100.Sq \e- .
101In manual pages, some style guides recommend to also use
102.Sq \e-
103if an ASCII 0x2d
104.Dq hyphen-minus
105output glyph that can be copied and pasted is desired in output modes
106supporting it, for example in
107.Fl T Cm utf8
108and
109.Fl T Cm html .
110But currently, no practically relevant manual page formatter actually
111requires that subtlety, so in manual pages just write plain
112.Sq -
113to represent hyphen, minus, and hyphen-minus.
114.Pp
115If a word on a text input line contains a hyphen, a formatter may decide
116to insert an output line break after the hyphen if that helps filling
117the current output line, but the whole word would overflow the line.
118If it is important that the word is not broken across lines in this
119way, a zero-width space
120.Pq Sq \e&
121can be inserted before or after the hyphen.
122While
123.Xr mandoc 1
124never breaks the output line after hyphens adjacent to a zero-width
125space, after any of the other dash- or hyphen-like characters
126represented by escape sequences, or after hyphens inside words in
127macro arguments, other software may not respect these rules and may
128break the line even in such cases.
129.Pp
130Some
131.Xr roff 7
132implementations contains dictionaries allowing to break the line
133at syllable boundaries even inside words that contain no hyphens.
134Such automatic hyphenation is not supported by
135.Xr mandoc 1 ,
136which only breaks the line at whitespace, and inside words only
137after existing hyphens.
138.Ss Spaces
139To separate words in normal text, for indenting and alignment
140in literal context, and when none of the following special cases apply,
141just use the normal space character
142.Pq Sq \  .
143.Pp
144When filling text, output lines may be broken between words, i.e. at space
145characters.
146To prevent a line break between two particular words,
147use the unpaddable non-breaking space escape sequence
148.Pq Sq \e\ \&
149instead of the normal space character.
150For example, the input string
151.Dq number\e\ 1
152will be kept together as
153.Dq number\ 1
154on the same output line.
155.Pp
156On request and macro lines, the normal space character serves as an
157argument delimiter.
158To include whitespace into arguments, quoting is usually the best choice;
159see the MACRO SYNTAX section in
160.Xr roff 7 .
161In some cases, using the non-breaking space escape sequence
162.Pq Sq \e\ \&
163may be preferable.
164.Pp
165To escape macro names and to protect whitespace at the end
166of input lines, the zero-width space
167.Pq Sq \e&
168is often useful.
169For example, in
170.Xr mdoc 7 ,
171a normal space character can be displayed in single quotes in either
172of the following ways:
173.Pp
174.Dl .Sq \(dq \(dq
175.Dl .Sq \e \e&
176.Ss Quotes
177On request and macro lines, the double-quote character
178.Pq Sq \(dq
179is handled specially to allow quoting.
180One way to prevent this special handling is by using the
181.Sq \e(dq
182escape sequence.
183.Pp
184Note that on text lines, literal double-quote characters can be used
185verbatim.
186All other quote-like characters can be used verbatim as well,
187even on request and macro lines.
188.Ss Accents
189In output modes supporting such special output characters, for example
190.Fl T Cm pdf ,
191and sometimes less consistently in
192.Fl T Cm utf8 ,
193some
194.Xr roff 7
195formatters convert the following ASCII input characters to the
196following Unicode special output characters:
197.Bl -column x(ga U+2018 -offset indent
198.It \(ga Ta U+2018 Ta left single quotation mark
199.It \(aq Ta U+2019 Ta right single quotation mark
200.It \(ti Ta U+02DC Ta small tilde
201.It \(ha Ta U+02C6 Ta modifier letter circumflex
202.El
203.Pp
204In prose, this automatic substitution is often desirable;
205but when these characters have to be displayed as plain ASCII
206characters, for example in source code samples, they require
207escaping to render as follows:
208.Bl -column x(ga U+2018 -offset indent
209.It \e(ga Ta U+0060 Ta grave accent
210.It \e(aq Ta U+0027 Ta apostrophe
211.It \e(ti Ta U+007E Ta tilde
212.It \e(ha Ta U+005E Ta circumflex accent
213.El
214.Ss Periods
215The period
216.Pq Sq \&.
217is handled specially at the beginning of an input line,
218where it introduces a
219.Xr roff 7
220request or a macro, and when appearing alone as a macro argument in
221.Xr mdoc 7 .
222In such situations, prepend a zero-width space
223.Pq Sq \e&.
224to make it behave like normal text.
225.Pp
226Do not use the
227.Sq \e.
228escape sequence.
229It does not prevent special handling of the period.
230.Ss Backslashes
231To include a literal backslash
232.Pq Sq \e
233into the output, use the
234.Pq Sq \ee
235escape sequence.
236.Pp
237Note that doubling it
238.Pq Sq \e\e
239is not the right way to output a backslash.
240Because
241.Xr mandoc 1
242does not implement full
243.Xr roff 7
244functionality, it may work with
245.Xr mandoc 1 ,
246but it may have weird effects on complete
247.Xr roff 7
248implementations.
249.Sh SPECIAL CHARACTERS
250Special characters are encoded as
251.Sq \eX
252.Pq for a one-character escape ,
253.Sq \e(XX
254.Pq two-character ,
255and
256.Sq \e[N]
257.Pq N-character .
258For details, see the
259.Em Special Characters
260subsection of the
261.Xr roff 7
262manual.
263.Pp
264Spacing:
265.Bl -column "Input" "Description" -offset indent -compact
266.It Em Input Ta Em Description
267.It Sq \e\ \& Ta unpaddable non-breaking space
268.It \e\(ti   Ta paddable non-breaking space
269.It \e0      Ta unpaddable, breaking digit-width space
270.It \e|      Ta one-sixth \e(em narrow space, zero width in nroff mode
271.It \e^      Ta one-twelfth \e(em half-narrow space, zero width in nroff
272.It \e&      Ta zero-width space
273.It \e%      Ta zero-width space allowing hyphenation
274.El
275.Pp
276Lines:
277.Bl -column "Input" "Rendered" "Description" -offset indent -compact
278.It Em Input Ta Em Rendered Ta Em Description
279.It \e(ba    Ta \(ba        Ta bar
280.It \e(br    Ta \(br        Ta box rule
281.It \e(ul    Ta \(ul        Ta underscore
282.It \e(ru    Ta \(ru        Ta underscore (width 0.5m)
283.It \e(rn    Ta \(rn        Ta overline
284.It \e(bb    Ta \(bb        Ta broken bar
285.It \e(sl    Ta \(sl        Ta forward slash
286.It \e(rs    Ta \(rs        Ta backward slash
287.El
288.Pp
289Text markers:
290.Bl -column "Input" "Rendered" "Description" -offset indent -compact
291.It Em Input Ta Em Rendered Ta Em Description
292.It \e(ci    Ta \(ci        Ta circle
293.It \e(bu    Ta \(bu        Ta bullet
294.It \e(dd    Ta \(dd        Ta double dagger
295.It \e(dg    Ta \(dg        Ta dagger
296.It \e(lz    Ta \(lz        Ta lozenge
297.It \e(sq    Ta \(sq        Ta white square
298.It \e(ps    Ta \(ps        Ta paragraph
299.It \e(sc    Ta \(sc        Ta section
300.It \e(lh    Ta \(lh        Ta left hand
301.It \e(rh    Ta \(rh        Ta right hand
302.It \e(at    Ta \(at        Ta at
303.It \e(sh    Ta \(sh        Ta hash (pound)
304.It \e(CR    Ta \(CR        Ta carriage return
305.It \e(OK    Ta \(OK        Ta check mark
306.It \e(CL    Ta \(CL        Ta club suit
307.It \e(SP    Ta \(SP        Ta spade suit
308.It \e(HE    Ta \(HE        Ta heart suit
309.It \e(DI    Ta \(DI        Ta diamond suit
310.El
311.Pp
312Legal symbols:
313.Bl -column "Input" "Rendered" "Description" -offset indent -compact
314.It Em Input Ta Em Rendered Ta Em Description
315.It \e(co    Ta \(co        Ta copyright
316.It \e(rg    Ta \(rg        Ta registered
317.It \e(tm    Ta \(tm        Ta trademarked
318.El
319.Pp
320Punctuation:
321.Bl -column "Input" "Rendered" "Description" -offset indent -compact
322.It Em Input Ta Em Rendered Ta Em Description
323.It \e(em    Ta \(em        Ta em-dash
324.It \e(en    Ta \(en        Ta en-dash
325.It \e(hy    Ta \(hy        Ta hyphen
326.It \ee      Ta \e          Ta back-slash
327.It \e.      Ta \.          Ta period
328.It \e(r!    Ta \(r!        Ta upside-down exclamation
329.It \e(r?    Ta \(r?        Ta upside-down question
330.El
331.Pp
332Quotes:
333.Bl -column "Input" "Rendered" "Description" -offset indent -compact
334.It Em Input Ta Em Rendered Ta Em Description
335.It \e(Bq    Ta \(Bq        Ta right low double-quote
336.It \e(bq    Ta \(bq        Ta right low single-quote
337.It \e(lq    Ta \(lq        Ta left double-quote
338.It \e(rq    Ta \(rq        Ta right double-quote
339.It \e(oq    Ta \(oq        Ta left single-quote
340.It \e(cq    Ta \(cq        Ta right single-quote
341.It \e(aq    Ta \(aq        Ta apostrophe quote (ASCII character)
342.It \e(dq    Ta \(dq        Ta double quote (ASCII character)
343.It \e(Fo    Ta \(Fo        Ta left guillemet
344.It \e(Fc    Ta \(Fc        Ta right guillemet
345.It \e(fo    Ta \(fo        Ta left single guillemet
346.It \e(fc    Ta \(fc        Ta right single guillemet
347.El
348.Pp
349Brackets:
350.Bl -column "xxbracketrightbtx" Rendered Description -offset indent -compact
351.It Em Input Ta Em Rendered Ta Em Description
352.It \e(lB    Ta \(lB        Ta left bracket
353.It \e(rB    Ta \(rB        Ta right bracket
354.It \e(lC    Ta \(lC        Ta left brace
355.It \e(rC    Ta \(rC        Ta right brace
356.It \e(la    Ta \(la        Ta left angle
357.It \e(ra    Ta \(ra        Ta right angle
358.It \e(bv    Ta \(bv        Ta brace extension (special font)
359.It \e[braceex] Ta \[braceex] Ta brace extension
360.It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket
361.It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket
362.It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension
363.It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket
364.It \e[bracketrightbt] Ta \[bracketrightbt] Ta bottom-right hooked bracket
365.It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension
366.It \e(lt    Ta \(lt        Ta top-left hooked brace
367.It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace
368.It \e(lk    Ta \(lk        Ta mid-left hooked brace
369.It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace
370.It \e(lb    Ta \(lb        Ta bottom-left hooked brace
371.It \e[braceleftbt] Ta \[braceleftbt] Ta bottom-left hooked brace
372.It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension
373.It \e(rt    Ta \(rt        Ta top-left hooked brace
374.It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace
375.It \e(rk    Ta \(rk        Ta mid-right hooked brace
376.It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace
377.It \e(rb    Ta \(rb        Ta bottom-right hooked brace
378.It \e[bracerightbt] Ta \[bracerightbt] Ta bottom-right hooked brace
379.It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension
380.It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis
381.It \e[parenleftbt] Ta \[parenleftbt] Ta bottom-left hooked parenthesis
382.It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension
383.It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis
384.It \e[parenrightbt] Ta \[parenrightbt] Ta bottom-right hooked parenthesis
385.It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension
386.El
387.Pp
388Arrows:
389.Bl -column "Input" "Rendered" "Description" -offset indent -compact
390.It Em Input Ta Em Rendered Ta Em Description
391.It \e(<-    Ta \(<-        Ta left arrow
392.It \e(->    Ta \(->        Ta right arrow
393.It \e(<>    Ta \(<>        Ta left-right arrow
394.It \e(da    Ta \(da        Ta down arrow
395.It \e(ua    Ta \(ua        Ta up arrow
396.It \e(va    Ta \(va        Ta up-down arrow
397.It \e(lA    Ta \(lA        Ta left double-arrow
398.It \e(rA    Ta \(rA        Ta right double-arrow
399.It \e(hA    Ta \(hA        Ta left-right double-arrow
400.It \e(uA    Ta \(uA        Ta up double-arrow
401.It \e(dA    Ta \(dA        Ta down double-arrow
402.It \e(vA    Ta \(vA        Ta up-down double-arrow
403.It \e(an    Ta \(an        Ta horizontal arrow extension
404.El
405.Pp
406Logical:
407.Bl -column "Input" "Rendered" "Description" -offset indent -compact
408.It Em Input Ta Em Rendered Ta Em Description
409.It \e(AN    Ta \(AN        Ta logical and
410.It \e(OR    Ta \(OR        Ta logical or
411.It \e[tno]  Ta \[tno]      Ta logical not (text font)
412.It \e(no    Ta \(no        Ta logical not (special font)
413.It \e(te    Ta \(te        Ta existential quantifier
414.It \e(fa    Ta \(fa        Ta universal quantifier
415.It \e(st    Ta \(st        Ta such that
416.It \e(tf    Ta \(tf        Ta therefore
417.It \e(3d    Ta \(3d        Ta therefore
418.It \e(or    Ta \(or        Ta bitwise or
419.El
420.Pp
421Mathematical:
422.Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact
423.It Em Input Ta Em Rendered Ta Em Description
424.It \e-      Ta \-          Ta minus (text font)
425.It \e(mi    Ta \(mi        Ta minus (special font)
426.It +        Ta +           Ta plus (text font)
427.It \e(pl    Ta \(pl        Ta plus (special font)
428.It \e(-+    Ta \(-+        Ta minus-plus
429.It \e[t+-]  Ta \[t+-]      Ta plus-minus (text font)
430.It \e(+-    Ta \(+-        Ta plus-minus (special font)
431.It \e(pc    Ta \(pc        Ta center-dot
432.It \e[tmu]  Ta \[tmu]      Ta multiply (text font)
433.It \e(mu    Ta \(mu        Ta multiply (special font)
434.It \e(c*    Ta \(c*        Ta circle-multiply
435.It \e(c+    Ta \(c+        Ta circle-plus
436.It \e[tdi]  Ta \[tdi]      Ta divide (text font)
437.It \e(di    Ta \(di        Ta divide (special font)
438.It \e(f/    Ta \(f/        Ta fraction
439.It \e(**    Ta \(**        Ta asterisk
440.It \e(<=    Ta \(<=        Ta less-than-equal
441.It \e(>=    Ta \(>=        Ta greater-than-equal
442.It \e(<<    Ta \(<<        Ta much less
443.It \e(>>    Ta \(>>        Ta much greater
444.It \e(eq    Ta \(eq        Ta equal
445.It \e(!=    Ta \(!=        Ta not equal
446.It \e(==    Ta \(==        Ta equivalent
447.It \e(ne    Ta \(ne        Ta not equivalent
448.It \e(ap    Ta \(ap        Ta tilde operator
449.It \e(|=    Ta \(|=        Ta asymptotically equal
450.It \e(=\(ti Ta \(=~        Ta approximately equal
451.It \e(\(ti\(ti Ta \(~~        Ta almost equal
452.It \e(\(ti= Ta \(~=        Ta almost equal
453.It \e(pt    Ta \(pt        Ta proportionate
454.It \e(es    Ta \(es        Ta empty set
455.It \e(mo    Ta \(mo        Ta element
456.It \e(nm    Ta \(nm        Ta not element
457.It \e(sb    Ta \(sb        Ta proper subset
458.It \e(nb    Ta \(nb        Ta not subset
459.It \e(sp    Ta \(sp        Ta proper superset
460.It \e(nc    Ta \(nc        Ta not superset
461.It \e(ib    Ta \(ib        Ta reflexive subset
462.It \e(ip    Ta \(ip        Ta reflexive superset
463.It \e(ca    Ta \(ca        Ta intersection
464.It \e(cu    Ta \(cu        Ta union
465.It \e(/_    Ta \(/_        Ta angle
466.It \e(pp    Ta \(pp        Ta perpendicular
467.It \e(is    Ta \(is        Ta integral
468.It \e[integral] Ta \[integral] Ta integral
469.It \e[sum]    Ta \[sum]   Ta summation
470.It \e[product] Ta \[product] Ta product
471.It \e[coproduct] Ta \[coproduct] Ta coproduct
472.It \e(gr    Ta \(gr        Ta gradient
473.It \e(sr    Ta \(sr        Ta square root
474.It \e[sqrt] Ta \[sqrt]     Ta square root
475.It \e(lc    Ta \(lc        Ta left-ceiling
476.It \e(rc    Ta \(rc        Ta right-ceiling
477.It \e(lf    Ta \(lf        Ta left-floor
478.It \e(rf    Ta \(rf        Ta right-floor
479.It \e(if    Ta \(if        Ta infinity
480.It \e(Ah    Ta \(Ah        Ta aleph
481.It \e(Im    Ta \(Im        Ta imaginary
482.It \e(Re    Ta \(Re        Ta real
483.It \e(wp    Ta \(wp        Ta Weierstrass p
484.It \e(pd    Ta \(pd        Ta partial differential
485.It \e(-h    Ta \(-h        Ta Planck constant over 2\(*p
486.It \e[hbar] Ta \[hbar]     Ta Planck constant over 2\(*p
487.It \e(12    Ta \(12        Ta one-half
488.It \e(14    Ta \(14        Ta one-fourth
489.It \e(34    Ta \(34        Ta three-fourths
490.It \e(18    Ta \(18        Ta one-eighth
491.It \e(38    Ta \(38        Ta three-eighths
492.It \e(58    Ta \(58        Ta five-eighths
493.It \e(78    Ta \(78        Ta seven-eighths
494.It \e(S1    Ta \(S1        Ta superscript 1
495.It \e(S2    Ta \(S2        Ta superscript 2
496.It \e(S3    Ta \(S3        Ta superscript 3
497.El
498.Pp
499Ligatures:
500.Bl -column "Input" "Rendered" "Description" -offset indent -compact
501.It Em Input Ta Em Rendered Ta Em Description
502.It \e(ff    Ta \(ff        Ta ff ligature
503.It \e(fi    Ta \(fi        Ta fi ligature
504.It \e(fl    Ta \(fl        Ta fl ligature
505.It \e(Fi    Ta \(Fi        Ta ffi ligature
506.It \e(Fl    Ta \(Fl        Ta ffl ligature
507.It \e(AE    Ta \(AE        Ta AE
508.It \e(ae    Ta \(ae        Ta ae
509.It \e(OE    Ta \(OE        Ta OE
510.It \e(oe    Ta \(oe        Ta oe
511.It \e(ss    Ta \(ss        Ta German eszett
512.It \e(IJ    Ta \(IJ        Ta IJ ligature
513.It \e(ij    Ta \(ij        Ta ij ligature
514.El
515.Pp
516Accents:
517.Bl -column "Input" "Rendered" "Description" -offset indent -compact
518.It Em Input Ta Em Rendered Ta Em Description
519.It \e(a"    Ta \(a"        Ta Hungarian umlaut
520.It \e(a-    Ta \(a-        Ta macron
521.It \e(a.    Ta \(a.        Ta dotted
522.It \e(a^    Ta \(a^        Ta circumflex
523.It \e(aa    Ta \(aa        Ta acute
524.It \e\(aq   Ta \'          Ta acute
525.It \e(ga    Ta \(ga        Ta grave
526.It \e\(ga   Ta \`          Ta grave
527.It \e(ab    Ta \(ab        Ta breve
528.It \e(ac    Ta \(ac        Ta cedilla
529.It \e(ad    Ta \(ad        Ta dieresis
530.It \e(ah    Ta \(ah        Ta caron
531.It \e(ao    Ta \(ao        Ta ring
532.It \e(a\(ti Ta \(a~        Ta tilde
533.It \e(ho    Ta \(ho        Ta ogonek
534.It \e(ha    Ta \(ha        Ta hat (ASCII character)
535.It \e(ti    Ta \(ti        Ta tilde (ASCII character)
536.El
537.Pp
538Accented letters:
539.Bl -column "Input" "Rendered" "Description" -offset indent -compact
540.It Em Input Ta Em Rendered Ta Em Description
541.It \e(\(aqA Ta \('A        Ta acute A
542.It \e(\(aqE Ta \('E        Ta acute E
543.It \e(\(aqI Ta \('I        Ta acute I
544.It \e(\(aqO Ta \('O        Ta acute O
545.It \e(\(aqU Ta \('U        Ta acute U
546.It \e(\(aqY Ta \('Y        Ta acute Y
547.It \e(\(aqa Ta \('a        Ta acute a
548.It \e(\(aqe Ta \('e        Ta acute e
549.It \e(\(aqi Ta \('i        Ta acute i
550.It \e(\(aqo Ta \('o        Ta acute o
551.It \e(\(aqu Ta \('u        Ta acute u
552.It \e(\(aqy Ta \('y        Ta acute y
553.It \e(\(gaA Ta \(`A        Ta grave A
554.It \e(\(gaE Ta \(`E        Ta grave E
555.It \e(\(gaI Ta \(`I        Ta grave I
556.It \e(\(gaO Ta \(`O        Ta grave O
557.It \e(\(gaU Ta \(`U        Ta grave U
558.It \e(\(gaa Ta \(`a        Ta grave a
559.It \e(\(gae Ta \(`e        Ta grave e
560.It \e(\(gai Ta \(`i        Ta grave i
561.It \e(\(gao Ta \(`i        Ta grave o
562.It \e(\(gau Ta \(`u        Ta grave u
563.It \e(\(tiA Ta \(~A        Ta tilde A
564.It \e(\(tiN Ta \(~N        Ta tilde N
565.It \e(\(tiO Ta \(~O        Ta tilde O
566.It \e(\(tia Ta \(~a        Ta tilde a
567.It \e(\(tin Ta \(~n        Ta tilde n
568.It \e(\(tio Ta \(~o        Ta tilde o
569.It \e(:A    Ta \(:A        Ta dieresis A
570.It \e(:E    Ta \(:E        Ta dieresis E
571.It \e(:I    Ta \(:I        Ta dieresis I
572.It \e(:O    Ta \(:O        Ta dieresis O
573.It \e(:U    Ta \(:U        Ta dieresis U
574.It \e(:a    Ta \(:a        Ta dieresis a
575.It \e(:e    Ta \(:e        Ta dieresis e
576.It \e(:i    Ta \(:i        Ta dieresis i
577.It \e(:o    Ta \(:o        Ta dieresis o
578.It \e(:u    Ta \(:u        Ta dieresis u
579.It \e(:y    Ta \(:y        Ta dieresis y
580.It \e(^A    Ta \(^A        Ta circumflex A
581.It \e(^E    Ta \(^E        Ta circumflex E
582.It \e(^I    Ta \(^I        Ta circumflex I
583.It \e(^O    Ta \(^O        Ta circumflex O
584.It \e(^U    Ta \(^U        Ta circumflex U
585.It \e(^a    Ta \(^a        Ta circumflex a
586.It \e(^e    Ta \(^e        Ta circumflex e
587.It \e(^i    Ta \(^i        Ta circumflex i
588.It \e(^o    Ta \(^o        Ta circumflex o
589.It \e(^u    Ta \(^u        Ta circumflex u
590.It \e(,C    Ta \(,C        Ta cedilla C
591.It \e(,c    Ta \(,c        Ta cedilla c
592.It \e(/L    Ta \(/L        Ta stroke L
593.It \e(/l    Ta \(/l        Ta stroke l
594.It \e(/O    Ta \(/O        Ta stroke O
595.It \e(/o    Ta \(/o        Ta stroke o
596.It \e(oA    Ta \(oA        Ta ring A
597.It \e(oa    Ta \(oa        Ta ring a
598.El
599.Pp
600Special letters:
601.Bl -column "Input" "Rendered" "Description" -offset indent -compact
602.It Em Input Ta Em Rendered Ta Em Description
603.It \e(-D    Ta \(-D        Ta Eth
604.It \e(Sd    Ta \(Sd        Ta eth
605.It \e(TP    Ta \(TP        Ta Thorn
606.It \e(Tp    Ta \(Tp        Ta thorn
607.It \e(.i    Ta \(.i        Ta dotless i
608.It \e(.j    Ta \(.j        Ta dotless j
609.El
610.Pp
611Currency:
612.Bl -column "Input" "Rendered" "Description" -offset indent -compact
613.It Em Input Ta Em Rendered Ta Em Description
614.It \e(Do    Ta \(Do        Ta dollar
615.It \e(ct    Ta \(ct        Ta cent
616.It \e(Eu    Ta \(Eu        Ta Euro symbol
617.It \e(eu    Ta \(eu        Ta Euro symbol
618.It \e(Ye    Ta \(Ye        Ta yen
619.It \e(Po    Ta \(Po        Ta pound
620.It \e(Cs    Ta \(Cs        Ta Scandinavian
621.It \e(Fn    Ta \(Fn        Ta florin
622.El
623.Pp
624Units:
625.Bl -column "Input" "Rendered" "Description" -offset indent -compact
626.It Em Input Ta Em Rendered Ta Em Description
627.It \e(de    Ta \(de        Ta degree
628.It \e(%0    Ta \(%0        Ta per-thousand
629.It \e(fm    Ta \(fm        Ta minute
630.It \e(sd    Ta \(sd        Ta second
631.It \e(mc    Ta \(mc        Ta micro
632.It \e(Of    Ta \(Of        Ta Spanish female ordinal
633.It \e(Om    Ta \(Om        Ta Spanish masculine ordinal
634.El
635.Pp
636Greek letters:
637.Bl -column "Input" "Rendered" "Description" -offset indent -compact
638.It Em Input Ta Em Rendered Ta Em Description
639.It \e(*A    Ta \(*A        Ta Alpha
640.It \e(*B    Ta \(*B        Ta Beta
641.It \e(*G    Ta \(*G        Ta Gamma
642.It \e(*D    Ta \(*D        Ta Delta
643.It \e(*E    Ta \(*E        Ta Epsilon
644.It \e(*Z    Ta \(*Z        Ta Zeta
645.It \e(*Y    Ta \(*Y        Ta Eta
646.It \e(*H    Ta \(*H        Ta Theta
647.It \e(*I    Ta \(*I        Ta Iota
648.It \e(*K    Ta \(*K        Ta Kappa
649.It \e(*L    Ta \(*L        Ta Lambda
650.It \e(*M    Ta \(*M        Ta Mu
651.It \e(*N    Ta \(*N        Ta Nu
652.It \e(*C    Ta \(*C        Ta Xi
653.It \e(*O    Ta \(*O        Ta Omicron
654.It \e(*P    Ta \(*P        Ta Pi
655.It \e(*R    Ta \(*R        Ta Rho
656.It \e(*S    Ta \(*S        Ta Sigma
657.It \e(*T    Ta \(*T        Ta Tau
658.It \e(*U    Ta \(*U        Ta Upsilon
659.It \e(*F    Ta \(*F        Ta Phi
660.It \e(*X    Ta \(*X        Ta Chi
661.It \e(*Q    Ta \(*Q        Ta Psi
662.It \e(*W    Ta \(*W        Ta Omega
663.It \e(*a    Ta \(*a        Ta alpha
664.It \e(*b    Ta \(*b        Ta beta
665.It \e(*g    Ta \(*g        Ta gamma
666.It \e(*d    Ta \(*d        Ta delta
667.It \e(*e    Ta \(*e        Ta epsilon
668.It \e(*z    Ta \(*z        Ta zeta
669.It \e(*y    Ta \(*y        Ta eta
670.It \e(*h    Ta \(*h        Ta theta
671.It \e(*i    Ta \(*i        Ta iota
672.It \e(*k    Ta \(*k        Ta kappa
673.It \e(*l    Ta \(*l        Ta lambda
674.It \e(*m    Ta \(*m        Ta mu
675.It \e(*n    Ta \(*n        Ta nu
676.It \e(*c    Ta \(*c        Ta xi
677.It \e(*o    Ta \(*o        Ta omicron
678.It \e(*p    Ta \(*p        Ta pi
679.It \e(*r    Ta \(*r        Ta rho
680.It \e(*s    Ta \(*s        Ta sigma
681.It \e(*t    Ta \(*t        Ta tau
682.It \e(*u    Ta \(*u        Ta upsilon
683.It \e(*f    Ta \(*f        Ta phi
684.It \e(*x    Ta \(*x        Ta chi
685.It \e(*q    Ta \(*q        Ta psi
686.It \e(*w    Ta \(*w        Ta omega
687.It \e(+h    Ta \(+h        Ta theta variant
688.It \e(+f    Ta \(+f        Ta phi variant
689.It \e(+p    Ta \(+p        Ta pi variant
690.It \e(+e    Ta \(+e        Ta epsilon variant
691.It \e(ts    Ta \(ts        Ta sigma terminal
692.El
693.Sh PREDEFINED STRINGS
694Predefined strings are inherited from the macro packages of historical
695troff implementations.
696They are
697.Em not recommended
698for use, as they differ across implementations.
699Manuals using these predefined strings are almost certainly not
700portable.
701.Pp
702Their syntax is similar to special characters, using
703.Sq \e*X
704.Pq for a one-character escape ,
705.Sq \e*(XX
706.Pq two-character ,
707and
708.Sq \e*[N]
709.Pq N-character .
710For details, see the
711.Em Predefined Strings
712subsection of the
713.Xr roff 7
714manual.
715.Bl -column "Input" "Rendered" "Description" -offset indent
716.It Em Input Ta Em Rendered Ta Em Description
717.It \e*(Ba   Ta \*(Ba       Ta vertical bar
718.It \e*(Ne   Ta \*(Ne       Ta not equal
719.It \e*(Ge   Ta \*(Ge       Ta greater-than-equal
720.It \e*(Le   Ta \*(Le       Ta less-than-equal
721.It \e*(Gt   Ta \*(Gt       Ta greater-than
722.It \e*(Lt   Ta \*(Lt       Ta less-than
723.It \e*(Pm   Ta \*(Pm       Ta plus-minus
724.It \e*(If   Ta \*(If       Ta infinity
725.It \e*(Pi   Ta \*(Pi       Ta pi
726.It \e*(Na   Ta \*(Na       Ta NaN
727.It \e*(Am   Ta \*(Am       Ta ampersand
728.It \e*R     Ta \*R         Ta restricted mark
729.It \e*(Tm   Ta \*(Tm       Ta trade mark
730.It \e*q     Ta \*q         Ta double-quote
731.It \e*(Rq   Ta \*(Rq       Ta right-double-quote
732.It \e*(Lq   Ta \*(Lq       Ta left-double-quote
733.It \e*(lp   Ta \*(lp       Ta right-parenthesis
734.It \e*(rp   Ta \*(rp       Ta left-parenthesis
735.It \e*(lq   Ta \*(lq       Ta left double-quote
736.It \e*(rq   Ta \*(rq       Ta right double-quote
737.It \e*(ua   Ta \*(ua       Ta up arrow
738.It \e*(va   Ta \*(va       Ta up-down arrow
739.It \e*(<=   Ta \*(<=       Ta less-than-equal
740.It \e*(>=   Ta \*(>=       Ta greater-than-equal
741.It \e*(aa   Ta \*(aa       Ta acute
742.It \e*(ga   Ta \*(ga       Ta grave
743.It \e*(Px   Ta \*(Px       Ta POSIX standard name
744.It \e*(Ai   Ta \*(Ai       Ta ANSI standard name
745.El
746.Sh UNICODE CHARACTERS
747The escape sequences
748.Pp
749.Dl \e[uXXXX] and \eC\(aquXXXX\(aq
750.Pp
751are interpreted as Unicode codepoints.
752The codepoint must be in the range above U+0080 and less than U+10FFFF.
753For compatibility, the hexadecimal digits
754.Sq A
755to
756.Sq F
757must be given as uppercase characters,
758and points must be zero-padded to four characters; if
759greater than four characters, no zero padding is allowed.
760Unicode surrogates are not allowed.
761.Sh NUMBERED CHARACTERS
762For backward compatibility with existing manuals,
763.Xr mandoc 1
764also supports the
765.Pp
766.Dl \eN\(aq Ns Ar number Ns \(aq and \e[ Ns Cm char Ns Ar number ]
767.Pp
768escape sequences, inserting the character
769.Ar number
770from the current character set into the output.
771Of course, this is inherently non-portable and is already marked
772as deprecated in the Heirloom roff manual;
773on top of that, the second form is a GNU extension.
774For example, do not use \eN\(aq34\(aq or \e[char34], use \e(dq,
775or even the plain
776.Sq \(dq
777character where possible.
778.Sh COMPATIBILITY
779This section documents compatibility between mandoc and other
780troff implementations, at this time limited to GNU troff
781.Pq Qq groff .
782.Pp
783.Bl -dash -compact
784.It
785The \eN\(aq\(aq escape sequence is limited to printable characters; in
786groff, it accepts arbitrary character numbers.
787.It
788In
789.Fl T Ns Cm ascii ,
790the
791\e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product],
792\e[coproduct], \e(gr, \e(-h, and \e(a. special characters render
793differently between mandoc and groff.
794.It
795In
796.Fl T Ns Cm html ,
797the \e(\(ti=, \e(nb, and \e(nc special characters render differently
798between mandoc and groff.
799.It
800The
801.Fl T Ns Cm ps
802and
803.Fl T Ns Cm pdf
804modes format like
805.Fl T Ns Cm ascii
806instead of rendering glyphs as in groff.
807.It
808The \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted
809from mandoc either because they are poorly documented or they have no
810known representation.
811.El
812.Sh SEE ALSO
813.Xr mandoc 1 ,
814.Xr man 7 ,
815.Xr mdoc 7 ,
816.Xr roff 7
817.Sh AUTHORS
818The
819.Nm
820manual page was written by
821.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
822.Sh CAVEATS
823The predefined string
824.Sq \e*(Ba
825mimics the behaviour of the
826.Sq \&|
827character in
828.Xr mdoc 7 ;
829thus, if you wish to render a vertical bar with no side effects, use
830the
831.Sq \e(ba
832escape.
833