roff is a preprocessor for nroff/troff/groff/sqtroff which I wrote in 1991, and have been hacking on ever since. The idea is that you use a single command, which tries to make a smart guess at what is required with the file you wish to process. This means that the average user shouldn't need to know how to construct the sometimes complex pipelines necessary to get tables, pictures, equations, references, cross-labels/references etc to work.
As it stands, it is rather bespoke for our lab, allowing us to turn on/off logos, letterhead etc. Anyway, you may find it useful, so here it is: roff source (perl - rename from roff.txt to roff.pl)
As I have never tried it in any other environment, I don't know if it will work on your system. Feel free to email me if you hit a brick wall.
UPDATE: March 2017 - we are now moving across to using rmarkdown for report generation so my interest in this is declining. My finger muscles will miss the '.P' and '\fB' formatting.