[comp.lang.postscript] a psfig/ditroff mystery

era@ncar.ucar.edu (Ed Arnold) (06/29/90)

I have a psfig/ditroff mystery in need of a solution.

About 3 months ago, I posted an inquiry about what software was
available to merge postscript figures into ditroff documents.  The
responses I received said to use either psfig, available via ftp
from linc.cis.upenn.edu, or Elan Computer Group's "eroff".

I tried psfig first, since we already have Transcript 2.2 and ditroff
source.  The ditroff source we have was purchased in 1989.  The tape
does not give a version number, but the paperwork sent to AT&T
specified "DWB 2.0".  Since the psfig documentation says you need DWB
2.0 or later (because psfig uses the "\X" construct), I figured we
were OK.

After installing psfig, running the psfig documentation produced a
*mess* on paper and a core dump from ditroff.  Looking thru the "UNIX
System V Documentor's Workbench Software Release 2.0, Technical
Discussion and Reference Manual", specifically the TROFF(5) man page
which describes what the output language of ditroff means, I found
there was NO "x X string" mentioned as part of the output.  Sure 'nuff,
typing "\X'string'\n" at ditroff did not result in "x X string\n" in
the output.

The question is: did AT&T *really* make this modification to ditroff,
or is this an urban legend?  Or perhaps we ordered 2.0, but got
something older instead?  If AT&T did not make this modification, does
anybody out there have a patch which will add this feature to n1.c,
version 1.5, before I burn the time to do it myself?

Here is a list of the SCCS ID keywords from files in the troff
subdirectory of the DWB tape received from AT&T, and a "cpio -ictv"
listing of the files in the troff subdir.  If anyone who is
successfully using psfig can tell me how this compares with their
ditroff, I would appreciate it.

README:SCCS @(#)README	1.3
README.daps:SCCS @(#)README.daps	1.2
d.h:/*      @(#)d.h	1.1     */
dev.h:/*      @(#)dev.h	1.1     */
draw.c:/*      @(#)draw.c	1.1     */
ext.h:/*      @(#)ext.h	1.1     */
hc.c:/*      @(#)hc.c	1.1     */
hytab.c:/*      @(#)hytab.c	1.1     */
makedev.c:/*      @(#)makedev.c	1.2     */
n1.c:char xxxn1v[] = "@(#)n1.c	1.5";
n2.c:/*	@(#)n2.c	1.2	*/
n3.c:/*      @(#)n3.c	1.1     */
n4.c:/*      @(#)n4.c	1.1     */
n5.c:/*      @(#)n5.c	1.1     */
n7.c:/*	@(#)n7.c	1.3	*/
n8.c:/*      @(#)n8.c	1.1     */
n9.c:/*      @(#)n9.c	1.1.1.1     */
nii.c:/*      @(#)nii.c	1.1     */
s.h:/*      @(#)s.h	1.1     */
suftab.c:/*      @(#)suftab.c	1.1     */
t10.c:/*      @(#)t10.c	1.1     */
t6.c:/*      @(#)t6.c	1.2     */
ta.c:/*      @(#)ta.c	1.1     */
tc.c:/*	@(#)tc.c	1.2	*/
tdef.h:/*      @(#)tdef.h	1.2     */
troff.sh:#       @(#)troff.sh	1.1
v.h:/*      @(#)v.h	1.1     */

100666 root    22337  Mar 10 12:52:50 1986  troff/d202.c
100664 root     1261  Mar 10 12:52:50 1986  troff/dev.h
100666 root     8006  Mar 10 12:52:50 1986  troff/draw.c
100664 root     2853  Mar 10 12:52:50 1986  troff/ext.h
100666 root    15089  Mar 10 12:52:51 1986  troff/hc.c
100664 root     7195  Mar 10 12:52:51 1986  troff/hytab.c
100666 root     8991  Mar 10 12:52:52 1986  troff/makedev.c
100666 root    20574  Mar 10 12:52:52 1986  troff/n1.c
100666 root    10024  Mar 10 12:52:53 1986  troff/n10.c
100664 root     3841  Mar 10 12:52:53 1986  troff/n2.c
100664 root    14613  Mar 10 12:52:53 1986  troff/n3.c
100664 root    10268  Mar 10 12:52:53 1986  troff/n4.c
100666 root    13144  Mar 10 12:52:54 1986  troff/n5.c
100666 root     5498  Mar 10 12:52:54 1986  troff/n6.c
100666 root    11726  Mar 10 12:52:54 1986  troff/n7.c
100664 root     4346  Mar 10 12:52:54 1986  troff/n8.c
100664 root     8310  Mar 10 12:52:55 1986  troff/n9.c
100666 root     6564  Mar 10 12:52:55 1986  troff/ni.c
100664 root     1507  Mar 10 12:52:55 1986  troff/nii.c
100644 root     1538  Mar 10 12:52:56 1986  troff/tab.37
100644 root     1920  Mar 10 12:52:56 1986  troff/tab.450
100664 root    19121  Mar 10 12:52:56 1986  troff/suftab.c
100644 root     1349  Mar 10 12:52:56 1986  troff/tab.lp
100666 root    18132  Mar 10 12:52:57 1986  troff/daps.c
100666 root    10603  Mar 10 12:52:57 1986  troff/t10.c
100664 root    13236  Mar 10 12:52:58 1986  troff/t6.c
100666 root    13767  Mar 10 12:52:59 1986  troff/ta.c
100666 root    19494  Mar 10 12:52:59 1986  troff/tc.c
100666 root    13288  Mar 10 12:53:00 1986  troff/tdef.h
100666 root     1184  Mar 10 12:53:00 1986  troff/tw.h
100666 root    21843  Mar 10 12:53:01 1986  troff/dcat.c
100666 root    19300  Mar 10 12:53:01 1986  troff/d8400.c
100666 root     6794  Mar 10 12:53:02 1986  troff/README
100644 root     1828  Mar 10 12:53:15 1986  troff/aps.h

--
Ed Arnold * NCAR * POB 3000, Boulder, CO 80307-3000 * 303-497-1253(w)
era@ncar.ucar.edu [128.117.64.4] * era@ncario.bitnet * era@ncar.uucp
"See, the human mind is kind of like ... a pinata.  When it breaks open,
there's a lot of surprises inside."	--Jane Wagner/Lily Tomlin

gwyn@smoke.BRL.MIL (Doug Gwyn) (06/29/90)

n1.c 1.5 is from DWB 1.0; n1.c 2.13 is the DWB 2.0 version, and it
does support \X'...'.  Apparently you got the wrong version.