Go to the first, previous, next, last section, table of contents.


In this chapter is collected what had no place in the rest of this document.

Non PostScript printers

Here are some tips we have on how to use a non PostScript printer. If somebody feels like writing a more precise documentation, he really is welcome.

From Clayton Weaver

(for a bj200ex on os2 from linux) This is a shell script called as a filter from an ":if=/usr/local/bin/filtername" entry in /etc/printcap on linux:


gs -q -sDevice=bj200 -sOutputfile=- -r360 -dNOPAUSE -dSAFER -

The device is a gs device name, input is the ending "-" (stdin), output is stdout, -q is "no messages". Can be used with

lpr -Pprintername -Ffilter_path_and_name infile.ps

or just `lpr -Pprintcap_printername infile.ps' if the filter is specified in the printcap `:if=' entry for that "printcap_printername". Either way, lpr on linux runs it in a subshell, so you don't want "exec" before the gs command (that kills the subshell and leaves gs running with no way to communicate its stdout back to lpr).

You can print directly from gs, I've done it on OS/2 by specifying "lpt1" as the output device, but printing to a remote printer I need lpr and lpd to handle transmitting the job, so this way works better for me.

Regards, Clayton Weaver @email{cgweav@eskimo.com} (Seattle)

From Pierre Juillot

To print toto.ps on my deskjet, I hit:

> gsdj toto.ps

where `gsdj' is

#                            05-06-1996           
# to print a PostScript file using ghostscript onthe  
# deskjet 500 (dj) or the printer specified via  the 
# environment variable LPOPTS 
# using ghostscript 
# exec gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=djet500 \
exec gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=deskjet \
     -sOutputFile="|lp -onb -ddj -or $LPOPTS " $* quit.ps

These tips in a2ps

To use these examples, first see section Configuration files, items `DefaultPrinter:', `UnknwonPrinter:' and `Printer:'. The translations would be in one of your configuration files, say `$HOME/.a2ps/a2psrc':

Printer: lpt1 | gs -q -sDevice=bj200 -sOutputfile=- -r360 -dNOPAUSE \
        -dSAFER > lpt1
UnknownPrinter:  | gs -q -dNOPAUSE -sPAPERSIZE=a4 -sDEVICE=deskjet \
     -sOutputFile="|lp -onb -ddj -or %s " quit.ps

Frequently asked questions

Printing goes beyond the frame of the paper

You are currently printing with a bad media, for instance using A4 paper within @pack{}, while your printer uses Letter paper. See section Global behavior, option `--media' for more.

Helping on the translation

Please, help us internationalizing @pack{}. If you want to do a profound translation work, contact us. Having a look at the files `po/*.po' is also very informative.

If you are ready to help just a bit, it is simple too: on @pack{}'s web page, in the internationalization section, there are some pointers to files. Filling some blanks in thoses files is definitely a great help.

Why not having used yacc and such

There are several reasons why we decided not to use grammars to parse the files.

First it would have made the design of the style sheets much more tricky, and today @pack would know only 4 or 5 languages.

Second, it limits the number of persons who could build a style sheet.

Third, mixing several parsers within one program is not easy. Moreover, its size would have ten times what it is.

Fourth, we did not feel the need for such a powerful tool: handling the keywords and the sequences is just what the users expect.

And last but not least, using a parser requires that the sources are syntactic bug free, which is a strong requirement.

Nevertheless, PreScript gives the possibility to have on the one hand a syntactic parser which would produce PreScript code, and on the other hand, @pack{}, which would make it PostScript. This schema seems to us a good compromise.

Man pages

There are no man pages because now the documentation is written in Texinfo. What you are reading comes from this initial Texinfo file.

Nevertheless, man pages may be back from Hell the day a texi2roff filter appears.

Can I change the base font

Well, no. We worked on the 13 standard fonts, that are available in any printer. You could easily make the PostScript prologues download another fonts, but the problem is that the fonts characteristics (width of the characters) are hard coded in @pack{}. This is because it is easier, faster, and because @pack is defintitely not Word.

If you need to deal with several various fonts, then GNU enscript is exactly the tool you need.

What next?


@pack should be able to generate EPS files in a short while.

Spelling checking, syntax fixing.

When printing a human file (only English may be supported), spelling should be checked. When pretty-printing, syntax errors should be underlined.

No just kidding :). Do it yourself...

Go to the first, previous, next, last section, table of contents.