groff_me
Section: Environments, Tables, and Troff Macros (7)
Updated: 2 July 2023
Index
Return to Main Contents
Name
groff_me - lqmerq macro package for formatting
roff
documents
.nr d-fallback 1
.nr d-fallback 1
Synopsis
[
option~...]
[
file~...]
[
option~...]
[
file~...]
Description
The GNU implementation of the
me
macro package is part of the
groff
document formatting system.
The
me
package of macro definitions for the
roff
language provides a convenient facility for preparing technical papers
in various formats.
This version is based on the
me
distributed with 4.4BSD and can be used with the GNU
troff
formatter as well as those descended from AT&T
troff.
Some formatter requests affect page layout unpredictably when used in
conjunction with this package;
however,
the following may be used with impunity after the first call to a
paragraphing macro like
lp
or
pp.
Some arguments are optional;
see
for details,
particularly of requests whose argument list is designated with an
ellipsis.
An asterisk
*
marks
groff
extensions.
| ad | c | set text adjustment mode to c
|
| af | r f | assign format f to register r
|
| am | m e | append to macro m until e called
|
| as | s t | append rest of line t to string s
|
| bp | n | begin new page numbered n
|
| br | | break output line
|
| ce | n | center next n output lines
|
| cp | n | e-/disable AT&T troff compatibility mode*
|
| de | m e | define macro m until e called
|
| do | t | interpret input t with compatibility mode off*
|
| ds | s t | define rest of line t as string s
|
| el | t | interpret t if corresponding ie false
|
| fc | c d | set field delimiter c and padding glyph d
|
| fi | | enable filling
|
| hc | c | set hyphenation character to c
|
| hy | m | set automatic hyphenation mode to m
|
| ie | p t | as if, but enable interpretation of later el
|
| if | p t | if condition p/, interpret rest of line t
|
| in | h | set indentation to distance h
|
| lc | c | set leader repetition glyph to c
|
| ls | n | set line spacing to n
|
| mc | c h | set (right) margin glyph to c at distance h
|
| mk | r | mark vertical position in register r
|
| na | | disable adjustment of text
|
| ne | v | need vertical space of distance v
|
| nf | | disable filling
|
| nh | | disable automatic hyphenation
|
| nr | r n i | assign register r value n with aut-increment i
|
| ns | | begin n-space mode
|
| pl | v | set page length to v
|
| pn | n | set next page number to n
|
| po | h | set page offset to h
|
| rj | n | righ-align next n output lines*
|
| rm | m | remove macro, string, or request m
|
| rn | m n | rename macro, string, or request m to n
|
| rr | r | remove register r
|
| rs | | resume spacing (end n-space mode)
|
| rt | v | return to vertical position set by mk, or v
|
| so | f | source (interpolate) input file f
|
| sp | n | insert n lines of vertical space
|
| ta | ... | set tab stops
|
| tc | c | set tab repetition glyph to c
|
| ti | h | set temporary indentation (next line only) to h
|
| tl | ... | output thre-part title
|
| tr | ... | translate characters
|
| ul | n | underline next n output lines
|
Except on title pages
(produced by calling
tp),
me
suppresses the output of vertical space at the tops of pages
(after the output of any page header);
the
sp
request will thus not work there.
You can instead call
bl
or enclose the desired spacing request in a diversion,
for instance by calling
(b
and
)b.
me
also intercepts the
ll
request;
see the
[lq]
me
Reference Manual[rq]
for details.
Name space
Objects in
me
follow a rigid naming convention.
To avoid conflict,
any use-defined register,
string,
or macro
names should be single numerals or uppercase letters,
or any longer sequence of letters and numerals
with at least one uppercase letter.
(For portability between BSD and
groff
me,
limit names to
two characters,
and avoid the name
[
(left square bracket).)
The names employed
by any preprocessors in use
should also not be repurposed.
Macros
| $0 | pos-section heading hook
|
| $1 | pr-section depth 1 hook
|
| $2 | pr-section depth 2 hook
|
| $3 | pr-section depth 3 hook
|
| $4 | pr-section depth 4 hook
|
| $5 | pr-section depth 5 hook
|
| $6 | pr-section depth 6 hook
|
| $C | pos-chapter title hook
|
| $H | page/column heading hook
|
| $c | output chapter number and title
|
| $f | output footer
|
| $h | output header
|
| $p | output section heading
|
| $s | output footnote area separator
|
| (b | begin block
|
| (c | begin centered block
|
| (d | begin delayed text
|
| (f | begin footnote
|
| (l | begin list
|
| (q | begin long quotation
|
| (x | begin index entry
|
| (z | begin floating keep
|
| )b | end block
|
| )c | end centered block
|
| )d | end delayed text
|
| )f | end footnote
|
| )l | end list
|
| )q | end long quotation
|
| )x | end index entry
|
| )z | end floating keep
|
| ++ | set document segment type
|
| +c | begin chapter
|
| 1c | end mult-column layout
|
| 2c | begin mult-column layout
|
| EN | end eqn equation
|
| EQ | begin eqn equation
|
| GE | end grn picture with drawing position at bottom
|
| GF | end grn picture with drawing position at top
|
| GS | start grn picture
|
| IE | end ideal picture with drawing position at bottom
|
| IF | end ideal picture with drawing position at top
|
| IS | start ideal picture
|
| PE | end pic picture with drawing position at bottom
|
| PF | end pic picture with drawing position at top
|
| PS | start pic picture
|
| TE | end tbl table
|
| TH | end heading for mult-page tbl table
|
| TS | start tbl table
|
| b | embolden argument
|
| ba | set base indentation
|
| bc | begin new column
|
| bi | embolden and italicize argument
|
| bx | box argument
|
| ef | set eve-numbered page footer
|
| eh | set eve-numbered page header
|
| ep | end page
|
| fo | set footer
|
| he | set header
|
| hl | draw horizontal line
|
| hx | suppress next page's headers/footers
|
| i | italicize argument
|
| ip | begin indented paragraph
|
| ld | reset localization and date registers and strings*
|
| ll | set line length
|
| lp | begin fully lef-aligned paragraph
|
| np | begin numbered paragraph
|
| of | set od-numbered page footer
|
| oh | set od-numbered page header
|
| pd | output delayed text
|
| pp | begin firs-line indented paragraph
|
| q | quote argument
|
| r | set argument in roman
|
| re | reset tab stops
|
| sh | begin numbered section
|
| sm | set argument at smaller type size
|
| sx | change section depth
|
| sz | set type size and vertical spacing
|
| tp | begin title page
|
| u | underline argument
|
| uh | begin unnumbered section
|
| xl | set line length (local)
|
| xp | output index
|
Some macros are provided for lqoldrq
compatibility.
The
lq
me
Reference Manualrq
describes alternatives for modern documents.
| ar | use Arabic numerals for page numbers
|
| bl | insert space (even at page top; cf. sp)
|
| ix | set indentation without break
|
| m1 | set page top to header distance
|
| m2 | set header to text distance
|
| m3 | set text to footer distance
|
| m4 | set footer to page bottom distance
|
| n1 | begin output line numbering
|
| n2 | end or alter output line numbering
|
| pa | begin page
|
| ro | use Roman numerals for page numbers
|
| sk | skip next page
|
Registers
| $0 | section depth
|
| $1 | first section number component
|
| $2 | second section number component
|
| $3 | third section number component
|
| $4 | fourth section number component
|
| $5 | fifth section number component
|
| $6 | sixth section number component
|
| $c | current column number
|
| $d | delayed text number
|
| $f | footnote number
|
| $i | paragraph base indentation
|
| $l | column width
|
| $m | number of available columns
|
| $p | numbered paragraph number
|
| $s | column spacing (indentation)
|
| bi | display (block) indentation
|
| bm | distance from text area to page bottom
|
| bs | display (block) pre/post space
|
| bt | block threshold for keeps
|
| ch | current chapter number
|
| df | display font
|
| dv | vertical spacing of displayed text (as percentage)*
|
| es | equation pre/post space
|
| ff | footnote font
|
| fi | footnote indentation (first line only)
|
| fm | footer margin
|
| fp | footnote type size in points
|
| fs | footnote prespace
|
| fu | footnote undent (right indentation)
|
| hm | header margin
|
| ii | indented paragraph indentation
|
| no | line numbering offset*
|
| pf | paragraph font
|
| pi | paragraph indentation
|
| po | page offset
|
| pp | paragraph type size in points
|
| ps | paragraph prespace
|
| qi | long quotation left/right indentation
|
| qp | long quotation type size in points
|
| qs | long quotation pre/post space
|
| sf | section title font
|
| si | section indentation per level of depth
|
| so | additional section title offset
|
| sp | section title type size in points
|
| ss | section prespace
|
| sx | super/subscript line height increase*
|
| tf | title font
|
| tm | distance from page top to text area
|
| tp | title type size in points
|
| tv | vertical spacing of text (as percentage)*
|
| xs | index entry prespace
|
| xu | index undent (right indentation)
|
| y2 | year of the century*
|
| y4 | year*
|
| yr | year minus 1900
|
| zs | floating keep pre/post space
|
Strings
| # | delayed text marker
|
| $n | concatenated section number
|
| * | footnote marker
|
| - | em dash
|
| < | begin subscripting
|
| > | end subscripting
|
| dw | weekday name
|
| lq | left double quotation mark
|
| mo | month name
|
| rq | right double quotation mark
|
| td | date
|
| wa | term for lqappendixrq used by .$c*
|
| wc | term for lqchapterrq used by .$c*
|
| { | begin superscripting
|
| } | end superscripting
|
Files
- /usr/:share/:groff/:1.23.0/:tmac/e.tmac
-
implements the package.
- /usr/:share/:groff/:1.23.0/:tmac/refer-me.tmac
-
implements
support for
me.
- /usr/:share/:groff/:1.23.0/:tmac/me.tmac
-
is a wrapper enabling the package to be loaded with
[lq]groff -m me[rq].
Notes
Early
roff
macro packages often limited their names to a single letter,
which followed the formatter's
m
flag letter,
resulting in
mm,
ms,
mv,
mn,
and so on.
The lqerq in lqmerq stands for lqEric P. Allmanrq,
who wrote the macro package and the original technical papers
documenting it while an undergraduate at the University of California.
See also
Two manuals are available in source and rendered form.
On your system,
they may be compressed and/or available in additional formats.
- /usr/:share/:doc/:groff-1.23.0/meintro.me
-
/usr/:share/:doc/:groff-1.23.0/meintro.ps
is
[lq]Writing Papers with
Groff
Using
-me[rq],
by Eric P. Allman,
adapted for
groff
by James Clark.
- /usr/:share/:doc/:groff-1.23.0/meref.me
-
/usr/:share/:doc/:groff-1.23.0/meref.ps
is the
[lq]me
Reference Manual[rq],
by Eric P. Allman,
adapted for
groff
by James Clark and G. Branden Robinson.
Groff: The GNU Implementation of troff,
by Trent A. Fisher and Werner Lemberg,
is the primary
groff
manual.
You can browse it interactively with [lq]info groff[rq].
For preprocessors supported by
me,
see
and
Index
- Name
-
- Synopsis
-
- Description
-
- Name space
-
- Macros
-
- Registers
-
- Strings
-
- Files
-
- Notes
-
- See also
-