手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

enscript (1)

名称

enscript - convert text files to PostScript, HTML, RTF, ANSI, and overstrikes

用法概要

enscript  [-123456789BcgGhjkKlmOqrRvVzZ]  [-#  copies]   [-a
pages]  [-A align] [-b header] [-C[start_line]] [-d printer]
[-D  key[:value]]  [-e[char]]  [-E[lang]]  [-f   font]   [-F
header_font]  [-H[num]]  [-i  indent] [-I filter] [-J title]
[-L lines_per_page] [-M media] [-n copies] [-N newline]  [-o
outputfile]  [-o  -] [-p outputfile] [-p -] [-P printer] [-s
baselineskip]  [-S  key[:value]]  [-t  title]  [-T  tabsize]
[-u[text]]  [-U  num]  [-W language] [-X encoding] [filename
...]

描述




ENSCRIPT                                              ENSCRIPT(1)



NAME
     enscript  -  convert  text  files  to PostScript, HTML, RTF,
     ANSI, and overstrikes


SYNOPSIS
     enscript  [-123456789BcgGhjkKlmOqrRvVzZ]  [-#  copies]   [-a
     pages]  [-A align] [-b header] [-C[start_line]] [-d printer]
     [-D  key[:value]]  [-e[char]]  [-E[lang]]  [-f   font]   [-F
     header_font]  [-H[num]]  [-i  indent] [-I filter] [-J title]
     [-L lines_per_page] [-M media] [-n copies] [-N newline]  [-o
     outputfile]  [-o  -] [-p outputfile] [-p -] [-P printer] [-s
     baselineskip]  [-S  key[:value]]  [-t  title]  [-T  tabsize]
     [-u[text]]  [-U  num]  [-W language] [-X encoding] [filename
     ...]


DESCRIPTION
     Enscript converts text files to PostScript or to other  out-
     put  languages.   Enscript  can  spool  the generated output
     directly to a specified printer or leave it to a  file.   If
     no  input  files  are given, enscript processes the standard
     input stdin.  Enscript can be extended to  handle  different
     output  media  and  it has many options which can be used to
     customize the printouts.


OPTIONS
     -# num  Print num copies of each page.

     -1, -2, -3, -4, -5, -6,
             Specify how many columns each page have.   With  the
             long  option --columns=num you can specify more than
             9 columns per page.

     -a pages, --pages=pages
             Specify which pages are printed.  The page  specifi-
             cation pages can be given in the following formats:

             begin-end
                     print pages from begin to end

             -end    print pages from 0 to end

             begin-  print pages from begin to end

             page    print page page

             odd     print odd pages

             even    print even pages




ENSCRIPT            Last change: Mar 12, 1999                   1






ENSCRIPT                                              ENSCRIPT(1)



     -A align, --file-align=align
             Align separate input files to even align page count.
             This option is useful in two-side and 2-up printings
             (--file-align=2).

     -b header, --header=header
             Use  the  text header as a page header.  The default
             page header is constructed from the name of the file
             and from its last modification time.

             The  header  string header can contain the same for-
             matting escapes which can be specified for the %For-
             mat  directives  in  the user defined fancy headers.
             For example, the following option  prints  the  file
             name, current data and page numbers:

             enscript --header='$n %W Page $% of $=' *.c

             The  header string can also contain left, center and
             right justified fields.  The fields are separated by
             the '|' character:

             enscript --header='$n|%W|Page $% of $=' *.c

             now  the  file  name  is printed left justified, the
             date is centered to the header and the page  numbers
             are printed right justified.

     -B, --no-header
             Do not print page headers.

     -c, --truncate-lines
             Cut  lines  that  are  too  long for the page.  As a
             default, enscript wraps long lines to the next  line
             so no information is lost.

             You  can  also  use  the --slice option which slices
             long lines to separate pages.

     -C[start_line], --line-numbers[=start_line]
             Precede  each  line  with  its  line  number.    The
             optional argument start_line specifies the number of
             the first line in the  input.   The  number  of  the
             first line defaults to 1.

     -d name Spool output to the printer name.

     -D key[:value], --setpagedevice=key[:value]
             Pass a page device definition to the generated Post-
             Script output.  If no value is given, the key key is
             removed from the definitions.




ENSCRIPT            Last change: Mar 12, 1999                   2






