1groff_me(7) Miscellaneous Information Manual groff_me(7)
2
3
4
6 groff_me - “me” macro package for formatting roff documents
7
9 groff -me [option ...] [file ...]
10 groff -m me [option ...] [file ...]
11
13 The GNU implementation of the me macro package is part of the groff
14 document formatting system. The me package of macro definitions for
15 the roff language provides a convenient facility for preparing techni‐
16 cal papers in various formats. This version is based on the me dis‐
17 tributed with 4.4BSD and can be used with the GNU troff formatter as
18 well as those descended from AT&T troff.
19
20 Some formatter requests affect page layout unpredictably when used in
21 conjunction with this package; however, the following may be used with
22 impunity after the first call to a paragraphing macro like lp or pp.
23 Some arguments are optional; see groff(7) for details, particularly of
24 requests whose argument list is designated with an ellipsis. An aster‐
25 isk * marks groff extensions.
26
27 ad c set text adjustment mode to c
28 af r f assign format f to register r
29 am m e append to macro m until e called
30 as s t append rest of line t to string s
31 bp n begin new page numbered n
32 br break output line
33 ce n center next n output lines
34 cp n en-/disable AT&T troff compatibility mode*
35 de m e define macro m until e called
36 do t interpret input t with compatibility mode off*
37 ds s t define rest of line t as string s
38 el t interpret t if corresponding ie false
39 fc c d set field delimiter c and padding glyph d
40 fi enable filling
41 hc c set hyphenation character to c
42 hy m set automatic hyphenation mode to m
43 ie p t as if, but enable interpretation of later el
44 if p t if condition p, interpret rest of line t
45 in h set indentation to distance h
46 lc c set leader repetition glyph to c
47 ls n set line spacing to n
48 mc c h set (right) margin glyph to c at distance h
49 mk r mark vertical position in register r
50 na disable adjustment of text
51 ne v need vertical space of distance v
52 nf disable filling
53 nh disable automatic hyphenation
54 nr r n i assign register r value n with auto-increment i
55 ns begin no-space mode
56 pl v set page length to v
57 pn n set next page number to n
58 po h set page offset to h
59 rj n right-align next n output lines*
60 rm m remove macro, string, or request m
61 rn m n rename macro, string, or request m to n
62 rr r remove register r
63 rs resume spacing (end no-space mode)
64 rt v return to vertical position set by mk, or v
65 so f source (interpolate) input file f
66
67 sp n insert n lines of vertical space
68 ta ... set tab stops
69 tc c set tab repetition glyph to c
70 ti h set temporary indentation (next line only) to h
71 tl ... output three-part title
72 tr ... translate characters
73 ul n underline next n output lines
74
75 Except on title pages (produced by calling tp), me suppresses the out‐
76 put of vertical space at the tops of pages (after the output of any
77 page header); the sp request will thus not work there. You can instead
78 call bl or enclose the desired spacing request in a diversion, for in‐
79 stance by calling (b and )b. me also intercepts the ll request; see
80 the “me Reference Manual” for details.
81
82 Name space
83 Objects in me follow a rigid naming convention. To avoid conflict, any
84 user-defined register, string, or macro names should be single numerals
85 or uppercase letters, or any longer sequence of letters and numerals
86 with at least one uppercase letter. (For portability between BSD and
87 groff me, limit names to two characters, and avoid the name [ (left
88 square bracket).) The names employed by any preprocessors in use
89 should also not be repurposed.
90
91 Macros
92 $0 post-section heading hook
93 $1 pre-section depth 1 hook
94 $2 pre-section depth 2 hook
95 $3 pre-section depth 3 hook
96 $4 pre-section depth 4 hook
97 $5 pre-section depth 5 hook
98 $6 pre-section depth 6 hook
99 $C post-chapter title hook
100 $H page/column heading hook
101 $c output chapter number and title
102 $f output footer
103 $h output header
104 $p output section heading
105 $s output footnote area separator
106 (b begin block
107 (c begin centered block
108 (d begin delayed text
109 (f begin footnote
110 (l begin list
111 (q begin long quotation
112 (x begin index entry
113 (z begin floating keep
114 )b end block
115 )c end centered block
116 )d end delayed text
117 )f end footnote
118 )l end list
119 )q end long quotation
120 )x end index entry
121 )z end floating keep
122 ++ set document segment type
123 +c begin chapter
124 1c end multi-column layout
125 2c begin multi-column layout
126 EN end eqn equation
127 EQ begin eqn equation
128 GE end grn picture with drawing position at bottom
129 GF end grn picture with drawing position at top
130 GS start grn picture
131 IE end ideal picture with drawing position at bottom
132
133 IF end ideal picture with drawing position at top
134 IS start ideal picture
135 PE end pic picture with drawing position at bottom
136 PF end pic picture with drawing position at top
137 PS start pic picture
138 TE end tbl table
139 TH end heading for multi-page tbl table
140 TS start tbl table
141 b embolden argument
142 ba set base indentation
143 bc begin new column
144 bi embolden and italicize argument
145 bx box argument
146 ef set even-numbered page footer
147 eh set even-numbered page header
148 ep end page
149 fo set footer
150 he set header
151 hl draw horizontal line
152 hx suppress next page's headers/footers
153 i italicize argument
154 ip begin indented paragraph
155 ld reset localization and date registers and strings*
156 ll set line length
157 lp begin fully left-aligned paragraph
158 np begin numbered paragraph
159 of set odd-numbered page footer
160 oh set odd-numbered page header
161 pd output delayed text
162 pp begin first-line indented paragraph
163 q quote argument
164 r set argument in roman
165 re reset tab stops
166 sh begin numbered section
167 sm set argument at smaller type size
168 sx change section depth
169 sz set type size and vertical spacing
170 tp begin title page
171 u underline argument
172 uh begin unnumbered section
173 xl set line length (local)
174 xp output index
175
176 Some macros are provided for “old” roff(1) compatibility. The “me Ref‐
177 erence Manual” describes alternatives for modern documents.
178
179 ar use Arabic numerals for page numbers
180 bl insert space (even at page top; cf. sp)
181 ix set indentation without break
182 m1 set page top to header distance
183 m2 set header to text distance
184 m3 set text to footer distance
185 m4 set footer to page bottom distance
186 n1 begin output line numbering
187 n2 end or alter output line numbering
188 pa begin page
189 ro use Roman numerals for page numbers
190 sk skip next page
191
192 Registers
193 $0 section depth
194 $1 first section number component
195 $2 second section number component
196 $3 third section number component
197 $4 fourth section number component
198
199 $5 fifth section number component
200 $6 sixth section number component
201 $c current column number
202 $d delayed text number
203 $f footnote number
204 $i paragraph base indentation
205 $l column width
206 $m number of available columns
207 $p numbered paragraph number
208 $s column spacing (indentation)
209 bi display (block) indentation
210 bm distance from text area to page bottom
211 bs display (block) pre/post space
212 bt block threshold for keeps
213 ch current chapter number
214 df display font
215 dv vertical spacing of displayed text (as percentage)*
216 es equation pre/post space
217 ff footnote font
218 fi footnote indentation (first line only)
219 fm footer margin
220 fp footnote type size in points
221 fs footnote prespace
222 fu footnote undent (right indentation)
223 hm header margin
224 ii indented paragraph indentation
225 no line numbering offset*
226 pf paragraph font
227 pi paragraph indentation
228 po page offset
229 pp paragraph type size in points
230 ps paragraph prespace
231 qi long quotation left/right indentation
232 qp long quotation type size in points
233 qs long quotation pre/post space
234 sf section title font
235 si section indentation per level of depth
236 so additional section title offset
237 sp section title type size in points
238 ss section prespace
239 sx super/subscript line height increase*
240 tf title font
241 tm distance from page top to text area
242 tp title type size in points
243 tv vertical spacing of text (as percentage)*
244 xs index entry prespace
245 xu index undent (right indentation)
246 y2 year of the century*
247 y4 year*
248 yr year minus 1900
249 zs floating keep pre/post space
250
251 Strings
252 # delayed text marker
253 $n concatenated section number
254 * footnote marker
255 - em dash
256 < begin subscripting
257 > end subscripting
258 dw weekday name
259 lq left double quotation mark
260 mo month name
261 rq right double quotation mark
262 td date
263 wa term for “appendix” used by .$c*
264
265 wc term for “chapter” used by .$c*
266 { begin superscripting
267 } end superscripting
268
270 /usr/share/groff/1.23.0/tmac/e.tmac
271 implements the package.
272
273 /usr/share/groff/1.23.0/tmac/refer-me.tmac
274 implements refer(1) support for me.
275
276 /usr/share/groff/1.23.0/tmac/me.tmac
277 is a wrapper enabling the package to be loaded with “groff -m
278 me”.
279
281 Early roff macro packages often limited their names to a single letter,
282 which followed the formatter's m flag letter, resulting in mm, ms, mv,
283 mn, and so on. The “e” in “me” stands for “Eric P. Allman”, who wrote
284 the macro package and the original technical papers documenting it
285 while an undergraduate at the University of California.
286
288 Two manuals are available in source and rendered form. On your system,
289 they may be compressed and/or available in additional formats.
290
291 /usr/share/doc/groff/meintro.me
292 /usr/share/doc/groff/meintro.ps
293 is “Writing Papers with Groff Using -me”, by Eric P. Allman,
294 adapted for groff by James Clark.
295
296 /usr/share/doc/groff/meref.me
297 /usr/share/doc/groff/meref.ps
298 is the “me Reference Manual”, by Eric P. Allman, adapted for
299 groff by James Clark and G. Branden Robinson.
300
301 Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner
302 Lemberg, is the primary groff manual. You can browse it interactively
303 with “info groff”.
304
305 For preprocessors supported by me, see eqn(1), grn(1), pic(1),
306 refer(1), and tbl(1).
307
308 groff(1), troff(1), groff(7)
309
310
311
312groff 1.23.0 2 November 2023 groff_me(7)