groff_me - Man Page

“me” macro package for formatting documents with GNU roff


groff -me[option ...] [input-file ...]
groff -m me[option ...] [input-file ...]


The me package of macro definitions for the roff language provides a convenient facility for preparing technical papers in various formats. This manual page describes the GNU version of the me macros, which is part of the groff document formatting system. This version can be used with both GNU troff and Unix troff.

Many roff requests are unsafe in conjunction with this package; however, the following requests may be used with impunity after the first .pp:

.bpbegin new page
.brbreak output line here
.sp ninsert n spacing lines
.ls n(line spacing) n=1 single, n=2 double space
.nano alignment of right margin
.ce ncenter next n lines
.ul nunderline next n lines

Note: In contrast to its behavior with other macro packages and “raw” roff, when using the me package, the .sp request will not put space at the top of a page.

Output of the pic, eqn, refer, and tbl preprocessors is acceptable as input.

Macro Reference

Numeric arguments to macros are denoted with lowercase letters and string arguments with uppercase. An optional macro argument such as x appears in brackets, [x]. Note that arguments to macros generally must be quoted if they contain whitespace. An exception is the argument to header and footer macros, which require some explanation. They take the form “c left c middle c right c”, with spaces added here for clarity. The strings left, middle, and right correspond to their page placement and can contain unprotected whitespace, but must not contain the (non-space) character c, which delimits them. For brevity, the table presents header and footer arguments as clcmcrc. Popular choices for c are the ASCII apostrophe “'” and the ASCII double quote “"”.

This list is incomplete; some requests are too complex to summarize in a table, and some that are listed below accept additional arguments not shown. See the -me Reference Manual for interesting details.

.(c-yesBegin centered block.
.(d-noBegin delayed text.
.(f-noBegin footnote.
.(l-yesBegin list.
.(q-yesBegin major quote.
.(x [X]-noBegin item in index (named X).
.(z-noBegin floating keep.
.)c-yesEnd centered block.
.)d-yesEnd delayed text.
.)f-yesEnd footnote.
.)l-yesEnd list.
.)q-yesEnd major quote.
.)x-yesEnd index item.
.)z-yesEnd floating keep.
.++ M [clcmcrc]-noDefine paper section as M, which must be one of C (chapter), A (appendix), P (preliminary, i.e., front matter or table of contents), AB (abstract), B (bibliography), RC (chapters renumbered from page one each chapter), or RA (appendix renumbered from page one) (and set page header to clcmcrc).
.+c [T]-yesBegin chapter (or appendix, etc., as set by .++) (with title T).
.1c1yesOne-column format on a new page.
.2c1yesTwo-column format.
.EN-yesSpace after equation produced by eqn or neqn.
.EQ [M [T]]-yesBegin displayed equation (with indentation M, which must be one of C (centered, default), I (indented), or L (justified left) (and title T in right margin)).
.GE-yesEnd gremlin picture.
.GS-yesBegin gremlin picture.
.PE-yesEnd pic picture.
.PS-yesBegin pic picture.
.TE-yesEnd tbl table.
.TH-yesEnd heading of tbl table.
.TS [H]-yesBegin tbl table; if H, table repeats heading on each page.
.b [X [Y]]-noPrint X in bold (appending Y in the previous font); if no arguments, switch to bold.
.ba n0yesAugment the base indent (for regular text, like paragraphs) by n.
.bc-yesBegin new column.
.bi [X [Y]]-noPrint X in bold italics (appending Y in the previous font); if no arguments, switch to bold italics.
.bu-yesBegin bulleted paragraph.
.bx [X [Y]]-noPrint X in a box (with Y appended). Renders reliably only in no-fill mode.
.ef clcmcrc""""noSet even-numbered page footer.
.eh clcmcrc""""noSet even-numbered page header.
.fo clcmcrc""""noSet page footer.
.hx-noSuppress headers and footers on next page.
.he clcmcrc""""noSet page header.
.hl-yesDraw a horizontal line.
.i [X [Y]]-noPrint X in italics (appending Y in the previous font); if no arguments, switch to italics.
.ip [X [n]]n=5nyesStart indented paragraph (with hanging tag X (and indentation n)).
.lp-yesBegin paragraph with first line flush left.
.np1yesStart numbered paragraph.
.of clcmcrc""""noSet odd-numbered page footer.
.oh clcmcrc""""noSet odd-numbered page header.
.pd-yesPrint delayed text.
.pp-yesBegin paragraph with indented first line.
.r [X [Y]]-noPrint X in roman (appending Y in the previous font); if no arguments, switch to roman.
.re0.5inoReset tabs to default values.
.sh [n [T]]n=1yesStart numbered section; print section number (set to n (and title T)) in bold.
.sk-noLeave the next page blank. Only one page is remembered ahead.
.sm X [Y]-noPrint X in a smaller point size (appending Y at the previous size).
.sz n10pnoAugment the point size by n points.
.tp-yesBegin title page.
.u X [Y]-noUnderline X (appending Y without underlining). Renders reliably only in no-fill mode.
.uh [T]-yesStart unnumbered section (and print title T in bold).
.xp [X]-noPrint index (named X).


/usr/share/groff/1.22.4/tmac/me.tmac (a wrapper file for e.tmac)


Early roff macro packages limited themselves to a single-letter namespace (mm, ms, mv, mn, etc.). The “e” in “me” stands for “Eric P. Allman”, who wrote the macro package and the original technical papers documenting it while an undergraduate at the University of California.

See Also

groff(1), troff(1)

Two manuals are available in source and rendered form. On your system, they may be compressed and/or available in additional formats.


is Writing Papers with Groff Using -me, by Eric P. Allman and James Clark.


is the -me Reference Manual, by Eric P. Allman and James Clark.

For preprocessors supported by me, see eqn(1), grn(1), pic(1), refer(1), and tbl(1).

Referenced By

groff(1), groff_tmac(5).

21 July 2022 groff 1.22.4