ENSCRIPT                                              ENSCRIPT(1)



             For example, the command

             enscript -DDuplex:true foo.txt

             prints file foo.txt in duplex (two side) mode.

             Page  device  operators are implementation dependant
             but they are standardized.  See section PAGE  DEVICE
             OPTIONS for the details.

     -e[char], --escapes[=char]
             Enable  special  escapes interpretation (see section
             SPECIAL ESCAPES).  If the argument char is given, it
             changes  the  escape character to char.  The default
             escape character is 0.

     -E[lang], --highlight[=lang]
             Highlight source code by creating  a  special  input
             filter  with the states program.  The optional argu-
             ment lang specifies the language to highlight.  As a
             default the states makes an educated guess.

             You  can  print a short description of the supported
             highlighting languages and  file  formats  with  the
             command:

             enscript --help-highlight

             The   highlighting   rules   are   defined   in  the
             `/usr/share/enscript/st/*.st'  files  which  can  be
             edited  to  create  highlighting definitions for new
             languages.

             Note! You can not use your own  input  filters  with
             this option.

     -f name, --font=name
             Select  a  font that is used for the body text.  The
             default body font is Courier10,  unless  multicolumn
             landscape  printing  mode is selected, in which case
             the default font is Courier7.

             The font specification name contains two parts:  the
             name  of the font and its size in PostScript points.
             For    example,    "Times-Roman12"    selects    the
             "Times-Roman" font with size 12pt.

             The  font  specification  name  can also be given in
             format `name@ptsize', where the name of the font and
             its  point  size  are  separated by a `@' character.
             This allows enscript  to  use  fonts  which  contain
             digit characters in their names.



ENSCRIPT            Last change: Mar 12, 1999                   3






ENSCRIPT                                              ENSCRIPT(1)



             The  font point size can also be given in the format
             width/height where the width and the height  specify
             the  size  of  the font in x- and y-directions.  For
             example, "Times-Roman@10/12"  selects  a  10  points
             wide and 12 points high "Times-Roman" font.

             You can also give the font sizes as decimal numbers.
             For  example,  "Times-Roman10.2"  selects  a  10.2pt
             "Times-Roman" font.

     -F name, --header-font=name
             Select a font for the header texts.

     -g, --print-anyway
             Print  a  file even if it contains binary data.  The
             option is implemented only  for  compatibility  pur-
             poses.   Enscript prints binary files anyway regard-
             less of the option.

     -G, --fancy-header[=name]
             Print a fancy page header name to the  top  of  each
             page.   The  option  -G  specifies the default fancy
             header.  See section CONFIGURATION FILES to see  how
             the default fancy header can be changed.

     -h, --no-job-header
             Suppress printing of the job header page.

     -H[num], --highlight-bars[=num]
             Specify  how  high  the highlight bars are in lines.
             If the num is not given,  the  default  value  2  is
             used.   As a default, no highlight bars are printed.

     -i num, --indent=num
             Indent every line num characters.   The  indentation
             can also be specified in other units by appending an
             unit specifier after the number.  The possible  unit
             specifiers and the corresponding units are:

             c       centimeters

             i       inches

             l       characters (default)

             p       PostScript points

     -I filter, --filter=filter
             Read all input files through an input filter filter.
             The input filter can be a single command or  a  com-
             mand  pipeline.  The filter can refer to the name of
             the input file with the escape `%s'.   The  name  of



ENSCRIPT            Last change: Mar 12, 1999                   4






ENSCRIPT                                              ENSCRIPT(1)



             the  standard  input  can be changed with the option
             `--filter-stdin'.

             For example, the following command prints  the  file
             `foo.c' by using only upper-case characters:

             enscript --filter="cat %s | tr 'a-z'

             The  following  command highlights changes which are
             made to files since the last checkout:

             enscript --filter="rcsdiff %s | diffpp %s"

             To include the string "%s" to  the  filter  command,
             you must write it as "%%s".

     -j, --borders
             Print borders around columns.

     -J title
             An alias for the option -t, --title.

     -k, --page-prefeed
             Enable page prefeed.

     -K, --no-page-prefeed
             Disable page prefeed (default).

     -l, --lineprinter
             Emulate  lineprinter.  This option is a shortcut for
             the options --lines-per-page=66, and --no-header.

     -L num, --lines-per-page=num
             Print only num lines for each page.  As  a  default,
             the  number  of  lines per page is computed from the
             height of the page and from the size of the font.

     -m, --mail
             Send a mail notification to user after the print job
             has been completed.

     -M name, --media=name
             Select  an  output  media  name.  Enscript's default
             output media is Letter.

     -n num, --copies=num
             Print num copies of each page.

     -N nl, --newline=nl
             Select the newline character.  The  possible  values
             for  nl  are:  n  (unix newline, 0xa hex) and r (mac
             newline, 0xd hex).



ENSCRIPT            Last change: Mar 12, 1999                   5






