I was an undergraduate student when I discovered Linux in 1993. I was so excited to have the power of a Unix system right in my dorm room, but despite its many capabilities, Linux lacked applications. Word processors like LibreOffice and OpenOffice were years away. If you wanted to use a word processor, you likely booted your system into MS-DOS and used WordPerfect, the shareware GalaxyWrite, or a similar program.

That was my method, since I needed to write papers for my classes, but I preferred staying in Linux. I knew from our "big Unix" campus computer lab that Unix systems provided a set of text-formatting programs called nroff and troff. They are different interfaces to the same system: nroff generates plaintext output, suitable for screens or line printers, and troff generates very pretty output, usually for printing on a laser printer.

On Linux, nroff and troff are combined as GNU troff, more commonly known as groff[1]. I was happy to see a version of groff included in my early Linux distribution, so I set out to learn how to use it to write class papers. The first macro set I learned was the -me macro package, a straightforward, easy to learn macro set.

The first thing to know about groff is that it processes and formats text according to a set of macros. A macro is usually a two-character command, set on a line by itself, with a leading dot. A macro might carry one or more options. When groff encounters one of these macros while processing a document, it will automatically format the text appropriately.

Below, I'll share the basics of using groff -me to write

Read more from our friends at Opensource.com