1 NMH MANPAGE STYLE GUIDE
3 nmh manpages should be in this general form:
5 .TH COMP %manext1% "DATE" "%nmhversion%"
10 comp \- compose a message
19 .RB [ \-use " | " \-nouse ]
25 is used to create a new message to be mailed. It copies something.
29 description of filename1
32 description of filename2
33 .SH "PROFILE COMPONENTS"
36 Location of the user's MH folder directory
39 The pager command name
50 defaults to the current folder
54 .\" Leave out the BUGS section if there are none worth describing.
58 ---------------------------------------
59 The DATE in the .TH macro should reflect the most recent non-trivial
60 update to the content of the manpage; formatting changes don't count.
61 Spell out the date (no abbreviations or shortcuts):
69 Don't abbreviate the month.
72 In the FILES section, prefer the default .TP indent. The pathnames are
73 variable and long, so any indentation value that works for you won't
74 work for someone else.
79 There should be no ".so" commands to source an external file,
80 since these break on Linux, where the man program does not
81 allow source files outside the man/ hierarchy. Instead, insert
92 Of course, replace "components" with a unique identifier that
93 reflects the content being included, like "mts_conf" for
94 etc/mts.conf. Then, add two lines to the man.sed target in
97 echo '/%components%/r $(top_srcdir)/etc/components' >> $@
98 echo ' s,%components%,,g' >> $@
100 At compile time, the contents of the file will physically
101 incorporated into the body of the man page. This is somewhat
102 unfortunate, since later modifications won't be reflected in
103 the manpage, but on the other hand, the manpage will show the
104 default configuration and not local modifications.
108 All nmh program names should be bolded. If there is punctuation
109 after the name, use a .BR construct to avoid the automatic
110 space that's inserted with just a .B:
115 If this is a manpage reference, use:
121 Literal text (such as flags) should be in bold. Parameters
122 should be italicized. Mutually exclusive options (like
123 "-foo" and "-nofoo") should be grouped together and seperated
126 .RI [ +folder ] <---- parameter
127 .RI [ msgs ] <---- parameter
128 .RB [ \-version ] <---- flag
129 .RB [ \-editor <---- flag with
130 .IR editor ] parameter
131 .RB [ \-use " | " \-nouse ] <---- exclusive parameters
133 References to these flags or parameters in the body text of the
134 manpage should reflect these conventions:
136 You may not supply both a
145 In particular, don't enclose them in single quotes (except
146 in the DEFAULT section, which might be inconsistent, but
147 seems a little clearer.
149 For "-flag param" situations, try to use a .B/.I combination
150 instead of a single .BI, since it allows more flexibility in
151 case of punctuation, and we get an automatic space between
152 flag and param for free, without having to manual force it.
156 Use ".SS" to denote a subsection
160 The folder manpage has an example of a table.
165 .ta \w'/rnd/phyl/Mail/EP 'u +\w'has ddd messages 'u +\w'(ddd\-ddd); 'u
166 FOLDER \0\0\0\0\0\0# MESSAGES RANGE CUR (OTHERS)
167 ff has \0no messages.
168 inbox+ has \016 messages (\03\-\022); cur=\05.
169 mh has \076 messages (15\-\076); cur=70.
174 Other italicized text
176 Italicize file names, profile entries, and folder names:
179 .RI \*(lq components \*(rq
180 exists in the user's nmh directory,
182 If the user's profile contains a
183 .RI \*(lq "Msg\-Protect: nnn" \*(rq
186 The \*(lq+\*(rq after
188 indicates that it is the current folder.
190 Enclose the file names and profile entries in lq/rq
195 Certain manpages are shared between one or more programs
196 (such as folder/folders). The secondary program should
197 have a man page that only contains:
201 Also, add this manpage to the appropriate section in Makefile.in
205 Don't include a CONTEXT section when contexts are out of context.
208 AUTHOR and HISTORY sections
210 These have no place in a manpage. If you want everlasting glory,
211 try the release notes.
215 The BUGS section goes last.