Annotation of mandoc/mdoc.7, Revision 1.3
1.3 ! kristaps 1: .\" $Id: mdoc.7,v 1.2 2009/03/13 09:08:59 kristaps Exp $
1.1 kristaps 2: .\"
3: .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
4: .\"
5: .\" Permission to use, copy, modify, and distribute this software for any
6: .\" purpose with or without fee is hereby granted, provided that the
7: .\" above copyright notice and this permission notice appear in all
8: .\" copies.
9: .\"
10: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11: .\" WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13: .\" AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14: .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15: .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16: .\" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17: .\" PERFORMANCE OF THIS SOFTWARE.
18: .\"
19: .Dd $Mdocdate$
20: .Dt mdoc 7
21: .Os
22: .\" SECTION
23: .Sh NAME
24: .Nm mdoc
25: .Nd mdoc macro reference
26: .\" SECTION
27: .Sh DESCRIPTION
28: The
29: .Nm mdoc
30: language is used to format
31: .Bx
32: .Ux
33: manuals. An
34: .Nm
35: document follows simple rules: lines beginning with the control
36: character
37: .Sq \.
38: are parsed for macros. Other lines are interpreted within the scope of
1.3 ! kristaps 39: prior macros. This document describes the encoding, ontology and syntax
! 40: of these macros.
1.1 kristaps 41: .\" SECTION
42: .Sh CHARACTER ENCODING
43: .Nm
44: documents may contain only printable alphanumeric characters, the space
45: character
46: .Sq \ ,
47: and, in certain circumstances, the tab character
48: .Sq \et .
49: All manuals must have
50: .Sq \en
51: line termination.
52: .\" SUB-SECTION
1.2 kristaps 53: .Ss Reserved Characters
54: Within a macro line, the following characters are reserved:
55: .Bl -tag -width 12n -offset XXXX -compact
1.1 kristaps 56: .It \&.
1.2 kristaps 57: .Pq period
1.1 kristaps 58: .It \&,
1.2 kristaps 59: .Pq comma
1.1 kristaps 60: .It \&:
1.2 kristaps 61: .Pq colon
1.1 kristaps 62: .It \&;
1.2 kristaps 63: .Pq semicolon
1.1 kristaps 64: .It \&(
1.2 kristaps 65: .Pq left-parenthesis
1.1 kristaps 66: .It \&)
1.2 kristaps 67: .Pq right-parenthesis
1.1 kristaps 68: .It \&[
1.2 kristaps 69: .Pq left-bracket
1.1 kristaps 70: .It \&]
1.2 kristaps 71: .Pq right-bracket
1.1 kristaps 72: .It \&?
1.2 kristaps 73: .Pq question
1.1 kristaps 74: .It \&!
1.2 kristaps 75: .Pq exclmamation
1.1 kristaps 76: .El
77: .Pp
78: Use of these characters must either be escaped with a non-breaking space
79: .Pq Sq \e&
1.2 kristaps 80: or, if applicable, an appropriate escape-sequence used. Use of reserved
81: characters is described later in this document.
1.1 kristaps 82: .\" SUB-SECTION
83: .Ss Special Characters
84: Special character sequences begin with the escape character
85: .Sq \\
86: and followed by either an open-parenthesis
87: .Sq \&(
88: for two-character sequences; an open-bracket
89: .Sq \&[
90: for n-character sequences (terminated at a close-bracket
91: .Sq \&] ) ;
92: or a single one-character sequence.
93: .Pp
94: Characters may alternatively be escaped by a slash-asterisk,
95: .Sq \\* ,
96: with the same combinations as described above. This form, however, is
97: deprecated. The following is a table of all available escapes, arranged
98: by classification.
99: .Pp
100: Grammatic:
101: .Bl -tag -width 12n -offset "XXXX" -compact
102: .It \\(em
103: .Pq em-dash
104: .It \\(en
105: .Pq en-dash
106: .It \e-
107: .Pq hyphen
108: .It \\\\
109: .Pq back-slash
110: .It \e'
111: .Pq apostrophe
112: .It \e`
113: .Pq back-tick
114: .It \\
115: .Pq space
116: .It \\.
117: .Pq period
118: .El
119: .\" PARAGRAPH
120: .Pp
121: Enclosures:
122: .Bl -tag -width 12n -offset "XXXX" -compact
123: .It \\(rC
124: .Pq right brace
125: .It \\(lC
126: .Pq left brace
127: .It \\(ra
128: .Pq right angle
129: .It \\(la
130: .Pq left angle
131: .It \\(rB
132: .Pq right bracket
133: .It \\(lB
134: .Pq left bracket
135: .It \\q
136: .Pq double-quote
137: .It \\(lq
138: .Pq left double-quote
139: .It \\(Lq
140: .Pq left double-quote, deprecated
141: .It \\(rq
142: .Pq right double-quote
143: .It \\(Rq
144: .Pq right double-quote, deprecated
145: .It \\(oq
146: .Pq left single-quote
147: .It \\(aq
148: .Pq right single-quote
149: .El
150: .\" PARAGRAPH
151: .Pp
152: Indicatives:
153: .Bl -tag -width 12n -offset "XXXX" -compact
154: .It \\(<-
155: .Pq left arrow
156: .It \\(->
157: .Pq right arrow
158: .It \\(ua
159: .Pq up arrow
160: .It \\(da
161: .Pq down arrow
162: .El
163: .\" PARAGRAPH
164: .Pp
165: Mathematical:
166: .Bl -tag -width 12n -offset "XXXX" -compact
167: .It \\(Gt
168: .Pq greater-than, deprecated
169: .It \\(Lt
170: .Pq less-than, deprecated
171: .It \\(<=
172: .Pq less-than-equal
173: .It \\(Le
174: .Pq less-than-equal, deprecated
175: .It \\(>=
176: .Pq greater-than-equal
177: .It \\(Ge
178: .Pq greater-than-equal
179: .It \\(==
180: .Pq equal
181: .It \\(!=
182: .Pq not equal
183: .It \\(Ne
184: .Pq not equal, deprecated
185: .It \\(if
186: .Pq infinity
187: .It \\(If
188: .Pq infinity, deprecated
189: .It \\(na
190: .Pq NaN , an extension
191: .It \\(Na
192: .Pq NaN, deprecated
193: .It \\(+-
194: .Pq plus-minus
195: .It \\(Pm
196: .Pq plus-minus, deprecated
197: .It \\(**
198: .Pq asterisk
199: .El
200: .\" PARAGRAPH
201: .Pp
202: Diacritics:
203: .Bl -tag -width 12n -offset "XXXX" -compact
204: .It \\(ga
205: .Pq accent grave
206: .It \\(aa
207: .Pq accent accute
208: .El
209: .\" PARAGRAPH
210: .Pp
211: Special symbols:
212: .Bl -tag -width 12n -offset "XXXX" -compact
213: .It \\(bu
214: .Pq bullet
215: .It \\(ba
216: .Pq bar
217: .It \\(Ba
218: .Pq bar, deprecated
219: .It \\(co
220: .Pq copyright
221: .It \\&
222: .Pq non-breaking space
223: .It \\e
224: .Pq escape
225: .It \\(Am
226: .Pq ampersand, deprecated
227: .El
228: .\" SECTION
1.2 kristaps 229: .Sh ONTOLOGY
1.1 kristaps 230: Macros are classified in an ontology described by scope rules.
1.2 kristaps 231: .Bl -inset
1.1 kristaps 232: .\" LIST-ITEM
233: .It Em Block
1.2 kristaps 234: macros enclose other block macros, in-line macros or text, and
1.1 kristaps 235: may span multiple lines.
236: .Qq Implicit
237: block scope is closed by a subsequent invocation of the same macro,
238: one of a set of corresponding closure macros or end-of-file.
239: .Qq Explicit
240: block scope is closed by a corresponding closure macro.
1.2 kristaps 241: .Bl -inset -offset XXXX
1.1 kristaps 242: .\" LIST-ITEM
243: .It Em Full-block
1.2 kristaps 244: macros always span multiple lines. They consist optionally of one or
245: more
1.1 kristaps 246: .Qq heads ,
247: subsequent macros or text on the same line following invocation; a
248: .Qq body ,
249: which spans subsequent lines of text or macros; and an optional
250: .Qq tail ,
251: macros or text on the same line following closure.
252: .\" LIST-ITEM
253: .It Em Partial-block
1.2 kristaps 254: macros may span multiple lines. They consists optionally of a
1.1 kristaps 255: .Qq head ,
256: text immediately following invocation; always a
257: .Qq body ,
258: text or macros following the head on the same and subsequent lines; and
259: optionally a
260: .Qq tail ,
261: text immediately following closure.
262: .El
263: .\" LIST-ITEM
264: .It Em In-line
1.2 kristaps 265: macros may only enclose text and span at most a single line. If
1.1 kristaps 266: a macro is parsable, its scope may be closed by subsequent macros or
267: delimiting punctuation. In-line macros follow different conventions for
268: closure; see
269: .Sx MACROS
270: for per-macro details.
271: .El
272: .\" .\" SUB-SECTION
273: .\" .Ss Examples
274: .\" The following examples illustrate each macro classification.
275: .\" .\" PARAGRAPH
276: .\" .Pp
277: .\" Implicit full-block. Has head, body and no tail. Scope closed by
278: .\" second
279: .\" .Sq \&Sh
280: .\" invocation.
281: .\" .Bd -literal -offset XXXX
282: .\" \&.Sh SECTION 1
283: .\" body...
284: .\" \&.Sh SECTION 2
285: .\" .Ed
286: .\" .\" PARAGRAPH
287: .\" .Pp
288: .\" Nested implicit full-block, where the subsection
289: .\" .Sq \&Ss
290: .\" is within the scope of the parent section
291: .\" .Sq \&Sh
292: .\" and closed along with its parent by the subsequent
293: .\" .Sq \&Sh .
294: .\" .Bd -literal -offset XXXX
295: .\" \&.Sh SECTION 1
296: .\" \&.Ss Subsection 1
297: .\" body...
298: .\" \&.Sh SECTION 2
299: .\" .Ed
300: .\" .\" PARAGRAPH
301: .\" .Pp
302: .\" Explicit full-block. Has a head, a body and no tail. Scope closed by
303: .\" .Sq \&Ef
304: .\" invocation.
305: .\" .Bd -literal -offset XXXX
306: .\" \&.Bf symbolic
307: .\" body...
308: .\" \&.Ef
309: .\" .Ed
310: .\" .\" PARAGRAPH
311: .\" .Pp
312: .\" Nested explicit/implicit scope.
313: .\" .Sq \&It
314: .\" macro is an implicit block whose scope is closed by the explicit
315: .\" .Sq \&El
316: .\" closure.
317: .\" .Bd -literal -offset XXXX
318: .\" \&.Bl \-bullet
319: .\" \&.It head
320: .\" body...
321: .\" \&.El
322: .\" .Ed
323: .\" .\" PARAGRAPH
324: .\" .Pp
325: .\" Explicit partial-block. Has head, body and tail. Scope closed by
326: .\" .Sq \&Ec
327: .\" invocation.
328: .\" .Bd -literal -offset XXX
329: .\" \&.Eo head body... \&Ec tail
330: .\" .Ed
331: .\" .\" PARAGRAPH
332: .\" .Pp
333: .\" Implicit partial-block. Has only body. Scope is closed by end-of-line.
334: .\" .Bd -literal -offset XXX
335: .\" \&.Sq body...
336: .\" .Ed
337: .\" .\" PARAGRAPH
338: .\" .Pp
339: .\" Explicit partial-block with only body and scope closed by
340: .\" .Sq \&Ac
341: .\" invocation.
342: .\" .Bd -literal -offset XXXX
343: .\" \&.Ao body... \&Ac
344: .\" .Ed
345: .\" .\" PARAGRAPH
346: .\" .Pp
347: .\" Implicit partial-block enclosing explicit partial-block.
348: .\" .Bd -literal -offset XXX
349: .\" \&.Sq body... \&Ao body... \&Ac
350: .\" .Ed
351: .\" .\" PARAGRAPH
352: .\" .Pp
353: .\" Inline macros, several in sequence. Scope is closed for
354: .\" .Sq \&Fl
355: .\" by the punctuation delimiter and
356: .\" .Sq \&Ar
357: .\" by the end-of-line.
358: .\" .Bd -literal -offset XXXX
359: .\" \&.Fl text0 text1 ; Ar text0 text1
360: .\" .Ed
361: .\" SECTION
1.2 kristaps 362: .Sh SYNTAX
1.3 ! kristaps 363: Macros are generally two and at times three characters in length. The
! 364: syntax of macro invocation depends on its classification.
1.2 kristaps 365: .Qq \-arg
366: refers to the macro arguments (which may contain zero or more values).
367: In these illustrations,
368: .Sq \&.Yo
369: opens the scope of a macro, and if specified,
370: .Sq \&.Yc
371: closes it out (closure may be implicit at end-of-line or end-of-file).
372: .Pp
373: Block full-explicit (may contain head, body, tail):
374: .Bd -literal -offset XXXX
375: \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB
376: \(lBbody...\(rB
377: \&.Yc \(lBtail...\(rB
378: .Ed
379: .Pp
380: Block full-implicit (may contain zero or more heads, body, no tail):
381: .Bd -literal -offset XXXX
382: \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
383: \(lBbody...\(rB
384: \&.Yc
385: .Ed
386: .Pp
387: Block partial-explicit (may contain head, multi-line body, tail):
388: .Bd -literal -offset XXXX
389: \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB
390: \(lBbody...\(rB
391: \&.Yc \(lBtail...\(rB
392:
393: \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB \
394: \(lBbody...\(rB \&Yc \(lBtail...\(rB
395: .Ed
396: .Pp
397: Block partial-implicit (no head, body, no tail):
398: .Bd -literal -offset XXXX
399: \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB
400: .Ed
401: .Pp
402: In-line (may be closed by end-of-line, reserved character, subsequent
403: macro invocation or finite number of arguments):
404: .Bd -literal -offset XXX
405: \&.Yy \(lB\-arg \(lBval...\(rB\(rB args...
406:
407: \&.Yy \(lB\-arg \(lBval...\(rB\(rB args... ;
408:
409: \&.Yy \(lB\-arg \(lBval...\(rB\(rB args... Xx
410:
411: \&.Yy \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
412: .Ed
413: .\"
1.1 kristaps 414: .Sh MACROS
415: This section contains a complete list of all
416: .Nm
1.2 kristaps 417: macros, arranged ontologically. A
1.1 kristaps 418: .Qq callable
419: macro is may be invoked subsequent to the initial macro-line macro. A
420: .Qq parsable
1.2 kristaps 421: macro may be followed by further (ostensibly callable) macros.
1.1 kristaps 422: .\" SUB-SECTION
423: .Ss Block full-implicit
424: The head of these macros follows invocation; the body is the content of
425: subsequent lines prior to closure. None of these macros have tails;
426: some
427: .Po
428: .Sq \&It \-bullet ,
429: .Sq \-hyphen ,
430: .Sq \-dash ,
1.2 kristaps 431: .Sq \-enum ,
432: .Sq \-item
1.1 kristaps 433: .Pc
434: don't have heads.
435: .Pp
436: .Bl -column "MacroX" "CallableX" "ParsableX" "Closing" -compact -offset XXXX
437: .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Closing
438: .It \&.Sh Ta \&No Ta \&No Ta \&.Sh
439: .It \&.Ss Ta \&No Ta \&No Ta \&.Sh, \&.Ss
440: .It \&.It Ta \&No Ta Yes Ta \&.It, \&.El
441: .El
442: .\" SUB-SECTION
443: .Ss Block full-explicit
444: None of these macros are callable or parsed. The last column indicates
445: the explicit scope rules. All contains bodies, some may contain heads
446: .Pq So \&Bf Sc .
447: .Pp
448: .Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXX" -compact -offset XXXX
449: .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope
450: .It \&.Bd Ta \&No Ta \&No Ta closed by \&.Ed
451: .It \&.Ed Ta \&No Ta \&No Ta opened by \&.Bd
452: .It \&.Bl Ta \&No Ta \&No Ta closed by \&.El
453: .It \&.El Ta \&No Ta \&No Ta opened by \&.Bl
454: .It \&.Bf Ta \&No Ta \&No Ta closed by \&.Ef
455: .It \&.Ef Ta \&No Ta \&No Ta opened by \&.Bf
1.2 kristaps 456: .It \&.Bk Ta \&No Ta \&No Ta closed by \&.Ek
457: .It \&.Ek Ta \&No Ta \&No Ta opened by \&.Bk
1.1 kristaps 458: .El
459: .\" SUB-SECTION
460: .Ss Block partial-implicit
461: All of these are callable and parsed for further macros. Their scopes
462: close at the invocation's end-of-line.
463: .Pp
464: .Bl -column "MacroX" "CallableX" "ParsableX" -compact -offset XXXX
465: .It Em Macro Ta Em Callable Ta Em Parsable
466: .It \&.Aq Ta Yes Ta Yes
467: .It \&.Op Ta Yes Ta Yes
468: .It \&.Bq Ta Yes Ta Yes
469: .It \&.Dq Ta Yes Ta Yes
470: .It \&.Pq Ta Yes Ta Yes
471: .It \&.Qq Ta Yes Ta Yes
472: .It \&.Sq Ta Yes Ta Yes
473: .It \&.Brq Ta Yes Ta Yes
1.2 kristaps 474: .It \&.D1 Ta \&No Ta \&Yes
475: .It \&.Dl Ta \&No Ta Yes
476: .It \&.Ql Ta Yes Ta Yes
1.1 kristaps 477: .El
478: .\" SUB-SECTION
479: .Ss Block partial-explicit
480: Each of these contains at least a body and, in limited circumstances, a
481: head
482: .Pq So \&Fo Sc , So \&Eo Sc
483: and/or tail
484: .Pq So \&Ec Sc .
485: .Pp
486: .Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXXX" -compact -offset XXXX
487: .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope
488: .It \&.Ao Ta Yes Ta Yes Ta closed by \&.Ac
489: .It \&.Ac Ta Yes Ta Yes Ta opened by \&.Ao
490: .It \&.Bc Ta Yes Ta Yes Ta closed by \&.Bo
491: .It \&.Bo Ta Yes Ta Yes Ta opened by \&.Bc
492: .It \&.Pc Ta Yes Ta Yes Ta closed by \&.Po
493: .It \&.Po Ta Yes Ta Yes Ta opened by \&.Pc
494: .It \&.Do Ta Yes Ta Yes Ta closed by \&.Dc
495: .It \&.Dc Ta Yes Ta Yes Ta opened by \&.Do
496: .It \&.Xo Ta Yes Ta Yes Ta closed by \&.Xc
497: .It \&.Xc Ta Yes Ta Yes Ta opened by \&.Xo
498: .It \&.Bro Ta Yes Ta Yes Ta closed by \&.Brc
499: .It \&.Brc Ta Yes Ta Yes Ta opened by \&.Bro
500: .It \&.Oc Ta Yes Ta Yes Ta closed by \&.Oo
501: .It \&.Oo Ta Yes Ta Yes Ta opened by \&.Oc
502: .It \&.So Ta Yes Ta Yes Ta closed by \&.Sc
503: .It \&.Sc Ta Yes Ta Yes Ta opened by \&.So
504: .It \&.Fc Ta Yes Ta Yes Ta opened by \&.Fo
505: .It \&.Fo Ta \&No Ta \&No Ta closed by \&.Fc
506: .It \&.Ec Ta Yes Ta Yes Ta opened by \&.Eo
507: .It \&.Eo Ta Yes Ta Yes Ta closed by \&.Ec
508: .It \&.Qc Ta Yes Ta Yes Ta opened by \&.Oo
509: .It \&.Qo Ta Yes Ta Yes Ta closed by \&.Oc
1.2 kristaps 510: .It \&.Re Ta \&No Ta \&No Ta opened by \&.Rs
511: .It \&.Rs Ta \&No Ta \&No Ta closed by \&.Re
1.1 kristaps 512: .El
513: .\" SUB-SECTION
1.2 kristaps 514: .Ss In-line
1.3 ! kristaps 515: In-line macros have only text children. If a number (or inequality) of
! 516: arguments is
! 517: .Pq n ,
! 518: then the macro accepts an arbitrary number of arguments.
1.2 kristaps 519: .Pp
520: .Bl -column "MacroX" "CallableX" "ParsableX" "Arguments" -compact -offset XXXX
521: .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Arguments
1.3 ! kristaps 522: .It \&.Dd Ta \&No Ta \&No Ta >0
! 523: .It \&.Dt Ta \&No Ta \&No Ta n
! 524: .It \&.Os Ta \&No Ta \&No Ta n
1.2 kristaps 525: .It \&.Pp Ta \&No Ta \&No Ta 0
1.3 ! kristaps 526: .It \&.Ad Ta Yes Ta Yes Ta n
! 527: .It \&.An Ta \&No Ta Yes Ta n
! 528: .It \&.Ar Ta Yes Ta Yes Ta n
! 529: .It \&.Cd Ta Yes Ta \&No Ta >0
! 530: .It \&.Cm Ta Yes Ta Yes Ta n
! 531: .It \&.Dv Ta Yes Ta Yes Ta >0
! 532: .It \&.Er Ta Yes Ta Yes Ta >0
! 533: .It \&.Ev Ta Yes Ta Yes Ta >0
! 534: .It \&.Ex Ta \&No Ta \&No Ta 0
! 535: .It \&.Fa Ta Yes Ta Yes Ta >0
! 536: .It \&.Fd Ta \&No Ta \&No Ta >0
! 537: .It \&.Fl Ta Yes Ta Yes Ta n
! 538: .It \&.Fn Ta Yes Ta Yes Ta >0
! 539: .It \&.Ft Ta \&No Ta Yes Ta n
! 540: .It \&.Ic Ta Yes Ta Yes Ta >0
! 541: .It \&.In Ta \&No Ta \&No Ta n
! 542: .It \&.Li Ta Yes Ta Yes Ta >0
! 543: .It \&.Nd Ta \&No Ta \&No Ta n
! 544: .It \&.Nm Ta Yes Ta Yes Ta n
! 545: .It \&.Ot Ta \&No Ta \&No Ta n
! 546: .It \&.Pa Ta Yes Ta Yes Ta n
! 547: .It \&.Rv Ta \&No Ta \&No Ta 0
! 548: .It \&.St Ta \&No Ta Yes Ta 1
! 549: .It \&.Va Ta Yes Ta Yes Ta >0
! 550: .It \&.Vt Ta Yes Ta Yes Ta >0
! 551: .It \&.Xr Ta Yes Ta Yes Ta >0, <3
! 552: .It \&.%A Ta \&No Ta \&No Ta >0
! 553: .It \&.%B Ta \&No Ta \&No Ta >0
! 554: .It \&.%C Ta \&No Ta \&No Ta >0
! 555: .It \&.%D Ta \&No Ta \&No Ta >0
! 556: .It \&.%I Ta \&No Ta \&No Ta >0
! 557: .It \&.%J Ta \&No Ta \&No Ta >0
! 558: .It \&.%N Ta \&No Ta \&No Ta >0
! 559: .It \&.%O Ta \&No Ta \&No Ta >0
! 560: .It \&.%P Ta \&No Ta \&No Ta >0
! 561: .It \&.%R Ta \&No Ta \&No Ta >0
! 562: .It \&.%T Ta \&No Ta \&No Ta >0
! 563: .It \&.%V Ta \&No Ta \&No Ta >0
! 564: .It \&.At Ta Yes Ta Yes Ta 1
! 565: .It \&.Bsx Ta Yes Ta Yes Ta n
! 566: .It \&.Bx Ta Yes Ta Yes Ta n
! 567: .It \&.Db Ta \&No Ta \&No Ta 1
! 568: .It \&.Em Ta Yes Ta Yes Ta >0
! 569: .It \&.Fx Ta Yes Ta Yes Ta n
! 570: .It \&.Ms Ta \&No Ta Yes Ta >0
! 571: .It \&.No Ta Yes Ta Yes Ta 0
! 572: .It \&.Ns Ta Yes Ta Yes Ta 0
! 573: .It \&.Nx Ta Yes Ta Yes Ta n
! 574: .It \&.Ox Ta Yes Ta Yes Ta n
! 575: .It \&.Pf Ta \&No Ta Yes Ta 1
! 576: .It \&.Sm Ta \&No Ta \&No Ta 1
! 577: .It \&.Sx Ta Yes Ta Yes Ta >0
! 578: .It \&.Sy Ta Yes Ta Yes Ta >0
! 579: .It \&.Tn Ta Yes Ta Yes Ta >0
! 580: .It \&.Ux Ta Yes Ta Yes Ta n
! 581: .It \&.Bt Ta \&No Ta \&No Ta 0
! 582: .It \&.Hf Ta \&No Ta \&No Ta n
! 583: .It \&.Fr Ta \&No Ta \&No Ta n
! 584: .It \&.Ud Ta \&No Ta \&No Ta 0
! 585: .It \&.Lb Ta \&No Ta \&No Ta 1
! 586: .It \&.Ap Ta Yes Ta Yes Ta 0
! 587: .It \&.Lp Ta \&No Ta \&No Ta 0
! 588: .It \&.Lk Ta \&No Ta Yes Ta >0
! 589: .It \&.Mt Ta \&No Ta Yes Ta >0
1.1 kristaps 590: .El
1.2 kristaps 591: .\" SECTION
592: .Sh SEE ALSO
593: .Xr mdoctree 1 ,
594: .Xr mdoclint 1 ,
595: .Xr mdocterm 1 ,
596: .Xr mdoc 3
597: .\" SECTION
1.3 ! kristaps 598: .Sh HISTORY
! 599: This manual describes the language accepted by
! 600: .Xr mdoc 3 ,
! 601: which implements the roff-mdoc macro package.
! 602: .\" SECTION
1.2 kristaps 603: .Sh AUTHORS
604: The
605: .Nm
606: utility was written by
607: .An Kristaps Dzonsons Aq kristaps@kth.se .
CVSweb