groff_me(7)
π NAME π
groff_me(7) β Miscellaneous Information Manual β is the manual page for the βmeβ macro package for formatting roff documents. Bestie, this is your group-chat guide to the me macros, and it's lowkey iconic. π
β¨ SYNOPSIS β¨
Two ways to summon it, no cap:
groff -me [option ...] [file ...]
groff -m me [option ...] [file ...]
π DESCRIPTION π
Okay so, 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 gives you 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. Slay. β¨
Heads up, bestie: 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 groff(7) for details, particularly of requests whose argument list is designated with an ellipsis. An asterisk * marks groff extensions. π«Ά
Here's the request roster, and yes, every single one is included:
adc β set text adjustment mode to c.afr f β assign format f to register r.amm e β append to macro m until e called.ass t β append rest of line t to string s.bpn β begin new page numbered n.brβ break output line.cen β center next n productive input lines.cpn β en-/disable AT&Ttroffcompatibility mode*.dem e β define macro m until e called.dot β interpret input t with compatibility mode off*.dss t β define rest of line t as string s.elt β interpret t if correspondingie's p false.fcc d β set field delimiter c and padding glyph d.fiβ enable filling.hcc β set hyphenation character to c.hym β set automatic hyphenation mode to m.iep t β as if, but enable interpretation of laterel.ifp t β if condition p, interpret rest of line t.inh β set indentation to distance h.lcc β set leader repetition glyph to c.lsn β set line spacing to n.mcc h β set (right) margin glyph to c at distance h.mkr β mark vertical position in register r.naβ disable adjustment of text.nev β need vertical space of distance v.nfβ disable filling.nhβ disable automatic hyphenation.nrr n i β assign register r value n with auto-increment i.nsβ begin no-space mode.plv β set page length to v.pnn β set next page number to n.poh β set page offset to h.rjn β right-align next n productive input lines*.rmm β remove macro, string, or request m.rnm n β rename macro, string, or request m to n.rrr β remove register r.rsβ resume spacing (end no-space mode).rtv β return to vertical position set bymk, or v.sof β source (interpolate) input file f.spn β insert n lines of vertical space.ta... β set tab stops.tcc β set tab repetition glyph to c.tih β set temporary indentation (next line only) to h.tl... β output three-part title.tr... β translate characters.uln β underline next n productive input 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 thus does 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 βme Reference Manualβ for details. π
πΈ Name space πΈ
Objects in me follow a rigid naming convention. To avoid conflict, any user-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. Periodt. π
π¦ Macros π¦
Here's the macro squad β every hook, opener, closer, and utility macro, no skipping:
$0β post-section heading hook.$1β pre-section depth 1 hook.$2β pre-section depth 2 hook.$3β pre-section depth 3 hook.$4β pre-section depth 4 hook.$5β pre-section depth 5 hook.$6β pre-section depth 6 hook.$Cβ post-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 multi-column layout.2cβ begin multi-column layout.ENβ endeqnequation.EQβ begineqnequation.GEβ endgrnpicture with drawing position at bottom.GFβ endgrnpicture with drawing position at top.GSβ startgrnpicture.IEβ endidealpicture with drawing position at bottom.IFβ endidealpicture with drawing position at top.ISβ startidealpicture.PEβ endpicpicture with drawing position at bottom.PFβ endpicpicture with drawing position at top.PSβ startpicpicture.TEβ endtbltable.THβ end heading for multi-pagetbltable.TSβ starttbltable.bβ embolden argument.baβ set base indentation.bcβ begin new column.biβ embolden and italicize argument.bxβ box argument.efβ set even-numbered page footer.ehβ set even-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 left-aligned paragraph.npβ begin numbered paragraph.ofβ set odd-numbered page footer.ohβ set odd-numbered page header.pdβ output delayed text.ppβ begin first-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 (current environment only).xpβ output index.
Some macros are provided for βoldβ roff(1) compatibility. The βme Reference Manualβ describes alternatives for modern documents. The old-school crew is right here:
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 π
Registers are the little variables me keeps around. Full roster, bestie:
$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 π
Strings are the little text snippets and special glyphs. Here's every one:
#β delayed text marker.$nβ catenated 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 βappendixβ used by.$c*.wcβ term for βchapterβ used by.$c*.{β begin superscripting.}β end superscripting.
π§ Files π§
The files in question:
/usr/share/groff/1.24.2/tmac/e.tmacβ implements the package./usr/share/groff/1.24.2/tmac/refer-me.tmacβ implementsrefer(1)support forme./usr/share/groff/1.24.2/tmac/me.tmacβ is a wrapper enabling the package to be loaded with the option β-m meβ.
π Notes π
A little lore for you: some early roff macro packages limited their names to a single letter, which followed the formatter's m option, resulting in βnamesβ like -mm, -ms, -mv, and -mn. me's βeβ stands for βEric P. Allmanβ, the author of the original macro package and the technical papers documenting it. Iconic behavior, honestly. π
πΈ SEE ALSO πΈ
okay bestie, final stretch, and it's literally just your reading list π. There are two manuals available for you, and they come in both source and rendered form β though heads up, on your system they may be compressed and/or available in additional formats, so don't come for me if they look a little different π«Ά.
/usr/share/doc/groff-1.24.2/meintro.me/usr/share/doc/groff-1.24.2/meintro.psβ together these are "Writing Papers with Groff Using -me", by Eric P. Allman, adapted for groff by James Clark. iconic author lineup, no cap π/usr/share/doc/groff-1.24.2/meref.me/usr/share/doc/groff-1.24.2/meref.psβ and these two are the "me Reference Manual", by Eric P. Allman, adapted for groff by James Clark and G. Branden Robinson. a whole reference manual, serving looks β¨
also, Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner Lemberg, is the primary groff manual β like, the main character of manuals fr fr. You can browse it interactively with info groff π
.
and if you're curious about the preprocessors supported by me, go check eqn(1), grn(1), pic(1), refer(1), and tbl(1) β the whole squad π.
lastly, your other go-tos: groff(1), troff(1), and groff(7) π¦.
and that's the whole page, bestie!! you ate that π
β¨ this one's from groff 1.24.2, dated 2026-10-01, and its footer says groff_me(7) β so if anyone asks, you know exactly where it came from π
π¦ where this page comes from
- alpine 3.24: groff-doc 1.24.2-r0 Β· GPL-3.0-or-later
- Copyright (C) 1980, 1993 The Regents of the University of California. All rights reserved
- Copyright 1989-2024 Free Software Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms