xtree - program for graphical presentation and manipulation of tree
xtree [input_file] [-ml max_char_in_box_label]
[-d output_file] [-ol | -op]
[-t title_text_for _printing] [-by | -bn]
[-f1 Xfont1] [-f2 Xfont2] [-f3Xfont3]
[-pf1PSfont1] [-pf2 PSfont2] [-pf3 PSfont3]
Xtree is an application for graphical presentation and manipulation of
tree structure, which takes, as an input, a file in standard format.
Position in tree is determined by number of spaces in the beginning of
line.The application can be used for various purposes, and in
different ways, because it requires standard look of input file and
does not say how file will be made and what it will represent.
The application is in the first place intended for use as a self-
standing X Window client. It can be compared with an editor which will
content of a loaded file present in a graphical way, like a tree
structure, and enable its manipulation and printing. When data,
representing a tree, are once loaded from file, you can interactively
change the size of the tree on the screen, show the tree with or
without node boxes, select part of tree and send it to printer,
compare size of the tree with size of printer paper before you intend
to print it. You can interactively decide where to send postcript
file: directly to one of postcript printers in your network, or to
save it in some file.
File name stdin as an input file name will force xtree to read
standard input instead of some file from a disk. This can be useful
for including xtree in pipeline.
The other way of using xtree is to make postcript file for tree
structure directly without making any windows in the screen. The
option -d is made for this purpose.
When a tree or selected part has a width or a height larger than paper
size it is scaled to fit the page. If you do not like the print output
you get, you can set additional scaling for less scaled dimension to
get desired output look.
If input file name is specified, then tree will be shown in the
application window, when it appears in the screen. If no input
file name is specified, then application window will open empty
and you can use menu bar option File, to open some of the files.
If you want to use xtree in a pipeline, then use stdin as an
input file name.
You can chose menu bar option in application and open a new file.
Before using any option, it is important to know their precedence. The
options from a command line are stronger than options from an input
file, which are stronger then defaults. Those options which are set
from a command line will overwrite options in all files which you open
when you once start the xtree application. Some of the options can be
changed interactively (like show tree with or without node boxes) and
some can not (like font names).
This option is used to set a limit on length of labels inside of
boxes when boxes are used. Labels, whose length will exceed this
value will be clipped. This is correct value only for Courier
font family, because all all their characters have the same
width. For other fonts you will have always more characters than
you specify. Default value: 30.
This option does not have any effect when a tree is presented
This option can not be changed interactively while application is
If used in input file: #MAXLABEL: max_char_in_box_label.
Directly produce Postcript file without making any windows on the
display. Be sure that output file already does not exist, because
xtree will simply overwrite output file which is not protected.
Specifies orientation of tree in a printer page. It can be
landscape (-ol), or portrait (-op). Default is -op.
You can set orientation interactively in application, each time
you want to print.
If used in input file: #ORIENTATION: flag. Flag can be: P or L.
Turns on, or turns off showing of boxes around node labels.
Default is with boxes (-by). It can be changed interactively.
If used in input file: #BOX: flag. If flag = 1 (on), flag =
-t title_text_for _printing
Page header text for printing. Default is without header. You
can enter this text each time you want to print.
If used in input file: #TITLE: string
-f1 Xfont1 (-pf1 PSfont1)
Font used by X Windows(Postcript) to display main node text.
Default is: courr.
If used in input file: #FONT1: Xfont_name.
-f2 Xfont2 (-pf2 PSfont2)
Font used by X Windows(Postscript) to display the text above node
boxes. Default is: courr.
If used in input file: #FONT2: Xfont_name.
-f3 Xfont3 (-pf3 PSfont3)
Font used by X Windows(Postcript) to display the text under node
boxes. Default is: courr.
If used in input file: #FONT3: Xfont_name.
X Windows fonts:
For proper functioning of the xtree application it is important
to select valid font names. List of fonts available by your X
server can be listed using the command xlsfonts. You can also
take a look inside of /usr/bin/X11/fonts/ directory for the font
families available on your system ( this directories have to be
included in path; path can be seen and set using different
options of command xset ).
You should only use those fonts which have sizes: 08, 10, 12, 14
and 18, because xtree uses this sizes of fonts when you change a
size of tree. As a font name, use only a part of font name in
front of part which determines the size. E.g. you should be able
to use these fonts, from directory
courB, timR, timI, timB, ...
Authors advice is to use cour font family for main node labels if
you intend to present them inside of boxes. Default is "courr",
for all fonts.
Postcript does not have any problems with font sizes. You just
have to use some of Postcript font family names, like:
Courier, Courier-Oblique, Times-Roman, Times-Italic,
Default is "Courier", for all fonts.
INPUT FILE FORMAT:
Blank lines are aloved in any part of an input file. Comments
and options have to be gruped in the beginning. They have to
start in the first column and begin with # character. For option
names see part OPTIONS above. To be sure that your comments do
not conflict with some of options, it is the easiest to leave one
blank after leading #.
The root node of a tree has to start in the first column. If you
need to have a character # as a first one in the root node main
label, then use \ as an escape character before #. This worths
only for a root node. You can normaly start any other label with
any character, because it does not start in the first column.
Node lines start with main label. Main label can be followed by
one or two additional labels, and in that case you have to use
special options -u and -d, in front of this labels to determine
their place (up or down from node box). Additional labels can be
surrounded by quotes("..."), but it is not necessary, even if
label consists of several words separated by blanks. Usage of
quotes is only necessary in the cases that you have: quote as a
string character, -d or -u inside of label. When you want to have
a quote or backslash as a label character, then surround whole
label by quotes, and use backslash as an escape character. E.g:
main node label -d "-d and label \"goes\" down" -u 3 words
Tree with additional labels can be only presented with node
Input file example:
# Lets say that file name is probe.dat.
# Comments start in the first column and begin with #.
# Be sure that your comments do not conflict with option.
#TITLE: This will be page header for printing
# DON'T USE TABS !!!
xtree calls examples:
To produce just a postcript file for the previous example file, you
can use pipeline:
cat probe.dat | xtree stdin -d probe.ps
To open the application window with tree for probe.dat, and use italic
font for labels, type in command:
xtree probe.dat -f1 timI &