1 .\
" $NetBSD: tmac.e,v 1.8 1998/05/09 07:18:17 mycroft Exp $
4 .\
" Copyright (c) 1988, 1993
5 .\" The Regents of the University of California
. All rights reserved
.
7 .\" Redistribution
and use in source
and binary forms
, with
or without
8 .\
" modification, are permitted provided that the following conditions
10 .\
" 1. Redistributions of source code must retain the above copyright
11 .\" notice
, this list of conditions
and the following disclaimer
.
12 .\
" 2. Redistributions in binary form must reproduce the above copyright
13 .\" notice
, this list of conditions
and the following disclaimer in the
14 .\
" documentation and/or other materials provided with the distribution.
15 .\" 3. Neither the name of the University nor the names of its contributors
16 .\
" may be used to endorse or promote products derived from this software
17 .\" without specific prior written permission
.
19 .\" THIS SOFTWARE
IS PROVIDED BY THE REGENTS
AND CONTRIBUTORS ``
AS IS'' AND
20 .\
" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE
22 .\
" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 .\" FOR ANY DIRECT
, INDIRECT
, INCIDENTAL
, SPECIAL
, EXEMPLARY
, OR CONSEQUENTIAL
24 .\
" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES
; LOSS OF USE
, DATA
, OR PROFITS
; OR BUSINESS INTERRUPTION
)
26 .\
" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY
, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE
) ARISING IN ANY WAY
28 .\
" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" @
(#
)tmac
.e
8.1 (Berkeley
) 6/5/93
35 .\"**********************************************************************
37 .\"* ****** - M E N R O F F
/ T R O F F M A C R O S
****** *
39 .\"* Produced for your edification
and enjoyment by
: *
41 .\"* Electronics Research Laboratory
*
43 .\"* current address
: *
44 .\
"* Britton-Lee, Inc. *
45 .\"* 1919 Addison Street Suite
105 *
46 .\
"* Berkeley, California 94704 *
48 .\
"* VERSION 8.1 First Release: 11 Sept 1978 *
49 .\"* See file \
*(||
/revisions for revision history
*
51 .\"* Documentation
is available
. *
53 .\"**********************************************************************
55 .\" Code on
.de commands
:
56 .\
" *** a user interface macro.
57 .\" &&& a user interface macro which
is redefined
58 .\
" when used to be the real thing.
59 .\" $$$ a macro which may be redefined by the user
60 .\
" to provide variant functions.
61 .\" --- an internal macro.
63 .\" library directory for sourced files
:
67 .if !\n(.V .tm You are using the wrong version of NROFF/TROFF!!
68 .if !\n(.V .tm This macro package works only on the version seven
69 .if !\n(.V .tm release of NROFF and TROFF.
73 .\"\f *** INTERNAL GP MACROS
***
74 .de @C \
" --- change ev's, taking info with us
93 .de @D \" --- determine display type (Indent, Left, Center)
107 .de @z \
" --- end macro
108 .if \n@>1 .tm >> @z, .z=\\n(.z ?a=\\n(?a
111 . tm Line \\
n(c
. -- Unclosed block, footnote, or other diversion (\\n(.z)
116 . bp \
" force out final table
118 .rm @b\" \
" don't start another page
124 .de @I \" --- initialize processor
131 .\
"\f *** STANDARD HEADERS AND FOOTERS ***
132 .de he \" *** define header
140 . ds |
4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
141 . ds |5 "\\$
1 \\$
2 \\$
3 \\$
4 \\$
5 \\$
6 \\$
7 \\$
8 \\$
9
144 .de eh \
" *** define even header
148 . ds |4 "\\$
1 \\$
2 \\$
3 \\$
4 \\$
5 \\$
6 \\$
7 \\$
8 \\$
9
150 .de oh \
" *** define odd header
154 . ds |5 "\\$
1 \\$
2 \\$
3 \\$
4 \\$
5 \\$
6 \\$
7 \\$
8 \\$
9
156 .de fo \
" *** define footer
164 . ds |6 "\\$
1 \\$
2 \\$
3 \\$
4 \\$
5 \\$
6 \\$
7 \\$
8 \\$
9
165 . ds |
7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
168 .de ef \" *** define even foot
172 . ds |
6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
174 .de of \" *** define odd footer
178 . ds |
7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
180 .de ep \" *** end page (must always be followed by a
.bp
)
188 .\
"\f *** INTERNAL HEADER AND FOOTER MACROS ***
190 .if \n@
>1 .tm
>> @h %
=\\n% ?a
=\\
n(?a ?b
=\\
n(?b ?w
=\\
n(?w
191 .if (\\
n(.i
+\\
n(.o
)>=\\
n(.l \
192 . tm Line \\
n(c
. -- Offset + indent exceeds line length
193 .if t
.if (\\
n(.l
+\\
n(.o
)>7.75i \
194 . tm Line \\
n(c
. -- Offset + line length exceeds paper width
195 .\
" initialize a pile of junk
196 .nr ?h \\n(?H \" transfer
"next page" to
"this page"
200 .if !"\\*(|4"" .rn |4 |0
201 .if !"\\
*(|
5"" .rn |
5 |
1
202 .if !"\\*(|6"" .rn |6 |2
203 .if !"\\
*(|
7"" .rn |
7 |
3
204 .nr _w
0 \
" reset max footnote width
205 .nr ?W 0 \" no wide floats this
page (yet
)
207 .\
" begin actual header stuff
210 .if t .@m \" output cut mark
212 . sp |\\
n(hmu \
" move to header position
213 .@t $h \" output header title
216 .sp |\\
n(tmu \
" move to top of text
218 .mk _k \" for columned output
219 .if \\
n(?n
.nm
1 \
" restore line numbering if n1 mode
220 .nr $c 1 \" set first column
221 .if \n@
>4 .tm
-- @h >> .ns nl=\\n(nl %=\\n% _k=\\n(_k tm=\\n(tm
229 . @n \" begin the column
234 . de @m \" --- output cut mark (only on C/A/T-style)
242 .de @n \" --- new column or page
243 .if \n@>3 .tm >> @n nl=\\n(nl %=\\n% ?f=\\n(?f ?o=\\n(?o
246 .if (\\n(_w<=\\n($l)&(\\n(?W=0) \
248 . nr _b (\\n(ppu*\\n($ru)/2u \" compute fudge factor (must be < 1P)
249 . if \\n(_bu>((\\n(bmu-\\n(fmu-(\\n(tpu*\\n($ru))/2u) \
250 . nr _b (\\n(ppu*\\n($ru)-\n(.Vu
256 .nr _b +(\\n(ppu*\\n($ru) \" add 1 paragraph v in case of sweep past
257 .if \n@>2 .tm @n .p=\\n(.p bm=\\n(bm _b=\\n(_b _B=\\n(_B
258 .nr ?f 0 \" reset footnote flag
261 . (f _ \" reprocess footnotes which run off page
273 . |h \" output the table header
276 . mk #T \" for tbl commands
279 .if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
281 . nr ?a 0 \" output floating keep
284 . mk _k \" don't overstrike wide keeps
288 .$H \
" special column header macro
292 .if \n@
>1 .tm
>> @f %
=\\n% nl
=\\
n(nl ?a
=\\
n(?a ?b
=\\
n(?b ?f
=\\
n(?f
293 .if \n@
>2 .nr VL \\
n(.pu
-\\
n(nlu
294 .if \n@
>2 .tm @f bm
=\\
n(bm _B
=\\
n(_B _b
=\\
n(_b
.p
-nl
=\\
n(VL
298 . nr T
. 1 \
" for tbl commands (to output bottom line)
299 . T# 1 \" output the sides
and bottom lines
307 . @k |b\
" \" output bottom of page tables
310 . @o \
" output footnote if present
312 . @c \" handle new column
318 .de @o \" --- output footnote
322 .if \n@
>2 .tm @o last printed text
= \\
n(nl placing @r trap at
-\\
n(_B
326 .if \n@
>2 .tm @o triggered @
r (?o
) = \\
n(?o
329 . di \
" just in case triggered @r
341 .de @c \" --- new column
342 .if \n@
>2 .tm
>> @c %
=\\n
%
349 .de @e \
" --- end page
353 .sp |\\n(.pu-\\n(fmu-(\\n(tpu*\\n($ru) \" move to footer position
354 .@t $f \
" output footer title
358 .de @t \" --- output header or footer title
361 . sz \\
n(tp \
" set header/footer type fonts, etc.
363 . lt \\n(_Lu \" make title span entire page
369 .de $h \
" $$$ print header
373 . if e .ds |z "\\
*(|
0
374 . if o
.ds |z
"\\*(|1
376 .if !\(ts\\*(|z\(ts\(ts \
380 .de $f \" $$$ print footer
384 . if e
.ds |z
"\\*(|0
385 . if o .ds |z "\\
*(|
1
387 .if \
(ts\\
*(|z\
(ts\
(ts \
389 . if e
.ds |z
"\\*(|2
390 . if o .ds |z "\\
*(|
3
392 .if !\
(ts\\
*(|z\
(ts\
(ts \
396 .de @r \" --- reprocess overflow footnotes
397 .if \n@>3 .tm >> @r .z=\\n(.z ?f=\\n(?f ?a=\\n(?a ?b=\\n(?b _b=\\n(_b
398 .di |o \" save overflow footnote
403 .\"\f *** COMMANDS WITH VARIANT DEFINITIONS ***
404 .rn bp @b \" --- begin page
405 .de bp \" *** begin new page (overrides columns)
406 .nr $c \\n($m \" force new page, not new column
414 . @h \" 'spring
' the header trap
417 .wh 0 @h \" reset header
419 .rn ll xl \" *** special line length (local)
420 .de ll \" *** line length (global to environments)
424 .if (\\n($m<=1):(\\n($l>\\n(_L) \
427 .rn po @O \" --- local page offset
428 .de po \" *** page offset
432 .\"\f *** MISCELLANEOUS ROFF COMMANDS ***
433 .de hx \" *** suppress headers and footers next page
436 .de ix \" *** indent, no break
439 .de bl \
" *** contiguous blank lines
445 .de n1 \" *** line numbering
1
450 .de n2 \
" *** line numbering 2
457 .de pa \" *** new page
460 .de ro \
" *** roman page numbers
463 .de ar \" *** arabic page numbers
466 .de m1 \
" *** position one space
469 .nr tm +\\n(hmu-\\n(_0u
472 .de m2 \" *** position two space
473 .nr tm \\
n(hmu
+\\
n(tpp
+\\$
1v
475 .de m3 \
" *** position three space
476 .nr bm \\n(fmu+\\n(tpp+\\$1v
478 .de m4 \" *** position four space
481 .nr bm
+\\
n(fmu
-\\
n(_0u
483 .de sk \
" *** leave a blank page (next page)
485 . tm Line \\n(c. -- I cannot skip multiple pages
488 .\"\f *** MISCELLANEOUS USER SUPPORT COMMANDS
***
489 .de re \
" *** reset tabs (TROFF defines 15 stops default)
490 .ta 0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i
493 .de re \" *** reset
tabs (NROFF version
)
494 .ta
0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
+0.8i
496 .de ba \
" *** set base indent
500 . nr $i \\n(siu*\\n($0u
502 .de hl \" *** draw horizontal line
507 .\
"\f *** PARAGRAPHING ***
508 .de pp \" *** paragraph
511 .de lp \
" *** left aligned paragraph
517 .de ip \" *** indented paragraph w
/ optional tag
518 .if (\\
n(ii
>0)&(\\
n(ii
<1n
) \
527 . ie \\w
"\\$1">=\\
n(_0 \
532 . el \
&\\$
1\h
'|\\n(_0u'\c
536 .de np \
" *** numbered paragraph
538 . nr $p 0 \" reset number after
.bu
539 .nr $p
+1 \
" increment paragraph number
542 \0(\\n($p)\h'|\w'\0(000)\0'u'\c
544 .de bu \" *** bulleted paragraph
547 . ns \
" don't space between .bu paragraphs
548 .nr $p 0-1 \" mark
"bulleted paragraph" mode
553 .de @p \
" --- initialize for paragraph
554 .@I \" initialize macro processor
555 .if "\\n(.z"|e
" .tm Line \\n(c. -- Unmatched continued equation
567 .\"\f *** SECTION HEADINGS
***
568 .de sh \
" &&& section heading
571 .sh "\\$
1" "\\$
2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
574 .de $p \" $$$ print section heading
575 .if (\\
n(si
>0)&(\\
n(.$
>2) \
580 . sp \\n(ssu \" one of them
is non
-null
581 . ne \\
n(.Lv
+\\
n(.Vu
+\\
n(psu
+(\\
n(spu
*\\
n($ru
*\\
n(.Lu
)
583 . ti
-(\\
n(siu
-\\
n(sou
)
590 . if \w
"\\$2">0 \\$
2.
591 . if \w
"\\$1">0 \\$
1\f1\ \ \
&
598 .de uh \
" *** unnumbered section heading
604 .\"\f *** COLUMNNED OUTPUT
***
605 .de
2c \
" *** double columned output
608 . 1c \" revert to
1c
if already
2c
614 . nr $s \\$
1n \
" param 1: column seperation
615 .nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
620 .de 1c \" *** single columned output
624 .ll \\
n(_Lu \
" return to normal output
628 .de bc \" *** begin column
631 .\
"\f *** FLOATING TABLES AND NONFLOATING BLOCKS ***
632 .de (z \" &&& begin floating keep
638 .de
)z \
" &&& end floating keep
639 .tm Line \\n(c. -- unmatched .)z
641 .de (t \" XXX temp ref
to (z
644 .de
)t \
" XXX temp ref to )t
647 .de (b \" *** begin block
653 .de
)b \
" *** end block
656 .if (\\n(bt=0):(\\n(.t<\\n(bt) \
657 . ne \\n(dnu \" make it
all on one page
667 .sp \\
n(bsu
+\\
n(.Lv
-1v
669 .de @
( \
" --- begin keep
670 .if !"\\
n(.z
"" .tm Line \\
n(c
. -- Illegal nested keep \\n(.z
675 .de @M \" --- set modes for display
682 . fi \" set fill mode if "F" parameter
693 .de @) \" --- end keep
695 .if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
701 .de (c \" *** begin block centered text
702 .if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
705 .de )c \" *** end block centered text
706 .if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
707 .br \" force out final line
709 .if \n@>4 .tm >> .)c .l=\\n(.l .i=\\n(.i $i=\\n($i dl=\\n(dl
712 .in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
713 .if \n@>4 .tm -- .)c << .in .l=\\n(.l .i=\\n(.i dl=\\n(dl
722 .\"\f *** BLOCK QUOTES (OR WHATEVER) AND LISTS ***
723 .de (q \" *** begin block quote
732 .de )q \" *** end block quote
735 .sp \\n(qsu+\\n(.Lv-1v
738 .de (l \" *** begin list
744 .de )l \" *** end list
747 .sp \\n(bsu+\\n(.Lv-1v
750 .\"\f *** PREPROCESSOR SUPPORT ***
754 .de EQ \" &&& begin equation
763 .de TS \" &&& begin table
772 .de ]- \" &&& initialize reference
778 .de ]< \" &&& initialize reference
785 .if t .ds [. \s-2\v'-.4m
'\f1
787 .if t .ds .] \v'.4m
'\s+2\fP
795 .de IS \" *** start ideal picture
803 .de IE \" *** end ideal picture
810 .de PS \" *** start picture: $1=height, $2=width in units or inches
814 .in (\\n(.lu-\\n(g7u)/2u
819 .de PE \" *** end picture
828 .de GS \" *** start gremlin picture
829 .nr g7 (\\n(.lu-\\n(g1u)/2u
830 .if "\\$1"L" .nr g7 \\n(.iu
831 .if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u
838 .de GE \" *** end gremlin picture
842 .de GF \" *** finish gremlin picture; stay at top
847 .\"\f *** FONT AIDS ***
848 .de sz \" *** set point size and vertical spacing
850 .vs \\n(.su*\\n($ru \" default vs at pointsize + 20%
853 .de r \" *** enter roman font
857 .if \\n(.$ \&\\$1\f\\n(_F\\$2
860 .de i \" *** enter italic
864 .if \\n(.$ \&\\$1\f\\n(_F\\$2
867 .de b \" *** enter boldface (underline in NROFF)
871 .if \\n(.$ \&\\$1\f\\n(_F\\$2
874 .de rb \" *** enter real boldface (not underlined in NROFF)
878 .if \\n(.$ \&\\$1\f\\n(_F\\$2
881 .de u \" *** enter underlined word
884 .de q \" *** enter quoted word
885 \&\\*(lq\\$1\\*(rq\\$2
887 .de bi \" *** enter word in bold italics
889 .ie t \&\k~\\$1\h'|\\n~u
+(\\w
' 'u
/4u)'\\$1\fP\\$2
892 .de bx \" *** enter boxed word
893 .ie \\n($T \&\f2\\$1\fP\\$2
894 .el \k~\(br\|\\$1\|\(br\l'|\\n~u\
(rn
'\l'|\\n~u\
(ul
'\^\\$2
896 .de sm \" *** print in smaller font
899 .de @F \" --- change font (8 -> underlined, 0 -> no change)
910 .\"\f *** FOOTNOTING ***
911 .de (f \" &&& begin footnote
913 .so \\*(||/footnote.me
917 .de )f \" &&& end footnote
918 .tm Line \\n(c. -- unmatched .)f
920 .de $s \" $$$ footnote separator
925 .\"\f *** DELAYED TEXT ***
926 .de (d \" &&& begin delayed text
928 .so \\*(||/deltext.me
932 .de )d \" &&& end delayed text
933 .tm Line \\n(c. -- unmatched .)d
935 .\"\f *** INDEXES (TABLE OF CONTENTS) ***
936 .de (x \" &&& begin index
942 .de )x \" &&& end index entry
943 .tm Line \\n(c. -- unmatched .)x
945 .\"\f *** STUFF FOR "STANDARD" PAPERS ***
946 .de th \" *** set "thesis" mode
950 .de +c \" *** begin chapter
951 .ep \" force out footnotes
954 . bp \" force out a table or more footnote
964 .in \\n($iu \" reset the indent
971 .de ++ \" *** declare chapter type
976 . nr _0 11 \" renumbered chapter
978 . nr _0 2 \" appendix
980 . nr _0 12 \" renumbered appendix
982 . nr _0 3 \" preliminary material
984 . nr _0 4 \" bibliographic material
986 . nr _0 5 \" abstract
988 . tm Line \\n(c. -- Bad mode to .++
996 .if (\\n(_0=3):(\\n(_0=5) \
997 . pn 1 \" must do before .ep
998 .ep \" end page for correct page number types
1017 .if !\\n(_0=\\n(_M .if \\n(_M=3 \
1022 .de $c \" $$$ print chapter title
1028 .ie \\n(_M=1 CHAPTER\ \ \\n(ch
1029 .el .if \\n(_M=2 APPENDIX\ \ \\n(ch
1030 .if \w"\\$1" .sp 3-\\n(.L
1032 .if (\\n(_M<3):(\w"\\$1") \
1038 . $C Chapter \\n(ch "\\$1"
1040 . $C Appendix \\n(ch "\\$1"
1042 .de tp \" *** title page
1049 .de ac \" *** setup for ACM photo-ready paper
1055 .de lo \" *** pull in the set of local macros
1056 .\" all these macros should be named "*X", where X is any letter
1060 .de lh \" *** letterhead
1061 .so \\*(||/letterhead.me
1064 .if \n(mo=1 .ds mo January
1065 .if \n(mo=2 .ds mo February
1066 .if \n(mo=3 .ds mo March
1067 .if \n(mo=4 .ds mo April
1068 .if \n(mo=5 .ds mo May
1069 .if \n(mo=6 .ds mo June
1070 .if \n(mo=7 .ds mo July
1071 .if \n(mo=8 .ds mo August
1072 .if \n(mo=9 .ds mo September
1073 .if \n(mo=10 .ds mo October
1074 .if \n(mo=11 .ds mo November
1075 .if \n(mo=12 .ds mo December
1076 .if \n(dw=1 .ds dw Sunday
1077 .if \n(dw=2 .ds dw Monday
1078 .if \n(dw=3 .ds dw Tuesday
1079 .if \n(dw=4 .ds dw Wednesday
1080 .if \n(dw=5 .ds dw Thursday
1081 .if \n(dw=6 .ds dw Friday
1082 .if \n(dw=7 .ds dw Saturday
1084 .ds td \*(mo \n(dy, \n(*y
1085 .\"\f *** PARAMETRIC INITIALIZATIONS ***
1086 .if (1m<0.1i)&(\nx!=0) \
1087 . vs 9p \" for 12-pitch DTC terminals
1089 .nr $r \n(.v/\n(.s \" ratio of vs to ps for .sz request
1090 .nr $R \n($r \" ratio for displays & footnotes
1091 .nr hm 4v \" header margin
1092 .nr tm 7v \" top margin
1093 .nr bm 6v \" bottom margin
1094 .nr fm 3v \" footer margin
1095 .nr tf 3 \" title font: (real) Times Bold
1096 .nr tp 10 \" title point size
1098 .nr bi 4m \" indent for blocks
1099 .nr pi 5n \" indent for paragraphs
1100 .nr pf 1 \" normal text font
1101 .nr pp 10 \" normal text point size
1102 .nr qi 4n \" indent for quotes
1103 .nr qp -1 \" down one point
1104 .nr ii 5n \" indent for .ip's
and .np
's
1105 .nr $m 1 \" max number of columns
1106 .nr $s 4n \" column separation
1108 .\"\f *** OTHER INITIALIZATION ***
1116 . ds { \v'-0.4m
'\x'-0.2m
'\s-3
1118 . ds < \v'0.4m
'\x'0.2m
'\s-3
1136 . po -0.5i \" make ugly line on LHS on C/A/T typesetters
1147 .nr $b \nb \" figure the real font 8 font
1151 . if n .nr $b 2 \" italic
1152 . if t .nr $b 3 \" bold
1154 .nr ps 0.5v \" paragraph pre/post spacing
1158 .nr bs \n(ps \" block pre/post spacing
1159 .nr qs \n(ps \" quote pre/post spacing
1160 .nr zs 1v \" float-block pre/postspacing
1161 .nr xs 0.2v \" index prespacing
1162 .nr fs 0.2v \" footnote prespacing
1165 .if n .nr es 1v \" equation pre/postspacing
1167 .wh 0 @h \" set header
1168 .nr $l \n(.lu \" line length
1169 .nr _L \n(.lu \" line length of page
1170 .nr $c 1 \" current column number
1171 .nr $f 1 1 \" footnote number
1172 .ds * \*{1\*}\k*\" \" footnote "name"
1173 .nr $d 1 1 \" delayed text number
1174 .ds # [1]\k#\" \" delayed text "name"
1175 .nr _M 1 \" chapter mode is chapter
1176 .ds lq \&"\" \" left quote
1177 .ds rq \&"\" \" right quote
1183 .\" *** FOREIGN LETTERS AND SPECIAL CHARACTERS ***
1184 .de sc \" *** define special characters