* release of groffer 0.9.18
[s-roff.git] / tmac / groff_ms.man
blobec57657aebe8667a0bfb17adb5e9599aafba1eb9
1 '\" t
2 .ig
3 Copyright (C) 1989-1995, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5 Permission is granted to make and distribute verbatim copies of
6 this manual provided the copyright notice and this permission notice
7 are preserved on all copies.
9 Permission is granted to copy and distribute modified versions of this
10 manual under the conditions for verbatim copying, provided that the
11 entire resulting derived work is distributed under the terms of a
12 permission notice identical to this one.
14 Permission is granted to copy and distribute translations of this
15 manual into another language, under the above conditions for modified
16 versions, except that this permission notice may be included in
17 translations approved by the Free Software Foundation instead of in
18 the original English.
21 .do nr groff_ms_C \n[.C]
22 .cp 0
24 .TH GROFF_MS @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
28 .SH NAME
30 groff_ms \- groff ms macros
34 .SH SYNOPSIS
36 .B groff
37 .B \-ms
39 .IR options .\|.\|.\&
42 .IR files .\|.\|.\&
44 .br
45 .B groff
46 .B \-m\ ms
48 .IR options .\|.\|.\&
51 .IR files .\|.\|.\&
56 .SH DESCRIPTION
58 This manual page describes the GNU version of the
59 .I ms
60 macros,
61 part of the
62 .I groff
63 typesetting system.
64 The
65 .I ms
66 macros are mostly compatible with the
67 documented behavior of the 4.3
68 .SM BSD
69 Unix
70 .I ms
71 macros (see
72 .I Differences from troff ms
73 below for details).
74 The
75 .I ms
76 macros are suitable for reports, letters, books, and
77 technical documentation.
81 .SH USAGE
83 The
84 .I ms
85 macro package expects files to have
86 a certain amount of structure.
87 The simplest documents can begin with a paragraph macro
88 and consist of text separated by paragraph macros
89 or even blank lines.
90 Longer documents have a structure as follows:
92 .TP
93 .B "Document type"
94 If you use the
95 .B RP
96 (report) macro at the beginning of the document,
97 .I groff
98 prints the cover page information on its own page;
99 otherwise it prints the information on the
100 first page with your document text immediately following.
101 Other document formats found in AT&T
102 .I troff
103 are specific to AT&T
104 or Berkeley, and are not supported in
105 .IR "groff ms" .
108 .B "Format and layout"
109 By setting number registers,
110 you can change your document's type (font and size),
111 margins, spacing, headers and footers, and footnotes.
112 See 
113 .I "Document control registers"
114 below for more details.
117 .B "Cover page"
118 A cover page consists of a title,
119 and optionally the author's name and institution,
120 an abstract, and the date.
122 .I "Cover page macros"
123 below for more details.
126 .B "Body"
127 Following the cover page is your document.
128 It consists of paragraphs, headings, and lists.
131 .B "Table of contents"
132 Longer documents usually include a table of contents,
133 which you can add by placing the
134 .B TC
135 macro at the end of your document.
138 .SS "Document control registers"
140 The following table lists the document control
141 number registers.
142 For the sake of consistency,
143 set registers related to margins at the beginning of your document,
144 or just after the
145 .B RP
146 macro.
149 .ne 12
150 .B Margin settings
154 cb   s cb s s cb s cb s
155 afCW s l  s s l  s l  s.
156 Reg.    Definition      Effective       Default
158 PO      T{
159 Page offset (left margin)
160 T}      T{
161 next page
162 T}      1i
163 LL      T{
164 Line length
165 T}      next para.      6i
166 LT      T{
167 Header/footer length
168 T}      next para.      6i
169 HM      T{
170 Top (header) margin
171 T}      next page       1i
172 FM      T{
173 Bottom (footer) margin
174 T}      next page       1i
180 .ne 12
181 .B Text settings
184 cb   s cb s s cb s cb s
185 afCW s l  s s l  s l  s.
186 Reg.    Definition      Effective       Default
188 PS      T{
189 Point size
190 T}      next para.      10p
191 VS      T{
192 Line spacing (leading)
193 T}      next para.      12p
194 PSINCR  T{
195 Point size increment
196 for section headings of
197 increasing importance
198 T}      next heading    1p
199 GROWPS  T{
200 Heading level
201 beyond which PSINCR
202 is ignored
203 T}      next heading    0
209 .ne 11
210 .B Paragraph settings
213 cb cb s cb cb
214 afCW l s l l .
215 Reg.    Definition      Effective       Default
217 PI      T{
218 Initial indent
219 T}      next para.      5n
220 PD      T{
221 Space between paragraphs
222 T}      next para.      0.3v
223 QI      T{
224 Quoted paragraph indent
225 T}      next para.      5n
226 PORPHANS        T{
227 Number of initial lines
228 to be kept together
229 T}      next para.      1
230 HORPHANS        T{
231 Number of initial lines
232 to be kept with heading
233 T}      next heading    1
239 .ne 7
240 .B Footnote settings
243 cb cb cb cb
244 afCW l l l .
245 Reg.    Definition      Effective       Default
247 FL      Footnote length next footnote   \[rs]n[LL]*5/6
248 FI      Footnote indent next footnote   2n
249 FF      Footnote format next footnote   0
250 FPS     Point size      next footnote   \[rs]n[PS]-2
251 FVS     Vert. spacing   next footnote   \[rs]n[FPS]+2
252 FPD     Para. spacing   next footnote   \[rs]n[PD]/2
258 .ne 6
259 .B Other settings
262 cb   s cb s s cb s cb s
263 afCW s l  s s l  s l  s.
264 Reg.    Definition      Effective       Default
266 MINGW   T{
267 Minimum width between columns
268 T}      next page       2n
275 .SS "Cover page macros"
277 Use the following macros to create a cover page for your document
278 in the order shown.
281 .B .RP [no]
282 Specifies the report format for your document.
283 The report format creates a separate cover page.
284 With no
285 .B RP
286 macro,
287 .I groff
288 prints a subset of the
289 cover page on page\~1 of your document.
292 If you use the optional
293 .B no
294 argument,
295 .I groff
296 prints a title page but
297 does not repeat any of the title page information
298 (title, author, abstract, etc.\&)
299 on page\~1 of the document.
302 .B .P1 
303 (P-one) Prints the header on page\~1.
304 The default is to suppress the header.
307 .BI ".DA [" xxx ]
308 (optional) Print the current date,
309 or the arguments to the macro if any,
310 on the title page (if specified)
311 and in the footers.
312 This is the default for
313 .IR nroff .
316 .BI ".ND [" xxx ]
317 (optional) Print the current date,
318 or the arguments to the macro if any,
319 on the title page (if specified)
320 but not in the footers.
321 This is the default for
322 .IR troff .
325 .B .TL
326 Specifies the document title.
327 .I Groff
328 collects text following the
329 .B TL
330 macro into the title, until reaching the author name or abstract.
333 .B .AU
334 Specifies the author's name.
335 You can specify multiple authors by using an
336 .B AU
337 macro for each author.
340 .B .AI
341 Specifies the author's institution.
342 You can specify multiple institutions.
345 .B .AB [no]
346 Begins the abstract.
347 The default is to print the word
348 .BR ABSTRACT ,
349 centered and in italics, above the text of the abstract.
350 The option
351 .B no
352 suppresses this heading.
355 .B .AE
356 End the abstract.
359 .SS Paragraphs
361 Use the
362 .B PP
363 macro to create indented paragraphs,
364 and the
365 .B LP
366 macro to create paragraphs with no initial indent.
370 .B QP
371 macro indents all text at both left and right margins.
372 The effect is identical to the HTML
373 .B <BLOCKQUOTE>
374 element.
375 The next paragraph or heading
376 returns margins to normal.
380 .B XP
381 macro produces an exdented paragraph.
382 The first line of the paragraph begins at
383 the left margin,
384 and subsequent lines are indented
385 (the opposite of
386 .BR PP ).
389 For each of the above paragraph types,
390 and also for any list entry introduced by the
391 .B IP
392 macro
393 (described later),
394 the document control register
395 .BR PORPHANS ,
396 sets the
397 .I minimum
398 number of lines which must be printed,
399 after the start of the paragraph,
400 and before any page break occurs.
401 If there is insufficient space remaining on the current page
402 to accommodate this number of lines,
403 then a page break is forced
404 .I before
405 the first line of the paragraph is printed.
408 Similarly,
409 when a section heading
410 (see subsection
411 .I Headings
412 below)
413 preceeds any of these paragraph types,
415 .B HORPHANS
416 document control register specifies the
417 .I minimum
418 number of lines of the paragraph
419 which must be kept on the same page as the heading.
420 If insufficient space remains on the current page
421 to accommodate the heading and this number of lines of paragraph text,
422 then a page break is forced
423 .I before
424 the heading is printed.
427 .SS Headings
429 Use headings to create a hierarchical structure
430 for your document.
431 By default,
433 .I ms
434 macros print headings in
435 .B bold
436 using the same font family and point size as the body text.
437 For output devices which support scalable fonts,
438 this behaviour may be modified,
439 by defining the document control registers,
440 .B GROWPS
442 .BR PSINCR .
445 The following heading macros are available:
448 .BI .NH\  xx
449 Numbered heading.
450 The argument
451 .I xx
452 is either a numeric argument to indicate the
453 level of the heading, or
454 .I S\ xx\ xx\ \c
455 ".\|.\|."
456 to set the section number explicitly.
457 If you specify heading levels out of sequence,
458 such as invoking
459 .B ".NH\ 3"
460 after
461 .BR ".NH\ 1" ,
462 .I groff
463 prints a warning on standard error.
466 If the
467 .B GROWPS
468 register is set to a value
469 greater than the level of the heading,
470 then the point size of the heading will be increased by
471 .B PSINCR
472 units over the text size specified by the
473 .B PS
474 register,
475 for each level by which the heading level is less than
476 the value of
477 .BR GROWPS .
478 For example,
479 the sequence:
482 .ne 12
485 \&.nr PS 10
486 \&.nr GROWPS 3
487 \&.nr PSINCR 1.5p
489 \&.NH 1
490 Top Level Heading
492 \&.NH 2
493 Second Level Heading
495 \&.NH 3
496 Third Level Heading
501 will cause
502 .RI \*(lq 1.\ Top\ Level\ Heading \*(rq
503 to be printed in 13pt
504 .B bold
505 text, followed by
506 .RI \*(lq 1.1.\ Second\ Level\ Heading \*(rq
507 in 11.5pt
508 .B bold
509 text, while
510 .RI \*(lq 1.1.1.\ Third\ Level\ Heading \*(rq,
511 and all more deeply nested heading levels,
512 will remain in the 10pt
513 .B bold
514 text which is specified by the
515 .B PS
516 register.
519 Note that the value stored in
520 .B PSINCR
521 is interpreted in
522 .I groff
523 basic units;
525 .I p
526 scaling factor should be employed,
527 when assigning a value specified in points.
530 After invoking
531 .BR .NH ,
532 the assigned heading number is available in the strings
533 .B SN-DOT
534 (exactly as it appears in the formatted heading),
536 .B SN-NO-DOT
537 (with its final period omitted).
538 The string
539 .B SN
540 is also defined,
541 as an alias for
542 .BR SN-DOT ;
543 if preferred,
544 the user may redefine it as an alias for
545 .BR SN-NO-DOT ,
546 'ne 10
547 by including the initialisation:
552 \&.ds SN-NO-DOT
553 \&.als SN SN-NO-DOT
558 .I before
559 the first use of
560 .BR .NH ,
561 or simply:
566 \&.als SN SN-NO-DOT
571 .I after
572 the first use of
573 .BR .NH .
576 .BI .SH\ [ xx ]
577 Unnumbered subheading.
578 The use of the optional
579 .I xx
580 argument is a GNU extension,
581 which adjusts the point size of the unnumbered subheading
582 to match that of a numbered heading,
583 introduced using
584 .BI .NH\  xx
585 with the same value of
586 .IR xx .
587 For example,
588 given the same settings for
589 .BR PS ,
590 .B GROWPS
592 .BR PSINCR ,
593 as used in the preceeding
594 .B .NH
595 example,
596 the sequence:
602 \&.SH 2
603 An Unnumbered Subheading
608 will print
609 .RI \*(lq "An Unnumbered Subheading" \*(rq
610 in 11.5pt
611 .B bold
612 text.
615 .SS Highlighting
618 .I ms
619 macros provide a variety of methods to highlight
620 or emphasize text:
623 .B ".B [\fItxt\fP [\fIpost\fP [\fIpre\fP]]]"
624 Sets its first argument in
625 .BR "bold type" .
626 If you specify a second argument,
627 .I groff
628 prints it in the previous font after
629 the bold text, with no intervening space
630 (this allows you to set punctuation after
631 the highlighted text without highlighting
632 the punctuation).
633 Similarly, it prints the third argument (if any)
634 in the previous font
635 .B before
636 the first argument.
637 For example,
641 \&.B foo ) (
645 prints
646 .RB ( foo ).
649 If you give this macro no arguments,
650 .I groff
651 prints all text following in bold until
652 the next highlighting, paragraph, or heading macro.
655 .B ".R [\fItxt\fP [\fIpost\fP [\fIpre\fP]]]"
656 Sets its first argument in
657 roman (or regular) type.
658 It operates similarly to the
659 .B B
660 macro otherwise.
663 .B ".I [\fItxt\fP [\fIpost\fP [\fIpre\fP]]]"
664 Sets its first argument in
665 .IR "italic type" .
666 It operates similarly to the
667 .B B
668 macro otherwise.
671 .B ".CW [\fItxt\fP [\fIpost\fP [\fIpre\fP]]]"
672 Sets its first argument in a constant width face.
673 It operates similarly to the
674 .B B
675 macro otherwise.
678 .B ".BI [\fItxt\fP [\fIpost\fP [\fIpre\fP]]]"
679 Sets its first argument in bold italic type.
680 It operates similarly to the
681 .B B
682 macro otherwise.
685 .BI ".BX [" txt ]
686 Prints its argument and draws a box around it.
687 If you want to box a string that contains spaces,
688 use a digit-width space (\[rs]0).
691 .BI ".UL [" txt " [" post ]]
692 Prints its first argument with an underline.
693 If you specify a second argument,
694 .I groff
695 prints it in the previous font after
696 the underlined text, with no intervening space.
699 .B .LG
700 Prints all text following in larger type
701 (2\~points larger than the current point size) until
702 the next font size, highlighting, paragraph, or heading macro.
703 You can specify this macro multiple times
704 to enlarge the point size as needed.
707 .B .SM
708 Prints all text following in
709 smaller type
710 (2\~points smaller than the current point size) until
711 the next type size, highlighting, paragraph, or heading macro.
712 You can specify this macro multiple times
713 to reduce the point size as needed.
716 .B .NL
717 Prints all text following in
718 the normal point size
719 (that is, the value of the
720 .B PS
721 register).
724 .BI \[rs]*{ text \[rs]*}
725 Print the enclosed
726 .I text
727 as a superscript.
730 .SS Indents
732 You may need to indent sections of text.
733 A typical use for indents is to create nested lists and sublists.
736 Use the
737 .B RS
739 .B RE
740 macros to start and end a section of indented text, respectively.
742 .B PI
743 register controls the amount of indent.
746 You can nest indented sections as deeply as needed by
747 using multiple, nested pairs of
748 .B RS
750 .BR RE .
753 .SS Lists
756 .B IP
757 macro handles duties for all lists.
758 Its syntax is as follows:
761 .BI ".IP [" marker " [" width ]]
765 .I marker
766 is usually a bullet character
767 .B \[rs](bu
768 for unordered lists,
769 a number (or auto-incrementing number register) for numbered lists,
770 or a word or phrase for indented (glossary-style) lists.
774 .I width
775 specifies the indent for the body of each list item.
776 Once specified, the indent remains the same for all
777 list items in the document until specified again.
778 .\" -----
780 .ne 15
783 .SS "Tab stops"
785 Use the
786 .B ta
787 request to set tab stops as needed.
788 Use the
789 .B TA
790 macro to reset tabs to the default (every 5n).
791 You can redefine the
792 .B TA
793 macro to create a different set of default tab stops.
796 .SS "Displays and keeps"
798 Use displays to show text-based examples or figures
799 (such as code listings).
800 Displays turn off filling, so lines of code can be
801 displayed as-is without inserting
802 .B br
803 requests in between each line.
804 Displays can be 
805 .I kept
806 on a single page, or allowed to break across pages.
807 The following table shows the display types available.
809 .ne 11
812 cb   s s    s cbt s s
813 cb   s cb   s ^   s s
814 lfCW s lfCW s l   s s.
815 Display macro   Type of display
816 With keep       No keep
818 \&.DS L \&.LD   Left-justified.
819 \&.DS I [\fIindent\fP]  \&.ID   T{
820 Indented (default indent in the \fBDI\fP register).
822 \&.DS B \&.BD   T{
823 Block-centered (left-justified, longest line centered).
825 \&.DS C \&.CD   Centered.
826 \&.DS R \&.RD   Right-justified.
833 Use the
834 .B DE
835 macro to end any display type.
836 The macros
837 .B Ds
839 .B De
840 were formerly provided as aliases for
841 .B DS
843 .BR DE ,
844 respectively, but they have been removed, and should no longer be used.
845 X11 documents which actually use
846 .B Ds
848 .B De
849 always load a specific macro file from the X11 distribution (macros.t)
850 which provides proper definitions for the two macros.
853 .I keep
854 text together on a page,
855 such as
856 a paragraph that refers to a table (or list, or other item)
857 immediately following, use the
858 .B KS
860 .B KE
861 macros.
863 .B KS
864 macro begins a block of text to be kept on a single page,
865 and the
866 .B KE
867 macro ends the block.
870 You can specify a
871 .I "floating keep"
872 using the
873 .B KF
875 .B KE
876 macros.
877 If the keep cannot fit on the current page,
878 .I groff
879 holds the contents of the keep and allows text following
880 the keep (in the source file) to fill in the remainder of
881 the current page.
882 When the page breaks,
883 whether by an explicit
884 .B bp
885 request or by reaching the end of the page,
886 .I groff
887 prints the floating keep at the top of the new page.
888 This is useful for printing large graphics or tables
889 that do not need to appear exactly where specified.
892 .SS "Tables, figures, equations, and references"
895 .I -ms
896 macros support the standard
897 .I groff
898 preprocessors:
899 .IR tbl ,
900 .IR pic ,
901 .IR eqn ,
903 .IR refer .
904 Mark text meant for preprocessors by enclosing it
905 in pairs of tags as follows:
908 .BR ".TS [H]" " and " .TE
909 Denotes a table, to be processed by the
910 .I tbl
911 preprocessor.
912 The optional
913 .BR H "\~argument"
914 instructs
915 .I groff
916 to create a running header with the information
917 up to the
918 .B TH
919 macro.
920 .I Groff
921 prints the header at the beginning of the table;
922 if the table runs onto another page,
923 .I groff
924 prints the header on the next page as well.
927 .BR .PS " and " .PE
928 Denotes a graphic, to be processed by the
929 .I pic
930 preprocessor.
931 You can create a
932 .I pic
933 file by hand, using the
934 AT&T
935 .I pic
936 manual available on the Web as a reference,
937 or by using a graphics program such as
938 .IR xfig .
941 .BR ".EQ [\fI\,align\/\fP]" " and " .EN
942 Denotes an equation, to be processed by the
943 .I eqn
944 preprocessor.
945 The optional
946 .I align
947 argument can be
948 .BR C ,
949 .BR L ,
950 or\~\c
951 .B I
952 to center (the default), left-justify, or indent
953 the equation.
956 .BR .[ " and " .]
957 Denotes a reference, to be processed by the
958 .I refer
959 preprocessor.
960 The GNU
961 .IR @g@refer (@MAN1EXT@)
962 manual page provides a comprehensive reference
963 to the preprocessor and the format of the
964 bibliographic database.
967 .SS Footnotes
970 .I ms
971 macros provide a flexible footnote system.
972 You can specify a numbered footnote by using the
973 .B \[rs]**
974 escape, followed by the text of the footnote
975 enclosed by
976 .B FS
978 .B FE
979 macros.
982 You can specify symbolic footnotes
983 by placing the mark character (such as
984 .B \[rs](dg
985 for the dagger character) in the body text,
986 followed by the text of the footnote
987 enclosed by
988 .B FS\ \[rs](dg
990 .B FE
991 macros.
994 You can control how
995 .I groff
996 prints footnote numbers by changing the value of the
997 .B FF
998 register as follows:
1000 .ne 7
1004 Prints the footnote number as a superscript; indents the footnote (default).
1008 Prints the number followed by a period (like\~1.\&)
1009 and indents the footnote.
1013 Like\~1, without an indent.
1017 Like\~1, but prints the footnote number as a hanging paragraph.
1021 You can use footnotes safely within keeps and displays,
1022 but avoid using numbered footnotes within floating keeps.
1023 You can set a second
1024 .B \[rs]**
1025 between a
1026 .B \[rs]**
1027 and its corresponding
1028 .BR .FS ;
1029 as long as each
1030 .B .FS
1031 occurs
1032 .I after
1033 the corresponding
1034 .B \[rs]**
1035 and the occurrences of
1036 .B .FS
1037 are in the same order as the corresponding occurrences of
1038 .BR \[rs]** .
1041 .SS "Headers and footers"
1043 There are two ways to define headers and footers:
1045 .IP \(bu 3n
1046 Use the strings
1047 .BR LH ,
1048 .BR CH ,
1050 .B RH
1051 to set the left, center, and right headers; use
1052 .BR LF ,
1053 .BR CF ,
1055 .B RF
1056 to set the left, center, and right footers.
1057 This works best for documents that do not distinguish
1058 between odd and even pages.
1060 .IP \(bu
1061 Use the
1062 .B OH
1064 .B EH
1065 macros to define headers for the odd and even pages; and
1066 .B OF
1068 .B EF
1069 macros to define footers for the odd and even pages.
1070 This is more flexible than defining the individual strings.
1071 The syntax for these macros is as follows:
1075 .B ".OH '\fIleft\fP'\fIcenter\fP'\fIright\fP'"
1079 You can replace the quote (') marks with any character not
1080 appearing in the header or footer text.
1083 .SS Margins
1085 You control margins using a set of number registers.
1086 The following table lists the register names and defaults:
1088 .ne 8
1091 cb   s cb s s cb s cb s
1092 afCW s l  s s l  s l  s.
1093 Reg.    Definition      Effective       Default
1095 PO      T{
1096 Page offset (left margin)
1097 T}      next page       1i
1098 LL      T{
1099 Line length
1100 T}      next para.      6i
1101 LT      T{
1102 Header/footer length
1103 T}      next para.      6i
1104 HM      T{
1105 Top (header) margin
1106 T}      next page       1i
1107 FM      T{
1108 Bottom (footer) margin
1109 T}      next page       1i
1116 Note that there is no right margin setting.
1117 The combination of page offset and line length
1118 provide the information necessary to
1119 derive the right margin.
1122 .SS "Multiple columns"
1125 .I ms
1126 macros can set text in as many columns as will reasonably
1127 fit on the page.
1128 The following macros are available.
1129 All of them force a page break if a multi-column mode is already set.
1130 However, if the current mode is single-column, starting a multi-column
1131 mode does
1132 .I not
1133 force a page break.
1136 .B .1C
1137 Single-column mode.
1140 .B .2C
1141 Two-column mode.
1144 .BI ".MC [" width " [" gutter ]]
1145 Multi-column mode.
1146 If you specify no arguments, it is equivalent to the
1147 .B 2C
1148 macro.
1149 Otherwise,
1150 .I width
1151 is the width of each column and
1152 .I gutter
1153 is the space between columns.
1155 .B MINGW
1156 number register is the default gutter width.
1159 .SS "Creating a table of contents"
1161 Wrap text that you want to appear in the
1162 table of contents in
1163 .B XS
1165 .B XE
1166 macros.
1167 Use the
1168 .B TC
1169 macro to print the table of contents at the end of the document,
1170 resetting the page number to\~\c
1171 .B i
1172 (Roman numeral\~1).
1175 You can manually create a table of contents
1176 by specifying a page number as the first argument to
1177 .BR XS .
1178 Add subsequent entries using the
1179 .B XA
1180 macro.
1181 For example:
1185 .ne 8
1187 \&.XS 1
1188 Introduction
1189 \&.XA 2
1190 A Brief History of the Universe
1191 \&.XA 729
1192 Details of Galactic Formation
1193 \&.\|.\|.
1194 \&.XE
1196 .RE  
1198 .LP  
1199 Use the
1200 .B PX  
1201 macro to print a manually-generated table of contents
1202 without resetting the page number.
1205 If you give the argument
1206 .B no
1207 to either
1208 .B PX
1209 or   
1210 .BR TC ,
1211 .I groff
1212 suppresses printing the title
1213 specified by the
1214 .B \[rs]*[TOC]  
1215 string.
1218 .SS "Fractional point sizes"
1220 Traditionally, the
1221 .I ms
1222 macros only support integer values for the document's font size and
1223 vertical spacing.
1224 To overcome this restriction, values larger than or equal to 1000 are taken
1225 as fractional values, multiplied by 1000.
1226 For example, `.nr\~PS\~10250' sets the font size to 10.25 points.
1229 The following four registers accept fractional point sizes:
1230 .BR PS ,
1231 .BR VS ,
1232 .BR FPS ,
1234 .BR FVS .
1237 Due to backwards compatibility, the value of
1238 .B VS
1239 must be smaller than 40000 (this is 40.0 points).
1243 .SH "DIFFERENCES FROM troff ms"
1246 .I "groff ms"
1247 macros are a complete re-implementation,
1248 using no original AT&T code.
1249 Since they take advantage of the extended features in
1250 .IR groff ,
1251 they cannot be used with AT&T
1252 .IR troff .
1253 Other differences include:
1255 .IP \(bu 3n
1256 The internals of
1257 .I "groff ms"
1258 differ from the internals of Unix
1259 .IR ms . 
1260 Documents that depend upon implementation details of Unix
1261 .I ms
1262 may not format properly with
1263 .IR "groff ms" .
1265 .IP \(bu
1266 The error-handling policy of
1267 .I "groff ms"
1268 is to detect and report errors,
1269 rather than silently to ignore them.
1271 .IP \(bu
1272 Bell Labs localisms are not implemented.
1274 .IP \(bu
1275 Berkeley localisms, in particular the
1276 .B TM
1278 .B CT
1279 macros,
1280 are not implemented.
1282 .IP \(bu
1283 .I "Groff ms"
1284 does not work in compatibility mode (e.g.\& with the
1285 .B \-C
1286 option).
1288 .IP \(bu
1289 There is no support for typewriter-like devices.
1291 .IP \(bu
1292 .I "Groff ms"
1293 does not provide cut marks.
1295 .IP \(bu
1296 Multiple line spacing is not supported
1297 (use a larger vertical spacing instead).
1299 .IP \(bu
1300 Some Unix
1301 .I ms
1302 documentation says that the
1303 .B CW
1305 .B GW
1306 number registers can be used to control the column width and
1307 gutter width respectively.
1308 These number registers are not used in groff ms.
1310 .IP \(bu
1311 Macros that cause a reset
1312 (paragraphs, headings, etc.)
1313 may change the indent.
1314 Macros that change the indent do not increment or decrement
1315 the indent, but rather set it absolutely.
1316 This can cause problems for documents that define
1317 additional macros of their own.
1318 The solution is to use not the
1319 .B in
1320 request but instead the
1321 .B RS
1323 .B RE
1324 macros.
1326 .IP \(bu
1327 The number register
1328 .B GS
1329 is set to\~1 by the
1330 .I "groff ms"
1331 macros,
1332 but is not used by the Unix
1333 .I ms
1334 macros.
1335 Documents that need to determine whether
1336 they are being formatted with Unix
1337 .I ms
1339 .I "groff ms"
1340 should use this number register.
1342 .ne 23
1345 .SS Strings
1347 You can redefine the following strings to adapt the
1348 .I "groff ms"
1349 macros to languages other than English:
1351 center;
1352 cb cb
1353 afCW l .
1354 String  Default Value
1356 REFERENCES      References
1357 ABSTRACT        ABSTRACT
1358 TOC     Table of Contents
1359 MONTH1  January
1360 MONTH2  February
1361 MONTH3  March
1362 MONTH4  April
1363 MONTH5  May
1364 MONTH6  June
1365 MONTH7  July
1366 MONTH8  August
1367 MONTH9  September
1368 MONTH10 October
1369 MONTH11 November
1370 MONTH12 December
1376 .B \[rs]*-
1377 string produces an em dash \[em] like this.
1380 .SS Text Settings
1383 .B FAM
1384 string sets the default font family.
1385 If this string is undefined at initialization,
1386 it is set to Times.
1389 The point size, vertical spacing, and inter-paragraph spacing for footnotes
1390 are controlled by the number registers
1391 .BR FPS ,
1392 .BR FVS ,
1394 .BR FPD ;
1395 at initialization these are set to
1396 .BR \[rs]n(PS-2 ,
1397 .BR \[rs]n[FPS]+2 ,
1399 .B \[rs]n(PD/2
1400 respectively.
1401 If any of these registers are defined before initialization,
1402 the initialization macro does not change them.
1405 The hyphenation flags (as set by the
1406 .B hy
1407 request) are set from the
1408 .B HY
1409 register;
1410 the default is\~14.
1413 Improved accent marks
1414 (as originally defined in Berkeley's
1415 .I ms
1416 version)
1417 are available by specifying the
1418 .B AM
1419 macro at the beginning of your document.
1420 You can place an accent over most characters
1421 by specifying the string defining the accent
1422 directly after the character.
1423 For example,
1424 .B n\[rs]*~ 
1425 produces an n with a tilde over it.
1429 .SH "NAMING CONVENTIONS"
1433 The following conventions are used for names of macros, strings and
1434 number registers.
1435 External names available to documents that use the
1436 .I "groff ms"
1437 macros contain only uppercase letters and digits.
1440 Internally the macros are divided into modules;
1441 naming conventions are as follows:
1443 .IP \(bu 3n
1444 Names used only within one module are of the form
1445 .IB \%module * name\fR.
1447 .IP \(bu
1448 Names used outside the module in which they are defined are of the form
1449 .IB \%module @ name\fR.
1451 .IP \(bu
1452 Names associated with a particular environment are of the form
1453 .IB \%environment : name;
1454 these are used only within the
1455 .B par
1456 module.
1458 .IP \(bu
1459 .I name
1460 does not have a module prefix.
1462 .IP \(bu
1463 Constructed names used to implement arrays are of the form
1464 .IB \%array ! index\fR.
1467 Thus the groff ms macros reserve the following names:
1469 .IP \(bu 3n
1470 Names containing the characters
1471 .BR * ,
1472 .BR @ ,
1473 and\~\c
1474 .BR : .
1476 .IP \(bu
1477 Names containing only uppercase letters and digits.
1481 .SH FILES
1483 .B @MACRODIR@/ms.tmac
1484 (a wrapper file for
1485 .BR s.tmac )
1487 .B @MACRODIR@/s.tmac
1491 .SH "SEE ALSO"
1493 .BR groff (@MAN1EXT@),
1494 .BR @g@troff (@MAN1EXT@),
1495 .BR @g@tbl (@MAN1EXT@),
1496 .BR @g@pic (@MAN1EXT@),
1497 .BR @g@eqn (@MAN1EXT@),
1498 .BR @g@refer (@MAN1EXT@),
1499 .I Groff: The GNU Implementation of troff
1500 by Trent Fisher and Werner Lemberg.
1504 .SH AUTHOR
1506 Original manual page by James Clark
1507 .IR "et al" ;
1508 rewritten by Larry Kollar
1509 (\fIlkollar@despammed.com\fR).
1511 .cp \n[groff_ms_C]
1513 .\" Local Variables:
1514 .\" mode: nroff
1515 .\" End: