mmroff
Format documents for printing or display
SYNOPSIS
mmroff [groff-options] [file...]
PARAMETERS
-T
Specify the output device (e.g., ps for PostScript, utf8 for terminal output, html for HTML, dvi).
-t
Process the input with the tbl preprocessor for tables.
-e
Process the input with the eqn preprocessor for equations.
-p
Process the input with the pic preprocessor for diagrams.
-u
Process the input with the refer preprocessor for bibliographic references.
-P
Pass args to the postprocessor.
-o
Output only specified pages (e.g., 1,3-5,9).
-s
Suppress standard error messages.
-D
Enable debugging output.
-r
Set string register C to value n.
--help
Display a help message and exit.
--version
Display version information and exit.
DESCRIPTION
mmroff is a command used to format documents written using the mm (Memorandum Macros) macro package.
It serves as a wrapper or a specific invocation of the groff command, typically by executing groff -mm.
The mm macros were designed for general-purpose technical documentation, including reports, letters, and memos, distinct from macro sets like man or mdoc which are tailored specifically for UNIX manual pages.
mmroff takes mm source files as input and processes them through groff (and potentially its preprocessors like tbl, eqn) to produce various output formats, such as plain text (suitable for terminals), PostScript, HTML, or DVI.
It facilitates the display and printing of mm-formatted files, ensuring consistent presentation across different output devices.
CAVEATS
The mmroff command is frequently a symbolic link or a shell script wrapper for groff -mm. Therefore, its exact behavior and available options often mirror those of the underlying groff command.
While still supported, the mm macro set is less commonly used for new UNIX manual pages compared to the man or mdoc macro packages.
WRAPPER IMPLEMENTATION
On many Linux systems, mmroff is not a standalone executable but rather a symbolic link to groff or a simple shell script that internally calls groff -mm. This means that any option or argument valid for groff can generally be passed to mmroff.
PURPOSE OF MM MACROS
Unlike the man or mdoc macro sets which are highly specialized for UNIX manual pages, the mm macros provide a broader range of formatting capabilities suitable for general technical documentation, including headers, footers, lists, paragraphs, and cross-references, making them flexible for various report-style documents.
HISTORY
The mm (Memorandum Macros) macro set originated from AT&T Bell Labs, designed for general-purpose document formatting, especially for technical reports and internal memos.
nroff and troff were developed in the 1970s as text formatters. groff (GNU roff) is a modern re-implementation that provides extended capabilities and supports various macro packages, including mm.
mmroff emerged as a convenient way to invoke groff specifically with the mm macro set, providing a familiar interface for users accustomed to older nroff/troff systems. While its direct usage has diminished with the rise of dedicated man and mdoc macros for system documentation, mm remains a versatile option for other types of documents.