risingthumb.xyz Bringing the pain to an already pained web

Pman : Manual pages, formatting, roff and PDFs


Not to be confused with pacman. Its a short script I wrote in order to view man pages in my pdf client. Wait, what's a man page I hear you ask?

man ls

This command, "man" will read a roff file and format it appropiately so you can read it. A roff file, is just a plaintext file formatted in a nice way. How nice? Every change in formatting in your text is a line, but this isn't an article about roff. The thing about roff to know, is it was used in the old UNIX days and that man pages are written in them.

The script "pman" in question is this:

man -Tpdf "$@" | zathura - ;

The flag "-T" informs Troff what to convert the troff document into. "pdf" tells us to conver the Troff document to a pdf(I presume by converting to PS, then to PDF, but I may be incorrect). We must then pipe it into a pdf reader, in this case I use zathura as that's my preferred PDF reader.

Other options can be used for -T, including html, ps and dvi(not that you'd want to use the latter 2). HTML and PDF options are useful to me, as it means man pages can be printed or uploaded to the internet as a reference. In fact, I wouldn't be surprised if using this, is how most manual pages are done on the web!

Some points to clear up before I move on, and some alternative tools to mention. Firstly, Groff? Troff? Roff? Roff is the original, followed by Troff, followed By Groff(GNU Roff). The differences are minor between them, since they are just continuations and developments upon what was laid down previously. In fact, it's arguable that Roff laid the foundation for programs such as Donald Knuth's TeX program that is used widely in academia.

The alternative tool is "info" another GNU program. I am not a fan of it, as it's effectively a full on TUI for reading and searching manuals, as opposed to a simpler CLI that "man" is. Within emacs, I am aware of a program known as "W.O. Man" which stands for "Without Man", which is another program for reading manual pages.

Do you want to learn more about the "man" command in zathura? Run this:

man -Tpdf man | zathura -;

To post a comment you need to login first.

Articles from blogs I follow around the net


pt. i pt. ii

via I'm not really Stanley Lieber. September 17, 2021

Status update, September 2021

It’s a quiet, foggy morning here in Amsterdam, and here with my fresh mug of coffee and a cuddly cat in my lap, I’d like to share the latest news on my FOSS efforts with you. Grab yourself a warm drink and a cat of your own and let’s get started. First, a new…

via Drew DeVault's blog September 15, 2021

Help Archive Team Archive public Google Drive files before September 13!

On September 13, Google is going to start requiring longer URLs to access many Google Drive files, breaking links to public files across the web unless users opt out! Because…

via Data Horde September 11, 2021

Generated by openring