|
From: | G. Branden Robinson |
Subject: | Typesetting Mathematics by Kernighan and Cherry, retypeset |
Date: | Fri, 1 Jul 2022 00:58:35 -0500 |
Hi folks, Joerg van den Hoff's recent question on the bug-groff list motivated me to look again at eqn. groff's eqn(1) man page is not useful to learn the program, even Schwarze-style--it is avowedly incomplete, mostly documenting only differences from the AT&T implementation. Also befuddled by the fact that our man page talks about "macros" (for eqn, not *roff), but the AT&T documentation pointedly doesn't, I decided to go back to the widely praised User's Guide by Kernighan & Cherry with as few assumptions as possible and see what I could learn. I furthermore wanted to retypeset this document with groff since its source is available and the V7 Unix Programmer's Manual Volume 2 scans on the Web are caked with flyspecks and other unpleasantness. So I did. Highlights: 1. A few bugs in vertical space management in groff ms were exposed. https://savannah.gnu.org/bugs/?62686 https://savannah.gnu.org/bugs/?62688 2. An outright bug (arguably) in groff ms's MINGW register was revealed. Its value was ignored if there were only two columns. https://savannah.gnu.org/bugs/?62687 3. Some stuff added to groff ms in 2007 was confirmed as being unnecessary. https://savannah.gnu.org/bugs/?62690 4. Again arguably, a feature is missing from troff; character translations should be properties of the environment, not global. You will notice that the puncuation bracketing the page numbers is inconsistent. Please discuss at the Savannah ticket if interested. https://savannah.gnu.org/bugs/?62691 5. An equation was missing from the Unix V7 C/A/T-typeset rendition of this manual. It is now restored. This does not appear to have been a problem with the source. Did something go wrong with old troff? 6. A feature is arguably missing from GNU eqn with respect to its "set" extension. People shouldn't have to source-dive to recover default values for these pernickety parameters. https://savannah.gnu.org/bugs/?62692 I made some very small changes to the source material, but none to anything one might consider narrative; they are all commented and explained. The most important avoids lying about when the document was rendered. I used groff extensions unapologetically (but there wasn't much to do). Please find attached: A. The re-typeset document in PostScript format. (Until we give ms(7) support for pdfmark, I don't see much point in rendering to PDF.) https://savannah.gnu.org/bugs/?58946 B. A diff to groff's s.tmac file, fixing issues 1, 2, and 3 above. C. A diff between the sources as and my hacked-up version. This includes a Makefile for convenience and a new file, "sbtl", implementing the only 2 AT&T Unix V7 ms macros it requires that groff doesn't implement, or implements differently (MH and UX). D. A compressed tar(1) archive of this hacked-up version's sources. You will need to alter the `GROFF` macro defined in the Makefile. If you patch s.tmac in your groff installation, defining the macro as simply "groff" should work fine. Feedback is appreciated. Regards, Branden
eqnuser.ps
Description: eqnuser.ps
s.tmac.diff
Description: s.tmac.diff
hacking-typesetting-mathematics-2e.diff
Description: hacking-typesetting-mathematics-2e.diff
eqn-v7-hacked.tar.gz
Description: eqn-v7-hacked.tar.gz
signature.asc
Description: PGP signature
[Prev in Thread] | Current Thread | [Next in Thread] |