File: README.manpages

package info (click to toggle)
nmh 1.8-3
  • links: PTS
  • area: main
  • in suites: trixie
  • size: 7,860 kB
  • sloc: ansic: 50,445; sh: 22,697; makefile: 1,138; lex: 740; perl: 509; yacc: 265
file content (353 lines) | stat: -rw-r--r-- 9,276 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
                     NMH MANPAGE STYLE GUIDE
                     =======================

Nmh manpages generally follow the traditional Bell Labs formatting
conventions.  We do adopt a few conventions from BSD (primarily,
section ordering), and have a few of our own (mostly related to
indentation).


Troff Considerations

	Proper sentences end with a period followed by a newline:

		This is a sentence.
		It is followed by another, longer, sentence, but
		which makes no more sense than the previous one.

	not

		This is a sentence.  It is followed by another,
		longer, sentence, but which makes no more sense
		than the previous one.

	This allows troff to set the correct inter-sentence spacing
	based on the output device.

	When quoting, use \*(lq and \*(rq. This ensures correct
	formatting on typesetter-like devices.

        A man page's source is ASCII, not UTF-8.  troff has escapes for
        non-ASCII characters, e.g. \(em for an em-dash, U+2014, that are
        mapped onto whatever the output device supports, e.g. UTF-8 or
        PDF.


Section Ordering

	Always present sections in the following order:

		NAME [*]
		SYNOPSIS [*]
		DESCRIPTION [*]
		PROFILE COMPONENTS
		DEFAULTS
		CONTEXT
		ENVIRONMENT
		FILES
		EXAMPLES
		DIAGNOSTICS [*]
		SEE ALSO
		HISTORY
		BUGS 

	Sections marked with a [*] are mandatory.  Only include
	the others if they are specifically applicable.

	DIAGNOSTICS must document any non-zero exit codes, and can
	provide context to error messages.  Obviously it only applies
	to section 1 and 8 manpages.


Dates

        The DATE in the .TH macro is in `yyyy-mm-dd' format, and should
        reflect the most recent *non-trivial* update to the *content* of
        the manpage; formatting changes don't count, nor does expanding
        the `SEE ALSO' list.  Ask "Would the familiar user wish to
        re-read this page to learn of this change?"


Program Names

	In running text, nmh program names should be set in bold,
	unless you are explicitly referring to the command's
	documentation, in which case use manpage cross-reference
	style.

		.B comp
		.BR comp ,
		.IR comp (1).

	Be careful when referring to programs that are not part of
	nmh itself.  For commands that are almost guaranteed to be
	part of the base OS, use a manpage cross-reference (e.g.
	".IR cat (1)").  For other third-party utilities, it might
	be best to set the command name in double quotes. Use your
	best judgement to make it clear when you're referring to
	tools that might not be present.


SYNPOSIS Section

	Set literal text (such as flags) in bold.  Set parameters
	in italic.  Mutually exclusive options (like "-foo" and
	"-nofoo") should be grouped together and separated by a
	"|":

		.RI [ +folder ]              <---- parameter
		.RI [ msgs ]                 <---- parameter
		.RB [ \-version ]            <---- flag
		.RB [ \-editor               <---- flag with
		.IR editor ]                       parameter
		.RB [ \-use " | " \-nouse ]  <---- exclusive parameters

	References to these flags or parameters in the body text of the
	manpage should reflect these conventions:

		You may not supply both a
		.B \-form
		.I formfile
		and a
		.I +folder
		or
		.I msg
		argument.

	In particular, don't enclose them in single quotes.

	For "-flag param" situations, try to use a .B/.I combination
	instead of a single .BI, since it allows more flexibility in
	case of punctuation, and we get an automatic space between
	flag and param for free, without having to manual force it.


Subsections

	Use ".SS" to denote a subsection


Tables

	The folder manpage has an example of a table.

	.PP
	.RS 5
	.nf
	.ta \w'/rnd/phyl/Mail/EP 'u +\w'has ddd messages 'u +\w'(ddd\-ddd); 'u
	FOLDER  \0\0\0\0\0\0# MESSAGES  RANGE   CUR     (OTHERS)
	ff      has \0no messages.
	inbox+  has \016 messages       (\03\-\022);    cur=\05.
	mh      has \076 messages       (15\-\076);     cur=70.
	.fi
	.RE
	.PP


Environment Variables

	These are always set in roman text.  The surrounding text
	should make clear you are referring to an environment
	variable.  In some cases, like when dealing with all-lower-case
	variable names, setting the name inside double quotes can
	help clarify the context.

	Never prepend a '$' character to an environment variable
	name, unless you are directly referring to a variable
	substitution in, say, a pathname.


Other Italicized Text

	Italicize file names, profile entries, and folder names:

		If a file named
		.RI \*(lq components \*(rq
		exists in the user's nmh directory,

		If the user's profile contains a
		.RI \*(lq "Msg\-Protect: nnn" \*(rq
		entry, it

		The \*(lq+\*(rq after
		.I inbox
		indicates that it is the current folder.

	Enclose the file names and profile entries in lq/rq
	quotes, too.


Relative Indentation

	Use .RS 5 / .RE to indent paragraphs, etc. '.IP 5' can
	be useful, too.  Try to use an offset of '5' as much as
	possible to maintain visual consistency.


Tagged Lists

	In PROFILE COMPONENTS, DEFAULTS, ENVIRONMENT, and FILES,
	use tagged paragraphs with an offset of 20.  Do not set
	the tag in bold or italic, or wrap it in quotes, unless
	this is absolutely necessary to make the context clear.

		.SH DEFAULTS
		.PD 0
		.TP 20
		+folder
		defaults to the current folder
		.TP
		msgs
		defaults to
		.I cur
		.TP
		-decodetext 8bit
		.TP
		-decodetypes text,application/ics
		.TP
		-crlflinebreaks
		.PD
		.SH [...]

Source Files

	There should be no ".so" commands to source an external file,
	since these break on Linux, where the man program does not
	allow source files outside the man/ hierarchy. Instead, insert
	this fragment:

		.PP
		.RS 5
		.nf
		%components%
		.fi
		.RE
		.PP

	Of course, replace "components" with a unique identifier that
	reflects the content being included, like "mts_conf" for
	etc/mts.conf. Then, add two lines to the man.sed target in
	Makefile.in like:

	        echo '/%components%/r $(top_srcdir)/etc/components' >> $@
	        echo ' s,%components%,,g' >> $@

	At compile time, the contents of the file will physically
	incorporated into the body of the man page. This is somewhat
	unfortunate, since later modifications won't be reflected in
	the manpage, but on the other hand, the manpage will show the
	default configuration and not local modifications.


Pointer Manpages

	Certain manpages are shared between one or more programs
	(such as folder/folders). The secondary program should
	have a man page that only contains:

		.so man1/folder.1

	Also, add this manpage to the appropriate section in Makefile.in
	
AUTHOR and HISTORY Sections

	These have no place in a manpage.  If you want everlasting
	glory, try the release notes.  But note that a HISTORY
	section might be appropriate for documenting incompatibility
	with older versions of MH.

Common errors and subjective conventions

        Try to mention `nmh' in the NAME section if it's not too awkward.
        The command-line `-foo' is an option, not a switch.
        Describe the default behaviour, then how it can be altered,
            e.g. an option.
        It's `see foo(1)', not `see the foo(1) man page for more detail'.
        Emails have `From' and `Date' headers, not `From:' and `Date:'.
        An mbox-format file has `"From "' envelope-address headers.

        A hyphen is input as an ASCII minus sign, `non-standard',
            not as `\-' which is the input to output a minus sign.
        Use an unbreakable space for RFCs: `RFC\ 822'.
        Hyphenate compound adjectives, e.g. `mail-drop format'.
        Don't SHOUT for emphasis.
            Use `.I' for normal emphasis and `.B' for strongest.

        Use `Unix', not `UNIX'.
        Use `user ID' and `group ID', not `user-id'.
        Use `zeroed', not `zero'd'.
        Use `mail drop', not `maildrop' or `drop box'.
        Use `messages', not `message(s)', ditto `folders', etc.
        Use `e.g.', not `eg.', and `i.e.', not `ie.'.

        Use a pair of commas, like this, for parenthetical asides.
        Use `that' when the clause is essential, without a comma.
            Use comma then `which' when it's non-essential.
        `Hence' means `from here';  it's `thus' to introduce a conclusion.

------------------------------------------------------------------------------

[ This template is a bit behind the times. I will bring it into
  conformance with the notes above once the notes settle down.
  --lyndon ]


.TH COMP %manext1% "DATE" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
.SH NAME
comp \- compose a message
.\"
.SH SYNOPSIS
.HP 5
.na
.B comp 
.RI [ +folder ]
.RI [ msgs ]
.RB [ \-form
.IR formfile ]
.RB [ \-use " | " \-nouse ]
.RB [ \-version ]
.RB [ \-help ]
.ad
.SH DESCRIPTION
.B Comp
is used to create a new message to be mailed.
It copies something.
.\"
.SH "PROFILE COMPONENTS"
.TP 20
Path
Location of the user's MH folder directory
.TP
moreproc
The pager command name
.\"
.SH DEFAULTS
.TP 20
.RI + folder
defaults to the current folder
.\"
.SH CONTEXT
None
.\"
.SH FILES
.TP 20
filename1
description of filename1
.TP
filename2
description of filename2
.\"
.SH "SEE ALSO"
.BR dist (1),
.BR forw (1),
.BR repl (1),
.BR send (1),
.BR whatnow (1),
.BR mh-profile (5)
.\" Leave out the BUGS section if there are none worth describing.
.SH BUGS
None