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

7.5.4 Output formatting

Output format is mainly controlled by `-O' and `-T' options, described in the table below. When neither `-O' nor `-T' is selected, and if GNU extensions are enabled, the program choose an output format suited for a dumb terminal. Each keyword occurrence is output to the center of one line, surrounded by its left and right contexts. Each field is properly justified, so the concordance output could readily be observed. As a special feature, if automatic references are selected by option `-A' and are output before the left context, that is, if option `-R' is not selected, then a colon is added after the reference; this nicely interfaces with GNU Emacs next-error processing. In this default output format, each white space character, like newline and tab, is merely changed to exactly one space, with no special attempt to compress consecutive spaces. This might change in the future. Except for those white space characters, every other character of the underlying set of 256 characters is transmitted verbatim.

Output format is further controlled by the following options.

`-g number'
`--gap-size=number'

Select the size of the minimum white gap between the fields on the output line.

`-w number'
`--width=number'

Select the output maximum width of each final line. If references are used, they are included or excluded from the output maximum width depending on the value of option `-R'. If this option is not selected, that is, when references are output before the left context, the output maximum width takes into account the maximum length of all references. If this options is selected, that is, when references are output after the right context, the output maximum width does not take into account the space taken by references, nor the gap that precedes them.

`-A'
`--auto-reference'

Select automatic references. Each input line will have an automatic reference made up of the file name and the line ordinal, with a single colon between them. However, the file name will be empty when standard input is being read. If both `-A' and `-r' are selected, then the input reference is still read and skipped, but the automatic reference is used at output time, overriding the input reference.

`-R'
`--right-side-refs'

In default output format, when option `-R' is not used, any reference produced by the effect of options `-r' or `-A' are given to the far right of output lines, after the right context. In default output format, when option `-R' is specified, references are rather given to the beginning of each output line, before the left context. For any other output format, option `-R' is almost ignored, except for the fact that the width of references is not taken into account in total output width given by `-w' whenever `-R' is selected.

This option is automatically selected whenever GNU extensions are disabled.

`-F string'
`--flac-truncation=string'

This option will request that any truncation in the output be reported using the string string. Most output fields theoretically extend towards the beginning or the end of the current line, or current sentence, as selected with option `-S'. But there is a maximum allowed output line width, changeable through option `-w', which is further divided into space for various output fields. When a field has to be truncated because cannot extend until the beginning or the end of the current line to fit in the, then a truncation occurs. By default, the string used is a single slash, as in `-F /'.

string may have more than one character, as in `-F ...'. Also, in the particular case string is empty (`-F ""'), truncation flagging is disabled, and no truncation marks are appended in this case.

As a matter of convenience to the user, many usual backslashed escape sequences, as found in the C language, are recognized and converted to the corresponding characters by ptx itself.

`-M string'
`--macro-name=string'

Select another string to be used instead of `xx', while generating output suitable for nroff, troff or TeX.

`-O'
`--format=roff'

Choose an output format suitable for nroff or troff processing. Each output line will look like:

 
.xx "tail" "before" "keyword_and_after" "head" "ref"

so it will be possible to write an `.xx' roff macro to take care of the output typesetting. This is the default output format when GNU extensions are disabled. Option `-M' might be used to change `xx' to another macro name.

In this output format, each non-graphical character, like newline and tab, is merely changed to exactly one space, with no special attempt to compress consecutive spaces. Each quote character: " is doubled so it will be correctly processed by nroff or troff.

`-T'
`--format=tex'

Choose an output format suitable for TeX processing. Each output line will look like:

 
\xx {tail}{before}{keyword}{after}{head}{ref}

so it will be possible to write a \xx definition to take care of the output typesetting. Note that when references are not being produced, that is, neither option `-A' nor option `-r' is selected, the last parameter of each \xx call is inhibited. Option `-M' might be used to change `xx' to another macro name.

In this output format, some special characters, like $, %, &, # and _ are automatically protected with a backslash. Curly brackets {, } are also protected with a backslash, but also enclosed in a pair of dollar signs to force mathematical mode. The backslash itself produces the sequence \backslash{}. Circumflex and tilde diacritics produce the sequence ^\{ } and ~\{ } respectively. Other diacriticized characters of the underlying character set produce an appropriate TeX sequence as far as possible. The other non-graphical characters, like newline and tab, and all others characters which are not part of ASCII, are merely changed to exactly one space, with no special attempt to compress consecutive spaces. Let me know how to improve this special character processing for TeX.


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

This document was generated by Paul Visscher on December, 28 2000 using texi2html