man -t ls converts - to −. Is there a way I can tell man -t to not do that?

I prefer having -, as the - is often part of examples where − would be wrong (e.g. options).

  • 1
    Check out also this question for man and double-quotes; the equivalent here is (echo '.tr \--'; zcat $(man -w ls)) | man -tl -
    – meuh
    Mar 31, 2017 at 8:06

1 Answer 1


In the original file, the minus '-' symbols really are backslashified to '\-' which would then be interpreted in the way you do not like.

A solution is to filter the file before feeding it to man for formatting:

zcat /usr/share/man/man1/ls.1.gz | man -tl - > ls-normal.ps

zcat /usr/share/man/man1/ls.1.gz | sed 's/\\-/-/g' | man -tl - > ls-minus.ps

The second form replaces the '−'s with '-'s on my system.

PS: My previous answer was wrong - apologies!

  • 1
    @Ned64 +1 — the root cause is that in troff, \- encodes "minus" (which is appropriate for options, and produces output which can be copy-pasted to the command-line), whereas - encodes "hyphen". groff now treats both in the same way for text output (and HTML, at least in Debian), but apparently not for PostScript. Mar 30, 2017 at 18:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .