Don't y'all just love dealing with beginners
As with most computer programs, experience helps quite a lot,
and the best way to gain experience is through experimentation.
I had figured out that I had to pass a page size to grops but
I had it stuck in my head that it had to be a defined size,
letter, legal, a2, ...
Which is not surprising, since most printers cannot provide
arbitrary paper sizes, except for some large-format printers
which can cut arbitrary pieces from a large roll.
The feature is handy, however, for stuff which does not
necessarily need to be printed, such as presentations in
the 4:3 aspect ratio of most video projectors.
Is this not documented or did I just overlook it
It is documented.
From grops(1):
-ppaper-size
Set physical dimension of output medium. This overrides the
papersize, paperlength, and paperwidth commands in the DESC
file; it accepts the same arguments as the papersize command.
See groff_font (5) for details.
and from groff_font(5):
papersize string
Select a paper size. [...] Finally,
string can be a custom paper size in the format length,width (no
spaces before and after the comma). Both length and width must
have a unit appended; valid values are `i' for inches, `c' for
centimeters, `p' for points, and `P' for picas. Example:
12c,235p. An argument which starts with a digit is always
treated as a custom paper format. papersize sets both the ver-
tical and horizontal dimension of the output medium.