home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-30 | 33.5 KB | 1,104 lines |
- head 1.4;
- access;
- symbols;
- locks; strict;
- comment @# @;
-
-
- 1.4
- date 94.04.30.12.19.58; author peteric; state Exp;
- branches;
- next 1.3;
-
- 1.3
- date 94.03.26.11.36.32; author peteric; state Exp;
- branches;
- next 1.2;
-
- 1.2
- date 94.03.02.22.00.48; author peteric; state Exp;
- branches;
- next 1.1;
-
- 1.1
- date 94.03.02.00.14.59; author peteric; state Exp;
- branches;
- next ;
-
-
- desc
- @Documentation in AmigaGuide format for the Ftree Family Tree
- Formatter program.
- @
-
-
- 1.4
- log
- @Most of the changes for V0.3 of the program; added more of the
- options for marriages. Still some left...
- @
- text
- @@@Database "ftree.guide"
- @@Remark $VER: ftree.guide 0.3 (28.04.94) $
- @@Node main "Ftree Documentation"
- @@Width 75
- @@Toc main
- Ftree is a program which reads a description of a group of people linked by
- marriage and writes out, in the PostScript language, a family tree diagram.
-
- This document describes Ftree version 0.3.
-
- @@{"Contents" LINK contents}
- @@{"Introduction" LINK intro}
- @@{"Command line options" LINK options}
- @@{"Input file structure" LINK input}
- @@{"Output Options" LINK output-options}
- @@{"Examples" LINK examples}
-
- Ftree is Copyright (c) 1994 P. Ivimey-Cook.
-
-
- The installer and it's project icon have been developed by Commodore; the
- following are the copyright and legal messages required by Commodode-Amiga:
-
- Installer and Installer project icon
- (c) Copyright 1991-93 Commodore-Amiga, Inc. All Rights Reserved.
- Reproduced and distributed under license from Commodore.
-
- The installer software is provided "as-is" and subject to change;
- No warranties are made. All use is at your own risk. No liability
- or responsibility is assumed.
-
-
- @@EndNode
-
- @@Node intro "Introduction"
- @@Next options
- @@Prev main
- @@{b}Introduction@@{ub}
- ============
-
- Ftree is a utility to produce nice familiy tree plots with the minimum
- fuss. It has two aims; to allow arbitrary sized trees to be printed by
- using PostScript as the output language, and to avoid as far as possible
- having to specify the location, or attribute of any graphical element.
-
- Using PostScript would normally have the limitation that only PostScript
- output devices such as the Apple LaserWriter could print the result;
- however there are two very good PostScript interpreters available; @@{"Post" LINK "post.guide/main"}
- and @@{"GhostScript" LINK "ghostscript.guide/main"}. See Output Options for more information.
-
- The program operates on an input file or files containing three things;
- specifications such as fonts to use, titles and other such things,
- descriptions of people, and descriptions of marriages.
-
- Please Note: In this document, and indeed in the program itself, no real
- distinction is made between a 'legal' marriage and other modes of living
- together.
- @@EndNode
-
- @@Node options "Command Line Options"
- @@Next input
- @@Prev intro
- @@{b}Command Line Options@@{ub}
- ====================
-
- Ftree accepts the following command line options:
-
- @@{b}-F font@@{ub} - select font 'font' to write with
- @@{b}-L size@@{ub} - set maximum # generations to print
- @@{"-P psize" link opt-papersize} - set the paper size to 'psize'
- @@{b}-h@@{ub} - print the help message
- @@{"-l" link opt-orientation} - print in landscape mode
- @@{"-o psfile" link opt-outputfile} - specify output file name ('-' == stdout)
- @@{b}-p <size>@@{ub} - standard font point size
- @@{b}-q@@{ub} - quick mode format; approximate the text size
- @@{"-s pers" link opt-root} - specify 'root' person of tree
- @@{b}-t ttl@@{ub} - title string of tree
- @@{b}-v@@{ub} - comment more verbosely.
- @@{b}-x@@{ub} - do not print occupations
-
- Font names are precisely the standard PostScript names; examples
- are:
-
- Times-Roman, Courier, Helvetica, Garamond-Light, ZapfChancery
-
- but the exact list of available fonts will depend upon the PostScript
- device the file is sent to. Ftree never supplies font definitions itself.
- Font names are always case sensitive.
-
- Paper sizes are specified with the usual ISO and common-use names; again,
- they are case sensitive. The current list of supported sizes can be printed
- out with the command:
-
- @@{b}ftree -h@@{ub}
-
- Examples currently include:
-
- a3, a4, a5, letter, legal, note
-
- @@EndNode
-
- @@Node input "Input file structure"
- @@Next output-options
- @@Prev options
- @@{b}Input file structure@@{ub}
- ====================
-
- The Ftree input file consists of three major elements. The way in which
- these which may be arranged in an input file are specified in the section
- @@{"Basic file syntax" LINK "syntax"}.
-
- The @@{"OPTION" LINK "options-stmt"} statement is a list of options, many of which mirror those
- available on the command line but also including others not available that
- way.
-
- The @@{"PERSON" LINK "person-stmt"} statement is a definition of a person. It lists the known
- attributes of a single person.
-
- The @@{"MARRIAGE" LINK "marriage-stmt"} statement is a definition of the marriage of two people.
- Marriage may be construed as any union of two people from which children
- are born. Marriages need not involve children, though. Marriage statements
- may be chained together with the 'then' construct, through which multiple
- marriages of one person may be specified.
-
- In addition, the program may be instructed to include another file in it's
- entirety at a given point by the @@{"include" LINK "include-stmt"} statement.
-
- @@EndNode
-
- @@Node syntax "Basic Input File Syntax"
- @@Next person-stmt
- @@Prev input
- @@{b}Basic Input File Syntax@@{ub}
- =======================
-
- Comment lines, which will be completely ignored by ftree during processing,
- are started by the semicolon (;) character and continue until the end of the
- line.
-
- White space - spaces and tabs - are also ignored, but are necessary in
- order to split up other words in the input file. Strings and numbers are
- required by some of the operators and options: Strings are always
- surrounded by double quote (") characters. To incorporate a double quote
- into a string, just precede it by a backslash (\).
-
- Numbers come in two forms. Floating point numbers are typically used to
- specify sizes - e.g. the point size of a font. These always contain a
- decimal point. If there is no whole-number part, this must be specified as
- being 0. If there is no fractional part, the fractional part may be
- omitted. Thus:
-
- 0.1 is legal
- 10.45 is legal
- 5. is legal
- .3 is not legal
- 4e5 is not legal.
-
- Things which fall outside this are interpreted character-by-character, and
- will usually cause a syntax error message to be printed:
-
- <filename>: <lineno>: error: syntax error; character - h (104) unexpected.
-
- In this case the program is complaining that it didn't understand a letter
- h in the input file. <filename> and <line number> are filled in whenever
- possible. 'error:' means that the program considers this to be a major
- problem; 'warning:' means that something which may be wrong has occurred;
- usually this is something which the user probably doesn't want but which
- may be perfectly correct. The program exits once five errors have been
- found. Any number of warnings may be tolerated.
-
- @@EndNode
-
- @@Node person-stmt "The Person Statement"
- @@Prev syntax
- @@Next marriage-stmt
- @@{b}The Person Statement@@{ub}
- ====================
-
- The person statement defines all that the program needs to know about an
- individual person. Details concerning relationships with other people are
- kept in the Marriage statement. The basic form is:
-
- person <id>
- {
- <list of items>
- }
-
- The formatting, as with all aspects of the input file, is up to the user.
- The item <id> is a unique ID which is applied to the person. Names, and
- even the combination of names and other information, are in general
- insufficient to generate reliably unique identifiers. If <id> is omitted,
- an ID code will be calculated by Ftree for the person from the other
- information supplied. However, there is no easy way to find out what these
- are in order to reference them elsewhere!
-
- The main body of the statement is the <list of items>. This consists of a
- number of words, some of which must have strings or numbers afterwards.
- Each word (word pair) may be followed by a comma, but this is optional.
-
- An example of a definition might be:
-
- person A491 { firstname "Sally Ann" surname "Hodge"
- born 4 May 1997 sex female
- }
-
- This follows probably the most common form, in which the full name and one
- or two other items about a person are known. In this case, the commas have
- been omitted.
-
- The full list of possible options is:
-
- @@{"bapt <date> - the date of baptism (not displayed)" LINK "pers-bapt"}
- @@{"born <date> - the date of birth" LINK "pers-born"}
- @@{"dead - the person as being dead" LINK "pers-dead"}
- @@{"died <date> - the date of death" LINK "pers-died"}
- @@{"living - the person as still being alive" LINK "pers-living"}
- @@{"firstname <name> - the first name(s) of the person" LINK "pers-firstname"}
- @@{"surname <name> - the family name of the person" LINK "pers-surname"}
- @@{"occupation <str> - arbirary text (not displayed)" LINK "pers-occupation"}
- @@{"sex <male> or <female> - the sex of the person" LINK "pers-sex"}
-
- @@EndNode
-
- @@Node marriage-stmt "The Marriage Statement"
- @@{b}The Marriage Statement@@{ub}
- ====================
-
- The marriage statement defines all the information the program needs to
- know about a given marriage. Because some people marry more than once they
- may be chained together with the 'then' keyword. Thus a simple marriage
- statement conforms to the template:
-
- marriage {
- husband X wife Y <other details>
- }
-
- and more generally:
-
- marriage {
- husband X wife Y <other details>
- }
- then {
- husband X wife Z <other details>
- }
- then ...
-
- The husband and wife clauses must be specified in a marriage; they are not
- optional. However, the order in which they are defined is not important.
- Indeed, one might specify a marriage as 'marriage { <others> wife X husband
- Y}'. The marriage statement uses the ID codes previously assigned to people
- in order to remove ambiguity. Thus an example marriage statement might be:
-
- marriage {
- husband A34 wife B97 married 4 Oct 78 children D65
- }
-
- In order to understand this in real terms, of course, the list of people
- and ID codes must be examined.
-
- All the people mentioned in a marriage statement must have been previously
- defined with 'person' statements. Ftree uses this in order to check the
- marriage for, for example, selecting as the husband a person previously
- defined as being female. Conversely, Ftree will warn if a person who has
- not previously been defined as being male or female is assigned as the
- huband or wife of somebody.
-
- Other checks will in future be performed; for example to make sure that the
- children were born after the parents.
-
- The full list of keywords in a marriage statement is:
-
- @@{"husband <id> - the husband (male partner)" LINK "marr-husbwife"}
- @@{"wife <id> - the wife (female partner)" LINK "marr-husbwife"}
- @@{"married <date> - date of marriage" LINK "marr-married"}
- @@{"divorced - marriage was annulled" LINK "marr-divorced"}
- @@{"separated - marriage 'died'" LINK "marr-separated"}
- @@{"left - hint to place children more to left" LINK "marr-left"}
- @@{"right - hint to place children more to right" LINK "marr-right"}
- @@{"children <idlist> - list of children's ID's" LINK "marr-children"}
-
- @@EndNode
-
- @@Node options-stmt "The Options Statement"
- @@{b}The Options Statement@@{ub}
- ====================
-
- The options statement defines certain program options and variables. It is
- hoped that this is a convenient way of specifying some of the more esoteric
- options. Because of this, in addition to the obvious use inside any given
- input file, Ftree looks for and if present loads the file 'ftree.options'
- from the 'S:' directory. It may be useful to note that the program does not
- limit the contents of this file to 'option' statements.
-
- There may be more than one options statement per file.
-
- The full list of options statements is:
-
- @@{"vspace <length> - set the vertical spacing" LINK "opt-vspace"}
- @@{"hspace <length> - set the horizontal spacing" LINK "opt-hspace"}
- @@{"root <person-id> - set the initial marriage" LINK "opt-root"}
- @@{"outputfile <filename> - set the name of the output file" LINK "opt-outputfile"}
- @@{"notitlebox - disable the box around the title" LINK "opt-notitlebox"}
- @@{"titlebox <level> - set the grey level for the title box" LINK "opt-titlebox"}
- @@{"ident <fontspec> - set the identifier font" LINK "opt-ident"}
- @@{"title <string> - set the tree's title" LINK "opt-title"}
- @@{"title <fontspec> - set the title font" LINK "opt-title"}
- @@{"symbol <fontspec> - set the symbol font" LINK "opt-symbol"}
- @@{"date <fontspec> - set the date font" LINK "opt-date"}
- @@{"person <fontspec> - set the person font" LINK "opt-person"}
- @@{"pagesize <size> - set the output page size (e.g. a4)" LINK "opt-pagesize"}
- @@{"ticklen <length> - set the length of tick marks" LINK "opt-ticklen"}
- @@{"orientation <type> - set the page orientation" LINK "opt-orientation"}
-
- An example might be:
-
- option
- {
- title "\"Clan\" Tree"
- title font "ZapfChancery"
- person pointsize 8.0
- date pointsize 6.0
- vspace 1.0
- orientation landscape
- root A85
- }
-
- This sets the title of the diagram to '"Clan" Tree' in the font
- ZapfChancery, the point size of the characters used to write people's names
- to 8 point (8/72nd inch) and that used for writing dates to 6 points. It
- also sets the vertical spacing between people to 1 inch and the orientation
- of the diagram on the page is set to landscape mode (long size horizontal).
- Finally, it sets the root person (the marriage from which the tree starts)
- to whoever A85 is.
-
- @@EndNode
-
- @@Node include-stmt "The Include Statement"
- @@{b}The Include Statement@@{ub}
- ====================
-
- The include statement simply allows other ftree input files to be textually
- included at the point the include statement is found in the input file. For
- example, this may be used to include a specific options setup for a series
- of diagrams, or to include a database of people from which a subset is
- drawn.
-
- The syntax is very simple:
-
- include "filename"
-
- The quotes must be included. The filename may be relative or absolute; it
- will be interpreted relative to the current directory of ftree.
-
- There is a limit of 10 on the number of times an included file may itself
- include another.
-
- In theory the include statement may appear anywhere in the input file, even
- within other statements. However, this practice should probably be avoided.
-
- Note that the include filename is interpreted relative to the current
- directory of the 'ftree' process. This may be changed in future. For the
- moment this means that included files are best kept in the same directory
- as the other files.
-
- @@EndNode
-
- @@Node output-options "Output Options"
- @@Prev input
- @@Next examples
- @@{b}Output Options@@{ub}
- ==============
-
- Ftree produces an output file; no actual printing of an image is done
- by Ftree. The file produced will be called @@{b}tree.ps@@{ub} unless changed
- by the user with the '-o' command line option or @@{"outputfile" LINK opt-outputfile} options
- statement.
-
- The file produced uses the language PostScript, which many laser printers
- and other output devices use as the way a program tells the device what to
- put on a page. For this reason PostScript is referred to as a Page
- Description Language. It was developed by Adobe Systems in the USA and is
- now widely used. Ftree also conforms to the Adobe Document Structuring
- Conventions, which means that programs which manipulate PostScript files,
- such as those which band-print a file or allow 2 or 4 'pages' to be printed
- on one real page, should be able to understand FTree output.
-
- To get the output of FTree onto the page, therefore, you either need a
- printer which understand PostScript natively, such as the Apply LaserWriter
- series, or a conversion program - a piece of software which performs the
- translation within the main computer and writes the resulting bitmap to
- whatever printer is available.
-
- One such program is called @@{"Post" LINK "post.guide/main"}, and is widely available in the Public
- Domain (e.g. Fish Disk ???). Another is @@{"GhostScript" LINK "ghostscript.guide/main"}, a program initially
- developed for Unix systems but later converted to run on the Amiga. Both
- should be able to either display the charts FTree produces on the screen or
- on a suitable printer.
-
- For example, to print the default output file using the Amiga Printer
- Preferences driver using Post:
-
- 1> post printer post:init.ps tree.ps
-
- @@EndNode
-
- @@Node examples "Examples"
- @@Prev output-options
- @@{b}Examples@@{ub}
- ========
-
- No examples are available at present.
-
- @@EndNode
-
- @@Node opt-vspace "Vertical Space Setting"
- @@Prev options
- @@Next opt-hspace
- Vertical Space Setting
- ======================
-
- The vertical space setting defines the distance between the generations, as
- printed on the page. By default the distance is measured in inches, and may
- be fractional.
-
- The program considers the person to 'be' at a point which is at in the
- middle of the top of the first line (the name), as printed. The distance
- vspace measures is that between this point and the equivalent point for the
- children of this person.
-
- However, it is easier to think of the distance as that separating the line
- for one generation's children and the next.
-
- The vertical space includes the space required to print the information
- requested (name, dates etc) for the people. If Ftree is asked to print a
- chart with a vspace which is smaller than that required for the text, it
- prints a warning message and sets the spacing to the minimum possible.
-
- Example:
- option { vspace 0.8 }
-
- @@EndNode
-
- @@Node opt-hspace "Horizontal Space Setting"
- @@Prev opt-vspace
- @@Next opt-root
- Horizontal Space Setting
- ========================
-
- The horizontal space setting defines the distance between the people who
- are next to each other, as printed on the page. By default the distance is
- measured in inches, and may be fractional.
-
- This distance is in addition to the space the program has determined is
- necessary to prevent the people overlapping, and may be further
- supplemented by space required by younger generations. Thus:
-
- |
- +----------+---------+
- | |
- Hilma Smith James Smith
-
- |<------->| |<------->|
- Text |<------->| Text
- Space hspace Space
-
-
- Example:
- option { hspace 0.1 }
-
- @@EndNode
-
- @@Node opt-root "Root or Initial Marriage Selection"
- @@Prev opt-hspace
- @@Next opt-outputfile
- Root or Initial Marriage Selection
- ==================================
-
- The root person for the tree is the person who will eventually be printed
- at the top, as the oldest person present. Currently, FTree demands that
- this person married; if this were not true the tree would consist of just
- that person.
-
- The root person is selected by specifying the identifier defined in a
- person statement which is reas in as part of a file presented to FTree. The
- search for the person is not carried out until all input sources have been
- read.
-
- The tree which is printed is defined by this selection; it will include
- only the people who are (have been) married to this person, or who are or
- have been married to descendents of this person.
-
- If not specified, this defaults to the @@{b}last@@{ub} person who was defined
- in a marriage statement, and a message is printed to say who this is.
-
- Example:
- option { root D46 }
-
- @@EndNode
-
- @@Node opt-outputfile "Output Filename Selection"
- @@Prev opt-root
- @@Next opt-notitlebox
- Output Filename Selection
- =========================
-
- The output file name is the name of the PostScript file which is produced
- by FTree. If not otherwise specifed, the output file will be written to
- "tree.ps", a file in the current directory.
-
- There are two ways to change this; the command line option '-o' and the
- options statement 'outputfile'. Both of the following examples define the
- output file name to be "t:postscript"
-
- Example 1 (command line use):
-
- 1> ftree -o t:postscript
-
- Example 2 (within a file):
-
- option { outputfile "t:postscript" }
-
- @@EndNode
-
- @@Node opt-notitlebox "Inhibit the Title Box"
- @@Prev opt-outputfile
- @@Next opt-titlebox
- Inhibit the Title Box
- =====================
-
- FTree prints a title at the top of the chart which consists of two
- elements - a string and a grey area surrounding it. This option prevents
- FTree placing the grey background area around the title string.
-
- This option may change to cause the removal of the outline box around the
- title as well; the current equivalent 'titlebox 1.0' will retain the
- current meaning.
-
- The option 'notitlebox' is (currently) equivalent to 'titlebox 1.0'.
-
- Example:
- option { notitlebox }
-
- @@EndNode
-
- @@Node opt-titlebox "Specify the Grey level for the Title Box"
- @@Prev opt-notitlebox
- @@Next opt-ident
- Specify the Grey level for the Title Box
- ========================================
-
- FTree prints a title at the top of the chart which consists of two
- elements - a string and a grey area surrounding it. This option defines the
- grey level which is used as the background for the string. The grey level
- is defined as a number between 0 and 1, with 0 being black and 1 being
- white. Thus a level of 0.5 is a mid grey.
-
- The option 'titlebox 1.0' is equivalent to 'notitlebox'.
-
- Example:
- option { titlebox 0.5 }
-
- @@EndNode
-
- @@Node opt-ident "Identifier Font Specification"
- @@Prev opt-titlebox
- @@Next opt-person
- Identifier Font Specification
- =========================
-
- The Identifier font is selected whenever an identifier must be printed;
- this is however only done when the option 'printids' is in effect.
-
- The selection of fonts in FTree follows a standard pattern; the font type
- first (e.g. ident), then the font name or size selector ('font' or
- 'pointsize') then the information.
-
- Note that changing one does not imply a change to the other aspect of the
- font; thus one can change to a different font in the default pointsize, or
- change the pointsize without changing the name of the font.
-
- Example:
- options {
- ident font "Bookman-Light" ; sets name to Bookman-Light
- ident pointsize 6.0 ; sets size to 6 point.
- }
-
- @@EndNode
-
- @@Node opt-person "Person Font Specification"
- @@Prev opt-ident
- @@Next opt-date
- Person Font Specification
- =========================
-
- The Person font is selected whenever a person's name must be printed. This
- font is used to print the names of all people in the chart, whether married
- or not.
-
- The selection of fonts in FTree follows a standard pattern; the font type
- first (e.g. ident), then the font name or size selector ('font' or
- 'pointsize') then the information.
-
- Note that changing one does not imply a change to the other aspect of the
- font; thus one can change to a different font in the default pointsize, or
- change the pointsize without changing the name of the font.
-
- Example:
- options {
- person font "Bookman-Light" ; sets name to Bookman-Light
- person pointsize 7.5 ; sets size to 7.5 point.
- }
-
- @@EndNode
-
- @@Node opt-symbol "Symbol Font Specification"
- @@Prev opt-person
- @@Next opt-date
- Symbol Font Specification
- =========================
-
- The Symbol font is selected whenever a symbol (special character) must be
- printed. Currently, no symbols are required by the program and this font
- is not used.
-
- The selection of fonts in FTree follows a standard pattern; the font type
- first (e.g. ident), then the font name or size selector ('font' or
- 'pointsize') then the information.
-
- Note that changing one does not imply a change to the other aspect of the
- font; thus one can change to a different font in the default pointsize, or
- change the pointsize without changing the name of the font.
-
- Example:
- options {
- symbol font "Symbol" ; sets name to Symbol
- symbol pointsize 6.5 ; sets size to 6.5 point.
- }
-
- @@EndNode
-
- @@Node opt-date "Date Font Specification"
- @@Prev opt-symbol
- @@Next opt-title
- Date Font Specification
- =======================
-
- The Date font is selected whenever a date must be printed. This font is
- used to print both the date of birth/death and date of marriage.
-
- The selection of fonts in FTree follows a standard pattern; the font type
- first (e.g. ident), then the font name or size selector ('font' or
- 'pointsize') then the information.
-
- Note that changing one does not imply a change to the other aspect of the
- font; thus one can change to a different font in the default pointsize, or
- change the pointsize without changing the name of the font.
-
- Example:
- options {
- date font "Courier" ; sets name to Courier
- date pointsize 6.5 ; sets size to 6.5 point.
- }
-
- @@EndNode
-
- @@Node opt-title "Title Font and String Specification"
- @@Prev opt-date
- @@Next opt-pagesize
- Title Font and String Specification
- ===================================
-
- The title font is selected only to print the title of the chart. The Title
- will be printed centered at the top of the page, and unless changed is the
- string "Family Tree". The title font specification is similar to the other
- fonts - ident, person etc - but includes the ability to specify a string
- for the title itself.
-
- The selection of fonts in FTree follows a standard pattern; the font type
- first (e.g. ident), then the font name or size selector ('font' or
- 'pointsize') then the information. As with all strings, a Quite character
- may be included by preceding it with a backslash.
-
- Note that changing one does not imply a change to the other aspect of the
- font; thus one can change to a different font in the default pointsize, or
- change the pointsize without changing the name of the font.
-
- Example:
- options {
- title "The \"Smith\" Family Tree" ; title: The "Smith" Family Tree
- title font "ZapfChancery" ; sets name to ZapfChancery
- title pointsize 18. ; sets size to 18 point.
- }
-
- @@EndNode
-
- @@Node opt-pagesize "Destination Page Size Selection"
- @@Prev opt-title
- @@Next opt-ticklen
- Destination Page Size Selection
- ===============================
-
- The size of the page bein printed is used internally by FTree to correctly
- place the chart on the page. In cases where the chart is too large to fit
- on one of the nominated pages, the multiple page option (-M) will modify
- the generated PostScript write the chart span several pages, with cut-marks
- at the page border.
-
- The page size is determined in one of two ways. Either one of the standard
- sizes is specified directly - e.g. 'a4' - or the actual width & height of
- the page is specified. The main difference is that in the former case, the
- generated PostScript code attempts to select the correct page size, whilst
- in the latter case no such attempt is made; the printer is left to choose
- the paper to print on itself.
-
- Currently available page sizes are:
-
-
- Example:
- options {
- pagesize "a4"
- }
-
- or:
- 1.Workbench:> ftree -P a4
-
- @@EndNode
-
- @@Node opt-ticklen "Child Tick Length Specification"
- @@Prev opt-pagesize
- @@Next opt-orientation
- Child Tick Length Specification
- ===============================
-
- The child tick is the line joining the parent line (that joining all
- children) with the child's name. It's length helps to determine the overall
- height of the tree; longer ticks make taller trees.
-
- It is suggested that this length is kept below 0.2 inches.
-
- Example:
- options {
- ticklen 0.05
- }
-
- @@EndNode
-
- @@Node opt-orientation "Page Orientation Specification"
- @@Prev opt-ticklen
- Page Orientation Specification
- ==============================
-
- The pages output by FTree may be arranged short side horizontal (portrait)
- or long side horizontal (landscape). The way the chart is organised will
- dictate the best way of laying it out; if it is wide & shallow you probably
- want a landscape mode print; if narrow and deep a portrait print is
- probably best. For wide and deep prints portrait in multiple page mode
- usually gives good results.
-
- The default mode is portrait.
-
- Example:
- options {
- orientation portrait ; sets portrait (short side horizontal)
- }
-
- or:
- options {
- orientation landscape ; sets landscape (long side horizontal)
- }
-
- or:
- 1.Workbench:> ftree -l ; sets landscape (long side horizontal)
-
- @@EndNode
-
- @@Node marr-husbwife "Marriage Husband and Marriage Wife Identifiers"
- @@Next marr-divorced
- Marriage Husband and Marriage Wife Identifiers
- ==============================================
-
- The marriage statement exists to join the two people involved in the
- marriage. It therefore muse define the husband & wife, and does this using
- two keywords; 'husband' and 'wife'. Both must be present, but the order in
- which they appear is not important.
-
- The people who are to be married must have been defined in the input file
- before the marriage statement which joined them; this would therefore be
- incorrect:
-
- marriage { husband A01 wife A02 } ; needs A01 & A02 defined before
- person A01 {}
- person A02 {}
-
- Both keywords expect an identifier, assigned to the persons being joined
- when they were declared. FTree will assign identifiers if not present;
- however there is no easy way to find out what they are! Thus the expected
- system is to define the people involved (including any children) and then
- define the marriage which links them.
-
- Example:
-
- person Z50 { surname "Smith" }
- person R45 { surname "Jones" }
-
- marriage { wife Z50 husband R45 }
-
- @@EndNode
-
- @@Node marr-divorced "Marriage Divorce Flag"
- @@Prev marr-husbwife
- @@Next marr-separated
- Marriage Divorce Flag
- =====================
-
- Not currently used; this sets a flag indicating that a marriage failed due
- to the divorce of the partners. It is not displayed on the chart.
-
- @@EndNode
-
- @@Node marr-separated "Marriage Separated Flag"
- @@Prev marr-divorced
- @@Next marr-left
- Marriage Separated Flag
- =======================
-
- Not currently used; this sets a flag indicating that a marriage failed due
- to the seperation of the partners. It is not displayed on the chart.
-
- @@EndNode
-
- @@Node marr-left "Marriage Left Shift Flag"
- @@Prev marr-separated
- @@Next marr-right
- Marriage Left Shift Flag
- ========================
-
- Not currently implemented.
-
- @@EndNode
-
- @@Node marr-right "Marriage Right Shift Flag"
- @@Prev marr-children
- @@Next marr-left
- Marriage Right Shift Flag
- =========================
-
- Not currently implemented.
-
- @@EndNode
-
- @@Node marr-children "Marriage Children Identifier List"
- @@Prev marr-right
- Marriage Children Identifier List
- =================================
-
- The children of the marriage are specifed in this list. It defines the
- children of the marriage using identifier codes as for the parents. An
- absent children list is equivalent to an empty list.
-
- Currently, if there are no children of a marriage specified, the program
- will insert the text "[no issue]" after the marriage details. This may
- change.
-
- Example:
-
- marriage { wife Z50 husband R45 children E30 H37 H38 }
-
- @@EndNode
-
- @
-
-
- 1.3
- log
- @More of the options/keywords explained
- @
- text
- @d2 1
- a2 1
- @@Remark $VER: ftree.guide 1.0 (1 3 94))
- d5 1
- a5 1
- @@Toc contents
- d9 1
- a9 1
- This document describes Ftree version 0.2.
- a19 1
- @@EndNode
- d21 11
- a31 5
- @@Node contents "Contents"
- @@Prev main
- @@Next intro
- @@{b}Contents@@{ub}
- ========
- a32 1
-
- d37 1
- a37 1
- @@Prev contents
- d73 1
- a73 1
- @@{"-o psfile" link opt-outputfile} - specify output file name ('con' == stdout)
- d75 1
- d169 1
- a169 1
- found.
- d242 1
- a242 1
- then marriage {
- d245 1
- a245 1
- then marriage ...
- d272 2
- a273 2
- @@{"husband <id> - the husband (male partner)" LINK "marr-husband"}
- @@{"wife <id> - the wife (female partner)" LINK "marr-wife"}
- d299 1
- d360 5
- d411 1
- d417 1
- a417 1
- @@Next opt-root
- d443 29
- d473 1
- a473 1
- @@Prev opt-vspace
- d534 5
- a538 1
- The option 'notitlebox' is equivalent to 'titlebox 1'.
- d557 1
- a557 1
- The option 'titlebox 1' is equivalent to 'notitlebox'.
- d609 1
- a609 1
- person font "Helvetica" ; sets name to Bookman-Light
- d702 23
- d734 10
- d752 6
- d759 1
- a759 1
- @@EndNode
- d761 4
- a764 4
- @@Node marr-husband "Marriage Husband Identifier"
- @@Next marr-wife
- Marriage Husband Identifier
- ===========================
- d766 7
- d776 1
- a776 2
- @@Node marr-wife "Marriage Wife Identifier"
- @@Prev marr-husband
- d778 26
- a803 2
- Marriage Wife Identifier
- ========================
- d805 1
- d810 1
- a810 1
- @@Prev marr-wife
- d815 2
- d826 2
- d837 1
- d847 1
- d856 7
- d864 1
- a864 23
- @@EndNode
-
- @@Node pers- ""
- @@Prev pers-
- @@Next pers-
- =========================
-
-
- @@EndNode
-
- @@Node pers- ""
- @@Prev pers-
- @@Next pers-
- =========================
-
-
- @@EndNode
-
- @@Node pers- ""
- @@Prev pers-
- @@Next pers-
- =========================
-
- d866 2
- @
-
-
- 1.2
- log
- @added more about the input file.
- @
- text
- @d4 1
- d11 1
- d15 2
- d23 2
- d32 2
- d45 1
- a45 1
- and @@{"GhostScript" LINK "ghostscript.guide/main"}.
- d66 1
- a66 1
- @@{b}-P psize@@{ub} - set the paper size to 'psize'
- d68 4
- a71 4
- @@{b}-l@@{ub} - print in landscape mode
- @@{b}-o psfile@@{ub} - specify output file name ('con' == stdout)
- @@{b}-p <siz@@{ub} - standard font point size
- @@{b}-s pers@@{ub} - specify 'root' person of tree
- d98 1
- a98 1
- @@Next syntax
- d207 9
- a215 9
- @@{"bapt <date> - the date of baptism (not displayed)" LINK "stmt-bapt"}
- @@{"born <date> - the date of birth" LINK "stmt-born"}
- @@{"dead - the person as being dead" LINK "stmt-dead"}
- @@{"died <date> - the date of death" LINK "stmt-died"}
- @@{"living - the person as still being alive" LINK "stmt-living"}
- @@{"firstname <name> - the first name(s) of the person" LINK "stmt-firstname"}
- @@{"surname <name> - the family name of the person" LINK "stmt-surname"}
- @@{"occupation <str> - arbirary text (not displayed)" LINK "stmt-occupation"}
- @@{"sex <male> or <female> - the sex of the person" LINK "stmt-sex"}
- d271 1
- a271 1
- @@{"seperated - marriage 'died'" LINK "marr-seperated"}
- d353 406
- @
-
-
- 1.1
- log
- @Initial revision
- @
- text
- @d19 4
- d27 1
- d52 1
- d93 1
- d95 3
- a97 1
- The Ftree input file consists of three major elements.
- d99 1
- a99 1
- The @@{"OPTION" LINK "option-stmt"} statement is a list of options, many of which mirror those
- d112 2
- a113 2
- The way in which these which may be arranged in an input file are specified
- in the section @@{"Basic file syntax" LINK "syntax"}.
- d118 1
- a118 1
- @@Next
- d121 1
- d160 187
- @
-