www.delorie.com/gnu/docs/a2ps/a2ps_67.html   search  
 
Buy GNU books!


General Purpose PostScript Generating Utility

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 Known Style Sheets

Style Sheet: 68000 (`68000.ssh')
Althought designed at the origin for the 68k's assembler, this style sheet seems to handle rather well other dialects.

Style Sheet: a2ps configuration file (`a2psrc.ssh')
Meant to print files such as `a2ps.cfg', or `.a2ps/a2psrc', etc.

Style Sheet: a2ps style sheet (`ssh.ssh')
Second level of highligthing (option `-g')) substitutes the LaTeX symbols.

Style Sheet: Ada (`ada.ssh')
This style sheets cover Ada 95. If you feel the need for Ada 83, you'll have to design another style sheet.

Style Sheet: ASN.1 (`asn1.ssh')
Written by Philippe Coucaud. ASN.1 (Abstract Syntax Notation One) is used to define the protocol data units (PDUs) of all application layer protocols to date.

Style Sheet: Autoconf (`autoconf.ssh')
Suitable for both configure.in and library m4 files.

Style Sheet: AWK (`awk.ssh')
Written by Edward Arthur. This style is devoted to the AWK pattern scanning and processing language. It is supposed to support classic awk, nawk and gawk.

Style Sheet: B (`b.ssh')
Written by Philippe Coucaud. B is a formal specification method mostly used to describe critical systems. It is based on the mathematical sets theory.

Style Sheet: BC (`bc.ssh')
bc is an arbitrary precision calculator language.

Style Sheet: Bourne Shell (`sh.ssh')
Some classical program names, or builtin, are highlighted in the second level of pretty-printing.

Style Sheet: C (`c.ssh')
This style does not highlight the function definitions. Another style which highlights them, GNUish C, is provided (gnuc.ssh). It works only if you respect some syntactic conventions.

Style Sheet: C Shell (`csh.ssh')
Written by Jim Diamond. Some classical program names, and/or builtins, are highlighted in the second level of pretty-printing.

Style Sheet: C++ (`cxx.ssh')
Should handle all known variations of C++. Most declarations (classes etc.) are not highlighted as they should be. Please, step forward!

Style Sheet: CAML (`caml.ssh')
This style is obsolete: use OCaml instead.

Style Sheet: ChangeLog (`chlog.ssh')
This style covers the usual ChangeLog files.

Style Sheet: Claire (`claire.ssh')
Claire is a high-level functional and object-oriented language with advanced rule processing capabilities. It is intended to allow the programmer to express complex algorithms with fewer lines and in an elegant and readable manner.

To provide a high degree of expressivity, Claire uses:

To achieve its goal of readability, Claire uses More information on claire can be found on claire home page.

Style Sheet: Common Lisp (`clisp.ssh')
Written by Juliusz Chroboczek. It is not very clear what should be considered as a `keyword' in Common Lisp. I like binders, control structures and declarations to be highlighted, but not assignments.

Names of defstructs are not highlighted because this would not work with defstruct options.

Style Sheet: Coq Vernacular (`coqv.ssh')
This style is devoted to the Coq v 5.10 vernacular language.

Style Sheet: CORBA IDL (`cidl.ssh')
Written by Bob Phillips. A first attempt at a style sheet for OMG CORBA IDL. I believe I captured all the keywords for CORBA 2.2 IDL. I also stole code from gnuc.ssh to print the method names in bold face. I'm not sure I quite like my own choices for Keyword_strong and Keyword, so I'm looking for feedback. Note that, as with gnuc.ssh, for a method name to be noted as such, the left parenthesis associated with the argument list for the method must appear on the same line as the method name.

Style Sheet: CPP (`cpp.ssh')
C traditional preprocessor handling, mostly meant to be inherited.

Style Sheet: dc_shell (`dc_shell.ssh')
Written by Philippe Le Van. Synopsys Design Compiler is a synthesis tool used by electronic companies for the design of their chips. This sheet is very incomplete, we have a lot of keywords to add, eventually options to highlight... The Label_strong style is used for commands which change the design.

Style Sheet: Eiffel (`eiffel.ssh')
Eiffel is an object oriented language that also includes a comprehensive approach to software construction: a method.

The language itself is not just a programming language but also covers analysis, design and implementation.

Heavy highlight uses symbols to represent common math operators.

Style Sheet: Emacs Lisp (`elisp.ssh')
Written by Didier Verna. This style sheet includes support for some extensions dumped with XEmacs.

Style Sheet: Encapsulated PostScript (`eps.ssh')
Illegal PostScript operators are highlighted as Errors.

Style Sheet: Extended Tcl (`tclx.ssh')
Written by Phil Hollenback. Extensions to plain Tcl.

Style Sheet: Fortran (`fortran.ssh')
Written by Denis Girou, Alexander Mai. There are several Fortran dialects, depending whether, on the one hand, you use Fortran 77 or Fortran 90/95, and, on the other hand, Fixed form comments, or Free form comments.

The style sheets for77kwds and for90kwds implements keywords only, while the style sheets for-fixed and for-free implements comments only.

This style sheet tries to support any of the various flavors (Fortran 77/90/95, fixed or free form). For more specific uses, you should use either:

Style Sheet: Fortran 77 Fixed (`for77-fixed.ssh')
Written by Denis Girou, Alexander Mai. Dedicated to Fortran 77 in fixed form, i.e., comments are lines starting with c, C, or *, and only those lines are comments.

Style Sheet: Fortran 77 Free (`for77-free.ssh')
Written by Denis Girou, Alexander Mai. Dedicated to Fortran 77 in free form, i.e., comments are introduced by ! anywhere on the line, and nothing else is a comment.

Style Sheet: Fortran 77 Keywords (`for77kwds.ssh')
Written by Denis Girou, Alexander Mai. This sheet implements only Fortran 77 keywords, and avoids implementing comments support. This is to allow for implementation of either fixed or free source form.

See the documentation of the style sheet fortran for more details.

Style Sheet: Fortran 90 Fixed (`for90-fixed.ssh')
Written by Denis Girou, Alexander Mai. Dedicated to Fortran 90/95 in fixed form, i.e., comments are lines starting with c, C, or *, and only those lines are comments.

Style Sheet: Fortran 90 Free (`for90-free.ssh')
Written by Denis Girou, Alexander Mai. Dedicated to Fortran 90/95 in free form, i.e., comments are introduced by ! anywhere on the line, and nothing else is a comment.

Style Sheet: Fortran 90 Keywords (`for90kwds.ssh')
Written by Denis Girou, Alexander Mai. This sheet implements the superset which Fortran 90 and Fortran 95 provide over Fortran 77.

See the documentation of the style sheet fortran for more details.

Style Sheet: Fortran Fixed (`for-fixed.ssh')
Written by Denis Girou, Alexander Mai. Implements comments of Fortran in fixed form, i.e., comments are lines starting with c, C, or *, and only those lines are comments. No other highlighting is done.

See the documentation of the style sheet fortran for more details.

Style Sheet: Fortran Free (`for-free.ssh')
Written by Denis Girou, Alexander Mai. Dedicated to Fortran in free form, i.e., comments are introduced by ! anywhere on the line, and nothing else is a comment.

Style Sheet: GNUish C (`gnuc.ssh')
Declaration of functions are highlighted only if you start the function name in the first column, and it is followed by an opening parenthesis. In other words, if you write
 
int main (void)
it won't work. Write:
 
int
main (void)

Style Sheet: GNUMakefile (`gmake.ssh')
Written by Alexander Mai. Special tokens of GNUmakefiles and non terminal declarations are highlighted.

Style Sheet: Haskell (`haskell.ssh')
Written by Ilya Beylin. Haskell: non-strict functional programming language http::/www.haskell.org/

Style Sheet: HTML (`html.ssh')
Written by Wesley J. Chun. This style is meant to pretty print HTML source files, not to simulate its interpretation (i.e., `<bold>foo</bold>' does not print `foo' in bold). If you really meant to print the result of the HTML file interpreted, then you should turn the delegations on, and make sure `a2ps' has HTML delegations.

Style Sheet: IDL (`idl.ssh')
Written by Robert S. Mallozzi, Manfred Schwarb. Style sheet for IDL 5.2 (Interactive Data Language). Obsolete routines are not supported. http://www.rsinc.com.

Style Sheet: InstallShield 5 (`is5rul.ssh')
Written by Alex. InstallShield5 _TM_ RUL script.

Style Sheet: Java (`java.ssh')
Written by Steve Alexander. Documentation comments are mapped to strong comments, and any other comment is plain comment.

Style Sheet: JavaScript (`js.ssh')
Written by Scott Pakin. Keywords used are everything listed in the Client-Side JavaScript Reference 1.3, plus "undefined" (why isn't that listed?) and "prototype". I omitted the semi-standard a2ps optional operators for equality, because JavaScript's use of both strict- and non-strict equality might ambiguate the output. Finally, regular expressions are formatted like strings.

Style Sheet: LACE (`lace.ssh')
This is meant for the Eiffel equivalent of the Makefiles.

Style Sheet: Lex (`lex.ssh')
In addition to the C constructs, it highlights the declaration of states, and some special `%' commands.

Style Sheet: Lout (`lout.ssh')
Written by Jean-Baptiste Nivoit. This is the style for Lout files.

Style Sheet: Mail Folder (`mail.ssh')
To use from elm and others, it is better to specify `-g -Email', since the file sent to printer is no longer truly a mail folder. This style also suits to news. `--strip' options are also useful (they strip "useless" headers).

Whenever the changes of encoding are clear, a2ps sets itself the encoding for the parts concerned.

Tag 1 is the subject, and Tag 2 the author of the mail/news.

Note: This style sheet is _very_ difficult to write. Please don't report behavior you don't like. Just send me improvements, or write a Bison parser for mails.

Style Sheet: Makefile (`make.ssh')
Special tokens, and non terminal declarations are highlighted.

Style Sheet: Management Information Base (`mib.ssh')
Written by Kelly Wiles. The MIB file is of ASN.1 syntax.

Style Sheet: Maple (`maple.ssh')
Written by Richard J Mathar. Some classical program names, and/or builtins, are highlighted in the second level of pretty-printing.

Style Sheet: MATLAB 4 (`matlab4.ssh')
Written by Marco De la Cruz. Note that comments in the code should have a space after the %.

Style Sheet: Modula 2 (`modula2.ssh')
Written by Peter Bartke.

Style Sheet: Modula 3 (`modula3.ssh')
Modula-3 is a member of the Pascal family of languages. Designed in the late 1980s at Digital Equipment Corporation and Olivetti, Modula-3 corrects many of the deficiencies of Pascal and Modula-2 for practical software engineering. In particular, Modula-3 keeps the simplicity of type safety of the earlier languages, while providing new facilities for exception handling, concurrency, object-oriented programming, and automatic garbage collection. Modula-3 is both a practical implementation language for large software projects and an excellent teaching language.

This sheet was designed based on Modula 3 home page.

Style Sheet: o2c (`o2c.ssh')

Style Sheet: Oberon (`oberon.ssh')
Created by N. Wirth, Oberon is the successor of the Pascal and Modula-2 family of programming languages. It was specifically designed for systems programming, and was used to create the Oberon system in cooperation with J. Gutknecht. A few years later, the Oberon language was extended with additional object-oriented features to result in the programming language Oberon-2.

Implementation of the sheet based on The Oberon Reference Site.

Style Sheet: Objective C (`objc.ssh')
Written by Paul Shum.

Style Sheet: OCaml (`ocaml.ssh')
Written by Markus Mott. This style should also suit other versions of ML (caml light, SML etc.).

Style Sheet: OCaml Yacc (`mly.ssh')
Written by Jean-Baptiste Nivoit. Should handle CAML Special Light parser files.

Style Sheet: Octave (`octave.ssh')
Written by C.P. Earls.

Style Sheet: Oracle parameter file (`initora.ssh')
Written by Pierre Mareschal. For init.ora parameter files.

Style Sheet: Oracle PL/SQL (`plsql.ssh')
Written by Pierre Mareschal. This style is to be checked.

Style Sheet: Oracle SQL (`sql.ssh')
Written by Pierre Mareschal. a2ps-sql Pretty Printer Version 1.0.0 beta - 18-MAR-97 For comments, support for -- /*..*/ and //. This style is to be checked.

Style Sheet: Oracle SQL-PL/SQL-SQL*Plus (`oracle.ssh')
Written by Pierre Mareschal. 18-MAR-97 For comments, support for -- /*..*/ and //. This style is to be checked.

Style Sheet: Pascal (`pascal.ssh')
The standard Pascal is covered by this style. But some extension have been added too, hence modern Pascal programs should be correctly handled. Heavy highlighting maps mathematical symbols to their typographic equivalents.

Style Sheet: Perl (`perl.ssh')
Written by Denis Girou. As most interpreted languages, Perl is very free on its syntax, what leads to significant problems for a pretty printer. Please, be kind with our try. Any improvement is most welcome.

Style Sheet: PostScript (`ps.ssh')
Only some keywords are highlighted, because otherwise listings are quickly becoming a big bold spot.

Style Sheet: PostScript Printer Description (`ppd.ssh')
Support for Adobe's PPD files.

Style Sheet: Pov-Ray (`pov.ssh')
Written by Jean-Baptiste Nivoit. Should handle Persistence Of Vision input files.

Style Sheet: PreScript (`pre.ssh')
This style defines commands in the canonic syntax of a2ps. It is meant to be used either as an input language, and to highlight the table of contents etc.

It can be a good choice of destination language for people who want to produce text to print (e.g. pretty-printing, automated documentation etc.) but who definitely do not want to learn PostScript, nor to require the use of LaTeX.

Style Sheet: PreTeX (`pretex.ssh')
This style sheets provides LaTeX-like commands to format text. It is an alternative to the PreScript style sheet, in which formating commands are specified in a more a2ps related syntax.

It provides by the use of LaTeX like commands, a way to describe the pages that this program should produce.

Style Sheet: Prolog (`prolog.ssh')
Help is needed on this sheet.

Style Sheet: Promela (`promela.ssh')
There is no way for this program to highlight send and receive primitives.

Style Sheet: Python (`python.ssh')
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python's elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.

The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python web site, and can be freely distributed.

The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation.

The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other languages callable from C). Python is also suitable as an extension language for customizable applications.

Style Sheet: Reference Card (`card.ssh')
This style sheet is meant to process help messages generated by Unix applications. It highlights the options (-short or --long), and their arguments. Normal use of this style sheet is through the shell script card (part of the a2ps package), but a typical hand-driven use is:
 
program --help | a2ps -Ecard

Style Sheet: REXX (`rexx.ssh')
Written by Alexander Mai. This style sheet supports REXX. You can get information about REXX from the REXX Language Association.

Style Sheet: Sather (`sather.ssh')
Sather is an object oriented language designed to be simple, efficient, safe, flexible and non-proprietary. One way of placing it in the `space of languages' is to say that it aims to be as efficient as C, C++, or Fortran, as elegant as and safer than Eiffel, and support higher-order functions and iteration abstraction as well as Common Lisp, CLU or Scheme.

Implementation of the sheet based on the Sather home page.

Heavy highlighting uses symbols for common mathematical operators.

Style Sheet: Scheme (`scheme.ssh')
This style sheet is looking for a maintainer and/or comments.

Style Sheet: SDL-88 (`sdl88.ssh')
Written by Jean-Philippe Cottin. --strip-level=2 is very useful: it cancels the graphical information left by graphic editors. Only the pure specification is then printed.

Style Sheet: Sed (`sed.ssh')
Comments and labels are highlighted. Other ideas are welcome! A lot of work is still needed.

Style Sheet: Shell (`shell.ssh')
This style sheet is not meant to be used directly, but rather an as ancestor for shell style sheets.

Style Sheet: SQL 92 (`sql92.ssh')
Written by Pierre Mareschal. 18-MAR-97 This style is to be checked.

Style Sheet: Standard ML (`sml.ssh')
Written by Franklin Chen, Daniel Wang. This style sheet takes advantage of the Symbol font to replace many ASCII operators with their natural graphical representation. This is enabled only at heavy highlighting.

Style Sheet: Symbols (`symbols.ssh')
This style sheet should be a precursor for any style sheet which uses LaTeX like symbols.

Style Sheet: TC Shell (`tcsh.ssh')
Written by Jim Diamond. C shell with file name completion and command line editing.

Style Sheet: TeX (`tex.ssh')
Written by Denis Girou. This is the style for (La)TeX files. It's mainly useful for people who develop (La)TeX packages. With `-g', common mathematical symbols are represented graphically.

Style Sheet: Texinfo (`texinfo.ssh')
Heavy highlighting prints the nodes on separate pages which title is the name of the node.

Style Sheet: TeXScript (`texscript.ssh')
TeXScript is the new name of what used to be called PreScript. New PreScript has pure a2ps names, PreTeX has pure TeX names, and TeXScript mixes both.

Style Sheet: Tiger (`tiger.ssh')
Tiger is a toy language that serves as example of the book Modern Compiler Implementation by Andrew W. Appel.

Style Sheet: tk (`tk.ssh')
Written by Larry W. Virden. Since everything, or almost, is a string, what is printed is not always what you would like.

Style Sheet: Tool Command Language (`tcl.ssh')
Written by Larry W. Virden. Since everything, or almost, is a string, what is printed is not always what you would like.

Style Sheet: Unified Diff (`udiff.ssh')
This style is meant to be used onto the output unidiffs, that is to say output from `diff -u'.

Typical use of this style is:
 
diff -u old new | a2ps -Eudiff

The prologue diff helps to highlight the differences (`a2ps -Ewdiff --prologue=diff').

Style Sheet: Unity (`unity.ssh')
Written by Jean-Philippe Cottin. The graphic conversion of the symbols (option `-g') is nice.

Style Sheet: VERILOG (`verilog.ssh')
Written by Edward Arthur. This style is devoted to the VERILOG hardware description language.

Style Sheet: VHDL (`vhdl.ssh')
Written by Thomas Parmelan. Non-textual operators are not highlighted. Some logical operators are printed as graphical symbols in the second level of pretty-printing.

Style Sheet: Visual Basic for Applications (`vba.ssh')
Written by Dirk Eddelbuettel.

Style Sheet: Visual Tcl (`vtcl.ssh')
Written by Phil Hollenback. All the Vtcl keywords that aren't in Tcl or TclX.

Style Sheet: VRML (`vrml.ssh')
Written by Nadine Richard. According to Grammar Definition Version 2.0 ISO/IEC CD 14772.

Style Sheet: wdiff (`wdiff.ssh')
This style is meant to be used onto the output of Franc,ois Pinard's program wdiff. wdiff is a utility that underlines the differences of words between to files. Where diff make only the difference between lines that have changed, wdiff reports words that have changed inside the lines.

Typical use of this style is:
 
wdiff old new | a2ps -Ewdiff

wdiff can be found in usual GNU repositories. The prologue diff helps to highlight the differences (`a2ps -Ewdiff --prologue=diff').

Style Sheet: XS (`xs.ssh')
Written by Kestutis Kupciunas. This style covers Perl XS language.

Style Sheet: Yacc (`yacc.ssh')
Special tokens, and non terminal declarations are highlighted.

Style Sheet: Z Shell (`zsh.ssh')
Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. Zsh has comand line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.

This style sheet highlights some classical program names and builtins in the second level of pretty-printing.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003