PROBLEMS revision 55839
118099SpstThis file describes various problems that have been encountered in 218099Spstcompiling, installing and running groff. Suggestions for additions or 318099Spstother improvements to this file are welcome. 418099Spst 518099Spst* I get lots of `numeric overflow' error messages whenever I run 618099Spstgroff; I compiled groff with AT&T C++ 2.0 with an ANSI C compiler. 718099Spst 818099SpstMake sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level 918099SpstMakefile. If that doesn't solve the problem, define INT_MIN as 1018099Spst-INT_MAX in libgroff/lib.h. 1118099Spst 1255839Sasmodai* I get errors when I try to compile groff with Sun C++ version 5.0 or 5.1. 1355839Sasmodai 1455839SasmodaiThis is a known problem; see Sun bug #4301919. As of this writing, no 1555839Sasmodaipatch is available. Use GCC 2.95.2 or later instead. 1655839Sasmodai 1718099Spst* I get errors when I try to compile groff with Sun C++ version 3 or 1818099Spstearlier. 1918099Spst 2018099SpstGroff requires header files that are moderately compatible with AT&T 2118099SpstC++ and ANSI C. With some versions of Sun C++, the supplied header 2218099Spstfiles need some of the following changes to meet this requirement: 2318099Spst<string.h> must declare the mem* functions, (just add `#include 2418099Spst<memory.h>' to <string.h>); the first argument to fopen and freopen 2518099Spstshould be declared as `const char *'; the first argument to fread 2618099Spstshould be declared as `void *'; the first argument to fwrite should be 2718099Spstdeclared as `const void *'; malloc should be declared to return `void 2818099Spst*'; in <alloca.h>, the declaration `extern "C" { void 2918099Spst*__builtin_alloca(int); }' should be added; declarations of getopt(), 3018099Spstoptarg, optind and opterr should be added to <stdlib.h>; in 3118099Spst<sys/signal.h> the return type and the second argument type of 3218099Spstsignal() should be changed to be `void (*)(int)'. 3318099Spst 3418099SpstYou can either change them in place, or copy them to some other 3518099Spstdirectory and include that directory with a -I option. 3618099Spst 3718099Spst* I get errors when I try to compile groff with DEC C++. 3818099Spst 3918099SpstFix the declaration of write() in <unistd.h> so that the second 4018099Spstargument is a const char *. Fix the declaration of open() in 4118099Spst<sys/file.h> so that the first argument is a const char *. 4218099Spst 4318099Spst* On Ultrix, the make stops with the message 4418099Spst 4518099Spst *** Error code 1 4618099Spst 4718099Spst Stop. 4818099Spst 4918099Spstfor no apparent reason. 5018099Spst 5118099SpstUse GNU make. 5218099Spst 5318099Spst* I'm having problems compiling groff on 386BSD 0.1. 5418099Spst 5518099SpstIf you're using ash as /bin/sh, you'll need the following patch. 5618099Spst 5718099Spst*** gendef.sh.org Sun Jun 30 13:30:36 1991 5818099Spst--- gendef.sh Sun Feb 28 10:23:49 1993 5918099Spst*************** 6018099Spst*** 3,9 **** 6118099Spst file=$1 6218099Spst shift 6318099Spst 6418099Spst! defs="#define $1" 6518099Spst shift 6618099Spst for def 6718099Spst do 6818099Spst--- 3,10 ---- 6918099Spst file=$1 7018099Spst shift 7118099Spst 7218099Spst! x=$1 7318099Spst! defs="#define $x" 7418099Spst shift 7518099Spst for def 7618099Spst do 7718099Spst 7818099SpstYou'll also need to change dirnamemax.c so that it doesn't use 7918099Spstpathconf(). 8018099Spst 8118099Spst* While compiling on Xenix, ranlib libgroff.a fails. 8218099Spst 8318099SpstThe system ranlib can't handle externals longer than 40 characters. 8418099SpstUse the ranlib included in demon.co.uk:/pub/xenix/g++-1.40.3a.v1 8518099Spstinstead. 8618099Spst 8718099Spst* Groff can't handle my troff document. It works fine with AT&T troff. 8818099Spst 8918099SpstRead the section on incompatibilities in gtroff(1). Try using the -C 9018099Spstoption. Alternatively there's the sed script in tmac/fixmacros.sed 9118099Spstwhich will attempt to edit a file of macros so that it can be used 9218099Spstwith groff without the -C flag. 9318099Spst 9418099Spst* groff -Tdvi produces dvi files that use fonts at weird magnifications. 9518099Spst 9618099SpstYes, it does. You may need to compile fonts with Metafont at these 9718099Spstmagnifications. The CompileFonts script in the devdvi/generate 9818099Spstdirectory may help you to do this. (It will take a *long* time.) 9918099Spst 10018099Spst* pic output is not centered horizontally; pictures sometimes run off 10118099Spstthe bottom of the page. 10218099Spst 10318099SpstThe macro package you are using is not supplying appropriate definitions 10418099Spstof PS and PE. Give groff a -mpic option. 10518099Spst 10618099Spst* I'm having problems including PostScript illustrations using the PSPIC 10718099Spstmacro. 10818099Spst 10918099SpstA PostScript document must meet three requirements in order to be 11018099Spstincluded with the PSPIC macro: it must comply with the Adobe Document 11118099SpstStructuring Conventions; it must contain a BoundingBox line; it must 11218099Spstbe ``well-behaved''. The BoundingBox line should be of the form: 11318099Spst 11418099Spst %%BoundingBox: llx lly urx ury 11518099Spst 11618099Spstwhere llx, lly, urx, ury are the coordinates of the lower left x, 11718099Spstlower left y, upper right x, upper right y of the bounding box of 11818099Spstmarks on the page expressed as integers in the default PostScript 11918099Spstcoordinate system (72 units per inch, origin at bottom left corner). 12018099SpstA useful tactic is to print out the illustration by itself (you may 12118099Spstneed to add a `showpage' at the end), and physically measure the 12218099Spstbounding box. For more detail on these requirements, read the 12318099Spstspecification of Encapsulated PostScript format. (This is available 12418099Spstfrom the Adobe file server; send a message with a body of `help' to 12518099Spstps-file-server@adobe.com.) 12618099Spst 12718099Spst* I've configured groff for A4 paper, but gtroff still seems to think 12818099Spstthat the length of a page (as returned by \n(.p) is 11 inches. 12918099Spst 13018099SpstThis is intentional. The PAGE option is used only by grops. For 13118099Spstcompatibility with ditroff, the default page length in gtroff is 13218099Spstalways 11 inches. The page length can be changed with the `pl' 13318099Spstrequest. 13418099Spst 13518099Spst* Groff doesn't use the font names I'm used to. 13618099Spst 13718099SpstUse the `ftr' request. See gtroff(1). 13818099Spst 13918099Spst* I get errors using the Unix -ms macros with groff -e -C. 14018099Spst 14118099SpstApply this change: 14218099Spst 14318099Spst*** /usr/lib/ms/ms.eqn Tue Apr 25 02:14:28 1989 14418099Spst--- ms.eqn Sun Nov 11 10:33:59 1990 14518099Spst*************** 14618099Spst*** 22,29 **** 14718099Spst .. 14818099Spst . \" EN - end of a displayed equation 14918099Spst .de EN 15018099Spst! .if !\\*(10 .br 15118099Spst .di 15218099Spst .rm EZ 15318099Spst .nr ZN \\n(dn 15418099Spst .if \\n(ZN>0 .if \\n(YE=0 .LP 15518099Spst--- 22,30 ---- 15618099Spst .. 15718099Spst . \" EN - end of a displayed equation 15818099Spst .de EN 15918099Spst! .if \\n(.k>0 .br 16018099Spst .di 16118099Spst+ .ds 10 \\*(EZ\\ 16218099Spst .rm EZ 16318099Spst .nr ZN \\n(dn 16418099Spst .if \\n(ZN>0 .if \\n(YE=0 .LP 16518099Spst 16618099Spst 16718099Spst* gpic doesn't accept the syntax `chop N M' for chopping both ends of a 16818099Spstline. 16918099Spst 17018099SpstThe correct syntax is `chop N chop M'. 17118099Spst 17218099Spst* With gpic -t, when I print `line ->; box' using a dvi to ps 17318099Spstprogram, the arrow head sticks through into the inside of the box. 17418099Spst 17518099SpstThe dvi to ps program should be modified to set the line cap and 17618099Spstline join parameters to 1 while printing tpic specials. 17718099Spst 17818099Spst* When I print the output groff -Tps, the output is always shifted up 17918099Spstby about 0.7 inches; I'm using 8.5x11 inch paper. 18018099Spst 18118099SpstMake sure that PAGE is defined to be `letter' in the top-level 18218099SpstMakefile. 18318099Spst 18418099Spst* When I try to print the output of groff -Tps, I get no output at all 18518099Spstfrom the printer, and the log file shows the error 18618099Spst%%[ error: undefined; offendingcommand: BP ]%% 18755839SasmodaiI'm using TranScript spooling software. 18818099Spst 18918099SpstThis is a bug in the page reversal filter in early versions of 19018099SpstTranScript. Change the `broken' parameter in 19118099Spst/usr/local/lib/groff/font/devps/DESC to 7. 19218099Spst 19318099Spst* When I preview groff -Tps output using the Sun OpenWindows 2.0 pageview 19418099Spstprogram, all the pages are displayed on top of each other. 19518099Spst 19618099SpstThis is a defect in pageview. Change the `broken' parameter in 19718099Spst/usr/local/lib/groff/font/devps/DESC to 2. 19818099Spst 19955839Sasmodai* With groff -TX75, -TX100 or -X, I can only view the first page. 20018099Spst 20118099SpstThe left mouse button brings up a menu that allows you to view other 20218099Spstpages. 20318099Spst 20418099Spst* When I print the output of groff -Tdvi, I just get a black dot in 20518099Spstupper left corner. 20618099Spst 20718099SpstSome dvi drivers (notably early versions of xtex) do not correctly 20818099Spsthandle dvi files that use a resolution different from that used by dvi 20918099Spstfiles produced by TeX. Try getting a more up to date driver. 21018099Spst 21118099Spst* I get lots of errors when I use groff with the AT&T -mm macros. 21218099Spst 21318099SpstThe AT&T -mm macros need a few changes to work with groff; `make 21418099Spstinstall.dwbmm' will copy your -mm macros to groff's macro directory 21518099Spstand make the necessary changes. You may need to edit the commands for 21618099Spstthe install.mm target in the Makefile. Alternatively use the groff 21718099Spst-mm macros. 21818099Spst 21918099Spst* gtroff doesn't understand lines like `.ce99' with no space between 22018099Spstthe name of the request or macro and the arguments. 22118099Spst 22218099SpstGtroff requires a space between macro or request and its arguments 22318099Spstbecause it allows the use of long names for macros and requests. You 22418099Spstcan use the -C option or the `cp' request to put gtroff into a 22518099Spstcompatibility mode in which it is not possible to use long names for 22618099Spstmacros but in which no space is required between macros and their 22718099Spstarguments. The use of compatibility mode is strongly discouraged. 22818099Spst 22918099Spst* gtroff gives warnings about lines like 23018099Spst .ev \" a comment 23118099Spst(with a tab after the .ev). 23218099Spst 23318099SpstA tab character cannot be used as a substitute for a space character 23418099Spst(except in one case: between a control character at the beginning of a 23518099Spstline and the name of a macro or request). For example, in Unix troff 23618099Spst .ps \" restore the previous point size 23718099Spst(with a tab after the .ps) will NOT restore the previous point-size; 23818099Spstinstead it will be silently ignored. Since this is very likely to be 23918099Spstan error, gtroff can give a warning about it. If you want to align 24018099Spstcomments, you can do it like this: 24118099Spst .ev\" \" a comment 24218099Spst 24318099Spst* I don't like the page headers and footers produced by groff -man. 24418099Spst 24518099SpstThere seem to be many different styles of page header and footer 24618099Spstproduced by different versions of the -man macros. You will need to 24718099Spstmodify macros/tmac.an to suit your personal taste. For example, if 24818099Spstyou want the center of the page header to say 24955839Sasmodai System Programmer's Manual 25018099Spstyou will need to change the line 25155839Sasmodai .el .ds an-extra3 \"System Programmer's Manual 25218099Spstto 25355839Sasmodai .el .ds an-extra3 System Programmer's Manual 25418099Spst 25518099Spst* While formatting a manual page, groff complains about not being able to 25618099Spstbreak lines. The problem seems to be caused by a line like: 25718099Spst .TP \w'label'+2 25818099Spst 25918099SpstThe -man documentation says that the default scale indicator for TP 26018099Spstmacro is `n'. The groff -man macros implement this correctly, so that 26118099Spstthe argument will be evaluated as if it were 26218099Spst \w'label'n+2n 26318099SpstThe Unix -man macros don't implement this correctly (probably because 26418099Spstit's hard to do in Unix troff); they just append `n' to the entire 26518099Spstargument, so that it will be evaluated as if it were 26618099Spst \w'label'u+2n 26718099SpstThe solution is to fix the manual page: 26818099Spst .TP \w'label'u+2 26918099Spst 27018099Spst* I'm having problems formatting Ultrix man pages with groff -man. 27118099Spst 27218099SpstThe Ultrix man pages use a number of non-standard extensions to the 27318099SpstUnix man macros. One solution is to use the Ultrix -man macros with 27418099Spstgroff. Rename /usr/local/lib/groff/tmac/tmac.an to 27518099Spst/usr/local/lib/groff/tmac/tmac.an.gnu, copy /usr/lib/tmac/tmac.an to 27618099Spst/usr/local/lib/groff/tmac/tmac.an and apply the following patch (from 27718099SpstFrank Wortner): 27818099Spst 27918099Spst*** /usr/local/lib/groff/tmac/tmac.an Wed Sep 9 12:29:28 1992 28018099Spst--- /usr/lib/tmac/tmac.an Fri Jul 24 19:58:19 1992 28118099Spst*************** 28218099Spst*** 489,495 **** 28318099Spst . \" make special case of shift out of italic 28418099Spst .de }S 28518099Spst .ds ]F 28618099Spst! .if \\$12 .if !\\$5 .ds ]F \^ 28718099Spst .ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9" 28818099Spst .el \\$3 28918099Spst .}f 29018099Spst--- 489,495 ---- 29118099Spst . \" make special case of shift out of italic 29218099Spst .de }S 29318099Spst .ds ]F 29418099Spst! .if \\$12 .if !\\$5 .ds ]F\^ 29518099Spst .ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9" 29618099Spst .el \\$3 29718099Spst .}f 29818099Spst 29918099SpstAnother possible solution is to install tmac/man.ultrix as 30018099Spst/usr/local/lib/groff/tmac/man.local. 30118099Spst 30218099Spst* I'm having problems formatting HP-UX 9.0 man pages with groff -man. 30318099Spst 30418099SpstRename /usr/local/lib/groff/tmac/tmac.an to (for example) 30518099Spst/usr/local/lib/groff/tmac/tmac.gan, copy HP's tmac.an into 30618099Spst/usr/local/lib/groff/tmac/tmac.an, and either put `.cp 1' at the 30718099Spstbeginning or filter it (and any files it .so's) through 30818099Spsttmac/fixmacros.sed. 30918099Spst 31018099Spst* I'm having problems formatting man pages produced by the perl 31118099Spstwrapman script. 31218099Spst 31318099SpstSome versions of wrapman have a superfluous blank line before the .TH 31418099Spstline. This must be deleted. Then either use groff -C, or apply the 31518099Spstfollowing patch: 31618099Spst 31718099Spst*** wrapman.~2~ Sun Jan 19 12:10:24 1992 31818099Spst--- wrapman Tue Aug 10 02:06:41 1993 31918099Spst*************** 32018099Spst*** 35,41 **** 32118099Spst $line1 .= <IN> if $line1 =~ /eval/; 32218099Spst $line1 .= <IN> if $line1 =~ /argv/; 32318099Spst $line2 = <IN>; 32418099Spst! next if $line2 eq "'di';\n"; 32518099Spst 32618099Spst # Pull the old switcheroo. 32718099Spst 32818099Spst--- 35,41 ---- 32918099Spst $line1 .= <IN> if $line1 =~ /eval/; 33018099Spst $line1 .= <IN> if $line1 =~ /argv/; 33118099Spst $line2 = <IN>; 33218099Spst! next if $line2 eq "'di ';\n" || $line2 eq "'di';\n"; 33318099Spst 33418099Spst # Pull the old switcheroo. 33518099Spst 33618099Spst*************** 33718099Spst*** 49,56 **** 33818099Spst 33918099Spst print OUT $line1; 34018099Spst print OUT <<EOF; 34118099Spst! 'di'; 34218099Spst! 'ig00'; 34318099Spst # 34418099Spst # $header 34518099Spst # 34618099Spst--- 49,58 ---- 34718099Spst 34818099Spst print OUT $line1; 34918099Spst print OUT <<EOF; 35018099Spst! 'di '; 35118099Spst! 'ds 00 \\"'; 35218099Spst! 'eo '; 35318099Spst! 'ig 00 '; 35418099Spst # 35518099Spst # $header 35618099Spst # 35718099Spst*************** 35818099Spst*** 72,85 **** 35918099Spst 36018099Spst # These next few lines are legal in both Perl and nroff. 36118099Spst 36218099Spst! $null.00; # finish .ig 36318099Spst 36418099Spst 'di \\" finish diversion--previous line must be blank 36518099Spst .nr nl 0-1 \\" fake up transition to first page again 36618099Spst .nr % 0 \\" start at page 1 36718099Spst! '; __END__ ##### From here on it's a standard manual page ##### 36818099Spst .TH $PROG 1 "$month $mday, 19$year" 36918099Spst- .AT 3 37018099Spst .SH NAME 37118099Spst $prog \\- whatever 37218099Spst .SH SYNOPSIS 37318099Spst--- 74,87 ---- 37418099Spst 37518099Spst # These next few lines are legal in both Perl and nroff. 37618099Spst 37718099Spst! $null.00 ; # finish .ig 37818099Spst! 'ec \\'; 37918099Spst 38018099Spst 'di \\" finish diversion--previous line must be blank 38118099Spst .nr nl 0-1 \\" fake up transition to first page again 38218099Spst .nr % 0 \\" start at page 1 38318099Spst! .\\"'; __END__ ##### From here on it's a standard manual page ##### 38418099Spst .TH $PROG 1 "$month $mday, 19$year" 38518099Spst .SH NAME 38618099Spst $prog \\- whatever 38718099Spst .SH SYNOPSIS 38818099Spst 38918099Spst 39018099Spst* When I preview documents using -TX75 or -TX100, the layout is not the same 39118099Spstas when I print the document with -Tps: the line and page breaks come 39218099Spstin different places. 39318099Spst 39418099SpstUse groff -X -Tps. 39518099Spst 39618099Spst* When I try to run gxditview, I get the error: 39718099SpstError: Widget viewport has zero width and/or height 39818099Spst 39918099SpstThis error means you haven't correctly installed the application 40018099Spstdefaults file, GXditview.ad; ``make install'' does this for you 40118099Spstautomatically, so either you didn't do ``make install'', or you don't 40218099Spsthave imake configured correctly. 40318099Spst 40418099Spst* groff uses up an enormous amount of memory processing large files. 40518099SpstI'm using 386BSD 0.1. 40618099Spst 40718099Spst386BSD includes an old version of g++, 1.39, which has a bug that 40818099Spstcauses a major memory leak in gtroff. Apply the following fix to g++ 40918099Spstand recompile groff: 41018099Spst 41118099Spst*** cplus-decl.c.~1~ Mon Aug 6 05:28:59 1990 41218099Spst--- cplus-decl.c Wed Jun 5 08:55:04 1991 41318099Spst*************** 41418099Spst*** 7951,7961 **** 41518099Spst 41618099Spst /* At the end, call delete if that's what's requested. */ 41718099Spst if (TREE_GETS_DELETE (current_class_type)) 41818099Spst exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node), 41918099Spst get_identifier (OPERATOR_DELETE_FORMAT), 42018099Spst! build_tree_list (NULL_TREE, integer_zero_node), 42118099Spst NULL_TREE, LOOKUP_NORMAL); 42218099Spst else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)) 42318099Spst exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0); 42418099Spst else 42518099Spst exprstmt = 0; 42618099Spst--- 7951,7961 ---- 42718099Spst 42818099Spst /* At the end, call delete if that's what's requested. */ 42918099Spst if (TREE_GETS_DELETE (current_class_type)) 43018099Spst exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node), 43118099Spst get_identifier (OPERATOR_DELETE_FORMAT), 43218099Spst! build_tree_list (NULL_TREE, current_class_decl), 43318099Spst NULL_TREE, LOOKUP_NORMAL); 43418099Spst else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)) 43518099Spst exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0); 43618099Spst else 43718099Spst exprstmt = 0; 43818099Spst 43918099Spst* Where can I get grap? 44018099Spst 44118099SpstGrap is not freely available, but there is a nawk script implementing 44218099Spstan extended subset of grap available for ftp as 44318099Spstftp.informatik.uni-rostock.de:/pub/local/software/prag-1.0.shar.gz. 44418099Spst 44518099Spst* How can I use groff with an old LaserJet printer that doesn't work 44618099Spstwith groff -Tlj4? 44718099Spst 44818099SpstYou have at least 3 options: 44918099Spst 45018099Spst- use groff -Tps with GNU Ghostscript; 45118099Spst 45218099Spst- use groff -Tdvi with a TeX .dvi to Laserjet driver; 45318099Spst 45418099Spst- use groff with the LaserJet driver in Chris Lewis' psroff package 45518099Spst(available for ftp from: 45618099Spstftp.uunet.ca:/distrib/chris_lewis/psroff3.0pl17). 45718099Spst 45818099Spst* Groff seems to generate level 3 Postscript, but my printer is only a 45918099Spstlevel 1 or 2 PostScript printer. 46018099Spst 46118099SpstIn fact groff generates only level 1 PostScript. The `%!PS-Adobe-3.0' 46218099Spstcomment at the beginning of PostScript output generated by groff 46318099Spstindicates that the file conforms to version 3.0 of the Adobe Document 46418099SpstStructuring Conventions. The output generated by groff should be 46518099Spstprintable on any PostScript printer. Problems with groff output's not 46618099Spstprinting are most often caused by the spooling system. 46718099Spst 46818099Spst* The \n(st and \n(sb registers don't seem to work. I thought \w set 46918099Spstthem to the height and depth of its argument, but the registers always 47018099Spstseem to be 0. 47118099Spst 47218099Spst\n(st and \n(sb aren't supposed to give the height and depth of the 47318099Spststring rather they give the minimum and maximum vertical displacement 47418099Spstof the baseline. For example for \v'2u'\v'-3u', \n(st will be 1 and 47518099Spst\n(sb will be -2. The height and depth of the string is available in 47618099Spstthe \n[rst] and \n[rsb] registers: these are groff extensions. 47718099Spst 47818099Spst* On an SGI system, how can I make the man command use groff? 47918099Spst 48018099SpstFrom David Hinds <dhinds@allegro.stanford.edu> (some of these steps 48118099Spstare unnecessary if you install with the `g' Makefile variable defined 48218099Spstas empty): 48318099Spst 48418099SpstCreate a script called 'eqn': 48518099Spst 48618099Spst > #!/bin/sh 48718099Spst > if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi 48818099Spst > geqn $* 48918099Spst 49018099Spstand a script called 'neqn': 49118099Spst 49218099Spst > #!/bin/sh 49318099Spst > if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi 49418099Spst > geqn -Tascii $* 49518099Spst 49618099Spstand do: 49718099Spst 49818099Spst > ln -s gnroff nroff 49918099Spst 50018099Spstand edit the end of the gnroff script to be: 50118099Spst 50218099Spst > rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` 50318099Spst > exec groff -Wall -mtty-char $T $opts $rest 50418099Spst 50518099SpstTo get PostScript output from 'man -t', you also need to create a 50618099Spst'psroff' script similar to 'nroff'. Here are the context diffs: 50718099Spst 50818099Spst*** /usr/local/bin/nroff Sat Feb 13 15:51:09 1993 50918099Spst--- /usr/local/bin/psroff Sat Feb 13 17:45:46 1993 51018099Spst*************** 51118099Spst*** 1,8 **** 51218099Spst #!/bin/sh 51318099Spst! # Emulate nroff with groff. 51418099Spst 51518099Spst prog="$0" 51618099Spst! T=-Tascii 51718099Spst opts= 51818099Spst 51918099Spst for i 52018099Spst--- 1,8 ---- 52118099Spst #!/bin/sh 52218099Spst! # Emulate psroff with groff. 52318099Spst 52418099Spst prog="$0" 52518099Spst! T=-Tps 52618099Spst opts= 52718099Spst 52818099Spst for i 52918099Spst*************** 53018099Spst*** 25,30 **** 53118099Spst--- 25,33 ---- 53218099Spst -Tascii|-Tlatin1) 53318099Spst T=$1 53418099Spst ;; 53518099Spst+ -t) 53618099Spst+ # ignore -- default is send to stdout 53718099Spst+ ;; 53818099Spst -T*) 53918099Spst # ignore other devices 54018099Spst ;; 54118099Spst*************** 54218099Spst*** 49,53 **** 54318099Spst rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` 54418099Spst 54518099Spst # This shell script is intended for use with man, so warnings are 54618099Spst # probably not wanted. Also load nroff-style character definitions. 54718099Spst! exec groff -Wall -mtty-char $T $opts $rest 54818099Spst--- 52,56 ---- 54918099Spst rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` 55018099Spst 55118099Spst # This shell script is intended for use with man, so warnings are 55218099Spst! # probably not wanted. 55318099Spst! exec groff -Wall $T $opts $rest 554