Annotation of mandoc/mandoc_char.7, Revision 1.13
1.13 ! kristaps 1: .\" $Id: mandoc_char.7,v 1.12 2009/07/28 12:07:11 kristaps Exp $
1.1 kristaps 2: .\"
1.5 kristaps 3: .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
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.1 kristaps 16: .\"
17: .Dd $Mdocdate$
1.2 kristaps 18: .Dt MANDOC_CHAR 7
1.1 kristaps 19: .Os
20: .\" SECTION
21: .Sh NAME
22: .Nm mandoc_char
23: .Nd mandoc special characters
24: .\" SECTION
25: .Sh DESCRIPTION
1.10 kristaps 26: This documents the special characters and predefined strings accepted by
1.1 kristaps 27: .Xr mandoc 1
28: to format
29: .Xr mdoc 7
30: and
31: .Xr man 7
32: documents. Specific output devices of
33: .Xr mandoc 1 ,
34: dictated by the
35: .Fl T Ns Ar output
36: argument, will properly render these sequences.
1.10 kristaps 37: .\" PARAGRAPH
1.1 kristaps 38: .Pp
39: Both
40: .Xr mdoc 7
41: and
42: .Xr man 7
1.10 kristaps 43: encode special characters with
1.9 kristaps 44: .Sq \eX
45: .Pq for a one-character escape ,
46: .Sq \e(XX
47: .Pq two-character ,
48: and
49: .Sq \e[N]
50: .Pq N-character .
51: One may generalise
52: .Sq \e(XX
53: as
1.12 kristaps 54: .Sq \e[XX]
1.10 kristaps 55: and
56: .Sq \eX
57: as
58: .Sq \e[X] .
59: Predefined strings are functionally similar to special characters, using
60: .Sq \e*X
61: .Pq for a one-character escape ,
62: .Sq \e*(XX
63: .Pq two-character ,
64: and
65: .Sq \e*[N]
66: .Pq N-character .
67: One may generalise
68: .Sq \e*(XX
69: as
70: .Sq \e*[XX]
71: and
72: .Sq \e*X
73: as
74: .Sq \e*[X] .
75: .\" SECTION
76: .Sh Special Characters
77: These are the preferred input symbols for producing special characters.
1.8 kristaps 78: .\" PARAGRAPH
79: .Pp
80: Typographic:
81: .Bl -tag -width Ds -offset indent -compact
82: .It \e~
83: .Pq non-breaking space
84: .It \e
85: .Pq space
86: .It \e^
87: .Pq zero-width space
1.9 kristaps 88: .It \e%
1.8 kristaps 89: .Pq zero-width space
90: .It \e&
91: .Pq zero-width space
1.9 kristaps 92: .It \e|
93: .Pq zero-width space
1.8 kristaps 94: .El
95: .\" PARAGRAPH
1.1 kristaps 96: .Pp
97: Grammatic:
1.8 kristaps 98: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 99: .It \e(em
100: .Pq em-dash
101: .It \e(en
102: .Pq en-dash
1.7 kristaps 103: .It \e(hy
1.1 kristaps 104: .Pq hyphen
105: .It \e\e
106: .Pq back-slash
1.11 kristaps 107: .It \\e
108: .Pq back-slash
1.1 kristaps 109: .It \e'
110: .Pq apostrophe
111: .It \e`
112: .Pq back-tick
113: .It \e.
114: .Pq period
115: .It \e(r!
116: .Pq upside-down exclamation
117: .It \e(r?
118: .Pq upside-down question
119: .El
120: .\" PARAGRAPH
121: .Pp
122: Enclosures:
1.8 kristaps 123: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 124: .It \e(lh
125: .Pq left hand
126: .It \e(rh
127: .Pq right hand
128: .It \e(Fo
129: .Pq left guillemet
130: .It \e(Fc
131: .Pq right guillemet
132: .It \e(fo
133: .Pq left guilsing
134: .It \e(fc
135: .Pq right guilsing
136: .It \e(rC
137: .Pq right brace
138: .It \e(lC
139: .Pq left brace
140: .It \e(ra
141: .Pq right angle
142: .It \e(la
143: .Pq left angle
144: .It \e(rB
145: .Pq right bracket
146: .It \e(lB
147: .Pq left bracket
148: .It \e(lq
149: .Pq left double-quote
150: .It \e(rq
151: .Pq right double-quote
152: .It \e(oq
153: .Pq left single-quote
154: .It \e(aq
155: .Pq right single-quote
156: .It \e(Bq
157: .Pq right low double-quote
158: .It \e(bq
159: .Pq right low single-quote
160: .El
161: .\" PARAGRAPH
162: .Pp
163: Indicatives:
1.8 kristaps 164: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 165: .It \e(<-
166: .Pq left arrow
167: .It \e(->
168: .Pq right arrow
169: .It \e(ua
170: .Pq up arrow
171: .It \e(da
172: .Pq down arrow
173: .It \e(<>
174: .Pq left-right arrow
175: .It \e(lA
176: .Pq left double-arrow
177: .It \e(rA
178: .Pq right double-arrow
179: .It \e(uA
180: .Pq up double-arrow
181: .It \e(dA
182: .Pq down double-arrow
183: .It \e(hA
184: .Pq left-right double-arrow
185: .El
186: .\" PARAGRAPH
187: .Pp
188: Mathematical:
1.8 kristaps 189: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 190: .It \e(es
191: .Pq empty set
192: .It \e(ca
193: .Pq intersection
194: .It \e(cu
195: .Pq union
196: .It \e(gr
197: .Pq gradient
198: .It \e(pd
199: .Pq partial differential
200: .It \e(ap
201: .Pq similarity
202: .It \e(=)
203: .Pq proper superset
204: .It \e((=
205: .Pq proper subset
206: .It \e(eq
207: .Pq equals
208: .It \e(di
209: .Pq division
210: .It \e(mu
211: .Pq multiplication
212: .It \e(pl
213: .Pq addition
1.7 kristaps 214: .It \e-
215: .Pq subtraction
1.1 kristaps 216: .It \e(nm
217: .Pq not element
218: .It \e(mo
219: .Pq element
220: .It \e(Im
221: .Pq imaginary
222: .It \e(Re
223: .Pq real
224: .It \e(Ah
225: .Pq aleph
226: .It \e(te
227: .Pq existential quantifier
228: .It \e(fa
229: .Pq universal quantifier
230: .It \e(AN
231: .Pq logical AND
232: .It \e(OR
233: .Pq logical OR
234: .It \e(no
235: .Pq logical NOT
236: .It \e(st
237: .Pq such that
238: .It \e(tf
239: .Pq therefore
240: .It \e(~~
241: .Pq approximate
242: .It \e(~=
243: .Pq approximately equals
244: .It \e(=~
245: .Pq congruent
246: .It \e(<=
247: .Pq less-than-equal
248: .It \e(>=
249: .Pq greater-than-equal
250: .It \e(==
251: .Pq equal
252: .It \e(!=
253: .Pq not equal
254: .It \e(if
255: .Pq infinity
256: .It \e(na
1.10 kristaps 257: .Pq NaN, an extension
1.1 kristaps 258: .It \e(+-
259: .Pq plus-minus
260: .It \e(**
261: .Pq asterisk
262: .El
263: .\" PARAGRAPH
264: .Pp
265: Ligatures:
1.8 kristaps 266: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 267: .It \e(ss
268: .Pq German eszett
269: .It \e(AE
1.11 kristaps 270: .Pq AE
1.1 kristaps 271: .It \e(ae
1.11 kristaps 272: .Pq ae
1.1 kristaps 273: .It \e(OE
1.11 kristaps 274: .Pq OE
1.1 kristaps 275: .It \e(oe
1.11 kristaps 276: .Pq oe
1.1 kristaps 277: .It \e(ff
278: .Pq ff ligature
279: .It \e(fi
280: .Pq fi ligature
281: .It \e(fl
282: .Pq fl ligature
283: .It \e(Fi
284: .Pq ffi ligature
285: .It \e(Fl
286: .Pq ffl ligature
287: .El
288: .\" PARAGRAPH
289: .Pp
1.11 kristaps 290: Diacritics and accented letters:
1.8 kristaps 291: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 292: .It \e(ga
293: .Pq grave accent
294: .It \e(aa
295: .Pq accute accent
296: .It \e(a"
297: .Pq umlaut accent
298: .It \e(ad
299: .Pq dieresis accent
300: .It \e(a~
301: .Pq tilde accent
302: .It \e(a^
303: .Pq circumflex accent
304: .It \e(ac
305: .Pq cedilla accent
306: .It \e(ad
307: .Pq dieresis accent
308: .It \e(ah
309: .Pq caron accent
310: .It \e(ao
311: .Pq ring accent
312: .It \e(ho
313: .Pq hook accent
314: .It \e(ab
315: .Pq breve accent
316: .It \e(a-
317: .Pq macron accent
318: .It \e(-D
1.11 kristaps 319: .Pq Eth
1.1 kristaps 320: .It \e(Sd
1.11 kristaps 321: .Pq eth
1.1 kristaps 322: .It \e(TP
1.11 kristaps 323: .Pq Thorn
1.1 kristaps 324: .It \e(Tp
1.11 kristaps 325: .Pq thorn
1.1 kristaps 326: .It \e('A
1.11 kristaps 327: .Pq acute A
1.1 kristaps 328: .It \e('E
1.11 kristaps 329: .Pq acute E
1.1 kristaps 330: .It \e('I
1.11 kristaps 331: .Pq acute I
1.1 kristaps 332: .It \e('O
1.11 kristaps 333: .Pq acute O
1.1 kristaps 334: .It \e('U
1.11 kristaps 335: .Pq acute U
1.1 kristaps 336: .It \e('a
1.11 kristaps 337: .Pq acute a
1.1 kristaps 338: .It \e('e
1.11 kristaps 339: .Pq acute e
1.1 kristaps 340: .It \e('i
1.11 kristaps 341: .Pq acute i
1.1 kristaps 342: .It \e('o
1.11 kristaps 343: .Pq acute o
1.1 kristaps 344: .It \e('u
1.11 kristaps 345: .Pq acute u
1.1 kristaps 346: .It \e(`A
1.11 kristaps 347: .Pq grave A
1.1 kristaps 348: .It \e(`E
1.11 kristaps 349: .Pq grave E
1.1 kristaps 350: .It \e(`I
1.11 kristaps 351: .Pq grave I
1.1 kristaps 352: .It \e(`O
1.11 kristaps 353: .Pq grave O
1.1 kristaps 354: .It \e(`U
1.11 kristaps 355: .Pq grave U
1.1 kristaps 356: .It \e(`a
1.11 kristaps 357: .Pq grave a
1.1 kristaps 358: .It \e(`e
1.11 kristaps 359: .Pq grave e
1.1 kristaps 360: .It \e(`i
1.11 kristaps 361: .Pq grave i
1.1 kristaps 362: .It \e(`o
1.11 kristaps 363: .Pq grave o
1.1 kristaps 364: .It \e(`u
1.11 kristaps 365: .Pq grave u
1.1 kristaps 366: .It \e(~A
1.11 kristaps 367: .Pq tilde A
1.1 kristaps 368: .It \e(~N
1.11 kristaps 369: .Pq tilde N
1.1 kristaps 370: .It \e(~O
1.11 kristaps 371: .Pq tilde O
1.1 kristaps 372: .It \e(~a
1.11 kristaps 373: .Pq tilde a
1.1 kristaps 374: .It \e(~n
1.11 kristaps 375: .Pq tilde n
1.1 kristaps 376: .It \e(~o
1.11 kristaps 377: .Pq tilde o
1.1 kristaps 378: .It \e(:A
1.11 kristaps 379: .Pq dieresis A
1.1 kristaps 380: .It \e(:E
1.11 kristaps 381: .Pq dieresis E
1.1 kristaps 382: .It \e(:I
1.11 kristaps 383: .Pq dieresis I
1.1 kristaps 384: .It \e(:O
1.11 kristaps 385: .Pq dieresis O
1.1 kristaps 386: .It \e(:U
1.11 kristaps 387: .Pq dieresis U
1.1 kristaps 388: .It \e(:a
1.11 kristaps 389: .Pq dieresis a
1.1 kristaps 390: .It \e(:e
1.11 kristaps 391: .Pq dieresis e
1.1 kristaps 392: .It \e(:i
1.11 kristaps 393: .Pq dieresis i
1.1 kristaps 394: .It \e(:o
1.11 kristaps 395: .Pq dieresis o
1.1 kristaps 396: .It \e(:u
1.11 kristaps 397: .Pq dieresis u
1.1 kristaps 398: .It \e(:y
1.11 kristaps 399: .Pq dieresis y
1.1 kristaps 400: .It \e(^A
1.11 kristaps 401: .Pq circumflex A
1.1 kristaps 402: .It \e(^E
1.11 kristaps 403: .Pq circumflex E
1.1 kristaps 404: .It \e(^I
1.11 kristaps 405: .Pq circumflex I
1.1 kristaps 406: .It \e(^O
1.11 kristaps 407: .Pq circumflex O
1.1 kristaps 408: .It \e(^U
1.11 kristaps 409: .Pq circumflex U
1.1 kristaps 410: .It \e(^a
1.11 kristaps 411: .Pq circumflex a
1.1 kristaps 412: .It \e(^e
1.11 kristaps 413: .Pq circumflex e
1.1 kristaps 414: .It \e(^i
1.11 kristaps 415: .Pq circumflex i
1.1 kristaps 416: .It \e(^o
1.11 kristaps 417: .Pq circumflex o
1.1 kristaps 418: .It \e(^u
1.11 kristaps 419: .Pq circumflex u
1.1 kristaps 420: .It \e(,C
1.11 kristaps 421: .Pq cedilla C
1.1 kristaps 422: .It \e(,c
1.11 kristaps 423: .Pq cedilla c
1.1 kristaps 424: .It \e(/L
1.11 kristaps 425: .Pq stroke L
1.1 kristaps 426: .It \e(/l
1.11 kristaps 427: .Pq stroke l
1.1 kristaps 428: .It \e(/O
1.11 kristaps 429: .Pq stroke O
1.1 kristaps 430: .It \e(/o
1.11 kristaps 431: .Pq stroke o
1.1 kristaps 432: .It \e(oA
1.11 kristaps 433: .Pq ring A
1.1 kristaps 434: .It \e(oa
1.11 kristaps 435: .Pq ring a
1.1 kristaps 436: .El
437: .\" PARAGRAPH
438: .Pp
439: Monetary:
1.8 kristaps 440: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 441: .It \e(Cs
442: .Pq Scandinavian
443: .It \e(Do
444: .Pq dollar
445: .It \e(Po
446: .Pq pound
447: .It \e(Ye
448: .Pq yen
449: .It \e(Fn
450: .Pq florin
451: .It \e(ct
452: .Pq cent
1.11 kristaps 453: .It \e(Eu
454: .Pq Euro character glyph
455: .It \e(eu
456: .Pq Euro symbol
457: .El
458: .\" PARAGRAPH
459: .Pp
460: Greek letters:
461: .Bl -tag -width Ds -offset indent -compact
462: .It \e(*A
463: .Pq Alpha
464: .It \e(*B
465: .Pq Beta
466: .It \e(*C
467: .Pq Xi
468: .It \e(*D
469: .Pq Delta
470: .It \e(*E
471: .Pq Epsilon
472: .It \e(*F
473: .Pq Phi
474: .It \e(*G
475: .Pq Gamma
476: .It \e(*H
477: .Pq Theta
478: .It \e(*I
479: .Pq Iota
480: .It \e(*K
481: .Pq Kappa
482: .It \e(*L
483: .Pq Lambda
484: .It \e(*M
485: .Pq Mu
486: .It \e(*N
487: .Pq Nu
488: .It \e(*O
489: .Pq Omicron
490: .It \e(*P
491: .Pq Pi
492: .It \e(*Q
493: .Pq Psi
494: .It \e(*R
495: .Pq Rho
496: .It \e(*S
497: .Pq Sigma
498: .It \e(*T
499: .Pq Tau
500: .It \e(*U
501: .Pq Upsilon
502: .It \e(*W
503: .Pq Omega
504: .It \e(*X
505: .Pq Chi
506: .It \e(*Y
507: .Pq Eta
508: .It \e(*Z
509: .Pq Zeta
510: .It \e(*a
511: .Pq alpha
512: .It \e(*b
513: .Pq beta
514: .It \e(*c
515: .Pq xi
516: .It \e(*d
517: .Pq delta
518: .It \e(*e
519: .Pq epsilon
520: .It \e(*f
521: .Pq phi
522: .It \e(+f
523: .Pq phi variant
524: .It \e(*g
525: .Pq gamma
526: .It \e(*h
527: .Pq theta
528: .It \e(+h
529: .Pq theta variant
530: .It \e(*i
531: .Pq iota
532: .It \e(*k
533: .Pq kappa
534: .It \e(*l
535: .Pq lambda
536: .It \e(*m
537: .Pq mu
538: .It \e(*n
539: .Pq nu
540: .It \e(*o
541: .Pq omicron
542: .It \e(*p
543: .Pq pi
544: .It \e(+p
545: .Pq pi variant
546: .It \e(*q
547: .Pq psi
548: .It \e(*r
549: .Pq rho
550: .It \e(*s
551: .Pq sigma
552: .It \e(*t
553: .Pq tau
554: .It \e(*u
555: .Pq upsilon
556: .It \e(*w
557: .Pq omega
558: .It \e(*x
559: .Pq chi
560: .It \e(*y
561: .Pq eta
562: .It \e(*z
563: .Pq zeta
564: .It \e(ts
565: .Pq sigma terminal
1.1 kristaps 566: .El
567: .\" PARAGRAPH
568: .Pp
569: Special symbols:
1.8 kristaps 570: .Bl -tag -width Ds -offset indent -compact
1.1 kristaps 571: .It \e0
572: .Pq white-space
573: .It \e(de
574: .Pq degree
575: .It \e(ps
576: .Pq paragraph
577: .It \e(sc
578: .Pq section
579: .It \e(dg
580: .Pq dagger
581: .It \e(dd
582: .Pq double dagger
583: .It \e(ci
584: .Pq circle
585: .It \e(ba
586: .Pq bar
587: .It \e(bb
588: .Pq broken bar
589: .It \e(co
590: .Pq copyright
591: .It \e(rg
592: .Pq registered
593: .It \e(tm
594: .Pq trademarked
595: .It \ee
596: .Pq escape
597: .El
598: .\" SECTION
1.10 kristaps 599: .Sh PREDEFINED STRINGS
600: These are not recommended for use, as they differ across
601: implementations:
602: .Pp
603: Mathematical:
604: .Bl -tag -width Ds -offset indent -compact
605: .It \e*(Ne
606: .Pq not equal
607: .It \e*(Ge
608: .Pq greater-than-equal
609: .It \e*(Le
610: .Pq less-than-equal
611: .It \e*(Gt
612: .Pq greater-than
613: .It \e*(Lt
614: .Pq greater-than
615: .It \e*(Pm
616: .Pq plus-minus
617: .It \e*(If
618: .Pq infinity
619: .It \e*(Pi
620: .Pq pi
621: .It \e*(Na
622: .Pq NaN
623: .El
624: .\" PARAGRAPH
625: .Pp
626: Special symbols:
627: .Bl -tag -width Ds -offset indent -compact
628: .It \e*(Ba
629: .Pq vertical bar
630: .It \e*(Am
631: .Pq ampersand
1.13 ! kristaps 632: .It \e*R
! 633: .Pq restricted mark
! 634: .It \e*(Tm
! 635: .Pq trade mark
1.10 kristaps 636: .El
637: .\" PARAGRAPH
638: .Pp
639: Enclosures:
640: .Bl -tag -width Ds -offset indent -compact
641: .It \e*q
642: .Pq double-quote
643: .It \e*(Rq
644: .Pq right-double-quote
645: .It \e*(Lq
646: .Pq left-double-quote
647: .It \e*(lp
648: .Pq right-parenthesis
649: .It \e*(rp
650: .Pq left-parenthesis
651: .El
652: .\" SECTION
1.3 kristaps 653: .Sh COMPATIBILITY
654: This section documents compatibility of
655: .Nm
656: with older or existing versions of
657: .Xr groff 1 :
658: .Pp
1.8 kristaps 659: .Bl -tag -width Ds -offset indent -compact
1.3 kristaps 660: .It \e(ss
661: Renders differently in
662: .Fl T Ns Ar ascii
663: mode.
664: .El
665: .\" SECTION
1.1 kristaps 666: .Sh SEE ALSO
667: .Xr mandoc 1
668: .\" SECTION
669: .Sh AUTHORS
670: The
671: .Nm
672: utility was written by
1.6 kristaps 673: .An Kristaps Dzonsons Aq kristaps@kth.se .
CVSweb