1<!--
2
3  $Id: docbook-roff.ts,v 1.4 1997/04/30 14:26:25 jfieber Exp $
4
5  Copyright (C) 1997
6       John R. Fieber.  All rights reserved.
7
8  Redistribution and use in source and binary forms, with or without
9  modification, are permitted provided that the following conditions
10  are met:
11  1. Redistributions of source code must retain the above copyright
12     notice, this list of conditions and the following disclaimer.
13  2. Redistributions in binary form must reproduce the above copyright
14     notice, this list of conditions and the following disclaimer in the
15     documentation and/or other materials provided with the distribution.
16
17  THIS SOFTWARE IS PROVIDED BY JOHN R. FIEBER AND CONTRIBUTORS ``AS IS'' AND
18  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  ARE DISCLAIMED.  IN NO EVENT SHALL JOHN R. FIEBER OR CONTRIBUTORS BE LIABLE
21  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  SUCH DAMAGE.
28
29-->
30
31<!--
32
33  This is an instant(1) translation specification to turn an
34  SGML document marked up according to the Docbook DTD into
35  HTML.
36
37  The rules in this file are in alphabetical order according
38  to the name of the element to which they apply.  Rules
39  intended to be invoked from other rules are at the end of
40  the file.  The order of the rules affects how they are processed
41  and an alphabetical order helps prevent unpleasnt surprises.
42
43-->
44
45<!DOCTYPE transpec PUBLIC "-//FreeBSD//DTD transpec//EN" [
46
47<!ENTITY family CDATA "P">
48
49<!ENTITY lt CDATA "<">
50<!ENTITY gt CDATA ">">
51<!ENTITY amp CDATA "&">
52
53<!-- Entities for frequently used constructs. -->
54
55<!ENTITY wspace CDATA "&nbsp;&nbsp;">
56
57<!ENTITY hlofont CDATA '<FONT COLOR="#660000">'>
58<!ENTITY hlofont CDATA '<FONT FACE="Helvetica">'>
59<!ENTITY hlcfont CDATA '</FONT>'>
60
61<!ENTITY c.admon CDATA ''>
62<!ENTITY c.admon CDATA ' BGCOLOR="FFFFEE"'>
63
64<!ENTITY m.preblk '<start>^.if t .br
65.if t .S -2
66.DS I
67.fam C^</start>
68<end>
69^.fam &family;
70.DE
71.if t .S P
72.continue </end>'>
73
74<!ENTITY m.blk '<start>^.if t .S -1
75.DS I F^</start>
76<end>
77^.DE
78.if t .S P
79.continue </end>'>
80
81<!ENTITY m.le '<end>^.LE
82.SP .5v
83.continue </end>'>
84
85<!ENTITY m.tt '<start>\fC</start>
86<end>\fP</end>'>
87
88<!ENTITY m.i '<start>\fI</start>
89<end>\fP</end>'>
90
91<!ENTITY m.b '<start>\fB</start>
92<end>\fP</end>'>
93
94<!ENTITY m.u '<start></start>
95<end></end>'>
96
97<!-- Rule names (instant(1) only allows cryptic numbers). -->
98
99<!ENTITY r.pass "1">
100<!ENTITY r.ignore "6">
101<!ENTITY r.admon "7">
102<!ENTITY r.prgi "9">
103<!ENTITY r.anchor "10">
104
105<!ENTITY r.pttoc "16">
106<!ENTITY r.pttoci "17">
107<!ENTITY r.pftoci "18">
108<!ENTITY r.chtoc "19">
109<!ENTITY r.chtoci "20">
110<!ENTITY r.s1toc "21">
111<!ENTITY r.s1toci "22">
112<!ENTITY r.s2toc "23">
113<!ENTITY r.s2toci "24">
114<!ENTITY r.s3toc "25">
115<!ENTITY r.s3toci "26">
116<!ENTITY r.aptoci "27">
117
118<!ENTITY r.fnote "40">
119<!ENTITY r.fnotei "41">
120
121<!ENTITY r.blkps "50">
122<!ENTITY r.blkpe "51">
123
124<!ENTITY r.hyphen "60">
125<!ENTITY r.nl "61">
126
127<!ENTITY r.inchdr "70">
128<!ENTITY r.incftr "71">
129
130<!ENTITY r.initr "80">
131
132<!ENTITY cmap SYSTEM "roff.cmap">
133<!ENTITY sdata SYSTEM "roff.sdata">
134
135]>
136
137<transpec>
138
139<!-- Character and SDATA entity mapping -->
140
141<cmap>&cmap;</cmap>
142<smap>&sdata;</smap>
143
144<!-- Numerous counters -->
145
146<var>partnum	1
147<var>pfnum  	1
148<var>chapnum	1
149<var>sect1num	1
150<var>sect2num	1
151<var>sect3num	1
152<var>sect4num	1
153<var>sect5num	1
154<var>subsect	1
155<var>appnum	A
156<var>exnum	1
157<var>fignum	1
158<var>tabnum	1
159<var>eqnum	1
160<var>fnotenum	1
161<var>tmpchapnum 1
162
163<var>tlevel 0</var>
164<var>nauth 0</var>
165
166<!-- This is a bit of a hack.  The rule for ANCHOR looks at this
167     and does nothing if it is set.  Rules that go collecting
168     data from other parts of the document should set this to 1
169     to prevent a given anchor from appearing more than once.
170     Generally, dealing with IDs needs to be completely reworked. -->
171
172<var>anchorinhibit 0</var>
173
174<!-- Transform rules -->
175
176<rule>
177<match>
178<gi>_Start
179<action>
180<start>^.\" Generated ${date} using ${transpec}
181.\" by ${user}@${host}
182.if t \{\
183.nr L 10.25i
184.nr W 5.5i
185.nr O 1.5i
186.nr S 11
187.\}
188.if n .nr W 70n
189.so /usr/local/share/groff/current/tmac/tmac.m
190.nr Pt 2
191.nr Ps 0
192.ie t \{\
193.  fam &family;
194.  ds HP 14 12 10 10 10 10 10
195.  ds HF &family;B &family;B &family;B &family;BI &family;I &family;I &family;I
196.  nr Hy 1
197.  nr Pi 3
198.  nr Si 3
199.\}
200.el \{\
201.  SA 0
202.  ftr C R
203.  nr Hy 0
204.\}
205.de continue
206.if \\n(.$ \\$*
207..
208.nr H0 0 1  <!-- Part counter -->
209.af H0 I
210.nr Hs 3
211.nr Hu 1
212.nr N 1     <!-- header at the bottom of the first page -->
213.nr Pgps 0  <!-- header/footer size immune from .S -->
214.INITR "${filename}"^</start>
215</rule>
216
217<rule> <!-- Abbreviation, especially one followed by a period -->
218<match>
219<gi>ABBREV
220</rule>
221
222<rule> <!-- Document summary -->
223<match>
224<gi>ABSTRACT
225<action>
226<start>^.SP
227.DS I F
228.if t .S -1^</start>
229<end>^.if t .S P
230.DE
231.SP^</end>
232</rule>
233
234<rule> <!-- Keycap used with a meta key to activate a graphical user interface -->
235<match>
236<gi>ACCEL
237<action>
238&m.u;
239</rule>
240
241<rule> <!-- Acknowledgements in an Article -->
242<match>
243<gi>ACKNO
244<action>
245<start>^.P^</start>
246<end>^</end>
247</rule>
248
249<rule> <!--D Pronounceable contraction of initials -->
250<match>
251<gi>ACRONYM
252<content>^[^a-z]*$</content>
253<action>
254<replace>\s-(01${_! echo -n "${+content}" | tr "[:lower:]" "[:upper:]"}\s+(01</replace>
255</rule>
256
257<rule> <!-- Pronounceable contraction of initials -->
258<match>
259<gi>ACRONYM
260</rule>
261
262<rule> <!-- Function invoked in response to a user event -->
263<match>
264<gi>ACTION
265</rule>
266
267<rule> <!-- Real-world address -->
268<match>
269<gi>ADDRESS
270<action>
271<start>^.P^</start>
272<end>^</end>
273</rule>
274
275<rule> <!-- Author's institutional affiliation -->
276<match>
277<gi>AFFILIATION
278<action>
279<start>^.br^</start>
280</rule>
281
282<rule> <!-- Prose explanation of a nonprose element -->
283<match>
284<gi>ALT
285<action>
286&m.i;
287</rule>
288
289<rule> <!-- Spot in text -->
290<match>
291<gi>ANCHOR
292<action>
293<start>^.SETR "${ID}"^</start>
294</rule>
295
296<rule> <!-- Appendix for a Book -->
297<match>
298<gi>APPENDIX
299<action>
300<start>^.af H1 A^</start>
301</rule>
302
303<rule> <!-- Name of a software program -->
304<match>
305<gi>APPLICATION
306<action>
307&m.b;
308</rule>
309
310<rule> <!-- Region defined in a graphic or code example -->
311<match>
312<gi>AREA
313</rule>
314
315<rule> <!-- Set of related areas in a graphic or code example -->
316<match>
317<gi>AREASET
318</rule>
319
320<rule> <!-- Collection of regions in a graphic or code example -->
321<match>
322<gi>AREASPEC
323</rule>
324
325<rule> <!-- Argument in a CmdSynopsis -->
326<match>
327<gi>ARG
328<attval>CHOICE OPT
329<attval>REP NOREPEAT
330<action>
331<start>^[</start>
332<end>]^</end>
333</rule>
334
335<rule> <!-- Argument in a CmdSynopsis -->
336<match>
337<gi>ARG
338<attval>CHOICE OPT
339<action>
340<start>^[</start>
341<end>\ ...\ ]^</end>
342</rule>
343
344<rule> <!-- Argument in a CmdSynopsis -->
345<match>
346<gi>ARG
347<attval>CHOICE REQ
348<attval>REP NOREPEAT
349<action>
350<start>^{</start>
351<end>}^</end>
352</rule>
353
354<rule> <!-- Argument in a CmdSynopsis -->
355<match>
356<gi>ARG
357<attval>CHOICE REQ
358<action>
359<start>^{</start>
360<end>\ ...\ }^</end>
361</rule>
362
363<rule> <!-- Argument in a CmdSynopsis -->
364<match>
365<gi>ARG
366<attval>REP REPEAT
367<action>
368<start>^</start>
369<end>\ ...^</end>
370</rule>
371
372<rule> <!-- Argument in a CmdSynopsis -->
373<match>
374<gi>ARG
375<action>
376<start>^</start>
377<end>^</end>
378</rule>
379
380<rule> <!-- Metainformation for an Article -->
381<match>
382<gi>ARTHEADER
383</rule>
384
385<rule> <!-- Article -->
386<match>
387<gi>ARTICLE
388</rule>
389
390<rule> <!-- Page numbers of an Article as published -->
391<match>
392<gi>ARTPAGENUMS
393</rule>
394
395<rule> <!-- Attribution of content for a BlockQuote or Epigraph -->
396<match>
397<gi>ATTRIBUTION
398<action>
399<ignore>all
400</rule>
401
402<rule> <!-- Author of a document -->
403<match>
404<gi>AUTHOR
405</rule>
406
407<rule> <!-- Short description of author -->
408<match>
409<gi>AUTHORBLURB
410</rule>
411
412<rule> <!--X Wrapper for Author information -->
413<match>
414<gi>AUTHORGROUP
415<action>
416<start>^.SP
417.DS C^</start>
418<end>^.DE
419.SP^</end>
420</rule>
421
422<rule> <!-- Initials or other identifier for the author of a Revision or Comment -->
423<match>
424<gi>AUTHORINITIALS
425</rule>
426
427<rule> <!-- Page break in a print version of a work that may be displayed online -->
428<match>
429<gi>BEGINPAGE
430</rule>
431
432<rule> <!-- Section of a Bibliography -->
433<match>
434<gi>BIBLIODIV
435</rule>
436
437<rule> <!-- Entry in a Bibliography -->
438<match>
439<gi>BIBLIOENTRY
440</rule>
441
442<rule> <!-- Bibliography -->
443<match>
444<gi>BIBLIOGRAPHY
445</rule>
446
447<rule> <!-- Untyped information supplied in a BiblioEntry or BookInfo -->
448<match>
449<gi>BIBLIOMISC
450</rule>
451
452<rule> <!-- Entry in a Bibliography -->
453<match>
454<gi>BIBLIOMIXED
455</rule>
456
457<rule> <!-- Container for related bibliographic information -->
458<match>
459<gi>BIBLIOMSET
460</rule>
461
462<rule> <!-- Container for related bibliographic information -->
463<match>
464<gi>BIBLIOSET
465</rule>
466
467<rule> <!-- Quotation set off from the main text, rather than occurring in-line -->
468<match>
469<gi>BLOCKQUOTE
470<relation>child ATTRIBUTION
471<action>
472<start>${_action &r.anchor;t}.if t .S -1
473.DS I F^</start>
474<end>^.br
475\(em\fI${_followrel child ATTRIBUTION &r.pass;}
476.DE
477.if t .S P
478.continue </end>
479</rule>
480
481<rule> <!--X Quotation set off from the main text, rather than occurring in-line -->
482<match>
483<gi>BLOCKQUOTE
484<action>
485<start>
486^.if t .S -1
487.DS I F^</start>
488<end>
489^.DE
490.if t .S P
491.continue </end>
492</rule>
493
494<rule> <!-- Book -->
495<match>
496<gi>BOOK
497<action>
498<start>^.PH "'${_followrel descendant TITLE &r.pass;}''%'"
499.PF "'${_followrel descendant PUBDATE &r.pass;}''${_followrel descendant AUTHOR &r.pass;}'"^</start>
500<end>^.TC^</end>
501</rule>
502
503<rule> <!-- Information about a book used in a bibliographical citation -->
504<match>
505<gi>BOOKBIBLIO
506</rule>
507
508<rule> <!-- Metainformation for a Book -->
509<match>
510<gi>BOOKINFO
511<action>
512<end>^.SP 2v^</end>
513</rule>
514
515<rule> <!-- Free-floating heading not tied to the Sect hierarchy -->
516<match>
517<gi>BRIDGEHEAD
518<attval>RENDERAS SECT1
519<action>
520<start>^.nr Hu 2
521.HU "</start>
522<end>"^</end>
523</rule>
524
525<rule> <!-- Free-floating heading not tied to the Sect hierarchy -->
526<match>
527<gi>BRIDGEHEAD
528<attval>RENDERAS SECT2
529<action>
530<start>^.nr Hu 3
531.HU "</start>
532<end>"^</end>
533</rule>
534
535<rule> <!-- Free-floating heading not tied to the Sect hierarchy -->
536<match>
537<gi>BRIDGEHEAD
538<attval>RENDERAS SECT3
539<action>
540<start>^.nr Hu 4
541.HU "</start>
542<end>"^</end>
543</rule>
544
545<rule> <!-- Free-floating heading not tied to the Sect hierarchy -->
546<match>
547<gi>BRIDGEHEAD
548<attval>RENDERAS SECT4
549<action>
550<start>^.nr Hu 5
551.HU "</start>
552<end>"^</end>
553</rule>
554
555<rule> <!-- Free-floating heading not tied to the Sect hierarchy -->
556<match>
557<gi>BRIDGEHEAD
558<attval>RENDERAS SECT5
559<action>
560<start>^.nr Hu 6
561.HU "</start>
562<end>"^</end>
563</rule>
564
565<rule> <!-- Free-floating heading not tied to the Sect hierarchy -->
566<match>
567<gi>BRIDGEHEAD
568<action>
569<start>^.nr Hu 3
570.HU "</start>
571<end>"^</end>
572</rule>
573
574<rule> <!-- Description linked to Areas in a graphic or code example -->
575<match>
576<gi>CALLOUT
577<action>
578<start>^.LI^</start>
579</rule>
580
581<rule> <!-- Collection of callout descriptions -->
582<match>
583<gi>CALLOUTLIST
584<action>
585<start>^.BL^</start>
586&m.le;
587</rule>
588
589<rule> <!-- Admonition set off from the text -->
590<match>
591<gi>CAUTION
592<action>
593<do>&r.admon;
594</rule>
595
596<rule> <!-- Chapter of a Book -->
597<match>
598<gi>CHAPTER
599<action>
600<start>${_set tlevel 1}</start>
601</rule>
602
603<rule> <!-- In-line bibliographic reference to another published
604            work that uses a reference string, such as an abbreviation
605            in a Bibliography -->
606<match>
607<gi>CITATION
608<action>
609&m.i;
610</rule>
611
612<rule> <!-- Citation of a RefEntry -->
613<match>
614<gi>CITEREFENTRY
615<!-- a link to a man page cgi would be good here... -->
616</rule>
617
618<rule> <!-- Citation of some published work -->
619<match>
620<gi>CITETITLE
621<action>
622&m.i;
623</rule>
624
625<rule> <!-- Name of a city in an Address -->
626<match>
627<gi>CITY
628</rule>
629
630<rule> <!-- Name of the class to which a program component belongs -->
631<match>
632<gi>CLASSNAME
633</rule>
634
635<rule> <!-- Synopsis for a Command -->
636<match>
637<gi>CMDSYNOPSIS
638<action>
639&m.blk;
640</rule>
641
642<rule> <!-- Callout area specification embedded in a code example -->
643<match>
644<gi>CO
645</rule>
646
647<rule> <!-- A collaborative group of authors -->
648<match>
649<gi>COLLAB
650</rule>
651
652<rule> <!-- Name of a collaborative group of authors -->
653<match>
654<gi>COLLABNAME
655</rule>
656
657<rule> <!-- Formatting specification for a column in a Table -->
658<match>
659<gi>COLSPEC
660</rule>
661
662<rule> <!-- Executable program, or the entry a user makes to execute a command -->
663<match>
664<gi>COMMAND
665<action>
666&m.tt;
667</rule>
668
669<rule> <!-- Remark made within the document file that is intended for use
670            during interim stages of production -->
671<match>
672<gi>COMMENT
673<action>
674<ignore>all
675</rule>
676
677<rule> <!-- Data presented to the user by a computer -->
678<match>
679<gi>COMPUTEROUTPUT
680<action>
681&m.tt;
682</rule>
683
684<rule> <!-- Dates of a conference in connection with which a document was written -->
685<match>
686<gi>CONFDATES
687</rule>
688
689<rule> <!-- Wrapper for information about a conference -->
690<match>
691<gi>CONFGROUP
692</rule>
693
694<rule> <!-- Formal number of a conference in connection with which a document was written -->
695<match>
696<gi>CONFNUM
697</rule>
698
699<rule> <!-- Sponsor of a conference in connection with which a document was written -->
700<match>
701<gi>CONFSPONSOR
702</rule>
703
704<rule> <!-- Title of a conference in connection with which a document was written -->
705<match>
706<gi>CONFTITLE
707</rule>
708
709<rule> <!-- Number of a contract under which a document was written -->
710<match>
711<gi>CONTRACTNUM
712</rule>
713
714<rule> <!-- Sponsor of a contract under which a document was written -->
715<match>
716<gi>CONTRACTSPONSOR
717</rule>
718
719<rule> <!-- Information about the contributions of an Author,
720            Editor, or OtherCredit to the work in question -->
721<match>
722<gi>CONTRIB
723</rule>
724
725<rule> <!-- Copyright information about a documen -->
726<match>
727<gi>COPYRIGHT
728<action>
729<start>^.P 0
730Copyright \(co </start>
731<end>^.br^</end>
732</rule>
733
734<rule> <!-- Corporate author of a Book -->
735<match>
736<gi>CORPAUTHOR
737</rule>
738
739<rule> <!-- Name of a corporation -->
740<match>
741<gi>CORPNAME
742</rule>
743
744<rule> <!-- Name of a country in an Address -->
745<match>
746<gi>COUNTRY
747</rule>
748
749<rule> <!-- Name of an organized set of data -->
750<match>
751<gi>DATABASE
752</rule>
753
754<rule> <!-- Date of publication or revision of a document -->
755<match>
756<gi>DATE
757</rule>
758
759<rule> <!-- Metainformation for a book component -->
760<match>
761<gi>DOCINFO
762</rule>
763
764<rule> <!-- Name or number of an edition of a document -->
765<match>
766<gi>EDITION
767</rule>
768
769<rule> <!-- Editor of a document -->
770<match>
771<gi>EDITOR
772</rule>
773
774<rule> <!-- Email address in an Address -->
775<match>
776<gi>EMAIL
777</rule>
778
779<!-- Emphasis: The remap attribute indicates the procedural markup tags
780     used in the linuxdoc DTD. -->
781
782<rule> <!-- Emphasized text: Bold -->
783<match>
784<gi>EMPHASIS
785<attval>REMAP bf
786<action>
787&m.b;
788</rule>
789
790<rule> <!-- Emphasized text: Italic -->
791<match>
792<gi>EMPHASIS
793<attval>REMAP it
794<action>
795&m.i;
796</rule>
797
798<rule> <!-- Emphasized text: Sans-Serif -->
799<match>
800<gi>EMPHASIS
801<attval>REMAP sf
802<action>
803<start>^.if t .ft H^</start>
804<end>^.if t .ft R
805.continue </end>
806</rule>
807
808<rule> <!-- Emphasized text: Slanted -->
809<match>
810<gi>EMPHASIS
811<attval>REMAP sl
812<action>
813&m.i;
814</rule>
815
816<rule> <!-- Emphasized text: Typewriter -->
817<match>
818<gi>EMPHASIS
819<attval>REMAP tt
820<action>
821&m.tt;
822</rule>
823
824<rule> <!-- Emphasized text -->
825<match>
826<gi>EMPHASIS
827<action>
828&m.i;
829</rule>
830
831<rule> <!-- Cell in a table -->
832<match>
833<gi>ENTRY
834<context>ROW THEAD
835<action>
836<start>^&lt;TH></start>
837<end>&lt;/TH>^</end>
838</rule>
839
840<rule> <!-- Cell in a table -->
841<match>
842<gi>ENTRY
843<action>
844<start>^&lt;TD></start>
845<end>&lt;/TD>^</end>
846</rule>
847
848<rule> <!-- Subtable appearing as a table cell -->
849<match>
850<gi>ENTRYTBL
851</rule>
852
853<rule> <!-- Environmental variable -->
854<match>
855<gi>ENVVAR
856<action>
857&m.tt;
858</rule>
859
860<rule> <!-- Brief text set at the beginning of a document as relevant to its content -->
861<match>
862<gi>EPIGRAPH
863</rule>
864
865<rule> <!-- Formal mathematical equation displayed as a block rather than in-line -->
866<match>
867<gi>EQUATION
868<action>
869<start>{_action &r.anchor;t}&lt;HR NOSHADE>&lt;P>&lt;STRONG>${_gi M} ${eqnum}:&lt;/STRONG>
870${_followrel child TITLE &r.pass;}&lt;/P>^</start>
871<end>^&lt;HR NOSHADE></end>
872<incr>eqnum
873</rule>
874
875<rule> <!-- Error message reported by a computer -->
876<match>
877<gi>ERRORNAME
878<action>
879&m.tt;
880</rule>
881
882<rule> <!-- Classification of an error message reported by a computer -->
883<match>
884<gi>ERRORTYPE
885</rule>
886
887<rule> <!-- Example of a computer program or related information -->
888<match>
889<gi>EXAMPLE
890<action>
891<start>${_action &r.anchor;t}&lt;HR NOSHADE>&lt;P>&lt;STRONG>${_gi M} ${exnum}:&lt;/STRONG>
892${_followrel child TITLE &r.pass;}&lt;/P>^</start>
893<end>^&lt;HR NOSHADE></end>
894<incr>exnum
895</rule>
896
897<rule> <!-- Fax number in an Address -->
898<match>
899<gi>FAX
900</rule>
901
902<rule> <!-- Formal illustration -->
903<match>
904<gi>FIGURE
905<action>
906<start>${_action &r.anchor;t}&lt;HR NOSHADE>&lt;P>&lt;STRONG>${_gi M} ${fignum}:&lt;/STRONG>
907${_followrel child TITLE &r.pass;}&lt;/P>^</start>
908<end>^&lt;HR NOSHADE></end>
909<incr>fignum
910</rule>
911
912<rule> <!-- Name of a file, possibly including pathname -->
913<match>
914<gi>FILENAME
915<action>
916&m.tt;
917</rule>
918
919<rule> <!--X Given name -->
920<match>
921<gi>FIRSTNAME
922<action>
923<end>\& \&</end>
924</rule>
925
926<rule> <!-- First occurrence of a word in a given context -->
927<match>
928<gi>FIRSTTERM
929<action>
930&m.i;
931</rule>
932
933<rule> <!-- Footnotes: Put both a link and an anchor here
934            so that footnotes can be followed in both directions. -->
935<match>
936<gi>FOOTNOTE
937<action>
938<start>\*F
939'FS^</start>
940<end>^.FE
941.continue </end>
942</rule>
943
944<rule> <!-- Location of a footnote mark -->
945<match>
946<gi>FOOTNOTEREF
947</rule>
948
949<rule> <!-- Word or words in a language other than that of the containing document -->
950<match>
951<gi>FOREIGNPHRASE
952<action>
953&m.i;
954</rule>
955
956<rule> <!-- Paragraph with a Title -->
957<match>
958<gi>FORMALPARA
959</rule>
960
961<rule> <!-- Function or routine name and its return type in a FuncSynopsis -->
962<match>
963<gi>FUNCDEF
964</rule>
965
966<rule> <!-- Parameter information for a function or routine that is
967            pointed to from within a FuncSynopsis -->
968<match>
969<gi>FUNCPARAMS
970</rule>
971
972<rule> <!-- Set of function or routine prototype information in a FuncSynopsis -->
973<match>
974<gi>FUNCPROTOTYPE
975</rule>
976
977<rule> <!-- Synopsis of a Function -->
978<match>
979<gi>FUNCSYNOPSIS
980<action>
981&m.blk;
982</rule>
983
984<rule> <!-- Information supplementing the FuncDefs of a FuncSynopsis -->
985<match>
986<gi>FUNCSYNOPSISINFO
987</rule>
988
989<rule> <!-- Subroutine in a program or external library -->
990<match>
991<gi>FUNCTION
992<action>
993&m.tt;
994</rule>
995
996<rule> <!-- Glossary of terms -->
997<match>
998<gi>GLOSSARY
999<action>
1000<start>^
1001.nr Hu 1
1002.HU "${_find gi TITLE &r.pass;}"
1003.BVL \n(Li \n(Li*1/2^</start>
1004&m.le;
1005</rule>
1006
1007<rule> <!-- Definition attached to a GlossTerm in a GlossEntry -->
1008<match>
1009<gi>GLOSSDEF
1010</rule>
1011
1012<rule> <!-- Division of a Glossary -->
1013<match>
1014<gi>GLOSSDIV
1015</rule>
1016
1017<rule> <!-- Entry in a Glossary or GlossList -->
1018<match>
1019<gi>GLOSSENTRY
1020</rule>
1021
1022<rule> <!-- Wrapper for a set of GlossEntries -->
1023<match>
1024<gi>GLOSSLIST
1025<action>
1026<start>^.BVL \n(Li \n(Li*1/2^</start>
1027&m.le;
1028</rule>
1029
1030<rule> <!-- Cross-reference from one GlossEntry to another -->
1031<match>
1032<gi>GLOSSSEE
1033</rule>
1034
1035<rule> <!-- Cross-reference from one GlossDef to another GlossEntry -->
1036<match>
1037<gi>GLOSSSEEALSO
1038</rule>
1039
1040<rule> <!-- Term outside a Glossary that is defined in some GlossEntry;
1041            term within a GlossEntry that is defined by that GlossEntry -->
1042<match>
1043<gi>GLOSSTERM
1044<action>
1045<start>^.LI "\fB</start>
1046<end>\fP"^</end>
1047</rule>
1048
1049<rule> <!-- Graphical data, or a pointer to an external entity containing
1050            such data, to be rendered as an object, not in-line -->
1051<match>
1052<gi>GRAPHIC
1053<action>
1054<start>^.PSPIC ${_filename}^</start>
1055</rule>
1056
1057<rule> <!-- Graphic that contains a specification of areas within it that
1058            have associated callouts -->
1059<match>
1060<gi>GRAPHICCO
1061</rule>
1062
1063<rule> <!-- Group of constituent parts of a CmdSynopsis -->
1064<match>
1065<gi>GROUP
1066</rule>
1067
1068<rule> <!-- Text on a button in a graphical user interface -->
1069<match>
1070<gi>GUIBUTTON
1071</rule>
1072
1073<rule> <!-- Graphic and, or, text appearing as a icon in a graphical user interface -->
1074<match>
1075<gi>GUIICON
1076</rule>
1077
1078<rule> <!-- Text in a graphical user interface -->
1079<match>
1080<gi>GUILABEL
1081</rule>
1082
1083<rule> <!-- Name of a menu in a graphical user interface -->
1084<match>
1085<gi>GUIMENU
1086</rule>
1087
1088<rule> <!-- Name of a terminal menu item in a graphical user interface -->
1089<match>
1090<gi>GUIMENUITEM
1091</rule>
1092
1093<rule> <!-- Name of a submenu in a graphical user interface -->
1094<match>
1095<gi>GUISUBMENU
1096</rule>
1097
1098<rule> <!-- Physical part of a computer system -->
1099<match>
1100<gi>HARDWARE
1101</rule>
1102
1103<rule> <!-- List of main points discussed in a book component such as a Chapter -->
1104<match>
1105<gi>HIGHLIGHTS
1106</rule>
1107
1108<rule> <!-- Holder of a copyright in the containing document -->
1109<match>
1110<gi>HOLDER
1111</rule>
1112
1113<rule> <!-- Title of a person -->
1114<match>
1115<gi>HONORIFIC
1116</rule>
1117
1118<rule> <!-- Admonition set off from the text -->
1119<match>
1120<gi>IMPORTANT
1121<action>
1122<do>&r.admon;
1123</rule>
1124
1125<rule> <!-- Index to content -->
1126<match>
1127<gi>INDEX
1128</rule>
1129
1130<rule> <!-- Division of an Index -->
1131<match>
1132<gi>INDEXDIV
1133</rule>
1134
1135<rule> <!-- Entry in an Index -->
1136<match>
1137<gi>INDEXENTRY
1138</rule>
1139
1140<rule> <!-- Character string to be indexed, occurring in the text flow but not in the text itself -->
1141<match>
1142<gi>INDEXTERM
1143<action>
1144<ignore>all
1145</rule>
1146
1147<rule> <!-- Informal mathematical equation displayed as a block, rather than in-line -->
1148<match>
1149<gi>INFORMALEQUATION
1150</rule>
1151
1152<rule> <!-- Untitled Example -->
1153<match>
1154<gi>INFORMALEXAMPLE
1155</rule>
1156
1157<rule> <!-- Untitled table -->
1158<match>
1159<gi>INFORMALTABLE
1160</rule>
1161
1162<rule> <!-- Untitled mathematical equation occurring in-line or as the
1163            content of an Equation -->
1164<match>
1165<gi>INLINEEQUATION
1166</rule>
1167
1168<rule> <!-- Graphical data, or a pointer to an external entity containing
1169            such data, to be rendered in-line -->
1170<match>
1171<gi>INLINEGRAPHIC
1172</rule>
1173
1174<rule> <!-- Element of a graphical user interface -->
1175<match>
1176<gi>INTERFACE
1177</rule>
1178
1179<rule> <!-- Specification for a graphical user interface -->
1180<match>
1181<gi>INTERFACEDEFINITION
1182</rule>
1183
1184<rule> <!-- Inventory part number -->
1185<match>
1186<gi>INVPARTNUMBER
1187</rule>
1188
1189<rule> <!-- International Standard Book Number of a document -->
1190<match>
1191<gi>ISBN
1192</rule>
1193
1194<rule> <!-- International Standard Serial Number of a journal -->
1195<match>
1196<gi>ISSN
1197</rule>
1198
1199<rule> <!-- Number of an issue of a journal -->
1200<match>
1201<gi>ISSUENUM
1202</rule>
1203
1204<rule> <!-- List in which each entry is marked with a bullet, dash, or other
1205            dingbat -->
1206<match>
1207<gi>ITEMIZEDLIST
1208<action>
1209<start>^.BL 2u*\n(Pi^</start>
1210&m.le;
1211</rule>
1212
1213<rule> <!-- Title of a remunerated position in an Affiliation -->
1214<match>
1215<gi>JOBTITLE
1216</rule>
1217
1218<rule> <!-- Text printed on a physical key on a computer keyboard, not
1219            necessarily the same thing as a KeyCode -->
1220<match>
1221<gi>KEYCAP
1222<relation>parent KEYCOMBO
1223<action>
1224<end>${_relation sibling+1 KEYCAP &r.hyphen;}${_relation sibling+1 KEYSYM &r.hyphen;}${_relation sibling+1 MOUSEBUTTON &r.hyphen;}${_relation sibling+1 KEYCOMBO &r.nl;}</end>
1225</rule>
1226
1227<rule> <!-- Text printed on a physical key on a computer keyboard, not
1228            necessarily the same thing as a KeyCode -->
1229<match>
1230<gi>KEYCAP
1231<action>
1232&m.tt;
1233</rule>
1234
1235<rule> <!-- Computer's numeric designation of a key on a computer
1236            keyboard -->
1237<match>
1238<gi>KEYCODE
1239<action>
1240&m.tt;
1241</rule>
1242
1243<rule> <!-- Combination of input actions -->
1244<match>
1245<gi>KEYCOMBO
1246<relation>parent KEYCOMBO
1247<relation>sibling+1 KEYCOMBO
1248<action>
1249<end>^</end>
1250</rule>
1251
1252<rule> <!-- Combination of input actions -->
1253<match>
1254<gi>KEYCOMBO
1255<action>
1256&m.tt;
1257</rule>
1258
1259<rule> <!-- Key symbol name, which is not necessarily the same thing as a
1260            Keycap -->
1261<match>
1262<gi>KEYSYM
1263<relation>parent KEYCOMBO
1264<action>
1265<end>${_relation sibling+1 KEYCAP &r.hyphen;}${_relation sibling+1 KEYSYM &r.hyphen;}${_relation sibling+1 MOUSEBUTTON &r.hyphen;}${_relation sibling+1 KEYCOMBO &r.nl;}</end>
1266</rule>
1267
1268<rule> <!-- Key symbol name, which is not necessarily the same thing as a
1269            Keycap -->
1270<match>
1271<gi>KEYSYM
1272<action>
1273&m.tt;
1274</rule>
1275
1276<rule> <!-- Statement of legal obligations or requirements -->
1277<match>
1278<gi>LEGALNOTICE
1279</rule>
1280
1281<rule> <!-- Portion of a person's name indicating a relationship to ancestors -->
1282<match>
1283<gi>LINEAGE
1284</rule>
1285
1286<rule> <!-- Writer's or editor's comment on a line of program code
1287            within an Example, ProgramListing, or Screen -->
1288<match>
1289<gi>LINEANNOTATION
1290<action>
1291&m.i;
1292</rule>
1293
1294<rule> <!-- Hypertext link -->
1295<match>
1296<gi>LINK
1297</rule>
1298
1299<rule> <!--X Wrapper for the elements of items in an ItemizedList or
1300            OrderedList -->
1301<match>
1302<gi>LISTITEM
1303<context>VARLISTENTRY
1304</rule>
1305
1306<rule> <!--X Wrapper for the elements of items in an ItemizedList or
1307            OrderedList -->
1308<match>
1309<gi>LISTITEM
1310<action>
1311<start>^.LI^</start>
1312</rule>
1313
1314<rule> <!-- Literal string, used in-line, that is part of data in a computer -->
1315<match>
1316<gi>LITERAL
1317<context>LITERALLAYOUT
1318</rule>
1319
1320<rule> <!-- Literal string, used in-line, that is part of data in a computer -->
1321<match>
1322<gi>LITERAL
1323<action>
1324&m.tt;
1325</rule>
1326
1327<rule> <!-- Wrapper for lines set off from the main text that are not
1328            tagged as Screens, Examples, or ProgramListing, in which
1329            line breaks and leading white space are to be regarded as
1330            significant -->
1331<match>
1332<gi>LITERALLAYOUT
1333<action>
1334<start>^.if t .br
1335.if t .S -1
1336.DS L
1337.fam C^</start>
1338<end>
1339^.fam &family;
1340.DE
1341.if t .S P
1342.continue </end>
1343</rule>
1344
1345<rule> <!-- List of titles of objects within a document -->
1346<match>
1347<gi>LOT
1348</rule>
1349
1350<rule> <!-- Entry in a LoT -->
1351<match>
1352<gi>LOTENTRY
1353</rule>
1354
1355<rule> <!-- Section of a complete set of UNIX reference pages that a
1356            reference page belongs to -->
1357<match>
1358<gi>MANVOLNUM
1359<action>
1360<start>(</start>
1361<end>)</end>
1362</rule>
1363
1364<rule> <!-- String of formatting markup in text, which it is desired to represent
1365            literally -->
1366<match>
1367<gi>MARKUP
1368</rule>
1369
1370<rule> <!-- Name of the physical medium on or in which some information
1371            is contained -->
1372<match>
1373<gi>MEDIALABEL
1374</rule>
1375
1376<rule> <!-- Member of a SimpleList: first -->
1377<match>
1378<gi>MEMBER
1379<nthchild>1
1380</rule>
1381
1382<rule> <!-- Member of a SimpleList: middle -->
1383<match>
1384<gi>MEMBER
1385<relation>sibling+ MEMBER
1386<action>
1387<start>, </start>
1388</rule>
1389
1390<rule> <!-- Member of a SimpleList: last -->
1391<match>
1392<gi>MEMBER
1393<action>
1394<start>, and </start>
1395</rule>
1396
1397<rule> <!-- Menu selection or series of such selections -->
1398<match>
1399<gi>MENUCHOICE
1400</rule>
1401
1402<rule> <!-- Application-specific information necessary for the completion
1403            of an OLink -->
1404<match>
1405<gi>MODESPEC
1406</rule>
1407
1408<rule> <!-- Conventional name of a mouse button -->
1409<match>
1410<gi>MOUSEBUTTON
1411<relation>parent KEYCOMBO
1412<action>
1413<end>${_relation sibling+1 KEYCAP &r.hyphen;}${_relation sibling+1 KEYSYM &r.hyphen;}${_relation sibling+1 MOUSEBUTTON &r.hyphen;}${_relation sibling+1 KEYCOMBO &r.nl;}</end>
1414</rule>
1415
1416<rule> <!-- Conventional name of a mouse button -->
1417<match>
1418<gi>MOUSEBUTTON
1419<action>
1420&m.tt;
1421</rule>
1422
1423<rule> <!-- Error message and its subparts, along with explanatory text, in a
1424            MsgEntry -->
1425<match>
1426<gi>MSG
1427</rule>
1428
1429<rule> <!-- Audience to which a Msg is relevant -->
1430<match>
1431<gi>MSGAUD
1432</rule>
1433
1434<rule> <!-- Wrapper for an entry in a MsgSet -->
1435<match>
1436<gi>MSGENTRY
1437</rule>
1438
1439<rule> <!-- Explanatory material relating to a Msg -->
1440<match>
1441<gi>MSGEXPLAN
1442</rule>
1443
1444<rule> <!-- Information about the Msg that contains it -->
1445<match>
1446<gi>MSGINFO
1447</rule>
1448
1449<rule> <!-- Level of importance or severity of a Msg -->
1450<match>
1451<gi>MSGLEVEL
1452</rule>
1453
1454<rule> <!-- Main error message of a Msg -->
1455<match>
1456<gi>MSGMAIN
1457</rule>
1458
1459<rule> <!-- Origin of a Msg -->
1460<match>
1461<gi>MSGORIG
1462</rule>
1463
1464<rule> <!-- Subpart of a Msg containing a message that is related to the main
1465            message -->
1466<match>
1467<gi>MSGREL
1468</rule>
1469
1470<rule> <!-- List of error messages produced by a system, with various
1471            additional information -->
1472<match>
1473<gi>MSGSET
1474</rule>
1475
1476<rule> <!-- Optional subpart of a Msg, which might contain messages that
1477            appear in various contexts -->
1478<match>
1479<gi>MSGSUB
1480</rule>
1481
1482<rule> <!-- Contents of the parts of Msg -->
1483<match>
1484<gi>MSGTEXT
1485</rule>
1486
1487<rule> <!-- Message to the user, set off from the text -->
1488<match>
1489<gi>NOTE
1490<action>
1491<do>&r.admon;
1492</rule>
1493
1494<rule> <!-- Link that addresses its target by use of an entity -->
1495<match>
1496<gi>OLINK
1497</rule>
1498
1499<rule> <!-- Option for a computer program command -->
1500<match>
1501<gi>OPTION
1502<action>
1503&m.tt;
1504</rule>
1505
1506<rule> <!-- Optional information contained in a Synopsis -->
1507<match>
1508<gi>OPTIONAL
1509<action>
1510<start>[</start>
1511<end>]</end>
1512</rule>
1513
1514<rule> <!--X List in which each entry is marked with a sequentially
1515            incremented label -->
1516<match>
1517<gi>ORDEREDLIST
1518<action>
1519<start>^.AL 1^</start>
1520&m.le;
1521</rule>
1522
1523<rule> <!-- Division of an organization -->
1524<match>
1525<gi>ORGDIV
1526</rule>
1527
1528<rule> <!-- Name of an organization other than a corporation -->
1529<match>
1530<gi>ORGNAME
1531</rule>
1532
1533<rule> <!-- Uncategorized information in Address -->
1534<match>
1535<gi>OTHERADDR
1536</rule>
1537
1538<rule> <!-- Person or entity to be credited, other than an Author or Editor -->
1539<match>
1540<gi>OTHERCREDIT
1541</rule>
1542
1543<rule> <!-- Name component that is not a Firstname, Surname, or Lineage -->
1544<match>
1545<gi>OTHERNAME
1546</rule>
1547
1548<rule> <!-- Numbers of the pages contained in a Book, for use in its
1549            BookBiblio -->
1550<match>
1551<gi>PAGENUMS
1552</rule>
1553
1554<rule> <!--X Paragraph -->
1555<match>
1556<gi>PARA
1557<attval>ROLE bib
1558<action>
1559<start>^.SP .5v
1560.P 0
1561.in 3
1562.ti -3^</start>
1563<end>^.in 0^</end>
1564</rule>
1565
1566<rule> <!--X Paragraph -->
1567<match>
1568<gi>PARA
1569<context>FOOTNOTE
1570</rule>
1571
1572<rule> <!--X Paragraph -->
1573<match>
1574<gi>PARA
1575<context>LISTITEM
1576<nthchild>1
1577</rule>
1578
1579<rule> <!--X Paragraph -->
1580<match>
1581<gi>PARA
1582<context>LISTITEM
1583<action>
1584<start>^.P 1^</start>
1585</rule>
1586
1587<rule> <!--X Paragraph -->
1588<match>
1589<gi>PARA
1590<context>BLOCKQUOTE
1591<action>
1592<start>^.P 0^</start>
1593</rule>
1594
1595<rule> <!--X Paragraph -->
1596<match>
1597<gi>PARA
1598<relation>sibling-1 TITLE
1599<action>
1600<start>^.P 0^</start>
1601</rule>
1602
1603<rule> <!--X Paragraph -->
1604<match>
1605<gi>PARA
1606<action>
1607<start>^.P 1^</start>
1608</rule>
1609
1610<rule> <!-- Data type information and the name of the Parameter this
1611            information applies to -->
1612<match>
1613<gi>PARAMDEF
1614</rule>
1615
1616<rule> <!-- Part of an instruction to a computer -->
1617<match>
1618<gi>PARAMETER
1619<action>
1620&m.tt;
1621</rule>
1622
1623<rule> <!-- Section of a Book containing book components -->
1624<match>
1625<gi>PART
1626<action>
1627<start>^.if t .SK
1628\&
1629.if t .fam H
1630.SP 3i
1631.if t .S 24
1632Part \n+(H0
1633.SP 1i
1634.if t .S 36
1635${_followrel child TITLE &r.pass;}
1636.if t .S D
1637.if t .fam &family;
1638.if t .SK^</start>
1639</rule>
1640
1641<rule> <!-- Introduction to the contents of a Part -->
1642<match>
1643<gi>PARTINTRO
1644</rule>
1645
1646<rule> <!-- Telephone number in an Address -->
1647<match>
1648<gi>PHONE
1649</rule>
1650
1651<rule> <!-- Post office box number in an Address -->
1652<match>
1653<gi>POB
1654</rule>
1655
1656<rule> <!-- Postal code in an Address -->
1657<match>
1658<gi>POSTCODE
1659</rule>
1660
1661<rule> <!-- Introductory textual matter in a Book -->
1662<match>
1663<gi>PREFACE
1664<action>
1665<start>^&lt;!-- Start PREFACE (${ID}): ${_followrel child TITLE &r.pass;} -->^</start>
1666<end>^&lt;!-- End PREFACE -->^</end>
1667<incr>pfnum
1668<set>sect1num 1
1669</rule>
1670
1671<rule> <!-- Word or phrase occurring in the text that is to appear in the index
1672            under as a primary entry -->
1673<match>
1674<gi>PRIMARY
1675</rule>
1676
1677<rule> <!-- Primary entry in an Index, not in the text -->
1678<match>
1679<gi>PRIMARYIE
1680</rule>
1681
1682<rule> <!-- Printing history of a Book -->
1683<match>
1684<gi>PRINTHISTORY
1685</rule>
1686
1687<rule> <!-- List of operations to be performed -->
1688<match>
1689<gi>PROCEDURE
1690<action>
1691<start>^.AL 1^</start>
1692&m.le;
1693</rule>
1694
1695<rule> <!-- Formal name for a product -->
1696<match>
1697<gi>PRODUCTNAME
1698</rule>
1699
1700<rule> <!-- Number assigned to a product -->
1701<match>
1702<gi>PRODUCTNUMBER
1703</rule>
1704
1705<rule> <!-- Listing of all or part of a program -->
1706<match>
1707<gi>PROGRAMLISTING
1708<relation>parent EXAMPLE
1709<action>
1710<start>^.if t .br
1711.if t .S -1
1712.DS L
1713.fam C^</start>
1714<end>
1715^.fam &family;
1716.DE
1717.if t .S P
1718.continue </end>
1719</rule>
1720
1721<rule> <!-- Listing of all or part of a program -->
1722<match>
1723<gi>PROGRAMLISTING
1724<action>
1725&m.preblk;
1726</rule>
1727
1728<rule> <!-- Listing of a program or related information containing
1729            areas with associated callouts -->
1730<match>
1731<gi>PROGRAMLISTINGCO
1732</rule>
1733
1734<rule> <!-- Character indicating the start of an input field in a
1735            computer display -->
1736<match>
1737<gi>PROMPT
1738<action>
1739&m.tt;
1740</rule>
1741
1742<rule> <!-- Defined set of data associated with a window -->
1743<match>
1744<gi>PROPERTY
1745</rule>
1746
1747<rule> <!--X Date of publication of a document -->
1748<match>
1749<gi>PUBDATE
1750<action>
1751<start>^.DS C^</start>
1752<end>^.DE^</end>
1753</rule>
1754
1755<rule> <!-- Publisher of a document -->
1756<match>
1757<gi>PUBLISHER
1758</rule>
1759
1760<rule> <!-- Name of a publisher of a document in Publisher -->
1761<match>
1762<gi>PUBLISHERNAME
1763</rule>
1764
1765<rule> <!-- Number assigned to a publication, other than an ISBN or
1766            ISSN or InvPartNumber -->
1767<match>
1768<gi>PUBSNUMBER
1769</rule>
1770
1771<rule> <!-- In-line quotation -->
1772<match>
1773<gi>QUOTE
1774<relation>parent QUOTE
1775<action>
1776<start>`</start>
1777<end>'</end>
1778</rule>
1779
1780<rule> <!-- In-line quotation -->
1781<match>
1782<gi>QUOTE
1783<action>
1784<start>``</start>
1785<end>''</end>
1786</rule>
1787
1788<rule> <!-- Applicability or scope of the topic of a RefEntry -->
1789<match>
1790<gi>REFCLASS
1791</rule>
1792
1793<rule> <!-- Substitute for RefName to be used when a RefEntry covers
1794            more than one topic and none of the topic names is to be
1795            used as the sort name -->
1796<match>
1797<gi>REFDESCRIPTOR
1798</rule>
1799
1800<rule> <!-- A reference page -->
1801<match>
1802<gi>REFENTRY
1803</rule>
1804
1805<rule> <!-- Primary name given to a reference page for sorting and
1806            indexing -->
1807<match>
1808<gi>REFENTRYTITLE
1809<context>CITEREFENTRY
1810<action>
1811&m.i;
1812</rule>
1813
1814<rule> <!-- Primary name given to a reference page for sorting and
1815            indexing -->
1816<match>
1817<gi>REFENTRYTITLE
1818<action>
1819<start>&lt;HR NOSHADE>&lt;H2>${_followrel ancestor REFENTRY &r.anchor;}</start>
1820<end>&lt;/H2></end>
1821</rule>
1822
1823<rule> <!-- Collection of RefEntries, forming a book component -->
1824<match>
1825<gi>REFERENCE
1826</rule>
1827
1828<rule> <!-- First major division of a reference page, in which metainformation
1829            about the reference page is supplied -->
1830<match>
1831<gi>REFMETA
1832</rule>
1833
1834<rule> <!-- Information in RefMeta that may be supplied by vendors, or a
1835            descriptive phrase for use in a print header -->
1836<match>
1837<gi>REFMISCINFO
1838<action>
1839<ignore>all
1840</rule>
1841
1842<rule> <!-- Subject or subjects of a reference page -->
1843<match>
1844<gi>REFNAME
1845<action>
1846<start>\fB</start>
1847<end>\fP \(em </end>
1848</rule>
1849
1850<rule> <!-- Major division of a reference page containing naming,
1851            purpose, and classification information -->
1852<match>
1853<gi>REFNAMEDIV
1854<action>
1855<start>^&lt;H3>Name&lt;/H3>
1856&lt;P></start>
1857<end>^&lt;/P>^</end>
1858</rule>
1859
1860<rule> <!-- Subject of a reference page -->
1861<match>
1862<gi>REFPURPOSE
1863</rule>
1864
1865<rule> <!-- Major subsection of a RefEntry -->
1866<match>
1867<gi>REFSECT1
1868</rule>
1869
1870<rule> <!-- Subsection of a RefSect1 -->
1871<match>
1872<gi>REFSECT2
1873</rule>
1874
1875<rule> <!-- Subsection of a Refsect2 -->
1876<match>
1877<gi>REFSECT3
1878</rule>
1879
1880<rule> <!-- Major division of a reference page, in which the syntax of
1881            the subject of the reference page is indicated -->
1882<match>
1883<gi>REFSYNOPSISDIV
1884</rule>
1885
1886<rule> <!-- Information about a particular version of a document -->
1887<match>
1888<gi>RELEASEINFO
1889</rule>
1890
1891<rule> <!-- Content that may be replaced in a synopsis or command line -->
1892<match>
1893<gi>REPLACEABLE
1894<action>
1895&m.i;
1896</rule>
1897
1898<rule> <!-- Value returned by a function -->
1899<match>
1900<gi>RETURNVALUE
1901</rule>
1902
1903<rule> <!-- Revisions to a document -->
1904<match>
1905<gi>REVHISTORY
1906</rule>
1907
1908<rule> <!-- Entry in RevHistory, describing some revision made to the text -->
1909<match>
1910<gi>REVISION
1911</rule>
1912
1913<rule> <!-- Number of a Revision -->
1914<match>
1915<gi>REVNUMBER
1916</rule>
1917
1918<rule> <!-- Description of a Revision -->
1919<match>
1920<gi>REVREMARK
1921</rule>
1922
1923<rule> <!-- Row in a TBody, THead, or TFoot -->
1924<match>
1925<gi>ROW
1926<action>
1927<start>^&lt;TR valign="top">^</start>
1928<end>^&lt;/TR>^</end>
1929</rule>
1930
1931<rule> <!-- Line break in a command synopsis -->
1932<match>
1933<gi>SBR
1934<action>
1935<start>^.br^</start>
1936</rule>
1937
1938<rule> <!-- Text that a user sees or might see on a computer screen -->
1939<match>
1940<gi>SCREEN
1941<relation>parent EXAMPLE
1942<action>
1943<start>	^.if t .br
1944.if t .S -1
1945.DS L
1946.fam C^</start>
1947<end>
1948^.fam &family;
1949.DE
1950.if t .S P
1951.continue </end>
1952</rule>
1953
1954<rule> <!-- Text that a user sees or might see on a computer screen -->
1955<match>
1956<gi>SCREEN
1957<action>
1958&m.preblk;
1959</rule>
1960
1961<rule> <!-- Screen containing areas with associated callouts -->
1962<match>
1963<gi>SCREENCO
1964</rule>
1965
1966<rule> <!-- Information about how a ScreenShot was produced -->
1967<match>
1968<gi>SCREENINFO
1969</rule>
1970
1971<rule> <!-- Representation of what the user sees or might see on a
1972            computer screen -->
1973<match>
1974<gi>SCREENSHOT
1975<relation>parent EXAMPLE
1976</rule>
1977
1978<rule> <!-- Representation of what the user sees or might see on a
1979            computer screen -->
1980<match>
1981<gi>SCREENSHOT
1982</rule>
1983
1984<rule> <!-- Word or phrase in the text that is to appear in the index beneath
1985            a Primary entry -->
1986<match>
1987<gi>SECONDARY
1988</rule>
1989
1990<rule> <!-- Part of IndexEntry, like PrimaryIE -->
1991<match>
1992<gi>SECONDARYIE
1993</rule>
1994
1995<rule> <!-- Top-level section of a book component, including the Title of that
1996            section -->
1997<match>
1998<gi>SECT1
1999<action>
2000<start>${_set tlevel 2}</start>
2001</rule>
2002
2003<rule> <!-- Section beginning with a second-level heading -->
2004<match>
2005<gi>SECT2
2006<action>
2007<start>${_set tlevel 3}</start>
2008</rule>
2009
2010<rule> <!-- Section beginning with a third-level heading -->
2011<match>
2012<gi>SECT3
2013<action>
2014<start>${_set tlevel 4}</start>
2015</rule>
2016
2017<rule> <!-- Section beginning with a fourth-level heading -->
2018<match>
2019<gi>SECT4
2020<action>
2021<start>${_set tlevel 5}</start>
2022</rule>
2023
2024<rule> <!-- Section beginning with a fifth-level heading -->
2025<match>
2026<gi>SECT5
2027<action>
2028<start>${_set tlevel 5}</start>
2029</rule>
2030
2031<rule> <!-- Part of IndexTerm, indicating, for a word or phrase in the text,
2032            the index entry to which the reader is to be directed when he
2033            consults the stub index entry for another element within the
2034            IndexTerm -->
2035<match>
2036<gi>SEE
2037</rule>
2038
2039<rule> <!-- Like See, but indicates the index entries to which the reader
2040            is also to be directed when he consults a full index entry -->
2041<match>
2042<gi>SEEALSO
2043</rule>
2044
2045<rule> <!-- "See also" entry in an Index -->
2046<match>
2047<gi>SEEALSOIE
2048</rule>
2049
2050<rule> <!-- "See" entry in an Index -->
2051<match>
2052<gi>SEEIE
2053</rule>
2054
2055<rule> <!-- Component of a SegmentedList -->
2056<match>
2057<gi>SEG
2058</rule>
2059
2060<rule> <!-- List item in a SegmentedList -->
2061<match>
2062<gi>SEGLISTITEM
2063</rule>
2064
2065<rule> <!-- List of sets of information -->
2066<match>
2067<gi>SEGMENTEDLIST
2068</rule>
2069
2070<rule> <!-- Title that pertains to one Seg in each SegListItem -->
2071<match>
2072<gi>SEGTITLE
2073</rule>
2074
2075<rule> <!-- Information about the publication series of which the containing
2076            Book is a part -->
2077<match>
2078<gi>SERIESINFO
2079</rule>
2080
2081<rule> <!-- Numbers of all the volumes in a Series, for use in SeriesInfo -->
2082<match>
2083<gi>SERIESVOLNUMS
2084</rule>
2085
2086<rule> <!-- Two or more Books -->
2087<match>
2088<gi>SET
2089</rule>
2090
2091<rule> <!-- Index to a Set -->
2092<match>
2093<gi>SETINDEX
2094</rule>
2095
2096<rule> <!-- Metainformation for a Set, in which it may appear -->
2097<match>
2098<gi>SETINFO
2099</rule>
2100
2101<!-- SGMLTag in its variations -->
2102
2103<rule> <!-- Component of SGML markup -->
2104<match>
2105<gi>SGMLTAG
2106<attval>CLASS PARAMENTITY
2107<action>
2108<start>\fC%</start>
2109<end>;\fR</end>
2110</rule>
2111
2112<rule> <!-- Component of SGML markup -->
2113<match>
2114<gi>SGMLTAG
2115<attval>CLASS GENENTITY
2116<action>
2117<start>\fC&amp;</start>
2118<end>;\fR</end>
2119</rule>
2120
2121<rule> <!-- Component of SGML markup -->
2122<match>
2123<gi>SGMLTAG
2124<attval>CLASS STARTTAG
2125<action>
2126<start>\fC&lt;</start>
2127<end>>\fR</end>
2128</rule>
2129
2130<rule> <!-- Component of SGML markup -->
2131<match>
2132<gi>SGMLTAG
2133<attval>CLASS ENDTAG
2134<action>
2135<start>\fC&lt;/</start>
2136<end>>\fR</end>
2137</rule>
2138
2139<rule> <!-- Component of SGML markup -->
2140<match>
2141<gi>SGMLTAG
2142<attval>CLASS PI
2143<action>
2144<start>\fC&lt;?</start>
2145<end>>\fR</end>
2146</rule>
2147
2148<rule> <!-- Component of SGML markup -->
2149<match>
2150<gi>SGMLTAG
2151<attval>CLASS SGMLCOMMENT
2152<action>
2153<start>\fC&lt;!-- </start>
2154<end> --&gt;\fR</end>
2155</rule>
2156
2157<!-- catchall for remaining types of tags -->
2158<rule> <!-- Component of SGML markup -->
2159<match>
2160<gi>SGMLTAG
2161<action>
2162<start>\fC</start>
2163<end>\fR</end>
2164</rule>
2165
2166<rule> <!-- Brief version of of Affiliation, in which it may appear -->
2167<match>
2168<gi>SHORTAFFIL
2169</rule>
2170
2171<rule> <!-- Segment of a book component that is isolated from the narrative
2172            flow of the main text, typically boxed and floating -->
2173<match>
2174<gi>SIDEBAR
2175<action>
2176<do>&r.admon;
2177</rule>
2178
2179<rule> <!-- Paragraph that is only a text block, without included
2180            block-oriented elements -->
2181<match>
2182<gi>SIMPARA
2183</rule>
2184
2185<rule> <!-- List of single words or short phrases -->
2186<match>
2187<gi>SIMPLELIST
2188</rule>
2189
2190<rule> <!-- Section with no subdivisions -->
2191<match>
2192<gi>SIMPLESECT
2193</rule>
2194
2195<rule> <!-- Formatting information for a spanned column in a TGroup -->
2196<match>
2197<gi>SPANSPEC
2198</rule>
2199
2200<rule> <!-- State in an Address -->
2201<match>
2202<gi>STATE
2203</rule>
2204
2205<rule> <!-- Part of a Procedure -->
2206<match>
2207<gi>STEP
2208<action>
2209<start>^.LI^</start>
2210</rule>
2211
2212<rule> <!-- Street in an Address -->
2213<match>
2214<gi>STREET
2215</rule>
2216
2217<rule> <!-- Field in a Structure -->
2218<match>
2219<gi>STRUCTFIELD
2220</rule>
2221
2222<rule> <!-- Name of a Structure -->
2223<match>
2224<gi>STRUCTNAME
2225</rule>
2226
2227<rule> <!-- Subscript -->
2228<match>
2229<gi>SUBSCRIPT
2230<action>
2231<start>\s-(03\v'+3p'</start>
2232<end>\v'-3p'\s+(03</end>
2233</rule>
2234
2235<rule> <!-- Wrapper for Steps within Steps -->
2236<match>
2237<gi>SUBSTEPS
2238<action>
2239<start>^.AL 1^</start>
2240&m.le;
2241</rule>
2242
2243<rule> <!-- Subtitle of a document -->
2244<match>
2245<gi>SUBTITLE
2246<action>
2247<start>^.DS C
2248.S 14
2249.I^</start>
2250<end>^.R
2251.S P
2252.DE^</end>
2253</rule>
2254
2255<rule> <!-- Superscript -->
2256<match>
2257<gi>SUPERSCRIPT
2258<action>
2259<start>\s-(03\v'-3p'</start>
2260<end>\v'+3p'\s+(03</end>
2261</rule>
2262
2263<rule> <!-- Family name -->
2264<match>
2265<gi>SURNAME
2266</rule>
2267
2268<rule> <!-- Name that is replaced by a value before processing -->
2269<match>
2270<gi>SYMBOL
2271<action>
2272&m.tt;
2273</rule>
2274
2275<rule> <!-- Part of CmdSynopsis -->
2276<match>
2277<gi>SYNOPFRAGMENT
2278</rule>
2279
2280<rule> <!-- Part of a CmdSynopsis -->
2281<match>
2282<gi>SYNOPFRAGMENTREF
2283</rule>
2284
2285<rule> <!-- Syntax of a command or function -->
2286<match>
2287<gi>SYNOPSIS
2288<action>
2289&m.blk;
2290</rule>
2291
2292<rule> <!-- System-related term or item -->
2293<match>
2294<gi>SYSTEMITEM
2295<action>
2296&m.tt;
2297</rule>
2298
2299<rule> <!-- Table in a document -->
2300<match>
2301<gi>TABLE
2302<attval>FRAME none
2303<action>
2304<start>^.br
2305${_action &r.anchor;t}&lt;STRONG>${_gi M} ${tabnum}:&lt;/STRONG>
2306${_followrel child TITLE &r.pass;}&lt;/P>&lt;TABLE>^</start>
2307<end>^&lt;/TABLE>
2308.br^</end>
2309<incr>tabnum
2310</rule>
2311
2312<rule> <!-- Table in a document -->
2313<match>
2314<gi>TABLE
2315<action>
2316<start>^.br
2317${_action &r.anchor;t}&lt;STRONG>${_gi M} ${tabnum}:&lt;/STRONG>
2318${_followrel child TITLE &r.pass;}&lt;/P>&lt;TABLE border="1">^</start>
2319<end>^&lt;/TABLE>
2320.br^</end>
2321<incr>tabnum
2322</rule>
2323
2324<rule> <!-- Wrapper for the Rows of a Table or InformalTable -->
2325<match>
2326<gi>TBODY
2327</rule>
2328
2329<rule> <!-- Hanging term attached to a ListItem within a VarListEntry in a
2330            VariableList -->
2331<match>
2332<gi>TERM
2333<action>
2334<start>^.LI "</start>
2335<end>"^</end>
2336</rule>
2337
2338<rule> <!-- Word or phrase that is to appear in the index under a Secondary
2339            entry -->
2340<match>
2341<gi>TERTIARY
2342</rule>
2343
2344<rule> <!-- Third-level entry in an Index, not in the text -->
2345<match>
2346<gi>TERTIARYIE
2347</rule>
2348
2349<rule> <!-- Footer row of a table -->
2350<match>
2351<gi>TFOOT
2352</rule>
2353
2354<rule> <!-- Wrapper for part of a Table that contains an array along
2355with its
2356            formatting information -->
2357<match>
2358<gi>TGROUP
2359<relation>parent INFORMALTABLE
2360<action>
2361<start>^&lt;TABLE>^</start>
2362<end>^&lt;/TABLE>^</end>
2363</rule>
2364
2365<rule> <!-- Wrapper for part of a Table that contains an array along with its
2366            formatting information -->
2367<match>
2368<gi>TGROUP
2369</rule>
2370
2371<rule> <!-- Heading row of a table -->
2372<match>
2373<gi>THEAD
2374</rule>
2375
2376<rule> <!-- Suggestion to the user, set off from the text -->
2377<match>
2378<gi>TIP
2379<action>
2380<do>&r.admon;
2381</rule>
2382
2383<rule> <!-- Text of a heading or the title of a block-oriented element -->
2384<match>
2385<gi>TITLE
2386<relation>parent BLOCKQUOTE
2387<action>
2388<start>^.nr Hu 3
2389.HU "</start>
2390<end>"^</end>
2391</rule>
2392
2393<!-- Title in bookbiblio -->
2394
2395<rule> <!-- Text of a heading or the title of a block-oriented element -->
2396<match>
2397<gi>TITLE
2398<context>BOOKBIBLIO
2399<action>
2400<start>^.DS C
2401.S 16^</start>
2402<end>^.S P
2403.DE^</end>
2404</rule>
2405
2406<!-- Titles in other sections -->
2407
2408<rule> <!-- Text of a heading or the title of a block-oriented element -->
2409<match>
2410<gi>TITLE
2411<context>^REF.*
2412<action>
2413<start>^&lt;H3></start>
2414<end>^&lt;/H3></end>
2415</rule>
2416
2417<rule> <!-- Text of a heading or the title of a block-oriented element -->
2418<match>
2419<gi>TITLE
2420<context>PART
2421<!-- <action>
2422<start>^&lt;H1>&lt;A NAME="pt-${partnum}">&lt;/A>${_followrel parent PART &r.anchor;t}&hlofont;Part ${partnum}:&lt;BR>^</start>
2423<end>&hlcfont;&lt;/H1>
2424${_followrel parent PART &r.chtoc;t}^</end>-->
2425</rule>
2426
2427<rule> <!-- Text of a heading or the title of a block-oriented element -->
2428<match>
2429<gi>TITLE
2430<context>APPENDIX
2431<action>
2432<start>^&lt;H1>&lt;A NAME="ch-${chapnum}">&lt;/A>${_followrel parent APPENDIX &r.anchor;t}&hlofont;${chapnum}.&wspace;^</start>
2433<end>&hlcfont;&lt;/H1>
2434${_followrel parent APPENDIX &r.s1toc;t}^</end>
2435</rule>
2436
2437
2438<rule> <!-- Text of a heading or the title of a block-oriented element -->
2439<match>
2440<gi>TITLE
2441<context>FIGURE|EXAMPLE|TABLE|CAUTION|IMPORTANT|NOTE|TIP|WARNING
2442<action>
2443<ignore>all
2444</rule>
2445
2446<rule> <!-- Text of a heading or the title of a block-oriented element -->
2447<match>
2448<gi>TITLE
2449<context>GLOSSARY
2450<action>
2451<ignore>all
2452</rule>
2453
2454<rule> <!-- Text of a heading or the title of a block-oriented element -->
2455<match>
2456<gi>TITLE
2457<action>
2458<start>^.H ${tlevel} "</start>
2459<end>"^</end>
2460</rule>
2461
2462<rule> <!-- Abbreviated title -->
2463<match>
2464<gi>TITLEABBREV
2465<action>
2466<ignore>all
2467</rule>
2468
2469<rule> <!-- Table of contents -->
2470<match>
2471<gi>TOC
2472</rule>
2473
2474<rule> <!-- Entry for back matter in a ToC -->
2475<match>
2476<gi>TOCBACK
2477</rule>
2478
2479<rule> <!-- Entry in a ToC for a part of the body of a Book -->
2480<match>
2481<gi>TOCCHAP
2482</rule>
2483
2484<rule> <!-- Entry in a ToC or its subelements -->
2485<match>
2486<gi>TOCENTRY
2487</rule>
2488
2489<rule> <!-- Entry for introductory matter in a ToC -->
2490<match>
2491<gi>TOCFRONT
2492</rule>
2493
2494<rule> <!-- Top-level entry within a ToCchap -->
2495<match>
2496<gi>TOCLEVEL1
2497</rule>
2498
2499<rule> <!-- Second-level entry within a ToCchap -->
2500<match>
2501<gi>TOCLEVEL2
2502</rule>
2503
2504<rule> <!-- Third-level entry within a ToCchap -->
2505<match>
2506<gi>TOCLEVEL3
2507</rule>
2508
2509<rule> <!-- Fourth-level entry within a ToCchap -->
2510<match>
2511<gi>TOCLEVEL4
2512</rule>
2513
2514<rule> <!-- Fifth-level entry within a ToCchap -->
2515<match>
2516<gi>TOCLEVEL5
2517</rule>
2518
2519<rule> <!-- Entry in a ToC for a Part of a Book -->
2520<match>
2521<gi>TOCPART
2522</rule>
2523
2524<rule> <!-- Unit of information in the context of lexical analysis -->
2525<match>
2526<gi>TOKEN
2527</rule>
2528
2529<rule> <!-- Trademark -->
2530<match>
2531<gi>TRADEMARK
2532<action>
2533<end>\(rg</end>
2534</rule>
2535
2536<rule> <!-- Classification of a value -->
2537<match>
2538<gi>TYPE
2539<action>
2540&m.tt;
2541</rule>
2542
2543<rule> <!-- Link that addresses its target by means of a Uniform Resource
2544            Locator -->
2545<match>
2546<gi>ULINK
2547<attval>TYPE noprint
2548</rule>
2549
2550<rule> <!-- Link that addresses its target by means of a Uniform Resource
2551            Locator -->
2552<match>
2553<gi>ULINK
2554<attval>URL .
2555<action>
2556<end>\*F
2557.FS
2558\fC${URL}\fP
2559.FE
2560.continue </end>
2561</rule>
2562
2563<rule> <!-- Data entered by the user -->
2564<match>
2565<gi>USERINPUT
2566<action>
2567<start>\fB</start>
2568<end>\fP</end>
2569</rule>
2570
2571<rule> <!-- Empty element, part of FuncSynopsis, indicating that the Function in
2572            question has a variable number of arguments -->
2573<match>
2574<gi>VARARGS
2575</rule>
2576
2577<rule> <!--X List in which each entry is composed of sets of one or more
2578            Terms with associated ListItems -->
2579<match>
2580<gi>VARIABLELIST
2581<action>
2582<start>^.BVL \n(Li \n(Li*1/2^</start>
2583&m.le;
2584</rule>
2585
2586<rule> <!-- Wrapper for Term and its associated ListItem in a
2587            VariableList -->
2588<match>
2589<gi>VARLISTENTRY
2590</rule>
2591
2592<rule> <!-- Empty element, part of FuncSynopsis, that indicates that the Function in
2593            question takes no arguments -->
2594<match>
2595<gi>VOID
2596</rule>
2597
2598<rule> <!-- Number of a Book in relation to Set, or of a journal, when Book
2599            is used to represent a journal by containing Articles -->
2600<match>
2601<gi>VOLUMENUM
2602</rule>
2603
2604<rule> <!-- Admonition set off from the text -->
2605<match>
2606<gi>WARNING
2607<action>
2608<do>&r.admon;
2609</rule>
2610
2611<rule> <!-- Word -->
2612<match>
2613<gi>WORDASWORD
2614<action>
2615<start>``</start>
2616<end>''</end>
2617</rule>
2618
2619<rule> <!-- Cross reference link to another part of the document -->
2620<match>
2621<gi>XREF
2622<attval>REMAP .
2623<action>
2624<replace>\fI${REMAP}\fP (section\~
2625.GETHN "${LINKEND}"
2626, page\~
2627.GETPN "${LINKEND}"
2628)</replace>
2629</rule>
2630
2631<rule> <!-- Cross reference link to another part of the document -->
2632<match>
2633<gi>XREF
2634<action>
2635<replace>\fI${_chasetogi TITLE &r.pass}\fP (section\~
2636.GETHN "${LINKEND}"
2637, page\~
2638.GETPN "${LINKEND}"
2639)</replace>
2640</rule>
2641
2642<rule> <!-- Year of publication of a document -->
2643<match>
2644<gi>YEAR
2645<action>
2646<start>^</start>
2647<end>^</end>
2648</rule>
2649
2650<rule> <!-- Absorb anything that mannages to get this
2651            far without a match so it does not accidentally
2652            match the rules below which are meant to be
2653            explicitly invoked from other rules. -->
2654<match>
2655<gi>*
2656</rule>
2657
2658<!-- Just pass the content and child elements through. -->
2659<rule id="&r.pass;">
2660<match>
2661<gi>_pass-text
2662</rule>
2663
2664<!-- Output an HTML anchor if the ID is set. -->
2665<rule id="&r.anchor;">
2666<match>
2667<attval>ID .
2668<action>
2669<replace>^.SETR "${ID}"^</replace>
2670</rule>
2671
2672<rule id="&r.ignore;">
2673<match>
2674<gi>_no_pass_text
2675<action>
2676<ignore>all
2677</rule>
2678
2679<rule id="&r.admon;">
2680<match>
2681<gi>_admonition
2682<action>
2683<start>
2684&lt;CENTER>${_action &r.anchor;t}&lt;TABLE align="center" border="1" cellpadding="5" width="90%">
2685&lt;TR>
2686&lt;TD&c.admon;>&lt;P>&lt;STRONG>${_followrel child TITLE &r.pass; &r.prgi;}:&lt;/STRONG>&lt;/P></start>
2687<end>^&lt;/TD>&lt;/TR>&lt;/TABLE>&lt;/CENTER>
2688</end>
2689</rule>
2690
2691<rule id="&r.prgi;">
2692<match>
2693<gi>_prgi
2694<action>
2695<replace>${_gi M}</replace>
2696</rule>
2697
2698<!-- Generate tables of contents.  Each r.??toc scans the subtree for
2699     sectional elements of the specified level, generating a list of links. -->
2700
2701<rule id="&r.pttoc;">
2702<match>
2703<relation>descendant PART
2704<action>
2705<replace>^&lt;DL>${_set anchorinhibit 1}
2706${_find gi PART &r.pttoci;}
2707${_set anchorinhibit 0}&lt;/DL>${_set partnum 1}^</replace>
2708</rule>
2709
2710<rule id="&r.pttoci;">
2711<match>
2712<gi>_pttoc
2713<action>
2714<replace>&lt;DD>Part ${partnum}.&wspace;&lt;EM>&lt;A HREF="#pt-${partnum}">${_followrel descendant TITLE &r.pass;}&lt;/A>&lt;/EM>&lt;/DD>^</replace>
2715<incr>partnum
2716</rule>
2717
2718<rule id="&r.chtoc;">
2719<match>
2720<relation>descendant CHAPTER
2721<action>
2722<replace>^&lt;DL>${_set anchorinhibit 1}
2723${_set tmpchapnum ${pfpnum}}${_find gi PREFACE &r.pftoci;}${_set pfnum ${tmpchapnum}}
2724${_set tmpchapnum ${chapnum}}${_find gi CHAPTER &r.chtoci;}${_set chapnum ${appnum}}${_find gi APPENDIX &r.chtoci;}
2725${_set anchorinhibit 0}&lt;/DL>^</replace>
2726<set>chapnum ${tmpchapnum}
2727</rule>
2728
2729<rule id="&r.chtoci;">
2730<match>
2731<gi>_chtoc
2732<action>
2733<replace>&lt;DD>${chapnum}.&wspace;&lt;EM>&lt;A HREF="#ch-${chapnum}">${_followrel descendant TITLE &r.pass;}&lt;/A>&lt;/EM>&lt;/DD>^</replace>
2734<incr>chapnum
2735</rule>
2736
2737<rule id="&r.pftoci;">
2738<match>
2739<gi>_aptoc
2740<action>
2741<replace>&lt;DD>&lt;EM>&lt;A HREF="#pf-${pfnum}">${_followrel descendant TITLE &r.pass;}&lt;/A>&lt;/EM>&lt;/DD>^</replace>
2742<incr>pfnum
2743</rule>
2744
2745<rule id="&r.s1toc;">
2746<match>
2747<relation>descendant SECT1
2748<action>
2749<replace>^${_set anchorinhibit 1}&lt;DL>
2750${_find gi SECT1 &r.s1toci;}
2751${_set anchorinhibit 0}&lt;/DL>${_set sect1num 1}^</replace>
2752</rule>
2753
2754<rule id="&r.s1toci;">
2755<match>
2756<gi>_s1toc
2757<action>
2758<replace>&lt;DD>${chapnum}.${sect1num}.&wspace;&lt;EM>&lt;A HREF="#s1-${chapnum}-${sect1num}">${_followrel descendant TITLE &r.pass;}&lt;/A>&lt;/EM>&lt;/DD>^</replace>
2759<incr>sect1num
2760</rule>
2761
2762<rule id="&r.s2toc;">
2763<match>
2764<relation>descendant SECT2
2765<action>
2766<replace>^${_set anchorinhibit 1}&lt;DL>
2767${_find gi SECT2 &r.s2toci;}
2768${_set anchorinhibit 0}&lt;/DL>${_set sect2num 1}^</replace>
2769</rule>
2770
2771<rule id="&r.s2toci;">
2772<match>
2773<gi>_s2toc
2774<action>
2775<replace>&lt;DD>${chapnum}.${sect1num}.${sect2num}.&wspace;&lt;EM>&lt;A HREF="#s2-${chapnum}-${sect1num}-${sect2num}">${_followrel descendant TITLE &r.pass;}&lt;/A>&lt;/EM>&lt;/DD>^</replace>
2776<incr>sect2num
2777</rule>
2778
2779<rule id="&r.s3toc;">
2780<match>
2781<relation>descendant SECT3
2782<action>
2783<replace>^${_set anchorinhibit 1}&lt;DL>
2784${_find gi SECT3 &r.s3toci;}
2785${_set anchorinhibit 0}&lt;/DL>${_set sect3num 1}^</replace>
2786</rule>
2787
2788<rule id="&r.s3toci;">
2789<match>
2790<gi>_s3toc
2791<action>
2792<replace>&lt;DD>${chapnum}.${sect1num}.${sect2num}.${sect3num}.&wspace;&lt;EM>&lt;A HREF="#s3-${chapnum}-${sect1num}-${sect2num}-${sect3num}">${_followrel descendant TITLE &r.pass;}&lt;/A>&lt;/EM>&lt;/DD>^</replace>
2793<incr>sect3num
2794</rule>
2795
2796<!-- These two are for handling the case of a block element that
2797     can occur in a docbook <para>, but not in an html <p>.  Call
2798     the first in the <start> of such an element, and the second
2799     in the <end> which will close and re-open the html <p>. -->
2800
2801<rule id="&r.blkps;">
2802<match>
2803<relation>parent PARA
2804<action>
2805<replace></replace>
2806</rule>
2807
2808<rule id="&r.blkpe;">
2809<match>
2810<relation>parent PARA
2811<action>
2812<replace></replace>
2813</rule>
2814
2815<!-- Simply output a hyphen -->
2816<rule id="&r.hyphen;">
2817<match>
2818<gi>_hyphen
2819<action>
2820<replace>-</replace>
2821</rule>
2822
2823<!-- Force a linebreak -->
2824<rule id="&r.nl;">
2825<match>
2826<gi>_nl
2827<action>
2828<replace>^</replace>
2829</rule>
2830
2831<!-- Insert a header file -->
2832<rule id="&r.inchdr;">
2833<match>
2834<varval>inchdr .
2835<action>
2836<replace>${_include ${inchdr}}</replace>
2837</rule>
2838
2839<!-- Insert a footer file -->
2840<rule id="&r.incftr;">
2841<match>
2842<varval>incftr .
2843<action>
2844<replace>${_include ${incftr}}</replace>
2845</rule>
2846
2847
2848
2849</transpec>
2850