GNU a2ps

 [image of the Head of a GNU]

Table of contents

Introduction to a2ps

GNU a2ps is an Any to PostScript filter. Of course it processes plain text files, but also pretty prints quite a few popular languages.

The a2ps package is in need of a new maintainer. If you have a reasonable knowledge of C, PostScript, and a2ps, and are interested in volunteering, please email Thanks.

More detailed web pages about GNU a2ps, including documentation, flashes, updates, mailing lists, FAQ etc., is available at

Downloading a2ps

a2ps can be found on or one of the mirrors. Regular updates, packages are available on

Description of a2ps

Its slogan is precisely `` Do The Right Thing '', which means that though it is highly configurable, everything was made so that a novice user can do complicated PostScript manipulations. For instance, it has the ability to delegate the processing of some files to other filters (such as groff, texi2dvi, dvips, gzip etc.), what allows a uniform treatment (n-up, page selection, duplex etc.) of heterogeneous files.

As an example:

ubu $ a2ps a2ps.gif NEWS a2ps.texi index.html -o
[ (compressed, delegated to Gzip-a2ps): 17 pages on 9 sheets]
[a2ps.gif (gif, delegated to ImageMagick): 3 pages on 2 sheets]
[NEWS (plain): 12 pages on 6 sheets]
[a2ps.texi (texinfo, delegated to texi2dvi): 89 pages on 45 sheets]
[index.html (html, delegated to Netscape): 13 pages on 7 sheets]
[Total: 132 pages on 66 sheets] saved into the file `'

Want to print a LaTeX file in Duplex?

ubu $ a2ps paper.tex -s2 -P margot
[paper.tex (tex, delegated to texi2dvi): 33 pages on 9 sheets]
request id is margot-129 (standard input)
[Total: 34 pages on 9 sheets] sent to the printer `margot'
(Bibtex, makeindex, and latex were run as many times as needed.)

Or maybe you want to print the documentation as a booklet?

ubu ~/src/a2ps-4.10 $ a2ps -P margot -=book doc/a2ps.texi
[doc/a2ps.texi (texinfo, delegated to texi2dvi): 109 pages on 109 sheets]
request id is margot-128 (standard input)
[Total: 109 pages on 109 sheets] sent to the printer `margot'
It supports a wide number of encodings, and a very good handling of Latin 2-6 should be noted, thanks to Ogonkify (by Juliusz Chroboczek). Needed fonts are automatically downloaded. The interface is internationalized, the output is customizable and there are as many options as users had wishes (table of content, headings, virtual page layout etc. etc.).

The documentation has been carefully crafted for both novices and experts. It is meant to bring light on most questions you have, and includes a glossary.


Some goodies are provided with GNU a2ps:

The full distribution of Ogonkify, by Juliusz Chroboczek, is also included in the package. Ogonkify lets you fix deficient Latin 2-6 support in popular applications' PostScript (Netscape, StarOffice...).

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to There are also other ways to contact the FSF.

Please send comments on these web pages to, send other questions to

Copyright (C) 1999 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2006/01/01 14:11:02 $ $Author: karl $