ENSCRIPT                                              ENSCRIPT(1)



     -o file An alias for the option -p, --output.

     -O, --missing-characters
             Print a listing of character codes which couldn't be
             printed.

     -p file, --output=file
             Leave  the output to file file.  If the file is `-',
             enscript sends the output  to  the  standard  output
             stdout.

     -P name, --printer=name
             Spool the output to the printer name.

     -q, --quiet, --silent
             Make  enscript  really quiet.  Only fatal error mes-
             sages are printed to stderr.

     -r, --landscape
             Print in the landscape mode; rotate page 90 degrees.

     -R, --portrait
             Print in the portrait mode (default).

     -s num, --baselineskip=num
             Specify the baseline skip in PostScript points.  The
             number num can be given as a decimal  number.   When
             enscript  moves from line to line, the current point
             y coordinate is moved (font point size  +  baseline-
             skip)  points down.  The default baseline skip is 1.

     -S key[:value], --statusdict=key[:value]
             Pass a statusdict definition to the generated  Post-
             Script output.  If no value is given, the key key is
             removed from the definitions.

             The statusdict operators are  implementation  depen-
             dant;   see  the  printer's  documentation  for  the
             details.

             For example, the command

             enscript -Ssetpapertray:1 foo.txt

             prints the file foo.txt  by  using  paper  from  the
             paper  tray  1  (assuming  that the printer supports
             paper tray selection).

     -t title, --title=title
             Set banner page's job title to  title.   The  option
             sets also the name of the input file stdin.




ENSCRIPT            Last change: Mar 12, 1999                   6






ENSCRIPT                                              ENSCRIPT(1)



     -T num, --tabsize=num
             Set  the  tabulator  size  to  num  characters.  The
             default is 8.

     -u[text], --underlay[=text]
             Print the string text under every page.  The proper-
             ties  of  the  text  can be changed with the options
             --ul-angle, --ul-font, --ul-gray, --ul-position, and
             --ul-style.

             If  no  text  is given, the underlay is not printed.
             This can be used to remove an underlay text that was
             specified  with  the  `Underlay'  configuration file
             option.

     -U num, --nup=num
             Print num logical pages on each  output  page  (N-up
             printing).  The values num must be a power of 2.

     -v, --verbose[=level]
             Tell what enscript is doing.

     -V, --version
             Print enscript version information and exit.

     -W [lang], --language[=lang]
             Generate output for the language lang.  The possible
             values for lang are:

             PostScript
                     generate PostScript (default)

             html    generate HTML

             overstrike
                     generate overstrikes (line printers, less)

             rtf     generate RTF (Rich Text Format)

             ansi    generate ANSI terminal control codes

     -X name, --encoding=name
             Use the input  encoding  name.   Currently  enscript
             supports the following encodings:

             88591, latin1
                     ISO-8859-1  (ISO Latin1) (enscript's default
                     encoding).

             88592, latin2
                     ISO-8859-2 (ISO Latin2)




ENSCRIPT            Last change: Mar 12, 1999                   7






ENSCRIPT                                              ENSCRIPT(1)



             88593, latin3
                     ISO-8859-3 (ISO Latin3)

             88594, latin4
                     ISO-8859-4 (ISO Latin4)

             88595, cyrillic
                     ISO-8859-5 (ISO Cyrillic)

             88597, greek
                     ISO-8859-7 (ISO Greek)

             88599, latin5
                     ISO-8859-9 (ISO Latin5)

             885910, latin6
                     ISO-8859-10 (ISO Latin6)

             ascii   7-bit ascii

             asciifise, asciifi, asciise
                     7-bit ascii with some scandinavian (Finland,
                     Sweden) extensions

             asciidkno, asciidk, asciino
                     7-bit ascii with some scandinavian (Denmark,
                     Norway) extensions

             ibmpc, pc, dos
                     IBM PC charset

             mac     Mac charset

             vms     VMS multinational charset

             hp8     HP Roman-8 charset

             koi8    Adobe Standard Cyrillic Font KOI8 charset

             ps, PS  PostScript font's default encoding

             pslatin1, ISOLatin1Encoding
                     PostScript interpreter's `ISOLatin1Encoding'

     -z, --no-formfeed
             Turn off the form feed character interpretation.

     -Z, --pass-through
             Pass  through  all  PostScript and PCL files without
             any modifications.  This allows that enscript can be
             used as a lp filter.




ENSCRIPT            Last change: Mar 12, 1999                   8






