1 MANDOC_CHAR(5) Standards, Environments, and Macros MANDOC_CHAR(5)
2
3 NAME
4 mandoc_char - mandoc special characters
5
6 DESCRIPTION
7 This page documents the mandoc_roff(5) escape sequences accepted by
8 mandoc(1) to represent special characters in mdoc(5) and man(5)
9 documents.
10
11 The rendering depends on the mandoc(1) output mode; in ASCII output, most
12 characters are completely unintelligible. For that reason, using any of
13 the special characters documented here, except those discussed in the
14 DESCRIPTION, is strongly discouraged; they are supported merely for
15 backwards compatibility with existing documents.
16
17 In particular, in English manual pages, do not use special-character
18 escape sequences to represent national language characters in author
19 names; instead, provide ASCII transcriptions of the names.
20
21 Dashes and Hyphens
22 In typography there are different types of dashes of various width: the
23 hyphen (-), the minus sign (-), the en-dash (-), and the em-dash (--).
24
25 Hyphens are used for adjectives; to separate the two parts of a compound
26 word; or to separate a word across two successive lines of text. The
27 hyphen does not need to be escaped:
28
29 blue-eyed
30 lorry-driver
31
32 If a word on a text input line contains a hyphen, a formatter may decide
33 to insert an output line break after the hyphen if that helps filling the
34 current output line, but the whole word would overflow the line. If it
35 is important that the word is not broken across lines in this way, a
36 zero-width space (`\&') can be inserted before or after the hyphen.
37 While mandoc(1) never breaks the output line after hyphens adjacent to a
38 zero-width space, after any of the other dash- or hyphen-like characters
39 represented by escape sequences, or after hyphens inside words in macro
40 arguments, other software may not respect these rules and may break the
41 line even in such cases.
42
43 Some mandoc_roff(5) implementations contains dictionaries allowing to
44 break the line at syllable boundaries even inside words that contain no
45 hyphens. Such automatic hyphenation is not supported by mandoc(1), which
46 only breaks the line at whitespace, and inside words only after existing
47 hyphens.
48
49 The mathematical minus sign is used for negative numbers or subtraction.
50 It should be written as `\(mi':
51
52 a = 3 \(mi 1;
53 b = \(mi2;
54
55 The en-dash is used to separate the two elements of a range, or can be
56 used the same way as an em-dash. It should be written as `\(en':
57
58 pp. 95\(en97.
59 Go away \(en or else!
60
61 The em-dash can be used to show an interruption or can be used the same
62 way as colons, semi-colons, or parentheses. It should be written as
63 `\(em':
64
65 Three things \(em apples, oranges, and bananas.
66 This is not that \(em rather, this is that.
67
68 Note: hyphens, minus signs, and en-dashes look identical under normal
69 ASCII output. Other formats, such as PostScript, render them correctly,
70 with differing widths.
71
72 Spaces
73 To separate words in normal text, for indenting and alignment in literal
74 context, and when none of the following special cases apply, just use the
75 normal space character (` ').
76
77 When filling text, output lines may be broken between words, i.e. at
78 space characters. To prevent a line break between two particular words,
79 use the unpaddable non-breaking space escape sequence (`\ ') instead of
80 the normal space character. For example, the input string "number\ 1"
81 will be kept together as "number 1" on the same output line.
82
83 On request and macro lines, the normal space character serves as an
84 argument delimiter. To include whitespace into arguments, quoting is
85 usually the best choice; see the MACRO SYNTAX section in mandoc_roff(5).
86 In some cases, using the non-breaking space escape sequence (`\ ') may be
87 preferable.
88
89 To escape macro names and to protect whitespace at the end of input
90 lines, the zero-width space (`\&') is often useful. For example, in
91 mdoc(5), a normal space character can be displayed in single quotes in
195 \(tm tm trademarked
196
197 Punctuation:
198 Input Rendered Description
199 \(em -- em-dash
200 \(en - en-dash
201 \(hy - hyphen
202 \e \ back-slash
203 \. . period
204 \(r! ! upside-down exclamation
205 \(r? ? upside-down question
206
207 Quotes:
208 Input Rendered Description
209 \(Bq ,, right low double-quote
210 \(bq , right low single-quote
211 \(lq " left double-quote
212 \(rq " right double-quote
213 \(oq ` left single-quote
214 \(cq ' right single-quote
215 \(aq ' apostrophe quote (text)
216 \(dq " double quote (text)
217 \(Fo << left guillemet
218 \(Fc >> right guillemet
219 \(fo < left single guillemet
220 \(fc > right single guillemet
221
222 Brackets:
223 Input Rendered Description
224 \(lB [ left bracket
225 \(rB ] right bracket
226 \(lC { left brace
227 \(rC } right brace
228 \(la < left angle
229 \(ra > right angle
230 \(bv | brace extension
231 \[braceex] | brace extension
232 \[bracketlefttp] | top-left hooked bracket
233 \[bracketleftbt] | bottom-left hooked bracket
234 \[bracketleftex] | left hooked bracket extension
235 \[bracketrighttp] | top-right hooked bracket
236 \[bracketrightbt] | bottom-right hooked bracket
237 \[bracketrightex] | right hooked bracket extension
238 \(lt ,- top-left hooked brace
239 \[bracelefttp] ,- top-left hooked brace
240 \(lk { mid-left hooked brace
241 \[braceleftmid] { mid-left hooked brace
242 \(lb `- bottom-left hooked brace
243 \[braceleftbt] `- bottom-left hooked brace
244 \[braceleftex] | left hooked brace extension
245 \(rt -. top-left hooked brace
246 \[bracerighttp] -. top-right hooked brace
247 \(rk } mid-right hooked brace
248 \[bracerightmid] } mid-right hooked brace
249 \(rb -' bottom-right hooked brace
250 \[bracerightbt] -' bottom-right hooked brace
259 Arrows:
260 Input Rendered Description
261 \(<- <- left arrow
262 \(-> -> right arrow
263 \(<> <-> left-right arrow
264 \(da v down arrow
265 \(ua ^ up arrow
266 \(va ^v up-down arrow
267 \(lA <= left double-arrow
268 \(rA => right double-arrow
269 \(hA <=> left-right double-arrow
270 \(uA ^ up double-arrow
271 \(dA v down double-arrow
272 \(vA ^=v up-down double-arrow
273 \(an - horizontal arrow extension
274
275 Logical:
276 Input Rendered Description
277 \(AN ^ logical and
278 \(OR v logical or
279 \(no ~ logical not
280 \[tno] ~ logical not (text)
281 \(te <there exists>
282 existential quantifier
283 \(fa <for all> universal quantifier
284 \(st <such that> such that
285 \(tf <therefore> therefore
286 \(3d <therefore> therefore
287 \(or | bitwise or
288
289 Mathematical:
290 Input Rendered Description
291 \(pl + plus
292 \(mi - minus
293 \- - minus (text)
294 \(-+ -+ minus-plus
295 \(+- +- plus-minus
296 \[t+-] +- plus-minus (text)
297 \(pc . center-dot
298 \(mu x multiply
299 \[tmu] x multiply (text)
300 \(c* x circle-multiply
301 \(c+ + circle-plus
302 \(di / divide
303 \[tdi] / divide (text)
304 \(f/ / fraction
305 \(** * asterisk
306 \(<= <= less-than-equal
307 \(>= >= greater-than-equal
308 \(<< << much less
309 \(>> >> much greater
310 \(eq = equal
311 \(!= != not equal
312 \(== == equivalent
313 \(ne !== not equivalent
314 \(ap ~ tilde operator
315 \(|= -~ asymptotically equal
316 \(=~ =~ approximately equal
317 \(~~ ~~ almost equal
318 \(~= ~= almost equal
319 \(pt <proportional to>
320 proportionate
321 \(es {} empty set
322 \(mo <element of>
323 element
387 \(IJ IJ IJ ligature
388 \(ij ij ij ligature
389
390 Accents:
391 Input Rendered Description
392 \(a" " Hungarian umlaut
393 \(a- - macron
394 \(a. . dotted
395 \(a^ ^ circumflex
396 \(aa ' acute
397 \' ' acute
398 \(ga ` grave
399 \` ` grave
400 \(ab ` breve
401 \(ac , cedilla
402 \(ad " dieresis
403 \(ah v caron
404 \(ao o ring
405 \(a~ ~ tilde
406 \(ho , ogonek
407 \(ha ^ hat (text)
408 \(ti ~ tilde (text)
409
410 Accented letters:
411 Input Rendered Description
412 \('A A acute A
413 \('E E acute E
414 \('I I acute I
415 \('O O acute O
416 \('U U acute U
417 \('a a acute a
418 \('e e acute e
419 \('i i acute i
420 \('o o acute o
421 \('u u acute u
422 \(`A A grave A
423 \(`E E grave E
424 \(`I I grave I
425 \(`O O grave O
426 \(`U U grave U
427 \(`a a grave a
428 \(`e e grave e
628 - In -Thtml, the \(~=, \(nb, and \(nc special characters render
629 differently between mandoc and groff.
630 - The -Tps and -Tpdf modes format like -Tascii instead of rendering
631 glyphs as in groff.
632 - The \[radicalex], \[sqrtex], and \(ru special characters have been
633 omitted from mandoc either because they are poorly documented or they
634 have no known representation.
635
636 SEE ALSO
637 mandoc(1), man(5), mandoc_roff(5), mdoc(5)
638
639 AUTHORS
640 The mandoc_char manual page was written by Kristaps Dzonsons
641 <kristaps@bsd.lv>.
642
643 CAVEATS
644 The predefined string `\*(Ba' mimics the behaviour of the `|' character
645 in mdoc(5); thus, if you wish to render a vertical bar with no side
646 effects, use the `\(ba' escape.
647
648 illumos June 14, 2017 illumos
|
1 MANDOC_CHAR(5) Standards, Environments, and Macros MANDOC_CHAR(5)
2
3 NAME
4 mandoc_char - mandoc special characters
5
6 DESCRIPTION
7 This page documents the mandoc_roff(5) escape sequences accepted by
8 mandoc(1) to represent special characters in mdoc(5) and man(5)
9 documents.
10
11 The rendering depends on the mandoc(1) output mode; it can be inspected
12 by calling man(1) on the mandoc_char manual page with different -T
13 arguments. In ASCII output, the rendering of some characters may be hard
14 to interpret for the reader. Many are rendered as descriptive strings
15 like "<integral>", "<degree>", or "<Gamma>", which may look ugly, and
16 many are replaced by similar ASCII characters. In particular, accented
17 characters are usually shown without the accent. For that reason, try to
18 avoid using any of the special characters documented here except those
19 discussed in the DESCRIPTION, unless they are essential for explaining
20 the subject matter at hand, for example when documenting complicated
21 mathematical functions.
22
23 In particular, in English manual pages, do not use special-character
24 escape sequences to represent national language characters in author
25 names; instead, provide ASCII transcriptions of the names.
26
27 Dashes and Hyphens
28 In typography there are different types of dashes of various width: the
29 hyphen (-), the en-dash (-), the em-dash (--), and the mathematical minus
30 sign (-).
31
32 Hyphens are used for adjectives; to separate the two parts of a compound
33 word; or to separate a word across two successive lines of text. The
34 hyphen does not need to be escaped:
35
36 blue-eyed
37 lorry-driver
38
39 The en-dash is used to separate the two elements of a range, or can be
40 used the same way as an em-dash. It should be written as `\(en':
41
42 pp. 95\(en97.
43 Go away \(en or else!
44
45 The em-dash can be used to show an interruption or can be used the same
46 way as colons, semi-colons, or parentheses. It should be written as
47 `\(em':
48
49 Three things \(em apples, oranges, and bananas.
50 This is not that \(em rather, this is that.
51
52 In mandoc_roff(5) documents, the minus sign is normally written as `\-'.
53 In manual pages, some style guides recommend to also use `\-' if an ASCII
54 0x2d "hyphen-minus" output glyph that can be copied and pasted is desired
55 in output modes supporting it, for example in -T utf8 and -T html. But
56 currently, no practically relevant manual page formatter actually
57 requires that subtlety, so in manual pages just write plain `-' to
58 represent hyphen, minus, and hyphen-minus.
59
60 If a word on a text input line contains a hyphen, a formatter may decide
61 to insert an output line break after the hyphen if that helps filling the
62 current output line, but the whole word would overflow the line. If it
63 is important that the word is not broken across lines in this way, a
64 zero-width space (`\&') can be inserted before or after the hyphen.
65 While mandoc(1) never breaks the output line after hyphens adjacent to a
66 zero-width space, after any of the other dash- or hyphen-like characters
67 represented by escape sequences, or after hyphens inside words in macro
68 arguments, other software may not respect these rules and may break the
69 line even in such cases.
70
71 Some mandoc_roff(5) implementations contains dictionaries allowing to
72 break the line at syllable boundaries even inside words that contain no
73 hyphens. Such automatic hyphenation is not supported by mandoc(1), which
74 only breaks the line at whitespace, and inside words only after existing
75 hyphens.
76
77 Spaces
78 To separate words in normal text, for indenting and alignment in literal
79 context, and when none of the following special cases apply, just use the
80 normal space character (` ').
81
82 When filling text, output lines may be broken between words, i.e. at
83 space characters. To prevent a line break between two particular words,
84 use the unpaddable non-breaking space escape sequence (`\ ') instead of
85 the normal space character. For example, the input string "number\ 1"
86 will be kept together as "number 1" on the same output line.
87
88 On request and macro lines, the normal space character serves as an
89 argument delimiter. To include whitespace into arguments, quoting is
90 usually the best choice; see the MACRO SYNTAX section in mandoc_roff(5).
91 In some cases, using the non-breaking space escape sequence (`\ ') may be
92 preferable.
93
94 To escape macro names and to protect whitespace at the end of input
95 lines, the zero-width space (`\&') is often useful. For example, in
96 mdoc(5), a normal space character can be displayed in single quotes in
200 \(tm tm trademarked
201
202 Punctuation:
203 Input Rendered Description
204 \(em -- em-dash
205 \(en - en-dash
206 \(hy - hyphen
207 \e \ back-slash
208 \. . period
209 \(r! ! upside-down exclamation
210 \(r? ? upside-down question
211
212 Quotes:
213 Input Rendered Description
214 \(Bq ,, right low double-quote
215 \(bq , right low single-quote
216 \(lq " left double-quote
217 \(rq " right double-quote
218 \(oq ` left single-quote
219 \(cq ' right single-quote
220 \(aq ' apostrophe quote (ASCII character)
221 \(dq " double quote (ASCII character)
222 \(Fo << left guillemet
223 \(Fc >> right guillemet
224 \(fo < left single guillemet
225 \(fc > right single guillemet
226
227 Brackets:
228 Input Rendered Description
229 \(lB [ left bracket
230 \(rB ] right bracket
231 \(lC { left brace
232 \(rC } right brace
233 \(la < left angle
234 \(ra > right angle
235 \(bv | brace extension (special font)
236 \[braceex] | brace extension
237 \[bracketlefttp] | top-left hooked bracket
238 \[bracketleftbt] | bottom-left hooked bracket
239 \[bracketleftex] | left hooked bracket extension
240 \[bracketrighttp] | top-right hooked bracket
241 \[bracketrightbt] | bottom-right hooked bracket
242 \[bracketrightex] | right hooked bracket extension
243 \(lt ,- top-left hooked brace
244 \[bracelefttp] ,- top-left hooked brace
245 \(lk { mid-left hooked brace
246 \[braceleftmid] { mid-left hooked brace
247 \(lb `- bottom-left hooked brace
248 \[braceleftbt] `- bottom-left hooked brace
249 \[braceleftex] | left hooked brace extension
250 \(rt -. top-left hooked brace
251 \[bracerighttp] -. top-right hooked brace
252 \(rk } mid-right hooked brace
253 \[bracerightmid] } mid-right hooked brace
254 \(rb -' bottom-right hooked brace
255 \[bracerightbt] -' bottom-right hooked brace
264 Arrows:
265 Input Rendered Description
266 \(<- <- left arrow
267 \(-> -> right arrow
268 \(<> <-> left-right arrow
269 \(da v down arrow
270 \(ua ^ up arrow
271 \(va ^v up-down arrow
272 \(lA <= left double-arrow
273 \(rA => right double-arrow
274 \(hA <=> left-right double-arrow
275 \(uA ^ up double-arrow
276 \(dA v down double-arrow
277 \(vA ^=v up-down double-arrow
278 \(an - horizontal arrow extension
279
280 Logical:
281 Input Rendered Description
282 \(AN ^ logical and
283 \(OR v logical or
284 \[tno] ~ logical not (text font)
285 \(no ~ logical not (special font)
286 \(te <there exists>
287 existential quantifier
288 \(fa <for all> universal quantifier
289 \(st <such that> such that
290 \(tf <therefore> therefore
291 \(3d <therefore> therefore
292 \(or | bitwise or
293
294 Mathematical:
295 Input Rendered Description
296 \- - minus (text font)
297 \(mi - minus (special font)
298 + + plus (text font)
299 \(pl + plus (special font)
300 \(-+ -+ minus-plus
301 \[t+-] +- plus-minus (text font)
302 \(+- +- plus-minus (special font)
303 \(pc . center-dot
304 \[tmu] x multiply (text font)
305 \(mu x multiply (special font)
306 \(c* x circle-multiply
307 \(c+ + circle-plus
308 \[tdi] / divide (text font)
309 \(di / divide (special font)
310 \(f/ / fraction
311 \(** * asterisk
312 \(<= <= less-than-equal
313 \(>= >= greater-than-equal
314 \(<< << much less
315 \(>> >> much greater
316 \(eq = equal
317 \(!= != not equal
318 \(== == equivalent
319 \(ne !== not equivalent
320 \(ap ~ tilde operator
321 \(|= -~ asymptotically equal
322 \(=~ =~ approximately equal
323 \(~~ ~~ almost equal
324 \(~= ~= almost equal
325 \(pt <proportional to>
326 proportionate
327 \(es {} empty set
328 \(mo <element of>
329 element
393 \(IJ IJ IJ ligature
394 \(ij ij ij ligature
395
396 Accents:
397 Input Rendered Description
398 \(a" " Hungarian umlaut
399 \(a- - macron
400 \(a. . dotted
401 \(a^ ^ circumflex
402 \(aa ' acute
403 \' ' acute
404 \(ga ` grave
405 \` ` grave
406 \(ab ` breve
407 \(ac , cedilla
408 \(ad " dieresis
409 \(ah v caron
410 \(ao o ring
411 \(a~ ~ tilde
412 \(ho , ogonek
413 \(ha ^ hat (ASCII character)
414 \(ti ~ tilde (ASCII character)
415
416 Accented letters:
417 Input Rendered Description
418 \('A A acute A
419 \('E E acute E
420 \('I I acute I
421 \('O O acute O
422 \('U U acute U
423 \('a a acute a
424 \('e e acute e
425 \('i i acute i
426 \('o o acute o
427 \('u u acute u
428 \(`A A grave A
429 \(`E E grave E
430 \(`I I grave I
431 \(`O O grave O
432 \(`U U grave U
433 \(`a a grave a
434 \(`e e grave e
634 - In -Thtml, the \(~=, \(nb, and \(nc special characters render
635 differently between mandoc and groff.
636 - The -Tps and -Tpdf modes format like -Tascii instead of rendering
637 glyphs as in groff.
638 - The \[radicalex], \[sqrtex], and \(ru special characters have been
639 omitted from mandoc either because they are poorly documented or they
640 have no known representation.
641
642 SEE ALSO
643 mandoc(1), man(5), mandoc_roff(5), mdoc(5)
644
645 AUTHORS
646 The mandoc_char manual page was written by Kristaps Dzonsons
647 <kristaps@bsd.lv>.
648
649 CAVEATS
650 The predefined string `\*(Ba' mimics the behaviour of the `|' character
651 in mdoc(5); thus, if you wish to render a vertical bar with no side
652 effects, use the `\(ba' escape.
653
654 illumos August 8, 2018 illumos
|