]> git.cameronkatri.com Git - mandoc.git/blob - mdoc.7
Added some new manuals (mdoc.3 mandoc_char.7).
[mandoc.git] / mdoc.7
1 .\" $Id: mdoc.7,v 1.19 2009/03/27 14:56:15 kristaps Exp $
2 .\"
3 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@openbsd.org>
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: March 27 2009 $
20 .Dt mdoc 7
21 .Os
22 .\" SECTION
23 .Sh NAME
24 .Nm mdoc
25 .Nd mdoc language reference
26 .\" SECTION
27 .Sh DESCRIPTION
28 The
29 .Nm mdoc
30 language is used to format
31 .Bx
32 .Ux
33 manuals. In this reference document, we describe the syntax, ontology
34 and structure of the
35 .Nm
36 language.
37 .\" PARAGRAPH
38 .Pp
39 An
40 .Nm
41 document follows simple rules: lines beginning with the control
42 character
43 .Sq \.
44 are parsed for macros. Other lines are interpreted within the scope of
45 prior macros:
46 .Bd -literal -offset XXX
47 \&.Sh Macro lines change control state.
48 Other lines are interpreted within the current state.
49 .Ed
50 .\" SECTION
51 .Sh INPUT ENCODING
52 .Nm
53 documents may contain only graphable 7-bit ASCII characters, the space
54 character
55 .Sq \ ,
56 and, in certain circumstances, the tab character
57 .Sq \et .
58 All manuals must have
59 .Sq \en
60 line termination.
61 .Pp
62 The only time a blank line is acceptable is within
63 the context of
64 .Sq \&.Bd \-literal
65 or
66 .Sq \&.Bd \-unfilled .
67 .Pp
68 Tab characters
69 .Pq \et
70 are only acceptable when delimiting
71 .Sq \&.Bl \-column
72 and in
73 .Sq \&.Bd \-literal
74 or
75 .Sq \&.Bd \-unfilled
76 contexts.
77 .\" SUB-SECTION
78 .Ss Reserved Characters
79 Within a macro line, the following characters are reserved:
80 .Bl -tag -width 12n -offset XXXX -compact
81 .It \&.
82 .Pq period
83 .It \&,
84 .Pq comma
85 .It \&:
86 .Pq colon
87 .It \&;
88 .Pq semicolon
89 .It \&(
90 .Pq left-parenthesis
91 .It \&)
92 .Pq right-parenthesis
93 .It \&[
94 .Pq left-bracket
95 .It \&]
96 .Pq right-bracket
97 .It \&?
98 .Pq question
99 .It \&!
100 .Pq exclamation
101 .El
102 .\" PARAGRAPH
103 .Pp
104 Use of reserved characters is described in
105 .Sx Closure .
106 For general non-reserved use, characters must either be escaped with a
107 non-breaking space
108 .Pq Sq \e&
109 or, if applicable, an appropriate escape-sequence used.
110 .\" SUB-SECTION
111 .Ss Special Characters
112 Special character sequences begin with the escape character
113 .Sq \e
114 followed by either an open-parenthesis
115 .Sq \&(
116 for two-character sequences; an open-bracket
117 .Sq \&[
118 for n-character sequences (terminated at a close-bracket
119 .Sq \&] ) ;
120 or a single one-character sequence.
121 .Pp
122 Characters may alternatively be escaped by a slash-asterisk,
123 .Sq \e* ,
124 with the same combinations as described above. This form is deprecated.
125 .\" SECTION
126 .Sh STRUCTURE
127 Macros are classified in an ontology described by their scope rules.
128 Some macros are allowed to deviate from their classifications to
129 preserve backward-compatibility with old macro combinations still found
130 in the manual corpus. These are specifically noted on a per-macro
131 basis.
132 .\" SUB-SECTION
133 .Ss Scope
134 .Bl -inset
135 .\" LIST-ITEM
136 .It Em Block
137 macros enclose other block macros, in-line macros or text, and
138 may span multiple lines.
139 .Bl -inset -offset XXXX
140 .\" LIST-ITEM
141 .It Em Full-block
142 macros always span multiple lines. They consist of zero or
143 more
144 .Qq heads ,
145 subsequent macros or text on the same line following invocation; an
146 optional
147 .Qq body ,
148 which spans subsequent lines of text or macros; and an optional
149 .Qq tail ,
150 macros or text on the same line following closure.
151 .\" LIST-ITEM
152 .It Em Partial-block
153 macros may span multiple lines. They consists of a optional
154 .Qq head ,
155 text immediately following invocation; always a
156 .Qq body ,
157 text or macros following the head on the same and subsequent lines; and
158 optionally a
159 .Qq tail ,
160 text immediately following closure.
161 .\" LIST-ITEM
162 .It Em In-line
163 macros may only enclose text and span at most a single line.
164 .El
165 .El
166 .\" SUB-SECTION
167 .Ss Closure
168 Closure of a macro's scope depends first on its classification, then
169 on whether it's parsable. In this table,
170 .Sq BFE
171 refers to block full-explicit and so on.
172 .\" PARAGRAPH
173 .Pp
174 .Bl -tag -width 12n -offset XXXX -compact
175 .It BPE , BFE
176 corresponding explicit closure macro
177 .It BFI
178 end-of-file or a corresponding implicit closure macro
179 .It BPI
180 end-of-line (body may be closed by >0 space-separated
181 .Sx Reserved Characters ,
182 although block scope will still be open)
183 .It INL
184 end-of-line
185 .El
186 .\" PARAGRAPH
187 .Pp
188 If a macro (block or in-line) is parsable, it may also be closed out by
189 one of the following scenarios (unless specifically noted otherwise):
190 .\" PARAGRAPH
191 .Pp
192 .Bl -dash -offset XXXX -compact
193 .It
194 a sequence of >0 space-separated
195 .Sx Reserved Characters ,
196 .It
197 another macro,
198 .It
199 end-of-line, or
200 .It
201 completion of a set number of arguments.
202 .El
203 .\" PARAGRAPH
204 .Pp
205 If >0 space-separated
206 .Sx Reserved Characters
207 are followed by non-reserved characters, the behaviour differs per
208 macro. In general, scope of the macro is closed and re-opened:
209 subsequent tokens are interpreted as if the scope had just been opened.
210 In other circumstances, scope is simply closed out.
211 .\" SECTION
212 .Sh SYNTAX
213 Macros are two or three characters in length. The syntax of macro
214 invocation depends on its classification.
215 .Qq \-arg
216 refers to the macro arguments (which may contain zero or more values).
217 In these illustrations,
218 .Sq \&.Yo
219 opens the scope of a macro, and if specified,
220 .Sq \&.Yc
221 closes it out (closure may be implicit at end-of-line or end-of-file).
222 .\" PARAGRAPH
223 .Pp
224 Block full-explicit (may contain head, body, tail).
225 .Bd -literal -offset XXXX
226 \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB
227 \(lBbody...\(rB
228 \&.Yc \(lBtail...\(rB
229 .Ed
230 .\" PARAGRAPH
231 .Pp
232 Block full-implicit (may contain zero or more heads, body, no tail).
233 .Bd -literal -offset XXXX
234 \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead... \(lBTa head...\(rB\(rB
235 \(lBbody...\(rB
236 \&.Yc
237 .Ed
238 .\" PARAGRAPH
239 .Pp
240 Block partial-explicit (may contain head, multi-line body, tail).
241 .Bd -literal -offset XXXX
242 \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB
243 \(lBbody...\(rB
244 \&.Yc \(lBtail...\(rB
245
246 \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBhead...\(rB \
247 \(lBbody...\(rB \&Yc \(lBtail...\(rB
248 .Ed
249 .\" PARAGRAPH
250 .Pp
251 Block partial-implicit (no head, body, no tail). Note that the body
252 section may be followed by zero or more
253 .Sx Reserved Words .
254 These are in the block scope, but not in the body scope.
255 .Bd -literal -offset XXXX
256 \&.Yo \(lB\-arg \(lBval...\(rB\(rB \(lBbody...\(rB \(lBreserved...\(rB
257 .Ed
258 .\" PARAGRAPH
259 .Pp
260 In-lines have \(>=0 scoped arguments.
261 .Bd -literal -offset XXX
262 \&.Yy \(lB\-arg \(lBval...\(rB\(rB \(lBargs...\(rB
263
264 \&.Yy \(lB\-arg \(lBval...\(rB\(rB arg0 arg1 argN
265 .Ed
266 .\"
267 .Sh MACROS
268 This section contains a complete list of all
269 .Nm
270 macros, arranged ontologically. A
271 .Qq callable
272 macro is invoked subsequent to the initial macro-line macro. A
273 .Qq parsable
274 macro may be followed by further (ostensibly callable) macros.
275 .\" SUB-SECTION
276 .Ss Block full-implicit
277 The head of these macros follows invocation; the body is the content of
278 subsequent lines prior to closure. None of these macros have tails;
279 some
280 .Po
281 .Sq \&.It \-bullet ,
282 .Sq \-hyphen ,
283 .Sq \-dash ,
284 .Sq \-enum ,
285 .Sq \-item
286 .Pc
287 don't have heads.
288 .Pp
289 .Bl -column "MacroX" "CallableX" "ParsableX" "Closing" -compact -offset XXXX
290 .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Closing
291 .It \&.Sh Ta \&No Ta \&No Ta \&.Sh
292 .It \&.Ss Ta \&No Ta \&No Ta \&.Sh, \&.Ss
293 .It \&.It Ta \&No Ta Yes Ta \&.It, \&.El
294 .El
295 .\" SUB-SECTION
296 .Ss Block full-explicit
297 None of these macros are callable or parsed. The last column indicates
298 the explicit scope rules. All contains bodies, some may contain heads
299 .Pq So \&Bf Sc .
300 .Pp
301 .Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXX" -compact -offset XXXX
302 .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope
303 .It \&.Bd Ta \&No Ta \&No Ta closed by \&.Ed
304 .It \&.Ed Ta \&No Ta \&No Ta opened by \&.Bd
305 .It \&.Bl Ta \&No Ta \&No Ta closed by \&.El
306 .It \&.El Ta \&No Ta \&No Ta opened by \&.Bl
307 .It \&.Bf Ta \&No Ta \&No Ta closed by \&.Ef
308 .It \&.Ef Ta \&No Ta \&No Ta opened by \&.Bf
309 .It \&.Bk Ta \&No Ta \&No Ta closed by \&.Ek
310 .It \&.Ek Ta \&No Ta \&No Ta opened by \&.Bk
311 .El
312 .\" SUB-SECTION
313 .Ss Block partial-implicit
314 All of these are callable and parsed for further macros. Their scopes
315 close at the invocation's end-of-line.
316 .Pp
317 .Bl -column "MacroX" "CallableX" "ParsableX" -compact -offset XXXX
318 .It Em Macro Ta Em Callable Ta Em Parsable
319 .It \&.Aq Ta Yes Ta Yes
320 .It \&.Op Ta Yes Ta Yes
321 .It \&.Bq Ta Yes Ta Yes
322 .It \&.Dq Ta Yes Ta Yes
323 .It \&.Pq Ta Yes Ta Yes
324 .It \&.Qq Ta Yes Ta Yes
325 .It \&.Sq Ta Yes Ta Yes
326 .It \&.Brq Ta Yes Ta Yes
327 .It \&.D1 Ta \&No Ta \&Yes
328 .It \&.Dl Ta \&No Ta Yes
329 .It \&.Ql Ta Yes Ta Yes
330 .El
331 .\" PARAGRAPH
332 .Pp
333 The
334 .Sq \&.Op
335 may be broken by
336 .Sq \&.Oc
337 as in the following example:
338 .Bd -literal -offset XXXX
339 \&.Oo
340 \&.Op Fl a Oc
341 .Ed
342 .Pp
343 In the above example, the scope of
344 .Sq \&.Op
345 is technically broken by
346 .Sq \&.Oc ,
347 however, due to the overwhelming existence of this sequence, it's
348 allowed.
349 .\" SUB-SECTION
350 .Ss Block partial-explicit
351 Each of these contains at least a body and, in limited circumstances, a
352 head
353 .Pq So \&.Fo Sc , So \&.Eo Sc
354 and/or tail
355 .Pq So \&.Ec Sc .
356 .Pp
357 .Bl -column "MacroX" "CallableX" "ParsableX" "closed by XXXX" -compact -offset XXXX
358 .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Scope
359 .It \&.Ao Ta Yes Ta Yes Ta closed by \&.Ac
360 .It \&.Ac Ta Yes Ta Yes Ta opened by \&.Ao
361 .It \&.Bc Ta Yes Ta Yes Ta closed by \&.Bo
362 .It \&.Bo Ta Yes Ta Yes Ta opened by \&.Bc
363 .It \&.Pc Ta Yes Ta Yes Ta closed by \&.Po
364 .It \&.Po Ta Yes Ta Yes Ta opened by \&.Pc
365 .It \&.Do Ta Yes Ta Yes Ta closed by \&.Dc
366 .It \&.Dc Ta Yes Ta Yes Ta opened by \&.Do
367 .It \&.Xo Ta Yes Ta Yes Ta closed by \&.Xc
368 .It \&.Xc Ta Yes Ta Yes Ta opened by \&.Xo
369 .It \&.Bro Ta Yes Ta Yes Ta closed by \&.Brc
370 .It \&.Brc Ta Yes Ta Yes Ta opened by \&.Bro
371 .It \&.Oc Ta Yes Ta Yes Ta closed by \&.Oo
372 .It \&.Oo Ta Yes Ta Yes Ta opened by \&.Oc
373 .It \&.So Ta Yes Ta Yes Ta closed by \&.Sc
374 .It \&.Sc Ta Yes Ta Yes Ta opened by \&.So
375 .It \&.Fc Ta Yes Ta Yes Ta opened by \&.Fo
376 .It \&.Fo Ta \&No Ta \&No Ta closed by \&.Fc
377 .It \&.Ec Ta Yes Ta Yes Ta opened by \&.Eo
378 .It \&.Eo Ta Yes Ta Yes Ta closed by \&.Ec
379 .It \&.Qc Ta Yes Ta Yes Ta opened by \&.Oo
380 .It \&.Qo Ta Yes Ta Yes Ta closed by \&.Oc
381 .It \&.Re Ta \&No Ta \&No Ta opened by \&.Rs
382 .It \&.Rs Ta \&No Ta \&No Ta closed by \&.Re
383 .El
384 .\" SUB-SECTION
385 .Ss In-line
386 In-line macros have only text children. If a number (or inequality) of
387 arguments is
388 .Pq n ,
389 then the macro accepts an arbitrary number of arguments.
390 .Pp
391 .Bl -column "MacroX" "CallableX" "ParsableX" "Arguments" -compact -offset XXXX
392 .It Em Macro Ta Em Callable Ta Em Parsable Ta Em Arguments
393 .It \&.Dd Ta \&No Ta \&No Ta >0
394 .It \&.Dt Ta \&No Ta \&No Ta n
395 .It \&.Os Ta \&No Ta \&No Ta n
396 .It \&.Pp Ta \&No Ta \&No Ta 0
397 .It \&.Ad Ta Yes Ta Yes Ta n
398 .It \&.An Ta \&No Ta Yes Ta n
399 .It \&.Ar Ta Yes Ta Yes Ta n
400 .It \&.Cd Ta Yes Ta \&No Ta >0
401 .It \&.Cm Ta Yes Ta Yes Ta n
402 .It \&.Dv Ta Yes Ta Yes Ta n
403 .It \&.Er Ta Yes Ta Yes Ta >0
404 .It \&.Ev Ta Yes Ta Yes Ta n
405 .It \&.Ex Ta \&No Ta \&No Ta 0
406 .It \&.Fa Ta Yes Ta Yes Ta n
407 .It \&.Fd Ta \&No Ta \&No Ta >0
408 .It \&.Fl Ta Yes Ta Yes Ta n
409 .It \&.Fn Ta Yes Ta Yes Ta >0
410 .It \&.Ft Ta \&No Ta Yes Ta n
411 .It \&.Ic Ta Yes Ta Yes Ta >0
412 .It \&.In Ta \&No Ta \&No Ta n
413 .It \&.Li Ta Yes Ta Yes Ta n
414 .It \&.Nd Ta \&No Ta \&No Ta n
415 .It \&.Nm Ta Yes Ta Yes Ta n
416 .It \&.Ot Ta \&No Ta \&No Ta n
417 .It \&.Pa Ta Yes Ta Yes Ta n
418 .It \&.Rv Ta \&No Ta \&No Ta 0
419 .It \&.St Ta \&No Ta Yes Ta 1
420 .It \&.Va Ta Yes Ta Yes Ta n
421 .It \&.Vt Ta Yes Ta Yes Ta >0
422 .It \&.Xr Ta Yes Ta Yes Ta >0, <3
423 .It \&.%A Ta \&No Ta \&No Ta >0
424 .It \&.%B Ta \&No Ta \&No Ta >0
425 .It \&.%C Ta \&No Ta \&No Ta >0
426 .It \&.%D Ta \&No Ta \&No Ta >0
427 .It \&.%I Ta \&No Ta \&No Ta >0
428 .It \&.%J Ta \&No Ta \&No Ta >0
429 .It \&.%N Ta \&No Ta \&No Ta >0
430 .It \&.%O Ta \&No Ta \&No Ta >0
431 .It \&.%P Ta \&No Ta \&No Ta >0
432 .It \&.%R Ta \&No Ta \&No Ta >0
433 .It \&.%T Ta \&No Ta \&No Ta >0
434 .It \&.%V Ta \&No Ta \&No Ta >0
435 .It \&.At Ta Yes Ta Yes Ta 1
436 .It \&.Bsx Ta Yes Ta Yes Ta n
437 .It \&.Bx Ta Yes Ta Yes Ta n
438 .It \&.Db Ta \&No Ta \&No Ta 1
439 .It \&.Em Ta Yes Ta Yes Ta >0
440 .It \&.Fx Ta Yes Ta Yes Ta n
441 .It \&.Ms Ta \&No Ta Yes Ta >0
442 .It \&.No Ta Yes Ta Yes Ta 0
443 .It \&.Ns Ta Yes Ta Yes Ta 0
444 .It \&.Nx Ta Yes Ta Yes Ta n
445 .It \&.Ox Ta Yes Ta Yes Ta n
446 .It \&.Pf Ta \&No Ta Yes Ta 1
447 .It \&.Sm Ta \&No Ta \&No Ta 1
448 .It \&.Sx Ta Yes Ta Yes Ta >0
449 .It \&.Sy Ta Yes Ta Yes Ta >0
450 .It \&.Tn Ta Yes Ta Yes Ta >0
451 .It \&.Ux Ta Yes Ta Yes Ta n
452 .It \&.Dx Ta Yes Ta Yes Ta n
453 .It \&.Bt Ta \&No Ta \&No Ta 0
454 .It \&.Hf Ta \&No Ta \&No Ta n
455 .It \&.Fr Ta \&No Ta \&No Ta n
456 .It \&.Ud Ta \&No Ta \&No Ta 0
457 .It \&.Lb Ta \&No Ta \&No Ta 1
458 .It \&.Ap Ta Yes Ta Yes Ta 0
459 .It \&.Lp Ta \&No Ta \&No Ta 0
460 .It \&.Lk Ta \&No Ta Yes Ta >0
461 .It \&.Mt Ta \&No Ta Yes Ta >0
462 .It \&.Es Ta \&No Ta \&No Ta 0
463 .It \&.En Ta \&No Ta \&No Ta 0
464 .El
465 .Pp
466 The
467 .Sq \&.Ot ,
468 .Sq \&.Fr ,
469 .Sq \&.Es
470 and
471 .Sq \&.En ,
472 macros are obsolete.
473 .\" SECTION
474 .Sh COMPATIBILITY
475 The mdoc language was traditionally a
476 .Qq roff
477 macro package; most existing manuals were written with mdoc syntax
478 dictated by system-dependent roff installations. This section documents
479 compatibility with these systems.
480 .Pp
481 .Bl -dash -compact
482 .\" LIST-ITEM
483 .It
484 .Sq \&.Fo
485 and
486 .Sq \&.St
487 historically weren't always callable. Both are now correctly callable.
488 .\" LIST-ITEM
489 .It
490 .Sq \&.It \-nested
491 is assumed for all lists: any list may be nested and
492 .Sq \-enum
493 lists will restart the sequence only for the sub-list.
494 .\" LIST-ITEM
495 .It
496 .Sq \&.It \-column
497 syntax where column widths may be preceeded by other arguments (instead
498 of proceeded) is not supported.
499 .\" LIST-ITEM
500 .It
501 The
502 .Sq \&.At
503 macro only accepts a single parameter.
504 .\" LIST-ITEM
505 .It
506 The system-name macros (
507 .Ns Sq \&.At ,
508 .Sq \&.Bsx ,
509 .Sq \&.Bx ,
510 .Sq \&.Fx ,
511 .Sq \&.Nx ,
512 .Sq \&.Ox ,
513 and
514 .Sq \&.Ux )
515 are callable.
516 .\" LIST-ITEM
517 .It
518 Some manuals use
519 .Sq \&.Li
520 incorrectly by following it with a reserved character and expecting the
521 delimiter to render. This is not supported.
522 .\" LIST-ITEM
523 .It
524 .Sq \&.Cd
525 is callable.
526 .El
527 .\" SECTION
528 .Sh SEE ALSO
529 .Xr mandoc 1 ,
530 .Xr mandoc_char 7
531 .\" SECTION
532 .Sh AUTHORS
533 The
534 .Nm
535 utility was written by
536 .An Kristaps Dzonsons Aq kristaps@openbsd.org .
537 .\" SECTION
538 .Sh CAVEATS
539 There are several ambiguous parts of mdoc.
540 .Pp
541 .Bl -dash -compact
542 .\" LIST-ITEM
543 .It
544 .Sq \&.Fa
545 should be
546 .Sq \&.Va
547 as function arguments are variables.
548 .\" LIST-ITEM
549 .It
550 .Sq \&.Ft
551 should be
552 .Sq \&.Vt
553 as function return types are still types. Furthermore, the
554 .Sq \&.Ft
555 should be removed and
556 .Sq \&.Fo ,
557 which ostensibly follows it, should follow the same convention as
558 .Sq \&.Va .
559 .\" LIST-ITEM
560 .It
561 .Sq \&.Va
562 should formalise that only one or two arguments are acceptable: a
563 variable name and optional, preceeding type.
564 .\" LIST-ITEM
565 .It
566 .Sq \&.Fd
567 is ambiguous. It's commonly used to indicate an include file in the
568 synopsis section.
569 .Sq \&.In
570 should be used, instead.
571 .\" LIST-ITEM
572 .It
573 Only the
574 .Sq \-literal
575 argument to
576 .Sq \&.Bd
577 makes sense. The remaining ones should be removed.
578 .\" LIST-ITEM
579 .It
580 The
581 .Sq \&.Xo
582 and
583 .Sq \&.Xc
584 macros should be deprecated.
585 .\" LIST-ITEM
586 .It
587 The
588 .Sq \&.Dt
589 macro lacks clarity. It should be absolutely clear which title will
590 render when formatting the manual page.
591 .\" LIST-ITEM
592 .It
593 A
594 .Sq \&.Lx
595 should be provided for Linux (\(`a la
596 .Sq \&.Ox ,
597 .Sq \&.Nx
598 etc.).
599 .\" LIST-ITEM
600 .It
601 There's no way to refer to references in
602 .Sq \&.Rs/.Re
603 blocks.
604 .El