ENSCRIPT                                              ENSCRIPT(1)



             The  PostScript  files  are recognized by looking up
             the `%!' magic cookie  from  the  beginning  of  the
             file.  Note!  Enscript  recognized  also the Windoze
             damaged `^D%!' cookie.

             The PCL files are recognized by looking up the `^[E'
             or  `^[%'  magic  cookies  from the beginning of the
             file.

     --color[=bool]
             Use colors in the highlighting outputs.

     --download-font=fontname
             Include the font  description  file  (.pfa  or  .pfb
             file)  of the font fontname to the generated output.

     --extended-return-values
             Enable  extended  return  values.   As  a   default,
             enscript  returns  1  on error and 0 otherwise.  The
             extended return values give more details  about  the
             printing  operation.   See  the section RETURN VALUE
             for the details.

     --filter-stdin=name
             Specify how the stdin is shown to the input  filter.
             The  default  value is an empty string ("") but some
             programs require that the stdin is called  something
             else, usually "-".

     --footer=footer
             Use the text footer as a page footer.  Otherwise the
             option works like the --header option

     --h-column-height=height
             Set the horizontal column height to be height  Post-
             Script points.  The option sets the formfeed type to
             horizontal-columns.

     --help  Print a short help message and exit.

     --help-highlight
             Describe all  supported  --highlight  languages  and
             file formats.

     --highlight-bar-gray=gray
             Specify the gray level which is used in printing the
             highlight bars.

     --list-media
             List the names of all known output  media  and  exit
             successfully.




ENSCRIPT            Last change: Mar 12, 1999                   9






ENSCRIPT                                              ENSCRIPT(1)



     --margins=left:right:top:bottom
             Adjust the page marginals to be exactly left, right,
             top and bottom PostScript points.  Any of the  argu-
             ments  can  be  left empty in which case the default
             value is used.

     --mark-wrapped-lines[=style]
             Mark wrapped lines in  the  output  with  the  style
             style.  The possible values for the style are:

             none    do not mark them (default)

             plus    print  a  plus  (+)  character to the end of
                     each wrapped line

             box     print a black box to the end of each wrapped
                     line

             arrow   print  a  small  arrow  to  the  end of each
                     wrapped line

     --non-printable-format=format
             Specify  how  the   non-printable   characters   are
             printed.  The possible values for the format are:

             caret   caret notation: `^@', `^A', `^B', ...

             octal   octal  notation: `\000', `\001', `\002', ...
                     (default)

             questionmark
                     replace  non-printable  characters  with   a
                     question mark `?'

             space   replace   non-printable  characters  with  a
                     space ` '

     --nup-columnwise
             Change the layout  of  the  sub-pages  in  the  N-up
             printing from row-wise to columnwise.

     --nup-xpad=num
             Set  the  page x-padding of the n-up printing to num
             PostScript points.  The default is 10 points.

     --nup-ypad=num
             Set the page y-padding of the n-up printing  to  num
             PostScript points.  The default is 10 points.

     --page-label-format=format
             Set the page label format to format.  The page label
             format specifies how the labels  for  the  `%%Page:'



ENSCRIPT            Last change: Mar 12, 1999                  10






ENSCRIPT                                              ENSCRIPT(1)



             PostScript  comments  are  formatted.   The possible
             values are:

             short   Print the current pagenumber:  `%%Page:  (1)
                     1' (default)

             long    Print  the  current filename and pagenumber:
                     `%%Page: (main.c:  1) 1'

     --ps-level=level
             Set the PostScript language level that enscript uses
             for its output to level.  The possible values are 1,
             and 2.

     --printer-options=options
             Pass extra options to the printer command.

     --rotate-even-pages
             Rotate each even-numbered page 180 degrees.

     --slice=num
             Print the vertical slice num.  The slices are verti-
             cal regions of input files.  A new slice starts from
             the point where the line would otherwise be  wrapped
             to the next line.  The slice numbers start from 1.

     --style=style
             Set  the  highlighting style to style.  The possible
             values are: a2ps,  emacs,  emacs-verbose,  ifh,  and
             msvc.

     --swap-even-page-margins
             Swap  left  and right page margins for even-numbered
             pages.

     --toc   Print a table of contents to the end of the  output.

     --word-wrap
             Wrap long lines from word boundaries.

     --ul-angle=angle
             Set  the  angle of the underlay text to angle.  As a
             default, the angle is atan(-d_page_h, d_page_w).

     --ul-font=name
             Select a font for the underlay  text.   The  default
             underlay font is Times-Roman200.

     --ul-gray=num
             Print  the  underlay text with the gray value num (0
             ... 1), the default gray value is .8.




ENSCRIPT            Last change: Mar 12, 1999                  11






ENSCRIPT                                              ENSCRIPT(1)



     --ul-position=position_spec
             Set the underlay text's starting position  according
             to  the  position_spec.   The position specification
             must be given in  format:  `sign  xpos  sign  ypos',
             where  the  sign  must  be `+' or `-'.  The positive
             dimensions are measured from the lower  left  corner
             and  the  negative  dimensions  from the upper right
             corner.  For example, the specification `+0-0' spec-
             ifies the upper left corner and `-0+0' specifies the
             lower right corner.

     --ul-style=style
             Set the underlay text's style to style.  The  possi-
             ble values for style are:

             outline print outline underlay texts (default)

             filled  print filled underlay texts


CONFIGURATION FILES
     Enscript  reads configuration information from the following
     sources (in this order): command line  options,  environment
     variable   ENSCRIPT,   user's  personal  configuration  file
     ($HOME/.enscriptrc), site configuration file (/etc/enscript-
     site.cfg)    and    system's   global   configuration   file
     (/etc/enscript.cfg).

     The configuration files have the following format:

     Empty lines and lines starting with `#' are comments.

     All other lines are option lines and have format:

     option [arguments ...].

     The following options can be specified:

     AcceptCompositeCharacters: bool
             Specify whether PostScript font's composite  charac-
             ters  are accepted as printable or if they should be
             considered as non-existent.  The  default  value  is
             false (0).

     AFMPath: path
             Specifies the search path for the AFM files.

     AppendCtrlD: bool
             Specify  if  the  Control-D (^D) character should be
             appended to the end  of  the  output.   The  default
             value is false (0).




ENSCRIPT            Last change: Mar 12, 1999                  12






ENSCRIPT                                              ENSCRIPT(1)



     Clean7Bit: bool
             Specify how characters greater than 127 are printed.
             The valuee true (1) generates 7-bit  clean  code  by
             escaping  all  characters  greater  than  127 to the
             backslash-octal notation (default).  The value false
             (0)  generates  8-bit  PostScript  code  leaving all
             characters untouched.

     DefaultEncoding: name
             Select the default  input  encoding.   The  encoding
             name name can be one of the values of the option -X,
             --encoding.

     DefaultFancyHeader: name
             Select the default fancy header.  The default header
             is  used  when  the  option  -G  is specified or the
             option --fancy-header is given without an  argument.
             The system-wide default is `enscript'.

     DefaultMedia: name
             Select the default output media.

     DefaultOutputMethod: method
             Select  the  default  target  to which the generated
             output is sent.  The possible values for the  method
             are:

             printer send output to printer (default)

             stdout  send output to stdout

     DownloadFont: fontname
             Include  the font description file of the font font-
             name to the generated output.

     EscapeChar: num
             Specify  the  escape  character  for   the   special
             escapes.  The default value is 0.

     FormFeedType: type
             Specify  what  to  do  when  a formfeed character is
             encountered from the input.  The possible values for
             type are:

             column  move  to  the  beginning  of the next column
                     (default)

             page    move to the beginning of the next page

     GeneratePageSize: bool
             Specify whether the PageSize page device setting  is
             generated  to  the  PostScript  output.  The default



ENSCRIPT            Last change: Mar 12, 1999                  13






ENSCRIPT                                              ENSCRIPT(1)



             value is true (1).

     HighlightBarGray: gray
             Specify the gray level which is used  to  print  the
             highlight bars.

     HighlightBars: num
             Specify  how  high  the highlight bars are in lines.
             The default value is 0 which means that no highlight
             bars are printed.

     LibraryPath: path
             Specifies  the  enscript's library path that is used
             to lookup various resources.  The default  path  is:
             `/usr/share/enscript:home/.enscript'.    Where   the
             home is the user's home directory.

     MarkWrappedLines: style
             Mark wraped lines  in  the  output  with  the  style
             style.   The  possible values for the format are the
             same which can be given for the --mark-wrapped-lines
             option.

     Media: name width height llx lly urx ury
             Add  a  new  output  media  with the name name.  The
             physical dimensions  of  the  media  are  width  and
             height.   The bounding box of the Media is specified
             by the points (llx, lly) and (urx,  ury).   Enscript
             prints  all  graphics inside the bounding box of the
             media.

             User can select this media with option -M name.

     NoJobHeaderSwitch: switch
             Specify the spooler option to suppress the print job
             header  page.   This option is passed to the printer
             spooler   when    the    enscript's    option    -h,
             --no-job-header is selected.

     NonPrintableFormat: format
             Specify   how   the   non-printable  characters  are
             printed.  The possible values  for  format  are  the
             same which can be given for the --non-printable-for-
             mat option.

     OutputFirstLine: line
             Set the PostScript output's first line to line.  The
             default  value is PS-Adobe-3.0.  Since some printers
             do not like DSC levels greater than 2.0, this option
             can be used to change the output first line to some-
             thing more suitable like %!PS-Adobe-2.0 or %!.




ENSCRIPT            Last change: Mar 12, 1999                  14






ENSCRIPT                                              ENSCRIPT(1)



     PageLabelFormat: format
             Set the page label format to format.   The  possible
             values  for  format  are the same which can be given
             for the --page-label-format option.

     PagePrefeed: bool
             Enable / disable page prefeed.  The default value is
             false (0).

     PostScriptLevel: level
             Set  the  PostScript  language  level, that enscript
             uses for its output, to level.  The possible  values
             for  level  are  the same which can be given for the
             --ps-level option.

     Printer: name
             Names the printer to which the output is spooled.

     QueueParam: name
             The spooler command switch  to  select  the  printer
             queue, e.g. -P in lpr -Pps.  This option can also be
             used to pass other flags  to  the  spooler  command.
             These options must be given before the queue switch.

     SetPageDevice: key[:value]
             Pass a page device definition to the generated Post-
             Script output.

     Spooler: name
             Names  the  printer spooler command.  Enscript pipes
             generated PostScript to the command name.

     StatesBinary: path
             Define an absolute path to the states program.

     StatesColor: bool
             Should the states program generate color outputs.

     StatesConfigFile: file
             Read highlighting states configuration from the file
             file.      The     default     config     file    is
             `/usr/share/enscript/hl/enscript.st'.

     StatesHighlightStyle: style
             Set the highlight style to style.

     StatesPath: path
             Define the path for the states program.  The  states
             program  will lookup its state definition files from
             this     path.      The     default     value     is
             `$HOME/.enscript:/usr/share/enscript/hl'.




ENSCRIPT            Last change: Mar 12, 1999                  15






ENSCRIPT                                              ENSCRIPT(1)



     StatusDict: key[:value]
             Pass  a statusdict definition to the generated Post-
             Script output.

     TOCFormat: format
             Format table of contents  entries  with  the  format
             string format.  The format string format can contain
             the same escapes which are  used  to  format  header
             strings with the `%Format' special comment.

     Underlay: text
             Print string text under every page.

     UnderlayAngle: num
             Set the angle of the underlay text to num.

     UnderlayFont: fontspec
             Select a font for the underlay text.

     UnderlayGray: num
             Print the underlay text with the gray value num.

     UnderlayPosition: position_spec
             Set  the underlay text's starting position according
             to the position_spec.

     UnderlayStyle: style
             Set the underlay text's style to style.


FANCY HEADERS
     Users can create their  own  fancy  headers  by  creating  a
     header  description file and placing it in a directory which
     is in enscript's library path.  The name of the header  file
     must be in format: `headername.hdr'.  Header can be selected
     by giving option: --fancy-header=headername.

     Header description file contains PostScript code that paints
     the   header.    Description  file  must  provide  procedure
     do_header which is called by enscript at  the  beginning  of
     every page.

     Header  description  file  contains  two parts: comments and
     code.  Parts are separated by a line containing text:

     % -- code follows this line --

     Enscript copies only the code part of  description  file  to
     the generated PostScript output.  The comments part can con-
     tain any data, it is not copied.  If separator line is miss-
     ing, no data is copied to output.




ENSCRIPT            Last change: Mar 12, 1999                  16






ENSCRIPT                                              ENSCRIPT(1)



     Enscript  defines  following  constants which can be used in
     header description files:

     d_page_w        page width

     d_page_h        page height

     d_header_x      header lower left x coordinate

     d_header_y      header lower left y coordinate

     d_header_w      header width

     d_header_h      header height

     d_footer_x      footer lower left x coordinate

     d_footer_y      footer lower left y coordinate

     d_footer_w      footer width

     d_footer_h      footer height

     d_output_w      width of the text output area

     d_output_h      height of the text output area

     user_header_p   predicate which tells if  user  has  defined
                     his/her own header string: true/false

     user_header_left_str
                     if  user_header_p  is true, this is the left
                     field of the user supplied header string.

     user_header_center_str
                     if user_header_p is true, this is the center
                     field of the user supplied header string

     user_header_right_str
                     if  user_header_p is true, this is the right
                     field of the user supplied header string

     user_footer_p   predicate which tells if  user  has  defined
                     his/her own footer string: true/false

     user_footer_left_str
                     if  user_footer_p  is true, this is the left
                     field of the user supplied footer string.

     user_footer_center_str
                     if user_footer_p is true, this is the center
                     field of the user supplied footer string



ENSCRIPT            Last change: Mar 12, 1999                  17






ENSCRIPT                                              ENSCRIPT(1)



     user_footer_right_str
                     if  user_footer_p is true, this is the right
                     field of the user supplied footer string

     HF              standard header font (from -F, --header-font
                     option).   This  can  be  selected simply by
                     invoking command: `HF setfont'.

     pagenum         the number of the current page

     fname           the  full   name   of   the   printed   file
                     (/foo/bar.c)

     fdir            the directory part of the file name (/foo)

     ftail           file name without the directory part (bar.c)

     gs_languagelevel
                     PostScript  interpreter's   language   level
                     (currently 1 or 2)

     You can also use the following special comments to customize
     your headers and to specify  some  extra  options.   Special
     comments  are like DSC comments but they start with a single
     `%' character; special comments start from the beginning  of
     the line and they have the following syntax:

     %commentname: options

     Currently enscript support the following special comments:

     %Format: name format
             Define  a  new string constant name according to the
             format string format.  Format string start from  the
             first  non-space character and it ends to the end of
             the line.  Format string  can  contain  general  `%'
             escapes  and  input  file related `$' escapes.  Cur-
             rently following escapes are supported:

             %%      character `%'

             $$      character `$'

             $%      current page number

             $=      number of pages in the current file

             $p      number of pages processed so far

             $(VAR)  value of the environment variable VAR.

             %c      trailing component of  the  current  working



ENSCRIPT            Last change: Mar 12, 1999                  18






ENSCRIPT                                              ENSCRIPT(1)



                     directory

             %C ($C) current  time  (file  modification  time) in
                     `hh:mm:ss' format

             %d      current working directory

             %D ($D) current date  (file  modification  date)  in
                     `yy-mm-dd' format

             %D{string} ($D{string})
                     format  string  string  with the strftime(3)
                     function.  `%D{}' refers to the current date
                     and  `$D{}' to the input file's last modifi-
                     cation date.

             %E ($E) current date  (file  modification  date)  in
                     `yy/mm/dd' format

             %F ($F) current  date  (file  modification  date) in
                     `dd.mm.yyyy' format

             %H      document title

             $L      number of lines in the current  input  file.
                     This  is  valid only for the toc entries, it
                     can't be used in header strings.

             %m      the hostname up to the first `.' character

             %M      the full hostname

             %n      the user login name

             $n      input file name without the directory part

             %N      the user's pw_gecos field up  to  the  first
                     `,' character

             $N      the full input file name

             %t ($t) current  time  (file  modification  time) in
                     12-hour am/pm format

             %T ($T) current time  (file  modification  time)  in
                     24-hour format `hh:mm'

             %* ($*) current  time  (file  modification  time) in
                     24-hour format with seconds `hh:mm:ss'

             $v      the sequence number  of  the  current  input
                     file



ENSCRIPT            Last change: Mar 12, 1999                  19






ENSCRIPT                                              ENSCRIPT(1)



             $V      the  sequence  number  of  the current input
                     file in the `Table of Contents'  format:  if
                     the --toc option is given, escape expands to
                     `num-'; if the --toc is  not  given,  escape
                     expands to an empty string.

             %W ($W) current  date  (file  modification  date) in
                     `mm/dd/yy' format

             All format directives except `$=' can also be  given
             in format

             escape width directive

             where  width  specifies  the  width of the column to
             which the escape is printed.   For  example,  escape
             "$5%"  will  expand to something like " 12".  If the
             width is negative, the value will be  printed  left-
             justified.

             For example, the `emacs.hdr' defines its date string
             with the following format comment:

             %Format: eurdatestr %E

             which expands to:

             /eurdatestr (96/01/08) def

     %HeaderHeight: height
             Allocate height points space for  the  page  header.
             The default header height is 36 points.

     %FooterHeight: height
             Allocate  height  points  space for the page footer.
             The default footer height is 0 points.

     According to Adobe's Document Structuring Conventions (DSC),
     all  resources  needed by a document must be listed in docu-
     ment's prolog.  Since user's can create their  own  headers,
     enscript  don't  know  what  resources  those  headers  use.
     That's why all headers must contain a standard  DSC  comment
     that  lists  all  needed resources.  For example, used fonts
     can be listed with following comment:

     %%DocumentNeededResources: font fontname1 fontname2

     Comment can be continued to the next line with the  standard
     continuation comment:

     %%+ font fontname3




ENSCRIPT            Last change: Mar 12, 1999                  20






ENSCRIPT                                              ENSCRIPT(1)



SPECIAL ESCAPES
     Enscript supports special escape sequences which can be used
     to add some page formatting commands to ASCII documents.  As
     a  default,  special  escapes  interpretation is off, so all
     ASCII files print out as everyone expects.  Special  escapes
     interpretation  is  activated by giving option -e, --escapes
     to enscript.

     All special escapes start with the  escape  character.   The
     default escape character is ^@ (octal 000); escape character
     can be changed with option -e, --escapes.  Escape  character
     is  followed by escape's name and optional options and argu-
     ments.

     Currently enscript supports following escapes:

     bgcolor change the text background color.  The syntax of the
             escape is:

             ^@bgcolor{red green blue}

             where  the color components red, green, and blue are
             given as decimal numbers between values 0 and 1.


     bggray  change the text background color.  The syntax of the
             escape is:

             ^@bggray{gray}

             where  gray  is  the new text background gray value.
             The default value is 1.0 (white).

     color   change the text color.  The syntax of the escape is:

             ^@color{red green blue}

             where color components red, green and blue are given
             as decimal numbers between values 0 and 1.

     comment comment the rest of the line including  the  newline
             character.  Escape's syntax is:

             ^@comment text newline_character

     escape  change  the  escape  character.   The  syntax of the
             escape is:

             ^@escape{code}

             where code is the decimal code  of  the  new  escape
             character.



ENSCRIPT            Last change: Mar 12, 1999                  21






ENSCRIPT                                              ENSCRIPT(1)



     epsf    inline  EPS file to the document.  The syntax of the
             escape is:

             ^@epsf[options]{filename}

             where options is  an  optional  sequence  of  option
             characters  and  values  enclosed  with brackets and
             filename is the name of the EPS file.

             If filename ends to the `|' character, then filename
             is assumed to name a command that prints EPS data to
             its standard output.  In this case, enscript opens a
             pipe  to  the  specified  command and reads EPS data
             from pipe.

             Following options can be given for the epsf escape:

             c       print image centered

             r       print image right justified

             n       do not update current point.  Following out-
                     put  is  printed  to that position where the
                     current  point  was  just  before  the  epsf
                     escape

             nx      do not update current point x coordinate

             ny      do not update current point y coordinate

             xnum    move image's top left x coordinate num char-
                     acters from current point x coordinate (rel-
                     ative position)

             xnuma   set  image's top left x coordinate to column
                     num (absolute position)

             ynum    move image's top left y coordinate num lines
                     from current line (relative position)

             ynuma   set  image's  top  left y coordinate to line
                     num (absolute position)

             hnum    set image's height to num lines

             snum    scale image with factor num

             sxnum   scale image in x direction with factor num

             synum   scale image in y direction with factor num





ENSCRIPT            Last change: Mar 12, 1999                  22






ENSCRIPT                                              ENSCRIPT(1)



             As a default, all  dimensions  are  given  in  lines
             (vertical)  and  characters  (horizontal).   You can
             also specify other units by appending an unit speci-
             fier after number.  Possible unit specifiers and the
             corresponding units are:

             c       centimeters

             i       inches

             l       lines or characters (default)

             p       PostScript points

             For example to print an image one inch high, you can
             specify  height  by following options: h1i (1 inch),
             h2.54c (2.54 cm), h72p (72 points).

     font    select current font.  The syntax of the escape is:

             ^@font{fontname[:encoding]}

             where fontname is  a  standard  font  specification.
             Special  font  specification  default can be used to
             select the default body font (enscript's default  or
             the  one  specified  by  the command line option -f,
             --font).

             The optional argument encoding specifies the  encod-
             ing that should be used for the new font.  Currently
             the encoding can only be the enscript's global input
             encoding or ps.

     ps      include raw PostScript code to the output.  The syn-
             tax of the escape is:

             ^@ps{code}

     shade   highlight regions of text by changing the text back-
             ground color.  Escape's syntax is:

             ^@shade{gray}

             where  gray  is  the new text background gray value.
             The default value  is  1.0  (white)  which  disables
             highlighting.


PAGE DEVICE OPTIONS
     Page  device  is a PostScript level 2 feature that offers an
     uniform  interface  to  control  printer's  output   device.
     Enscript protects all page device options inside an if block



ENSCRIPT            Last change: Mar 12, 1999                  23






ENSCRIPT                                              ENSCRIPT(1)



     so they have no effect in level  1  interpreters.   Although
     all  level  2  interpreters support page device, they do not
     have to support all page device options.  For  example  some
     printers  can  print in duplex mode and some can not.  Refer
     to the documentation of your printer for supported  options.

     Here  are  some  usable  page  device  options  which can be
     selected with the -D, --setpagedevice option.   For  a  com-
     plete  listing,  see  PostScript  Language Reference Manual:
     section 4.11 Device Setup.

     Collate boolean
             how  output  is  organized  when  printing  multiple
             copies

     Duplex boolean
             duplex (two side) printing

     ManualFeed boolean
             manual feed paper tray

     OutputFaceUp boolean
             print output `face up' or `face down'

     Tumble boolean
             how opposite sides are positioned in duplex printing


PRINTING EXAMPLES
     Following printing examples assume that  enscript  uses  the
     default configuration.  If default actions have been changed
     from the configuration files, some examples will behave dif-
     ferently.

     enscript foo.txt
             Print file foo.txt to the default printer.

     enscript -Possu foo.txt
             Print file foo.txt to printer ossu.

     enscript -pfoo.ps foo.txt
             Print  file  foo.txt, but leave PostScript output to
             file foo.ps.

     enscript -2 foo.txt
             Print file foo.txt to two columns.

     enscript -2r foo.txt
             Print file to  two  columns  and  rotate  output  90
             degrees (landscape).

     enscript -DDuplex:true foo.txt



ENSCRIPT            Last change: Mar 12, 1999                  24






ENSCRIPT                                              ENSCRIPT(1)



             Print file in duplex (two side) mode (printer depen-
             dant).

     enscript -G2rE -U2 foo.c
             My default code printing command: gaudy header,  two
             columns,  landscape,  code highlighting, 2-up print-
             ing.

     enscript -E --color -Whtml --toc -pfoo.html *.h *.c
             A nice HTML report of your project's C source files.


ENVIRONMENT VARIABLES
     The  environment  variable  ENSCRIPT  can  be  used  to pass
     default options for enscript.  For example,  to  select  the
     default  body  font to be Times-Roman 7pt, set the following
     value to the ENSCRIPT environment variable:

     -fTimes-Roman7

     The value of the ENSCRIPT variable is processed  before  the
     command line options, so command line options can be used to
     overwrite these defaults.

     Variable ENSCRIPT_LIBRARY specifies the  enscript's  library
     directory.  It can be used to overwrite the build-in default
     `/usr/share/enscript'.


RETURN VALUE
     Enscript returns value 1 to the shell  if  any  errors  were
     encountered    or    0    otherwise.     If    the    option
     --extended-return-values was specified, the return value  is
     constructed from the following flags:

     0       no errors or warnings

     2       some lines were truncated or wrapped

     4       some characters were missing from the used fonts

     8       some characters were unprintable


FILES
     /usr/share/enscript/*.hdr               header files
     /usr/share/enscript/*.enc               input encoding vectors
     /usr/share/enscript/enscript.pro        PostScript prolog
     /usr/share/enscript/afm/*.afm           AFM files for PostScript fonts
     /usr/share/enscript/font.map            index for the AFM files
     /usr/share/enscript/hl/*.st             states definition files
     /etc/enscript.cfg                       system-wide configuration file



ENSCRIPT            Last change: Mar 12, 1999                  25






ENSCRIPT                                              ENSCRIPT(1)



     /etc/enscriptsite.cfg                   site configuration file
     ~/.enscriptrc                           personal configuration file
     ~/.enscript/                            personal resource directory



ATTRIBUTES
     See   attributes(5)   for   descriptions  of  the  following
     attributes:

     +---------------+-----------------------+
     |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
     +---------------+-----------------------+
     |Availability   | print/filter/enscript |
     +---------------+-----------------------+
     |Stability      | Uncommitted           |
     +---------------+-----------------------+
SEE ALSO
     diffpp(1), ghostview(1),  gs(1),  lpq(1),  lpr(1),  lprm(1),
     states(1)


AUTHOR
     Markku Rossi <mtr@iki.fi> <http://www.iki.fi/~mtr/>

     GNU  Enscript  WWW  home  page: <http://www.iki.fi/~mtr/gen-
     script/>



NOTES
     Further information about this software can be found on  the
     open  source  community  website at http://www.gnu.org/soft-
     ware/enscript.





















ENSCRIPT            Last change: Mar 12, 1999                  26