www.LinuxHowtos.org





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 cset text adjustment mode to c
af r fassign format f to register r
am m eappend to macro m until e called
as s tappend rest of line t to string s
bp nbegin new page numbered n
br break output line
ce ncenter next n output lines
cp ne-/disable AT&T troff compatibility mode*
de m edefine macro m until e called
do tinterpret input t with compatibility mode off*
ds s tdefine rest of line t as string s
el tinterpret t if corresponding ie false
fc c dset field delimiter c and padding glyph d
fi enable filling
hc cset hyphenation character to c
hy mset automatic hyphenation mode to m
ie p tas if, but enable interpretation of later el
if p tif condition p/, interpret rest of line t
in hset indentation to distance h
lc cset leader repetition glyph to c
ls nset line spacing to n
mc c hset (right) margin glyph to c at distance h
mk rmark vertical position in register r
na disable adjustment of text
ne vneed vertical space of distance v
nf disable filling
nh disable automatic hyphenation
nr r n iassign register r value n with aut-increment i
ns begin n-space mode
pl vset page length to v
pn nset next page number to n
po hset page offset to h
rj nrigh-align next n output lines*
rm mremove macro, string, or request m
rn m nrename macro, string, or request m to n
rr rremove register r
rs resume spacing (end n-space mode)
rt vreturn to vertical position set by mk, or v
so fsource (interpolate) input file f
sp ninsert n lines of vertical space
ta ...set tab stops
tc cset tab repetition glyph to c
ti hset temporary indentation (next line only) to h
tl ...output thre-part title
tr ...translate characters
ul nunderline 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

$0pos-section heading hook
$1pr-section depth 1 hook
$2pr-section depth 2 hook
$3pr-section depth 3 hook
$4pr-section depth 4 hook
$5pr-section depth 5 hook
$6pr-section depth 6 hook
$Cpos-chapter title hook
$Hpage/column heading hook
$coutput chapter number and title
$foutput footer
$houtput header
$poutput section heading
$soutput footnote area separator
(bbegin block
(cbegin centered block
(dbegin delayed text
(fbegin footnote
(lbegin list
(qbegin long quotation
(xbegin index entry
(zbegin floating keep
)bend block
)cend centered block
)dend delayed text
)fend footnote
)lend list
)qend long quotation
)xend index entry
)zend floating keep
++set document segment type
+cbegin chapter
1cend mult-column layout
2cbegin mult-column layout
ENend eqn equation
EQbegin eqn equation
GEend grn picture with drawing position at bottom
GFend grn picture with drawing position at top
GSstart grn picture
IEend ideal picture with drawing position at bottom
IFend ideal picture with drawing position at top
ISstart ideal picture
PEend pic picture with drawing position at bottom
PFend pic picture with drawing position at top
PSstart pic picture
TEend tbl table
THend heading for mult-page tbl table
TSstart tbl table
bembolden argument
baset base indentation
bcbegin new column
biembolden and italicize argument
bxbox argument
efset eve-numbered page footer
ehset eve-numbered page header
epend page
foset footer
heset header
hldraw horizontal line
hxsuppress next page's headers/footers
iitalicize argument
ipbegin indented paragraph
ldreset localization and date registers and strings*
llset line length
lpbegin fully lef-aligned paragraph
npbegin numbered paragraph
ofset od-numbered page footer
ohset od-numbered page header
pdoutput delayed text
ppbegin firs-line indented paragraph
qquote argument
rset argument in roman
rereset tab stops
shbegin numbered section
smset argument at smaller type size
sxchange section depth
szset type size and vertical spacing
tpbegin title page
uunderline argument
uhbegin unnumbered section
xlset line length (local)
xpoutput index
Some macros are provided for lqoldrq compatibility. The lqme Reference Manualrq describes alternatives for modern documents.
aruse Arabic numerals for page numbers
blinsert space (even at page top; cf. sp)
ixset indentation without break
m1set page top to header distance
m2set header to text distance
m3set text to footer distance
m4set footer to page bottom distance
n1begin output line numbering
n2end or alter output line numbering
pabegin page
rouse Roman numerals for page numbers
skskip next page
 

Registers

$0section depth
$1first section number component
$2second section number component
$3third section number component
$4fourth section number component
$5fifth section number component
$6sixth section number component
$ccurrent column number
$ddelayed text number
$ffootnote number
$iparagraph base indentation
$lcolumn width
$mnumber of available columns
$pnumbered paragraph number
$scolumn spacing (indentation)
bidisplay (block) indentation
bmdistance from text area to page bottom
bsdisplay (block) pre/post space
btblock threshold for keeps
chcurrent chapter number
dfdisplay font
dvvertical spacing of displayed text (as percentage)*
esequation pre/post space
fffootnote font
fifootnote indentation (first line only)
fmfooter margin
fpfootnote type size in points
fsfootnote prespace
fufootnote undent (right indentation)
hmheader margin
iiindented paragraph indentation
noline numbering offset*
pfparagraph font
piparagraph indentation
popage offset
ppparagraph type size in points
psparagraph prespace
qilong quotation left/right indentation
qplong quotation type size in points
qslong quotation pre/post space
sfsection title font
sisection indentation per level of depth
soadditional section title offset
spsection title type size in points
sssection prespace
sxsuper/subscript line height increase*
tftitle font
tmdistance from page top to text area
tptitle type size in points
tvvertical spacing of text (as percentage)*
xsindex entry prespace
xuindex undent (right indentation)
y2year of the century*
y4year*
yryear minus 1900
zsfloating keep pre/post space
 

Strings

#delayed text marker
$nconcatenated section number
*footnote marker
-em dash
<begin subscripting
>end subscripting
dwweekday name
lqleft double quotation mark
momonth name
rqright double quotation mark
tddate
waterm for lqappendixrq used by .$c*
wcterm 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