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
troff. They are different interfaces to the same system:
nroffgenerates plaintext output, suitable for screens or line printers, and
troffgenerates very pretty output, usually for printing on a laser printer.
troff are combined as GNU troff, more commonly known as groff. 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