
pprint.pl -- Pretty Print Prolog terms
This module is a first start of what should become a full-featured pretty printer for Prolog terms with many options and parameters. Eventually, it should replace portray_clause/1 and various other special-purpose predicates.
 print_term(+Term, +Options) is det- Pretty print a Prolog term. The following options are processed:
- output(+Stream)
 - Define the output stream. Default is 
user_output - right_margin(+Integer)
 - Width of a line. Default is 72 characters.
 - left_margin(+Integer)
 - Left margin for continuation lines. Default is 0.
 - tab_width(+Integer)
 - Distance between tab-stops. Default is 8 characters.
 - indent_arguments(+Spec)
 - Defines how arguments of compound terms are placed. Defined
values are:
false- Simply place them left to right (no line-breaks)
 true- Place them vertically, aligned with the open bracket (not implemented)
 auto(default)- As horizontal if line-width is not exceeded, vertical otherwise.
 - An integer
 - Place them vertically aligned, <N> spaces to the right of the beginning of the head.
 
 - operators(+Boolean)
 - This is the inverse of the write_term/3 option 
ignore_ops. Default is to respect them. - write_options(+List)
 - List of options passed to write_term/3 for terms that are
not further processed. Default:
[ numbervars(true), quoted(true), portray(true) ] 
 
 prepare_term(+Term, -Template, -Cycles, -Constraints)[private]- Prepare a term, possibly holding cycles and constraints for printing.
 
 indent(+Out, +Indent, +Options)[private]- Newline and indent to the indicated column. Respects the option
tab_width. Default is 8. If the tab-width equals zero, indentation is emitted using spaces. 
 print_width(+Term, -W, +Options) is det[private]- Width required when printing `normally' left-to-right.
 
 pprint(+Term, +Context, +Options)[private]- The bottom-line print-routine.