Filename @output @progname @category @description @author @version
verify.ll Text verify

Eggert 9.0
tinytafel2.ll TinyTafel tinytafel2

Wetmore, Eggert 2.0
tinytafel1.ll TinyTafel tinytafel1

Wetmore, Eggert, Chandler 3.1
timeline2.ll Text, 80/132 cols timeline2

Jones 2.0
timeline1.ll Text, 80/132 cols timeline1

Jones 1.0
surname1.ll Text, 132 cols surname1

Manis, Wetmore 1.0
stats.ll Text stats


9.0
sources.ll Text sources


1.0
soundex1.ll Text soundex1

Jones 1.0
soundex-isfm.ll Text, 132 cols soundex-isfm

Wetmore, Manis, Eggert 1.0
simpleged.ll GEDCOM simpleged

Wetmore 1.0
showlines1.ll Text showlines1

Wetmore 1.0
rslgen.ll RSL format rslgen

Eggert 1.0
rllgen.ll RLL format rllgen

Eggert 1.0
relation.ll Text relation

Eggert 5.0
related_spouses.ll Text related_spouses

Eggert 2.0
relate.ll Text relate

Wetmore 1.0
regvital1.ll nroff regvital1

Wetmore, Manis 1.0
regvital.ll nroff regvital

Wetmore, Manis, Chandler 3.0
register1.ll nroff register1

Wetmore 1.0
register-tex.ll LaTeX register-tex

Wetmore, Olsen 2.0
ps-anc8.ll PostScript ps-anc8

Wheeler, Stringer 8.0
ps-anc7.ll PostScript ps-anc7

Wheeler, Stringer 7.0
ps-anc6.ll PostScript ps-anc6

Wheeler, Stringer 6.0
ps-anc5.ll PostScript ps-anc5

Wheeler, Stringer 5.0
ps-anc2.ll PostScript ps-anc2

Wheeler 2.0
places.ll Text places

Olsen, Eggert 5.0
pedigreel.ll Text, 132 cols pedigreel

Wetmore, Manis 1.0
pdesc4.ll Text pdesc3

Wetmore, Manis, Jones, Eggert, Simms 1.0
pdesc3.ll ? ? ? ? ? ?
pdesc2.r.ll Text pdesc2.r

Wetmore, Manis, Jones, Eggert, Simms 1.0
pdesc1.ll Text, 132 cols pdesc1

Wetmore, Manis, Jones, Eggert 1.0
partition.ll GEDCOM partition

Eggert 8.0
pafcompat.ll Text pafcompat

Eggert 2.0
nonpatronymics.ll Text nonpatronymics

Eggert 1.0
namesformat1.ll Text namesformat1

Manis 1.0
names_freq.ll Text names_freq

Eggert 2.0
namefreq2.ll Text namefreq

Chandler 2.0
namefreq.ll Text namefreq

Chandler 3.0
menu.ll GUI menu

? 1.0
marriages1.ll Text, 80 cols marriages1

Wetmore, Manis 1.0
longlines.ll Text longlines

Chandler 2.0
lldb.ll CSV for palmpilot lldb palmpilot ? Nozell 1.02
least_related.ll ? ? ? ? ? ?
infant_mortality.ll Text infant_mortality

Eggert 1.0
indiv3.ll Text indiv3

Simms 3.0
indiv2.r.ll Text indiv2.r

Simms 1.0
index_mm.ll Text index_mm

Eggert 4.0
index1.ll Text index1

Wetmore, Manis 1.0
igi-merge.ll GEDCOM igi-merge

Eggert 4.0
hasnotes1.ll Text hasnotes1

Wetmore, Manis 1.0
givens_gender_finder.ll Text givens_gender_finder

Eggert 1.0
genetics.ll Text genetics

Eggert 2.0
gender_order.ll Text gender_order

Eggert 3.0
genancc1.ll GEDCOM genancc1

Wetmore, Manis 1.0
formatted_gedcom.ll GEDCOM formatted_gedcom

Eggert 1.0
fix_nameplac.ll GEDCOM fix_nameplac

Eggert 1.0
findmissing.ll Text findmissing


1.0
find.ll GUI find

Prinke 1.0
fdesc.ll GEDCOM fdesc

Wetmore 1.0
famtree1.ll PostScript famtree1

Jones 1.0
famrep6.ll nroff famrep6

Jones 6.0
famrep3.ll nroff famrep3

Jones 3.0
famrep1.ll nroff famrep1

Jones 1.0
familyisfm1.ll Text, 132 cols familyisfm1

Wetmore, Manis 1.0
fam16rn1.ll Text fam16rn1

Wetmore, Manis 1.0
fam10c.ll Text fam10c

Manis 1.0
exercise.ll mixed exercise test
Perry Rapp 0.84 (2001/11/11)
desc-henry.ll Text description

Eggert 8.0
dates.ll Text dates

Eggert 4.0
coverage.ll Text coverage

Wetmore, Woodbridge, Eggert 3.0
cousins.ll Text cousins

Wetmore 6.0
count_paternal_desc.ll Text count_paternal_desc

Eggert 2.0
count_desc.ll Text count_desc

Eggert 2.0
count_anc.ll Text count_anc

Eggert 2.0
connect2.ll Text connect2

Simms 1.0
cid.ll Text cid

Wetmore, Chandler 1.0
book-latex.ll LaTeX book-latex

Nicklaus 3
bkdes16-1.ll Text bkdes16-1

Wetmore, Manis 1.0
bias.ll Text bias

Chandler 1.4
ancestors2.ll Text ancestors2

Wetmore, Cliff Manis 1.0
alllines.sgml.ll SGML allines.sgml

Wetmore, Nozell 1.0
alllines.ll nroff allines

Wetmore 1.0
alive.ll Text alive
Finding people alive in a given year Eggert 5.0
ahnentafel.ll Text ahnentafel

Wetmore 1.0
8gen1.ll Text, 132 cols 8gen1

Wetmore 1.0
6gen1.ll Text, 80 cols 6gen1

Wetmore 1.0
4gen1.ll Text, 80 cols 4gen1

Wetmore 1.0
2ppage.ll Text, 80 cols 2ppage
2 INDI's per page Wetmore 1.0

Report Details

verify.ll

/*
 * @progname       verify
 * @version        9.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

verify - a LifeLines database verification report program
	by Jim Eggert (eggertj@atc.ll.mit.edu)
	Version 1,  3 November 1992 (unreleased, first simple try)
	Version 2,  7 November 1992 (added lots of checks, verbose mode)
	Version 3, 12 November 1992 (minor bugfix, parameter tuning,
		added mrbbpm, unkgen, and hommar checks,
		and more heuristics for birth and marriage years)
	Version 4, 17 November 1992 (minor bugfix,
		added femhus, malwif, cbspan, lngwdw, oldunm checks)
	Version 5,  2 December 1992 (added mmnsnk check, improved morder)
	Version 6, 26 March 1993 (improved paternity checks,
		added hermaf check)
	Version 7,  2 September 1993 (added noprnt check,
		bug fix for parentless families)
	Version 8,  2 December 1994 (added mulpar check)
	Version 9, 28 April    1995 (added nofams check)

This LifeLines report program generates a text file which lists
exceptions to assertions or checks about the database.	There are two
forms of the output report, terse or verbose, selectable at runtime.

In the terse report, the assertions tested are labeled with a
six-character label at the beginning of each line, followed by the
instance of the exception.  The assertions tested, with the terse
syntax of the report output, are of four types, and are listed below.

The verbose report is more English-like, and requires less
explanation.  It contains the same information in the same order as
the terse report, with words added to make it read easier.  The lines
are often longer than 80 characters.

Before using this report, you may want to edit the first bunch of
set() calls in the main() procedure to adjust the various parameters.

Only one individual key is printed out per line, anyone else is
given by relation to this first person.

All age and date checks use only the year field of the date.  Thus
they are a bit inaccurate.  In particular, any use of ABT (about), BEF
(before), AFT (after), split dates, or similar devices will be lost on
this program.  Sorry.

Normal and Irish twins are indistinguishable.  For the cspace
assertion, intervening children with no known birthyear are treated
intelligently.	Unknown birthyears and deathyears are assumed equal to
the baptism years and burial years, respectively, if those are
available.  Unknown marriage years are estimated from the children's
birth or baptism years.

For a large database, this program will likely generate a lot of
output.	 I suggest that you go through this large output once to make
sure that everything is correct in the database.  After correcting any
errors, run this program again, creating a reference report, which
will still contain a lot of messages.  Then use diff to compare any
later reports to the reference report to catch any new errors.

You can sort the output report against the first field to sort against
the check type.	 This actually makes the report look nicer too.	 Then
you can sort subsets of the output against other fields to look for
the oldest person or the youngest father in the database, for example.

Parameters
Settable parameters are denoted by _parameter_ in this documentation.
These parameters are set in the first few lines of the procedure
main(), and can be changed by editing the program before running.

Assertions or checks
individual checks:
person's age at death is older than _oldage_
   oldage key name birth death age
person is baptized before birth
   bpbef  key person birth baptism
person dies before birth
   dbefb  key person birth death
person is buried before birth
   bubefb key person birth burial
person dies before baptism
   dbefbp key person baptism death
person is buried before baptism
   bubfbp key person baptism burial
person is buried before death
   bubefd key person death burial
person is baptised after birth year
   bpspac key person birth baptism
person is buried after death year
   buspac key person death burial
person has unkown gender
   unkgen key person
person has ambiguous gender
   hermaf key person
person has multiple parentage
   mulpar key person familynum familynum
person has no family pointers
   nofams key person

marriage checks:
person marries before birth
   unbmar key person birth marriage spouse
person marries after death
   dedmar key person death marriage spouse
person has more than _wedder_ spouses
   wedder key person nspouses
person marries someone more than _jundec_ years older
   jundec key person birth family spouse spouse_birth
person marries younger than _yngmar_
   yngmar key person age spouse
person marries older than _oldmar_
marriage out of order
   morder key person spouse
marriage before birth from previous marriage
   mrbbpm key person marriage spouse previous_birth
homosexual marriage
   hommar key person marriage spouse
person is a female husband
   femhus key person marriage
person is a male wife
   malwif key person marriage
person was a widow(er) longer than _lngwdw_ years
   lngwdw key person years
person lived more than _oldunm_ years and never married
   oldunm key person years
person has multiple marriages, this one with no spouse and no children
   mmnsnk key person family
person has same surname as spouse
   samnam key person marriage spouse

parentage checks:
mother has more than _fecmom_ children
   fecmom key person nkids nfamilies
mother is older than _oldmom_ at time of birth of child
   oldmom key person age familynum childnum child
child is born before mother
   unbmom key person birth familynum childnum child child_birth
mother is younger than _yngmom_
   yngmom key person age familynum childnum child
mother is dead at birth of child
   dedmom key person death familynum childnum child birth
same as above, but for father
   [fecdad, olddad, unbdad, yngdad, deddad]
child doesn't inherit father's surname
   nonpat key person familynum childnum child

children checks:
child is born out of order with respect to a previous child
   corder key person familynum childnum child child_birth prev_child_birth
child is born in the same year as a previous child
   ctwins key person familynum childnum child child_birth
child is born more than _cspace_ years after previous child
   cspace key person familynum childnum child birthspace
children's births span more than _cbspan_ years
   cbspan key person birthspan

family checks:
family has no parents
   noprnt fkey firstchild nchildren

*/

tinytafel2.ll

/*
 * @progname       tinytafel2
 * @version        2.0
 * @author         Wetmore, Eggert
 * @category       
 * @output         TinyTafel
 * @description    


tinytafel2

Based on tinytafel1 by Tom Wetmore, ttw@cbnewsl.att.com

This report works only with the LifeLines Genealogy program

Version 1,        1991, by Tom Wetmore.
Version 2, 11 Jan 1993, by Jim Eggert, eggertj@ll.mit.edu,
                        added header, trailer, sorting, date fixing,
                        and default moderate interest.  Modified
                        empty surname recognition.

This report will produce a tinytafel report on a person.

Output is an ASCII file.  It should be edited to translate any
non-ASCII characters, to shorten long place names (to 14-16
characters), and to indicate interest level after each year:
   [space] No interest (level 0)
   .       Low interest (level 1)
   :       Moderate interest (level 2) (default)
   *       Highest interest (level 3)

You will want to modify the write_tafel_header() procedure to
include your name, address, etc.

Empty surnames or those starting with "_" or " " will not
be written to the report.  This report doesn't do birthyear
estimation; it uses other events for the year if birthyear
is not available.

See the end of this report for an example of a tinytafel report.
*/

tinytafel1.ll

/*
 * @progname       tinytafel1
 * @version        3.1
 * @author         Wetmore, Eggert, Chandler
 * @category       
 * @output         TinyTafel
 * @description    


tinytafel1

Based on tinytafel1 by Tom Wetmore, ttw@cbnewsl.att.com

Version 1,	  1991, by Tom Wetmore.
Version 2, 11 Jan 1993, by Jim Eggert, eggertj@ll.mit.edu,
			added header, trailer, sorting, date fixing,
			and default moderate interest.	Modified
			empty surname recognition.
Version 3, Jan 1994, J. F. Chandler, fixed count, enhanced date/place guessing.
Version 3.1		Mark guessed places with "?"

This report will produce a tinytafel report on a person.

Output is an ASCII file.  It should be edited to translate any
non-ASCII characters, to shorten long place names (to 14-16
characters), and to indicate interest level after each year:
   [space] No interest (level 0)
   .	   Low interest (level 1)
   :	   Moderate interest (level 2) (default)
   *	   Highest interest (level 3)

You will want to modify the write_tafel_header() procedure to
include your name, address, etc.

Empty surnames or those starting with "_" or " " will not
be written to the report.

See the end of this report for an example of a tinytafel report.
*/

timeline2.ll

/*
 * @progname       timeline2
 * @version        2.0
 * @author         Jones
 * @category       
 * @output         Text, 80/132 cols
 * @description    
 *
 *   timeline2 - create a timeline of select individuals
 *
 *   version one:  4 Sept 1993
 *   version two:  9 Sept 1993
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *       Contains code from:
 *       "famrep4"  - By yours truly, jjones@nas.nasa.gov
 *       "tree1"    - By yours truly, jjones@nas.nasa.gov
 *
 *   This report works only with the LifeLines Genealogy program.
 *
 *   This report creates one of the following timeline charts:
 *
 *      1. Ascii timeline graph showing birth, marriage, and death events of
 *         selected individuals; shows which individuals were contemporaies.
 *
 *      2. Ascii timeline chart data with the above information for use with
 *         the my timeline generation program or the today program.
 *
 *      3. IN PROGRESS (postscript version of #1 above)
 *
 *   User selects individual to base the chart on; then selects from
 *   the following sets:
 *
 *              parents,
 *              children,
 *              spouses,
 *              ancestors,
 *              descendents,
 *              everyone
 *
 *   User selects start date (e.g. 1852) and end date for graph; graph size
 *   (80 or 132 col); and various options regarding who to display.
 *
 *   Note: If an indi is "alive" for more than MAXAGE years, this is flagged as
 *   "uncertain" with a question mark in graph after MAXAGE years from birth.
 *   One should check these individuals to determine where they are really
 *   that old, or if one can determine an approxmate date of death, etc.
 *
 *   Additional functionality will be added as soon as LL version 2.3.5
 *   is released. See comments below for details.
 *
 *   Sample output (#1 above) follows (start=1800; end=2000; 80 col; sort by
 *   name; show people with dates only):

         Name           1800 1820 1840 1860 1880 1900 1920 1940 1960 1980 2000
________________________|____|____|____|____|____|____|____|____|____|____|
AUSTIN, George W        |                    B****M************D
AUSTIN, Velma Cleo      |                              B***M*M**M**M***M*
BLAKE, Nancy Elizabeth  |              B****M***********D
HEFLIN, Wyatt           |**************D
HUNTER, Rebecca A.      |     B****M************D
JONES, Arvel Fred Jr.   |                                  B******M******
JONES, Arvel Fred Sr.   |                          B****M*************D
JONES, Charles Columbus |                  B*******************D
JONES, Sarah Frances    |                  B*****D
JONES, Wesley           |            B************************?
JORDAN, Mary Cardine    |             B****D
PHIPPEN, Rose Marie     |                                    B****M***M**
WILDE, Charles          |      B************************?
____, Sarah A           |********************?

Scale: 1 point = 4 years
Key: B=birthdate, M=marriage, D=deathdate, *=living, ?=uncertainity

 *
 *   Output from #1 can be sorted using the sort(1) command, for example, the
 *   following command will sort the above output by birthdate:
 *
 *              sort -t\| +1 filename
 *
 *   where FILENAME is a file contain the above sample data, would produce:

PHIPPEN, Rose Marie     |                                    B****M***M**
JONES, Arvel Fred Jr.   |                                  B******M******
AUSTIN, Velma Cleo      |                              B***M*M**M**M***M*
JONES, Arvel Fred Sr.   |                          B****M*************D
AUSTIN, George W        |                    B****M************D
JONES, Charles Columbus |                  B*******************D
JONES, Sarah Frances    |                  B*****D
BLAKE, Nancy Elizabeth  |              B****M***********D
JORDAN, Mary Cardine    |             B****D
JONES, Wesley           |            B************************?
WILDE, Charles          |      B************************?
HUNTER, Rebecca A.      |     B****M************D
____, Sarah A           |********************?
HEFLIN, Wyatt           |**************D

 *
 *
 */

timeline1.ll

/*
 * @progname       timeline1
 * @version        1.0
 * @author         Jones
 * @category       
 * @output         Text, 80/132 cols
 * @description    
 *
 *
 *   timeline1
 *
 *   version one:  4 Sept 1993
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *       Contains code from:
 *       "famrep4"  - By yours truely, jjones@nas.nasa.gov
 *       "tree1"    - By yours truely, jjones@nas.nasa.gov
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   This report creates one of the following timeline charts:
 *
 *      1. Ascii timeline showing birth, marriage, and death events of
 *         selected individuals; shows which individuals were contemporaies.
 *
 *      2. IN PROGRESS
 *
 *   User selects individual to base the chart on; then selects from
 *   the following sets:
 *
 *              parents,
 *              children,
 *              spouses,
 *              ancestors,
 *              descendents,
 *              everyone
 *
 *   User selects start date (e.g. 1852) and end date for graph; as well as
 *   graph size (80 or 132 col).
 *
 *   Note: If an indi is "alive" for more than 100 years, this is flagged as
 *   "uncertain", with a question mark in the graph after 100 years from birth.
 *   One should check these individuals to determine where they are really
 *   that old, or if one can determine an approxmate date of death, etc.
 *
 *   Additional functionality will be added as soon as LL version 2.3.5
 *   is released.
 *
 *   Sample output follows (start=1800; end=2000; 80 columns):

         Name           1800 1820 1840 1860 1880 1900 1920 1940 1960 1980 2000
________________________|____|____|____|____|____|____|____|____|____|____|
AUSTIN, George W                             B****M************D
AUSTIN, Velma Cleo                                     B***M*M**M**M***M*
BLAKE, Nancy Elizabeth                 B****M***********D
HEFLIN, Wyatt           ***************D
HUNTER, Rebecca A.            B****M************D
JONES, Arvel Fred Jr.                                      B******M******
JONES, Arvel Fred Sr.                              B****M*************D
JONES, Charles Columbus                    B*******************D
JONES, George
JONES, Sarah Frances                       B*****D
JONES, Wesley                        B************************???????????
JORDAN, Mary Cardine                  B****D
PHIPPEN, Rose Marie                                          B****M***M**
WILDE, Charles                 B************************?????????????????
____, Sarah A           *********************????????????????????????????

Scale: 1 point = 4 years
Key: B=birthdate, M=marriage, D=deathdate, *=living, ?=uncertainity

 */

surname1.ll

/*
 * @progname       surname1
 * @version        1.0
 * @author         Manis, Wetmore
 * @category       
 * @output         Text, 132 cols
 * @description    


 *  surname1
 *
 *  LifeLines Report for quickly getting output of a particular
 *  surname.
 *  by Cliff Manis, and Tom Wetmore
 *  22 March 1993
 *
 *  Sample 132 column output at end of this report.
 */

stats.ll

/*
 * @progname       stats
 * @version        9.0
 * @author         
 * @category       
 * @output         Text
 * @description    


stats - a LifeLines database statistical extraction report program
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1 (14 Dec 1992)
        Version 2 (17 Dec 1992) added restrictions,
                unity, general GEDCOM tag, e, and today
        Version 3 (20 Dec 1992) added sorting
        Version 4 (30 Jan 1993) bugfix, modified find_bin to use requeue()
                Requires LifeLines v2.3.3 or later
        Version 5 (30 Jun 1993) changed bubblesort to listsort
                listsort code by John Chandler (JCHBN@CUVMB.CC.COLUMBIA.EDU)
        Version 6 (2 July 1993) added firstname, changed user interface
        Version 7 (16 Mar 1995) changed listsort to quicksort,
                modernized, fixed kids bug, added fage and mage
                Requires LifeLines v3.0.1 or later
        Version 8 (4 Sep 1995) added min and max, no printing of bogus 0s
        Version 9 (29 Sep 1995) fixed minor bugs, added indiset, substrings

This LifeLines report program computes mean statistics of various
quantities binned over other quantities.  The quantities it knows
about are ages at and dates of birth, christening, first and last
marriage, first and last child's birth, death, burial, and today; the
number of children, siblings, and marriages; and sex, surname, first
name, soundex, and any simple GEDCOM tag.  These can be combined
nearly arbitrarily and evaluated over the whole database, or
restricted to ancestors or descendants of a chosen individual or to
members of a predetermined set.  Further restrictions on the
individuals included in the statistics can be based on any quantity
that the program knows about.  The program will optionally print out
the names of all the individuals included in the statistics.

For example, you can produce statistics of
    the age at death of as a function of birth year,
        dage vs byear
    the number of children of females named Smith as a
    function of year of first marriage,
        kids vs myear | sex = F & surname = Smith
    the number of spouses for male vs female blacksmiths,
        families vs sex | occu = blacksmith
    the age at last childbirth as a function of place of marriage.
        qage vs mplace
    the names of all Joneses who lived to be greater than 80
        unity vs unity | surname = Jones & dage > 80
All this without writing any programs of your own.

If a particular statistic for an individual is unavailable, and if the
global variable not_strict is nonzero (as it is in the distribution
version of this report, then certain guesses are allowed as to the
value of that statistic.  So far, these guesses are few.  Birth year
and month are guessed from baptismal date, and death year and month
are guessed from burial date.

The user is prompted for what quantity to plot vs what to bin over.
Each is to be given as a specification string of the form
        e

sources.ll

/*
 * @progname       sources
 * @version        1.0
 * @author         
 * @category       
 * @output         Text
 * @description    
 */

soundex1.ll

/*
 * @progname       soundex1
 * @version        1.0
 * @author         Jones
 * @category       
 * @output         Text
 * @description    
 *
 *   soundex1
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by James P. Jones, 28 Sep 1992
 *
 *   Produces a chart of all surnames in database with corresponding 
 *   SOUNDEX codes.
 *
 *   It is designed for 10 or 12 pitch, HP laserjet III, or any
 *   other printer.
 *
 *   Output is an ASCII file.
 *
 *   An example of the output may be seen at end of this report.
 *
 */

soundex-isfm.ll

/*
 * @progname       soundex-isfm
 * @version        1.0
 * @author         Wetmore, Manis, Eggert
 * @category       
 * @output         Text, 132 cols
 * @description    
 *
 *   soundex-isfm
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com, 1991
 *   Modifications by Cliff Manis, cmanis@csoftec.csf.com, 1992
 *   Modifications by Jim Eggert, atc.ll.mit.edu!eggertj Fri Feb 26 1993
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   It will produce a report of all the INDI's in the database,
 *   in the format as seen at end of report.  May be sorted easily
 *   to see the Father or Mother column sorted report.
 *
 *   This report can be used to output everyone in the database,
 *   or selected by a single soundex code.  The soundex code
 *   can be entered either by knowing the code, or by selecting
 *   an individual and using his/her code.
 *
 *   The report name come from: isfm (Indi Spouse Father Mother)
 *   It is designed for 16 pitch, HP laserjet III, 132 column, and
 *   also those who have X-Windows, 132 columns video.
 *
 *   This report produces an ASCII output file.
 */

simpleged.ll

/*
 * @progname       simpleged
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         GEDCOM
 * @description    

simpleged

This program generates a simple GEDCOM file from a database.  It can
be modified to convert your own LifeLines database formats to other
GEDCOM formats.

Written by Tom Wetmore, July 1993.
*/

showlines1.ll

/* 
 * @progname       showlines1
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         Text
 * @description    

 *   showlines1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1991.
 *
 *   It will produce a report of all ancestors of a person,
 *   and is presently designed for 10 or 12 pitch, HP laserjet III.
 *
 *   Output is an ASCII file
 *
 */

rslgen.ll

/*
 * @progname       rslgen
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         RSL format
 * @description    

rslgen - a LifeLines report program to aid in the generation of
Roots Surname List (RSL) submissions.

Given a person, this generates a RSL-like submission for that person and
his/her ancestors.  The output will likely need considerable hand editing,
but that is how it is.  If you need to know what the RSL is, I have enclosed
a description at the end of this file.

Here's what you will need to do by hand (you can consider this a list
of desired features for future versions of this report program):

BEFORE YOU RUN THE PROGRAM:

Change the routine write_rsl_header() to use your submitter tag, name,
and address.

AFTER YOU RUN THE PROGRAM:

Sort the surname portion of the output file.
Eliminate empty or useless surname lines.
Use RSL-standard abbreviations for placenames.
  - get FAMILY ABBREV as per instructions at end of this file.
Combine duplicate surname lines where appropriate.
Check check check.
Send the final product to the RSL maintainer.
  - see the end of this file.

Version 1, 14 July 1994, by Jim Eggert, eggertj@ll.mit.edu

*/

rllgen.ll

/*
 * @progname       rllgen
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         RLL format
 * @description    

rllgen - a LifeLines report program to aid in the generation of
Roots Location List (RLL) submissions.

Version 1, 18 November 1994, by Jim Eggert, eggertj@ll.mit.edu
                                Requires LifeLines 3.0.1 or higher

Given a person, this generates a RLL-like submission for that person and
his/her ancestors.  The output will likely need considerable hand editing,
but that is how it is.  If you need to know what the RLL is, I have enclosed
a description at the end of this file.

This program will work better if you follow strict placename
conventions.  You should probably run the places report program first
to see if your placenames are in good shape.

Here's what you will need to do by hand (you can consider this a list
of desired features for future versions of this report program):

BEFORE YOU RUN THE PROGRAM:

Change the routine write_rll_header() to use your submitter tag, name,
and address.  You may also want to change the personset calculation in
the beginning of the main routine.

AFTER YOU RUN THE PROGRAM:

Sort the location portion of the output file.
Eliminate empty or useless location lines.
Use RLL-standard abbreviations for placenames.
  - get FAMILY ABBREV as per instructions at end of this file.
Combine duplicate location lines where appropriate.
Check check check.
Send the final product to the RLL maintainer.
  - see the end of this file.

*/

relation.ll

/*
 * @progname       relation
 * @version        5.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

relation - a LifeLines relation computing program
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1,  21 November 1992
        Version 2,  23 November 1992 (completely revamped)
        Version 3,  (changed format slightly, modified code somewhat)
        Version 4,   6 July 1993 (added English language)
        Version 5,   6 September 1993 (generified language)

This program calculates the relationship between individuals in a
database.  It does so in three modes.  Mode 1 just does one pair of
individuals and then exits.  Mode 2 does any number of pairs with a
common "from" person.  Mode 3 does all pairs with a common "from"
person.  In general, mode 1 is fastest for simple relationships, but
if you want one complicated relationship, you may as well do them all.

Each computed relation is composed of the minimal combination of
parent (fm), sibling (bsS), child (zdC), and spouse (hw) giving the
relational path from the "from" person to the "to" person.  Each
incremental relationship (or hop) is coded as follows, with the
capital letters denoting a person of unknown gender:
        father  f
        mother  m
        parent  P (not used)
        brother b
        sister  s
        sibling S
        son     z (sorry)
        daughtr d
        child   C
        husband h
        wife    w
        spouse  O (sorry again, but usually not possible)

The report gives the steps required to go from the first person to
the second person.  Thus the printout
        I93 John JONES fmshwz I95 Fred SMITH
means that John Jones' father's mother's sister's husband's wife's son
is Fred Smith.  Notice in this case, the sister's husband's wife is
not the same as the sister, and the husband's wife's son is not the
same as the husband's son.  Thus in more understandable English, John
Jones' paternal grandmother's sister's husband's wife's son from
another marriage is Fred Smith.

The program will do a trivial parsing of the path string.  You can
change the language_table to have it print in different languages, as
long as the word order is unchanged.

If there is no relation, the program says so.  That at least should be
easy to explain.  Mode 3 only prints out those individuals who are
related to the "from" individual.
*/

related_spouses.ll

/*
 * @progname       related_spouses
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

related_spouses - a LifeLines program to identify related spouses
	by Jim Eggert (eggertj@atc.ll.mit.edu)
	Version 1,  31 March 1993 (first release)
	Version 2,  15 March 1995 (use new set functions, generation numbers)

This program identifies spouses with known common ancestors.  For each
marriage of related spouses, the spouses' names are printed, along
with the first common ancestor in each branch of the ancestry tree,
and the number of intervening generations for the husband and wife,
respectively.

*/

relate.ll

/*
 * @progname       relate
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         Text
 * @description    



relate - Finds a shortest path between two persons in a LifeLines
        database.
        by Tom Wetmore (ttw@petrel.att.com)
        Inspiration from Jim Eggert's relation program
        Version 1, 07 September 1993
*/

regvital1.ll

/* 
 * @progname       regvital1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         nroff
 * @description    
 *
 *   regvital1
 *
 *   This report does have a footer and header
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all descendents of a person,
 *   and is presently designed for 12 pitch, HP laserjet III,
 *   for printing a book about that in ancestor.
 *
 *   It prints a sorts listing of names, at the end of the report
 *   of everyone in the report.  All NOTE and CONT lines will
 *   be printed in the this report.  This report will produced
 *   a paginated output.
 * 
 *   This report produces a nroff output, and to produce the
 *   output, use:  nroff filename > filename.out
 *
 */

regvital.ll

/*
 * @progname       regvital
 * @version        3.0
 * @author         Wetmore, Manis, Chandler
 * @category       
 * @output         nroff
 * @description    


regvital

version 1 by Tom Wetmore
version 2 by Cliff Manis
version 3 by John Chandler, 1994

This program produces a report of all descendents of a given person,
and is presently designed for 12 pitch, HP laserjet III, for printing
a book about that person.  All NOTE and CONT lines are included in the
report, along with the vital statistics, occupations, immigrations,
attributes, and wills.

At the end of the report is a sorted listing of names of everyone
mentioned, with reference numbers giving the first occurrences of all
the names.

This program has paginated output with a footer and header.

This report produces a nroff output, and to produce the
output, use:  nroff filename > filename.out
         or:  troff -t filename | lpr -t

 */

register1.ll

/*
 * @progname       register1
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         nroff
 * @description    
 *
 *   register1
 *
 *   This report does NOT have a footer and header
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all descendents of a person,
 *   and is presently designed for 12 pitch, HP laserjet III.
 *
 *   All NOTE and CONT lines from data will be printed in the this report.
 *   This report will produce a paginated output.   It is similiar
 *   to the report 'regvital1'.
 *
 *   This report produces a nroff output, and to produce the
 *   output, use:  nroff filename > filename.out
 *
 */

register-tex.ll

/*
 * @progname       register-tex
 * @version        2.0
 * @author         Wetmore, Olsen
 * @category       
 * @output         LaTeX
 * @description    
**
** register-tex
**
** Version 2  24 Feb 1993
** Version 1     Nov 1992
**
** Requires LifeLines version 2.3.3 or later
**
** David Olsen (dko@cs.wisc.edu)
** based on work originally done by Tom Wetmore (ttw@cbnews1.att.com).
**
** This report prints, in book format, information about all descendants of a
** person and all of their spouses.  It tries to understand as many different
** GEDCOM tags as possible.  All source iformation (SOUR lines) is in the
** footnotes.
**
** The output is in LaTeX format.  Therefore, the name of the output file
** should end in ".tex".  To print (assuming the name of the output file is
** "out.tex"):
**      latex out  
**      dvips out
**      lpr out.ps
**
** Indexing commands are placed within the LaTeX output.  To include an index
** in the document do the following:
**      latex out
**      makeindex out           
**      
**      latex out
**      dvips out
**      lpr out.ps
**
** I admit that this is lot of post-processing, but the results are worth it.
**
** LaTeX interprets $, &, %, #, _, {, }, ~, ^, and \ as special characters.
** If you have any of these characters in your database, you will need to
** convert them to \$, \&, \%, \#, \_, \{, \}, \verb|~|, \verb|^|, and
** $\backslash$ (or \verb|\|) respectively after the report is generated and
** before running through LaTeX.  $, &, _, ~, and ^ are easy to find, since
** they are not used in the report.  % and # are only used near the beginning.
** {, }, and \ will be more difficult to find since they are used as part of
** the LaTeX commands throughout the report.
*/

ps-anc8.ll

/*
 * @progname       ps-anc8
 * @version        8.0
 * @author         Wheeler, Stringer
 * @category       
 * @output         PostScript
 * @description    
** 
**  ps-anc8, 18 Mar 1998, enhanced by Robert Simms and Allan Yates,
**                                 rsimms@math.clemson.edu and ayates@nortel.ca
**  ps-anc, 9 September 1994, by Fred Wheeler (wheeler@ipl.rpi.edu)
**
**  GETTING THIS FILE
**
**  The ps-anc versions are available via anonymous ftp (and www) from
**   (1) ftp://ftp.cac.psu.edu/pub/genealogy/lines/reports/
**   (2) ftp://cs6400.mcc.ac.uk/pub/genealogy/lines/reports/
**   (3) http://math.clemson.edu/~rsimms/genealogy/ll/
**
**  BRIEF DESCRIPTION
**
**  This LifeLines report program generates Postscript ancestral and
**  descendant charts.  The ancestral charts can include the siblings
**  of all direct ancestors (aunts, uncles, great-aunts, great-uncles,
**  etc.).  A multi-page poster chart can also be generated.  The
**  chart format is based on the program GedChart, by Tom Blumer.
**
**  The Postscript file created can be sent to any size printer; it
**  will automatically adapt the size of the chart.  I send the same
**  file to A-size (8.5 by 11) and B-size (11 by 17) printers.
**
**  After you use this program a few times, you should edit the
**  function interrogate_user().  This is the first function after
**  these comments and the global variable declarations.  This
**  function is set up to make it easy for you to configure what
**  questions this program should ask you each time and what default
**  values it should use for questions not asked.
**
**  Please contact me if you like this program, find any bugs, have
**  any bug fixes, or want to suggest improvements.  I am also always
**  on the lookout for better ancestral/descendant chart generating
**  programs.  If you know of a program that generates charts which
**  you like better than those generated by this program, please drop
**  me a line.
**
**  This report program works with the LifeLines Genealogical database
**  program only.  (see ftp://ftp.cac.psu.edu/pub/genealogy/lines/*)
**
**  CHANGE LOG
**
**  CHANGES since version 1:
**    Completely new descendant chart in addition to ancestral chart
**    Multi-page poster option
**    Multi-page charts scaled correctly (thanks to broman@Np.nosc.mil)
**    Maximum name length configurable by user (fixes long squashed names)
**    Option to supress siblings of later generations in ancestral charts
**    Checks that user selects a valid person (bug fix)
**    Can make a guess at whether a title is a prefix of suffix type
**    Use of titles is configurable (prefix, suffix, guess, none)
**    Birth/death/marriage date styles are configurable (may include place)
**    Corner message is slightly smaller, and chart will not overlap it
**    Marriage date is printed before death date
**
**  CREDITS
**
**  Code improvements received from:
**    Vincent Broman (broman@Np.nosc.mil)
**
**  Helpful comments received from:
**    Vincent Broman (broman@Np.nosc.mil)
**    Frank H. Flaesland (phranx@imr.no)
**    Linda Wilson (lwilson@mcc.com)
**    Stacy Johnson (sjohnson@oucsace.cs.ohiou.edu)
**    John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
**    Susan Radel
**
**  CHANGES in version 3:
**    Birth/death/marriage date style addition (full date with short place).
**    Examples for including other fonts.
**    Option for bold lines/text for direct line of ascent.
**    Option to start on right or left of page.
**    Option for landscape or portrait format.
**    Small additional space between border and text to improve appearance.
**    Now fills the page if max generations > actual generations.
**    With multi-page output generations are multiple of x-pages to prevent
**      text split over sheets.
**    Option to show aunts/uncles from parents multiple marriages.
**
**  CHANGES in version 4:
**    Border enhanced at the corners.
**    Chart title font changed.
**    Lines now used to join families rather than being used as a framework.
**    Names now adjacent to line or halfway between if in 2 families.
**    Descendant chart has reduced lines and is more tree like
**
**  CHANGES in version 5:
**    Enhanced descendant chart
**    Automatic choice of chart type if no children or no ancestors
**    Multi page landscape bug fixed
**    Enhancements to user option specification
**    Character set enhanced to iso-8859-1
**    Additional personal titles 
**
**  CHANGES in version 6:
**    Corrected multi-page landscape printing
**    Descriptive title at bottom of chart
**    Smaller and faster PostScript code on multi-page output
**      (previously n-pages had  n * single page size of file)
**    Automatic choice of ancestor/descendant chart if no descendants/ancestors
**    Fixed bug on descendant charts of overprinting if it branched up, and
**      there was a spouse with birth and death details, and no children in
**      that family.
**    Character set inadvertently lost iso-8859-1 support.
**
**  CHANGES in version 7:
**    Fixed bug on descendant charts of overlapping vertical lines if it
**      branched up, and there was a spouse and no children in that family.
**    iso-8859-1 support re-instated.
**    More efficient print_all_persons code from Fred Wheeler
**
**    CREDITS
**
**      Code improvements received from:
**        Phil Stringer (p.stringer@mcc.ac.uk)
**
**  CHANGES in version 8 by Robert Simms and (+) Allan Yates:
**
**   >proc do_anc:
**    Closed up extra space between branches of the chart by changing
**      min_pos to person_min_pos, to be used to keep person from being drawn
**      too high on chart, but not to keep all ancestors of a person from being
**      drawn above this point.  Introduced abs_min_pos as the absolutely
**      highest position for any older siblings or half-siblings of a person.
**    Fixed the printing of half-siblings to be subject to the sibling depth
**      limit obtained from the interrogate function.
**    Fixed a mis-alignment in half-sib branch vertical line.
**   >proc do_des:
**    Fixed conditions for drawing vertical line to exclude case where there
**      are children but no spouse and depth = max_depth.  In this case the
**      children heights are never computed so a vertical line can't be drawn.
**   >general:
**    +Added option for displaying surnames in uppercase
**    +Added date option to display the first two items in a place list
**    +Added option for not displaying large descriptive title, print small
**      one instead with title text added
**    +Do not print preceding comma if place exists and date does not exist
**    Fixed positioning of names that caused some names to be too close
**      to vertical lines, eliminating horizontal lines in come cases.
**    Added support in postscript file for increasing the page margins together
**      with a new question in the interrogate function.  (This required
**      calculation of a clip rectangle since the device clip rectangle would
**      allow redundant display of parts of the chart at adjoining edges in
**      multi-page charts.)  This is useful for imposing a margin when a
**      postscript file is converted to another format, such as Adobe PDF.
**      Converters as devices may present a zero margin. If the postscript file
**      has a margin built in then the converted file can be printed on more
**      printers without worrying about losing the edges of the chart.
**    Centered chart label and coordinated its placement with that of the title
**      to avoid having the two overlap.  This fix became more necessary with
**      the addition of the ability to increase the margins.
**    Added option for centering or left justifying chart label.
**    Replaced tabs in LifeLines code with spaces to avoid irregular
**      indentation.
**    Experimented with putting chart drawing code into a procedure to reduce
**      the size of multi-page files.  Determined that doing so would
**      require changing the MaxOpStack limit in PostScript to handle the
**      potentially large number of items that would go into the procedure.
**      This could still potentially place a limit on how many individuals
**      could be shown in a chart for some devices.  So, the idea was dropped.
**
**    CREDITS:
**      Phil Stringer, for initiating the min_pos fix in procedure do_anc.
*******************************************************************************
**
**  ABOUT GEDCHART (a different program)
**
**  This program includes postscript code written by Tom Blumer
**  (blumer@ptltd.com).  It is used here with his permission.  This
**  postscript code is from Tom Blumer's GedChart package.  The report
**  is very much like that generated by GedChart using the -Sa or -Sd
**  option.
**
**  GedChart is DOS program that generates ancestral and descendant
**  charts like this report program, and also fan charts.  GedChart
**  works directly from a GEDCOM file and is completely independent of
**  LifeLines.  It is currently up to version 1.6, which is a beta
**  version that may lead to a commercial product.  You can find
**  GedChart at ftp:oak.oakland.edu/pub/msdos/genealgy/gedcht16.zip
**
*/

ps-anc7.ll

/*
 * @progname       ps-anc7
 * @version        7.0
 * @author         Wheeler, Stringer
 * @category       
 * @output         PostScript
 * @description    
** 
**  ps-anc7, 1 Feb 1997, enhanced by Phil Stringer (P.Stringer@mcc.ac.uk)
**  ps-anc, 9 September 1994, by Fred Wheeler (wheeler@ipl.rpi.edu)
**
**  GETTING THIS FILE
**
**  This file is available via anonymous ftp from
**   (1) ftp://ipl.rpi.edu/pub/wheeler/ps-anc1
**   (2) ftp://hoth.stsci.edu/lines/reports/ps-anc1
**   (3) ftp://ftp.cac.psu.edu/pub/genealogy/lines/reports/ps-anc1
**   (4) ftp://cs6400.mcc.ac.uk/pub/genealogy/lines/reports/ps-anc3
**   (5) ftp://cs6400.mcc.ac.uk/pub/genealogy/lines/reports/ps-anc5
**  It was uploaded to (1) on the date above, and will appear at (2)
**  and (3) soon after.  If you cannot ftp it, I will e-mail it to you.
**
**  BRIEF DESCRIPTION
**
**  This LifeLines report program generates Postscript ancestral and
**  descendant charts.  The ancestral charts can include the siblings
**  of all direct ancestors (aunts, uncles, great-aunts, great-uncles,
**  etc.).  A multi-page poster chart can also be generated.  The
**  chart format is based on the program GedChart, by Tom Blumer.
**
**  The Postscript file created can be sent to any size printer; it
**  will automatically adapt the size of the chart.  I send the same
**  file to A-size (8.5 by 11) and B-size (11 by 17) printers.
**
**  After you use this program a few times, you should edit the
**  function interrogate_user().  This is the first function after
**  these comments and the global variable declarations.  This
**  function is set up to make it easy for you to configure what
**  questions this program should ask you each time and what default
**  values it should use for questions not asked.
**
**  Please contact me if you like this program, find any bugs, have
**  any bug fixes, or want to suggest improvements.  I am also always
**  on the lookout for better ancestral/descendant chart generating
**  programs.  If you know of a program that generates charts which
**  you like better than those generated by this program, please drop
**  me a line.
**
**  This report program works with the LifeLines Genealogical database
**  program only.  (see ftp://ftp.cac.psu.edu/pub/genealogy/lines/*)
**
**  CHANGE LOG
**
**  Changes since version 1:
**    Completely new descendant chart in addition to ancestral chart
**    Multi-page poster option
**    Multi-page charts scaled correctly (thanks to broman@Np.nosc.mil)
**    Maximum name length configurable by user (fixes long squashed names)
**    Option to supress siblings of later generations in ancestral charts
**    Checks that user selects a valid person (bug fix)
**    Can make a guess at whether a title is a prefix of suffix type
**    Use of titles is configurable (prefix, suffix, guess, none)
**    Birth/death/marriage date styles are configurable (may include place)
**    Corner message is slightly smaller, and chart will not overlap it
**    Marriage date is printed before death date
**
**  CREDITS
**
**  Code improvements received from:
**    Vincent Broman (broman@Np.nosc.mil)
**
**  Helpful comments received from:
**    Vincent Broman (broman@Np.nosc.mil)
**    Frank H. Flaesland (phranx@imr.no)
**    Linda Wilson (lwilson@mcc.com)
**    Stacy Johnson (sjohnson@oucsace.cs.ohiou.edu)
**    John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
**    Susan Radel
**
**  Changes in version 3:
**    Birth/death/marriage date style addition (full date with short place).
**    Examples for including other fonts.
**    Option for bold lines/text for direct line of ascent.
**    Option to start on right or left of page.
**    Option for landscape or portrait format.
**    Small additional space between border and text to improve appearance.
**    Now fills the page if max generations > actual generations.
**    With multi-page output generations are multiple of x-pages to prevent
**      text split over sheets.
**    Option to show aunts/uncles from parents multiple marriages.
**
**  Changes in version 4:
**    Border enhanced at the corners.
**    Chart title font changed.
**    Lines now used to join families rather than being used as a framework.
**    Names now adjacent to line or halfway between if in 2 families.
**    Descendant chart has reduced lines and is more tree like
**
**  Changes in version 5:
**    Enhanced descendant chart
**    Automatic choice of chart type if no children or no ancestors
**    Multi page landscape bug fixed
**    Enhancements to user option specification
**    Character set enhanced to iso-8859-1
**    Additional personal titles 
**
**  Changes in version 6:
**    Corrected multi-page landscape printing
**    Descriptive title at bottom of chart
**    Smaller and faster PostScript code on multi-page output (previously n-pages had
**      n * single page size of file)
**    Automatic choice of ancestor/descendant chart if no descendants/ancestors
**    Fixed bug on descendant charts of overprinting if it branched up, and there was a
**      spouse with birth and death details, and no children in that family.
**    Character set inadvertently lost iso-8859-1 support.
**
**  Changes in version 7:
**    Fixed bug on descendant charts of overlapping vertical lines if it branched up, and 
**      there was a spouse and no children in that family.
**    iso-8859-1 support re-instated.
**    More efficient print_all_persons code from Fred Wheeler
**
**  CREDITS
**
**  Code improvements received from:
**    Phil Stringer (p.stringer@mcc.ac.uk)
**
**  ABOUT GEDCHART (a different program)
**
**  This program includes postscript code written by Tom Blumer
**  (blumer@ptltd.com).  It is used here with his permission.  This
**  postscript code is from Tom Blumer's GedChart package.  The report
**  is very much like that generated by GedChart using the -Sa or -Sd
**  option.
**
**  GedChart is DOS program that generates ancestral and descendant
**  charts like this report program, and also fan charts.  GedChart
**  works directly from a GEDCOM file and is completely independent of
**  LifeLines.  It is currently up to version 1.6, which is a beta
**  version that may lead to a commercial product.  You can find
**  GedChart at ftp:oak.oakland.edu/pub/msdos/genealgy/gedcht16.zip
**
*/

ps-anc6.ll

/*
 * @progname       ps-anc6
 * @version        6.0
 * @author         Wheeler, Stringer
 * @category       
 * @output         PostScript
 * @description    
** 
**  ps-anc6, 30 Jan 1997, enhanced by Phil Stringer (P.Stringer@mcc.ac.uk)
**  ps-anc, 9 September 1994, by Fred Wheeler (wheeler@ipl.rpi.edu)
**
**  GETTING THIS FILE
**
**  This file is available via anonymous ftp from
**   (1) ftp://ipl.rpi.edu/pub/wheeler/ps-anc1
**   (2) ftp://hoth.stsci.edu/lines/reports/ps-anc1
**   (3) ftp://ftp.cac.psu.edu/pub/genealogy/lines/reports/ps-anc1
**   (4) ftp://cs6400.mcc.ac.uk/pub/genealogy/lines/reports/ps-anc3
**   (5) ftp://cs6400.mcc.ac.uk/pub/genealogy/lines/reports/ps-anc5
**  It was uploaded to (1) on the date above, and will appear at (2)
**  and (3) soon after.  If you cannot ftp it, I will e-mail it to you.
**
**  BRIEF DESCRIPTION
**
**  This LifeLines report program generates Postscript ancestral and
**  descendant charts.  The ancestral charts can include the siblings
**  of all direct ancestors (aunts, uncles, great-aunts, great-uncles,
**  etc.).  A multi-page poster chart can also be generated.  The
**  chart format is based on the program GedChart, by Tom Blumer.
**
**  The Postscript file created can be sent to any size printer; it
**  will automatically adapt the size of the chart.  I send the same
**  file to A-size (8.5 by 11) and B-size (11 by 17) printers.
**
**  After you use this program a few times, you should edit the
**  function interrogate_user().  This is the first function after
**  these comments and the global variable declarations.  This
**  function is set up to make it easy for you to configure what
**  questions this program should ask you each time and what default
**  values it should use for questions not asked.
**
**  Please contact me if you like this program, find any bugs, have
**  any bug fixes, or want to suggest improvements.  I am also always
**  on the lookout for better ancestral/descendant chart generating
**  programs.  If you know of a program that generates charts which
**  you like better than those generated by this program, please drop
**  me a line.
**
**  This report program works with the LifeLines Genealogical database
**  program only.  (see ftp://ftp.cac.psu.edu/pub/genealogy/lines/*)
**
**  CHANGE LOG
**
**  Changes since version 1:
**    Completely new descendant chart in addition to ancestral chart
**    Multi-page poster option
**    Multi-page charts scaled correctly (thanks to broman@Np.nosc.mil)
**    Maximum name length configurable by user (fixes long squashed names)
**    Option to supress siblings of later generations in ancestral charts
**    Checks that user selects a valid person (bug fix)
**    Can make a guess at whether a title is a prefix of suffix type
**    Use of titles is configurable (prefix, suffix, guess, none)
**    Birth/death/marriage date styles are configurable (may include place)
**    Corner message is slightly smaller, and chart will not overlap it
**    Marriage date is printed before death date
**
**  CREDITS
**
**  Code improvements received from:
**    Vincent Broman (broman@Np.nosc.mil)
**
**  Helpful comments received from:
**    Vincent Broman (broman@Np.nosc.mil)
**    Frank H. Flaesland (phranx@imr.no)
**    Linda Wilson (lwilson@mcc.com)
**    Stacy Johnson (sjohnson@oucsace.cs.ohiou.edu)
**    John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
**    Susan Radel
**
**  Changes since version 2:
**    Birth/death/marriage date style addition (full date with short place).
**    Examples for including other fonts.
**    Option for bold lines/text for direct line of ascent.
**    Option to start on right or left of page.
**    Option for landscape or portrait format.
**    Small additional space between border and text to improve appearance.
**    Now fills the page if max generations > actual generations.
**    With multi-page output generations are multiple of x-pages to prevent
**      text split over sheets.
**    Option to show aunts/uncles from parents multiple marriages.
**
**  Changes since version 3:
**    Border enhanced at the corners.
**    Chart title font changed.
**    Lines now used to join families rather than being used as a framework.
**    Names now adjacent to line or halfway between if in 2 families.
**    Descendant chart has reduced lines and is more tree like
**
**  Changes since version 4:
**    Corrected multi-page landscape printing
**    Descriptive title at bottom of chart
**    Smaller and faster PostScript code on multi-page output (previously n-pages had
**      n * single page size of file)
**    Automatic choice of ancestor/descendant chart if no descendants/ancestors
**    Fixed bug on descendant charts of overprinting if it branched up, and there was a
**      spouse with birth and death details, and no children in that family.
**
**  CREDITS
**
**  Code improvements received from:
**    Phil Stringer (p.stringer@mcc.ac.uk)
**
**  ABOUT GEDCHART (a different program)
**
**  This program includes postscript code written by Tom Blumer
**  (blumer@ptltd.com).  It is used here with his permission.  This
**  postscript code is from Tom Blumer's GedChart package.  The report
**  is very much like that generated by GedChart using the -Sa or -Sd
**  option.
**
**  GedChart is DOS program that generates ancestral and descendant
**  charts like this report program, and also fan charts.  GedChart
**  works directly from a GEDCOM file and is completely independent of
**  LifeLines.  It is currently up to version 1.6, which is a beta
**  version that may lead to a commercial product.  You can find
**  GedChart at ftp:oak.oakland.edu/pub/msdos/genealgy/gedcht16.zip
**
*/

ps-anc5.ll

/*
 * @progname       ps-anc5
 * @version        5.0
 * @author         Wheeler, Stringer
 * @category       
 * @output         PostScript
 * @description    
** 
**  ps-anc5, 19 Feb 1996, enhanced by Phil Stringer (P.Stringer@mcc.ac.uk)
**           - all comments/bugs should now go to Phil Stringer
**  ps-anc, 9 September 1994, by Fred Wheeler (wheeler@ipl.rpi.edu)
**
**  BRIEF DESCRIPTION
**
**  This LifeLines report program generates Postscript ancestral and
**  descendant charts.  The ancestral charts can include the siblings
**  of all direct ancestors (aunts, uncles, great-aunts, great-uncles,
**  etc.).  A multi-page poster chart can also be generated.  The
**  chart format is based on the program GedChart, by Tom Blumer.
**
**  The Postscript file created can be sent to any size printer; it
**  will automatically adapt the size of the chart.  I send the same
**  file to A-size (8.5 by 11) and B-size (11 by 17) printers.
**
**  After you use this program a few times, you should edit the
**  function interrogate_user().  This is the first function after
**  these comments and the global variable declarations.  This
**  function is set up to make it easy for you to configure what
**  questions this program should ask you each time and what default
**  values it should use for questions not asked.
**
**  Please contact me if you like this program, find any bugs, have
**  any bug fixes, or want to suggest improvements.  I am also always
**  on the lookout for better ancestral/descendant chart generating
**  programs.  If you know of a program that generates charts which
**  you like better than those generated by this program, please drop
**  me a line.
**
**  This report program works with the LifeLines Genealogical database
**  program only.  (see ftp://ftp.cac.psu.edu/pub/genealogy/lines/*)
**
**  CHANGE LOG
**
**  Changes since version 1:
**    Completely new descendant chart in addition to ancestral chart
**    Multi-page poster option
**    Multi-page charts scaled correctly (thanks to broman@Np.nosc.mil)
**    Maximum name length configurable by user (fixes long squashed names)
**    Option to supress siblings of later generations in ancestral charts
**    Checks that user selects a valid person (bug fix)
**    Can make a guess at whether a title is a prefix of suffix type
**    Use of titles is configurable (prefix, suffix, guess, none)
**    Birth/death/marriage date styles are configurable (may include place)
**    Corner message is slightly smaller, and chart will not overlap it
**    Marriage date is printed before death date
**
**  CREDITS
**
**  Code improvements received from:
**    Vincent Broman (broman@Np.nosc.mil)
**
**  Helpful comments received from:
**    Vincent Broman (broman@Np.nosc.mil)
**    Frank H. Flaesland (phranx@imr.no)
**    Linda Wilson (lwilson@mcc.com)
**    Stacy Johnson (sjohnson@oucsace.cs.ohiou.edu)
**    John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
**    Susan Radel
**
**  Changes since version 2:
**    Birth/death/marriage date style addition (full date with short place).
**    Examples for including other fonts.
**    Option for bold lines/text for direct line of ascent.
**    Option to start on right or left of page.
**    Option for landscape or portrait format.
**    Small additional space between border and text to improve appearance.
**    Now fills the page if max generations > actual generations.
**    With multi-page output generations are multiple of x-pages to prevent
**      text split over sheets.
**    Option to show aunts/uncles from parents multiple marriages.
**
**  Changes since version 3:
**    Border enhanced at the corners.
**    Chart title font changed.
**    Lines now used to join families rather than being used as a framework.
**    Names now adjacent to line or halfway between if in 2 families.
**    Descendant chart has reduced lines and is more tree like
**
**  Changes since version 4:
**    Enhanced descendant chart
**    Automatic choice of chart type if no children or no ancestors
**    Multi page landscape bug fixed
**    Enhancements to user option specification
**    Character set enhanced to iso-8859-1
**    Additional titles
**
**  CREDITS
**
**  Code improvements received from:
**    Phil Stringer (p.stringer@mcc.ac.uk)
**
**  ABOUT GEDCHART (a different program)
**
**  This program includes postscript code written by Tom Blumer
**  (blumer@ptltd.com).  It is used here with his permission.  This
**  postscript code is from Tom Blumer's GedChart package.  The report
**  is very much like that generated by GedChart using the -Sa or -Sd
**  option.
**
**  GedChart is DOS program that generates ancestral and descendant
**  charts like this report program, and also fan charts.  GedChart
**  works directly from a GEDCOM file and is completely independent of
**  LifeLines.  It is currently up to version 1.6, which is a beta
**  version that may lead to a commercial product.  You can find
**  GedChart at ftp:oak.oakland.edu/pub/msdos/genealgy/gedcht16.zip
**
*/

ps-anc2.ll

/*
 * @progname       ps-anc2
 * @version        2.0
 * @author         Wheeler
 * @category       
 * @output         PostScript
 * @description    
** 
**  ps-anc2, 16 August 1994, by Fred Wheeler (wheeler@ipl.rpi.edu)
**  
**  GETTING THIS FILE
**  
**  This file is available via anonymous ftp from
**   (1) ftp://ipl.rpi.edu/pub/wheeler/ps-anc1
**   (2) ftp://hoth.stsci.edu/lines/reports/ps-anc1
**   (3) ftp://ftp.cac.psu.edu/pub/genealogy/lines/reports/ps-anc1
**  It was uploaded to (1) on the date above, and will appear at (2)
**  and (3) soon after.  If you cannot ftp it, I will e-mail it to you.
**  
**  BRIEF DESCRIPTION
**  
**  This LifeLines report program generates Postscript ancestral and
**  descendant charts.  The ancestral charts can include the siblings
**  of all direct ancestors (aunts, uncles, great-aunts, great-uncles,
**  etc.).  A multi-page poster chart can also be generated.  The
**  chart format is based on the program GedChart, by Tom Blumer.
**  
**  The Postscript file created can be sent to any size printer; it
**  will automatically adapt the size of the chart.  I send the same
**  file to A-size (8.5 by 11) and B-size (11 by 17) printers.
**  
**  After you use this program a few times, you should edit the
**  function interrogate_user().  This is the first function after
**  these comments and the global variable declarations.  This
**  function is set up to make it easy for you to configure what
**  questions this program should ask you each time and what default
**  values it should use for questions not asked.
**  
**  Please contact me if you like this program, find any bugs, have
**  any bug fixes, or want to suggest improvements.  I am also always
**  on the lookout for better ancestral/descendant chart generating
**  programs.  If you know of a program that generates charts which
**  you like better than those generated by this program, please drop
**  me a line.
**  
**  This report program works with the LifeLines Genealogical database
**  program only.  (see ftp://ftp.cac.psu.edu/pub/genealogy/lines/*)
**  
**  CHANGE LOG
**  
**  Changes since version 1:
**    Completely new descendant chart in addition to ancestral chart
**    Multi-page poster option
**    Multi-page charts scaled correctly (thanks to broman@Np.nosc.mil)
**    Maximum name length configurable by user (fixes long squashed names)
**    Option to supress siblings of later generations in ancestral charts
**    Checks that user selects a valid person (bug fix)
**    Can make a guess at whether a title is a prefix of suffix type
**    Use of titles is configurable (prefix, suffix, guess, none)
**    Birth/death/marriage date styles are configurable (may include place)
**    Corner message is slightly smaller, and chart will not overlap it
**    Marriage date is printed before death date
**    Tabs converted to spaces and all lines made < 80 chars
**
**  CREDITS
**
**  Code improvements recieved from:
**    Vincent Broman (broman@Np.nosc.mil)
**
**  Helpful comments recieved from:
**    Vincent Broman (broman@Np.nosc.mil)
**    Frank H. Flaesland (phranx@imr.no)
**    Linda Wilson (lwilson@mcc.com)
**    Stacy Johnson (sjohnson@oucsace.cs.ohiou.edu)
**    John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
**    Susan Radel
**
**  ABOUT GEDCHART (a different program)
**
**  This program includes postscript code written by Tom Blumer
**  (blumer@ptltd.com).  It is used here with his permission.  This
**  postscript code is from Tom Blumer's GedChart package.  The report
**  is very much like that generated by GedChart using the -Sa or -Sd
**  option.
**
**  GedChart is DOS program that generates ancestral and descendant
**  charts like this report program, and also fan charts.  GedChart
**  works directly from a GEDCOM file and is completely independent of
**  LifeLines.  It is currently up to version 1.6, which is a beta
**  version that may lead to a commercial product.  You can find
**  GedChart at ftp:oak.oakland.edu/pub/msdos/genealgy/gedcht16.zip
**
*/

places.ll

/*
 * @progname       places
 * @version        5.0
 * @author         Olsen, Eggert
 * @category       
 * @output         Text
 * @description    

places

Version 1, 25 Nov 1992 by David Olsen (dko@cs.wisc.edu)
Version 2,  3 Dec 1992 by Jim Eggert (eggertj@atc.ll.mit.edu)
    (Changed numbers to real key values.)
Version 3,  5 Feb 1993 by David Olsen (dko@cs.wisc.edu)
    (Prints place names in reverse order.  Runs faster.)
Version 4, 13 Feb 1993 by Jim Eggert (eggertj@atc.ll.mit.edu)
    (Prints place names in regular or reverse order.)
Version 5,  1 Sep 1993 by Jim Eggert (eggertj@atc.ll.mit.edu)
    (Fixes a bug involving families with no parents)

Report program for LifeLines v. 2.3.3.

Prints out the value of all the lines in your database with the PLAC
tag, along with enough information so you can find the line easily.
The places are printed either exactly as they appear in the database
(e.g. Madison, Dane, Wisconsin) or in reverse order (e.g. Wisconsin,
Dane, Madison).  The purpose of this report is so you can find all the
places that seem wrong (mispelled, ambiguous, incomplete, etc.), and
double-check them or correct them.

The places are printed out in the order that they appear in the
database, so the report is not very useful in its native form.  To
make it more useful, run the output file through the program 'sort',
making it much easier to spot incorrect names.  For example, if you
have 100 entries within Middlesex County, Massachusetts, but in one of
them you mispelled Middlesex as Middlesx, it will be very easy to spot
this in the sorted output.

If the place name is part of an individual record, it is followed by
the key and name of the individual and by the hierarchy of tags
between the INDI tag and the PLAC tag (usually just a single tag, such
as BIRT or DEAT).  If the place name is part of a family record, it is
followed by the family key, the key and name of the husband (or wife
if there is no husband, or first child if there is no parent), the
relationship in the family of that person, and the hierarchy of tags
between the FAM tag and the PLAC tag (usually just the single tag
MARR).

Some sample output (in reverse order) that has already been sorted:

California, Los Angeles, Long Beach  | I130 Newel Knight YOUNG | DEAT
California, Los Angeles, Los Angeles  | I6811 Gunella CHRISTIANSEN | DEAT
California, Los Angeles, Newhall  | I836 Cena Elizabeth HAWKINS | DEAT
California, Los Angeles, San Fernando  | I836 Cena Elizabeth HAWKINS | BURI
California, Napa, Napa  | I1439 Cora Anna BEAL | DEAT
California, Riverside, Riverside  | F328 (I1370 Benjamin BERRY, husb) | MARR
California, San Bernadino,   | I6843 Emily LUDVIGSEN | BURI
California, San Bernadino, San Bernadino  | I1364 Francis LYTLE | DEAT
California, San Bernadino, San Bernadino  | I1365 Sophronia Jane MILLETT | DEAT
California, San Bernadino, San Bernadino  | I1367 Nancy Ellen LYTLE | BIRT
California, San Bernadino, San Bernadino  | I1369 Hulda Lorene LYTLE | BIRT
California, San Bernadino, San Bernadino  | I694 Mary Ann HENRY | BIRT
California, Shasta, Redding  | I1378 Eliza Lemira MILLETT | DEAT
California, Whittier, Rose Hills  | I2318 Zetta Fern MORTENSEN | BURI
Canada, Nova Scotia, Cape Breton  | F184 (I749 Ezra KING, husb) | MARR
Canada, Nova Scotia, Cape Breton  | I749 Ezra KING | DEAT


*/

pedigreel.ll

/*
 * @progname       pedigreel
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text, 132 cols
 * @description    
 *
 *   pedigreel
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   name is from pedigreel  (long format)
 *
 *   select and produce a ancestor report for the person selected.
 *   Ancestors report format, which print the event in long format.
 *
 *   Output is an ASCII file, and will probably need to be printed
 *   using 132 column format.
 *
 *   An example of the output may be seen at end of this report.
 */

pdesc4.ll

/*
 * @progname       pdesc3
 * @version        1.0
 * @author         Wetmore, Manis, Jones, Eggert, Simms
 * @category       
 * @output         Text
 * @description    
 *
 *   pdesc3.ll
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *   With modifications by:  James P. Jones
 *   With modifications by:  Jim Eggert (unknown spouse bugfix)
 *   With modifications by:  Robert Simms (indented line wrap) Mar '96
 *                                        (max number of generations) Jun '97
 *                                        (line wrap cleaned up) 16 Feb 2000
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990.
 *
 *   It will select and produce a descendant report for the person
 *   selected.   Children of each spouse are printed below that spouse.
 *
 *   Descendants report format, which print the date in long format.
 *
 *   Output is an ASCII file.
 */

pdesc3.ll



Error


Error 404

Not found - file doesn't exist or is read protected [even tried multi]


CERN httpd 3.0

pdesc2.r.ll

/*
 * @progname       pdesc2.r
 * @version        1.0
 * @author         Wetmore, Manis, Jones, Eggert, Simms
 * @category       
 * @output         Text
 * @description    
 *
 *   pdesc2
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *   With modifications by:  James P. Jones
 *   With modifications by:  Jim Eggert (unknown spouse bugfix)
 *   With modifications by:  Robert Simms (indented line wrap) Mar '96
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990.
 *
 *   It will select and produce a descendant report for the person
 *   selected.   Children of each spouse are printed below that spouse.
 *
 *   Descendants report format, which print the date in long format.
 *
 *   Output is an ASCII file.
 */

pdesc1.ll

/*
 * @progname       pdesc1
 * @version        1.0
 * @author         Wetmore, Manis, Jones, Eggert
 * @category       
 * @output         Text, 132 cols
 * @description    
 *
 *   pdesc1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *   With modifications by:  James P. Jones
 *   With modifications by:  Jim Eggert (unknown spouse bugfix)
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990.
 *
 *   It will select and produce a descendant report for the person
 *   selected.   Children of each spouse are printed below that spouse.
 *
 *   Descendants report format, which print the date in long format.
 *
 *   Output is an ASCII file, and will probably need to be printed
 *   using 132 column format.
 *
 *   An example of the output may be seen at end of this report.
 */

partition.ll

/*
 * @progname       partition
 * @version        8.0
 * @author         Eggert
 * @category       
 * @output         GEDCOM
 * @description    


partition - a LifeLines database partitioning program
    by Jim Eggert (eggertj@atc.ll.mit.edu)
    Version 1,  19 November 1992 (unreleased)
    Version 2,  20 November 1992 (completely revamped using queues)
    Version 3,  23 November 1992 (added GEDCOM TRLR line,
                                  changed to key-based queues)
    Version 4,   1 December 1992 (slight code updates)
    Version 5,   9 January  1993 (added birth and death dates to full)
    Version 6,  30 January  1993 (now writes multiple GEDCOM output files)
        This version requires LifeLines v2.3.3 or later.
    Version 7,  21 September1994 (can partition about selected person)
    Version 8,  31 March    1995 (allow non-traditional families)
    Version 9,  23 February 1999 (changed to depth-first algorithm)
    Version 10, 24 September2001 (use cumcount, not forindi loop variable)

This program partitions individuals in a database into disjoint
partitions.  A partition is composed of people related by one or more
multiples of the following relations: parent, sibling, child, spouse.
There is no known relationship between people in different partitions.
You may select a particular person about whom to construct the largest
partition, or you may do the whole database.  The partitions are
written to the report in overview form or full form with the
partitions delimited by a
------------------------------------------------------------
long line, or in GEDCOM form to separate partition files.  The
overview form merely lists the number of people in each partition by
the number of hops from the first person found in the partition.
(They are found in order of the forindi iterator.)  The full form
lists each person in each partition, giving the number of hops, key,
name, and birth and death dates (if known).  The GEDCOM form writes
the partitions in GEDCOM format.  You will be prompted for a root
filename for the GEDCOM files; individual GEDCOM filenames will be of
the form root_filename.p, where p is the partition number.

Each allowed relationship (parent, sibling, child, spouse) is called a
hop, and the degree of relationship is called the hop count.  While
the program is processing, it displays to the screen the number of the
partition it is working on followed by a colon, then the cumulative
number of individuals in that partition for each hop increment.

*/

pafcompat.ll

/*
 * @progname       pafcompat
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    


pafcompat - a LifeLines PAF compatibility checker
	by Jim Eggert (eggertj@ll.mit.edu)
	Version 1, 2 January 1993
	Version 2, 7 January 1993 added 80 character max for all values

This LifeLines report program checks a LifeLines database for
compatibility with PAF.  I used the Mac PAF manual for field length
specification, and Mac PAF v2.11 for a little testing.

This program checks:
1.  Number (<=3) and length (<=16) of given names.
2.  Length of surname. (<=16)
3.  Whether something is after the surname.
4.  Length of title (<=16) and reference number (<=10).
5.  Whether sex is "M" or "F" or " " or not.
6.  Number (<=4) and length (<=16) of place fields.
7.  Length of date. (<=23)
8.  Legal tags at each level, including legal heirarchical structure.
9.  No more than one of each tag at each heirarchical level.
10. Values must be less than 80 characters.

Allowed tags are:
    NAME, TITL, SEX, BIRT, CHR, DEAT, BURI, NOTE, FAMS, FAMC, REFN,
    BAPL, ENDL, CONT, DATE, PLAC, TEMP, SLGC, HUSB, WIFE, CHIL,
    MARR, DIV, SLGS

This version doesn't parse dates per se, it only checks the length of
the date string.  Thus it doesn't know what PAF can understand in a
date string.

It also doesn't check for valid content of any of the LDS entries.

*/

nonpatronymics.ll

/*
 * @progname       nonpatronymics
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    
 *
 *   nonpatronymics
 *
 *   Code by Jim Eggert, eggertj@ll.mit.edu
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Jim Eggert, in 1992.
 *
 *   Find all cases of nonpatronymic inheritances in the database.
 *   If the child's surname is not identical to the father's surname,
 *   print both out.  If the two surnames have different soundex
 *   codes, undent the printout.  Print statistics at the end.
 *
 *   Output is an ASCII file.
 */

namesformat1.ll

/*
 * @progname       namesformat1
 * @version        1.0
 * @author         Manis
 * @category       
 * @output         Text
 * @description    
 *
 *   namesformat1
 *
 *   Code by Cliff Manis, cmanis@csoftec.csf.com
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Cliff Manis in 1991
 *
 *   It will produce a report of how the names format may be printed
 *   using the LifeLines Report Generator.
 *
 *   It is designed for 10 or 12 pitch, HP laserjet III, or any
 *   other printer.
 *
 *   Output is an ASCII file.
 *
 *   An example of the output may be seen at end of this report.
 *
 */

names_freq.ll

/*
 * @progname       names_freq
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

names_freq - a LifeLines names frequency calculation program
        by Jim Eggert (eggertj@ll.mit.edu)
        Version 1,   8 November 1993 (initial release)
                listsort code by John Chandler (JCHBN@CUVMB.CC.COLUMBIA.EDU)
        Version 2,  10 April 1995 changed listsort to quicksort

Tabulate frequency of names in database.  Like namefreq (by John
Chandler), but it computes frequencies for the first five given names,
the surname, and the first two post-surnames.

The output can be sorted by frequency or by alphabet, or not at all.
*/

namefreq2.ll

/*
 * @progname       namefreq
 * @version        2.0
 * @author         Chandler
 * @category       
 * @output         Text
 * @description    

namefreq

Tabulate frequency of first names in database.

Version 1 - 1993 Jun 16 - John F. Chandler
Version 2 - 1993 Jun 18 (sort output by frequency)

This report counts occurrences of all first (given) names in the
database.  Individuals with only surnames are not counted.  If the
surname is listed first, the next word is taken as the given name.

The output file is normally sorted in order of decreasing frequency,
but the sort order can be altered by changing proc "compare", e.g.,
comment out the existing "set" and uncomment the one for alphabetical
order.

This program works only with LifeLines.

*/

namefreq.ll

/*
 * @progname       namefreq
 * @version        3.0
 * @author         Chandler
 * @category       
 * @output         Text
 * @description    

namefreq

Tabulate frequency of first names in database.

Version 1 - 1993 Jun 16 - John F. Chandler
Version 2 - 1993 Jun 18 (sort output by frequency)
Version 3 - 1995 Mar 8  (requires LL 3.0 or higher)
			(Uses Jim Eggert's Quicksort routine)

This report counts occurrences of all first (given) names in the
database.  Individuals with only surnames are not counted.  If the
surname is listed first, the next word is taken as the given name.

The output file is normally sorted in order of decreasing frequency,
but the sort order can be altered by changing func "compare", e.g.,
comment out the existing "set" and uncomment the one for alphabetical
order.

This program works only with LifeLines.

*/

menu.ll

/* 
 * @progname       menu
 * @version        1.0
 * @author         ?
 * @category       
 * @output         GUI
 * @description    

menu.ll - Menu driven shell for LifeLines report programs

To use this shell, rename "proc main()" in a report to "proc ()",
then add the file/description/call names in three places here.

The menu loops until the first item is selected so pressing "q"
from LifeLines user interface does not result in quitting.

*/

marriages1.ll

/*
 * @progname       marriages1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text, 80 cols
 * @description    
 *
 *   marriages1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *
 *   select and produce an a output report of all marriages in
 *   the database, with date of marriage if known.
 *
 *   Output is an ASCII file, and may be printed using 80 column format.
 *
 *   An example of the output may be seen at end of this report.
 */

longlines.ll

/*
 * @progname       longlines
 * @version        2.0
 * @author         Chandler
 * @category       
 * @output         Text
 * @description    
 
longlines

Version 1 - 1994 May 19 - John F. Chandler
Version 2 - 2000 May 4 - John F. Chandler

Find the maximal-length male and female lineages in the database.
Optionally, find the maximal-length lineage through a specified ancestor.

This program works only with LifeLines.

*/

lldb.ll

/*
 * @progname lldb
 * @version  1.02
 * @author   Nozell 
 * @category palmpilot
 * @output   CSV for palmpilot
 *
 *   lldb.ll V1.02
 *
 *   Marc Nozell 
 *
 *   This report generator works only with the LifeLines Genealogy program
 *
 *   It will produce a report of all INDI's in the database, with
 *   sorted names as output for inport into Tom Dyas' Open Source DB
 *   PalmOS app.  
 * 
 * 0) Obtain Tom Wetmore's LifeLines genealogy program for Unix.
 *    See http://lifelines.sourceforge.net/
 * 
 * 1) Obtain Kenneth Albanowski's  pilot-link
 *    package.  The Microsoft Windows-based Palm desktop should also
 *    work.  Most Linux distributions include pilot-link (check
 *    http://rpmfind.net) and should build on most UNIXes.
 *
 * 2) Obtain Tom Dyas'  "DB: Open Source
 *    Database Program for PalmOS" and supporting tools from
 *    http://pilot-db.sourceforge.net/
 *
 * 3) Run this lifelines report.  It will generate two files, lldb.info
 *    and lldb.csv.
 *    
 * 5) Run the CSV to PDB conversion tool like this:
 *            csv2pdb --info=lldb.info lldb.csv lldb.pdb
 *    
 * 5) Install the converted info to the Palm device like this:
 *            pilot-link -i ll.pdb
 * 
 * 
 *   V1.00					  11-Sep-1999
 *   Initial Version
 *
 *   V1.01					  26-Oct-1999
 * 
 *   Cleaned up output files
 *   Updated to new version Dyas' conversion tool
 *	(pre-palm-db-tools-0.2.0.tar.gz)
 *
 *   V1.02					  10-Nov-2000
 *   Updated URLs
 * 
 *  $Log: lldb.ll,v $
 *  Revision 1.5  2000/11/28 21:39:45  nozell
 *  Add keyword tags to all reports
 *  Extend the report script menu to display script output format
 *
 *  Revision 1.4  2000/11/27 20:48:15  nozell
 *  Header is to verbose, use just Log
 *
 *  Revision 1.3  2000/11/27 20:46:26  nozell
 *  Typo in CVS header
 *
 *  Revision 1.2  2000/11/27 20:45:43  nozell
 *  Add CVS keywords
 *
 * 
 */

least_related.ll

################################################################################
Subject: least_related.ll
Date:    Thu, 9 Nov 2000 14:50:41 +0500
From:    Jim Eggert 
To:      LINES-L@LISTSERV.NODAK.EDU

least_related.ll should be removed from the LifeLines report program
distribution.

It doesn't work as advertised.  It assumes something about graph
theory that isn't true.  I don't know how to fix it short of doing a
brute-force N^2 computation of relatedness.
--
=Jim Eggert  EggertJ@crosswinds.net
################################################################################

infant_mortality.ll

/*
 * @progname       infant_mortality
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

infant_mortality - a LifeLines program
         by Jim Eggert (eggertj@atc.ll.mit.edu)
         Version 1,  19 September 1994

This program finds families that have lost multiple children.
You give it the threshold for the number of young deaths, and the
threshold for the age at death, and it finds all the appropriate
families.

*/

indiv3.ll

/*
 * @progname       indiv3
 * @version        3.0
 * @author         Simms
 * @category       
 * @output         Text
 * @description    

   indiv3.ll

   Written by: Robert Simms, 27 Mar 1996
               rsimms@math.clemson.edu, http://www.math.clemson.edu/~rsimms

   Produces an indented report on an individual and all families associated
   with that individual.  Details on individuals include NOTE lines.
   Linewrapping is done with indenting maintained.

   At the beginning of main() is provided the means to easily change page width,
   tab size, left margin, and whether or not to include notes in output.
   ______________

   Version 2:  5 April 96 --  Unknown spouses can be returned by the family
               function, so a check had to be added to make sure that
               individuals exist before trying to print information on them.
               Now it's fixed to return _____ _____ as the name of an
               unknown person. -- Robert Simms

   Version 3:  16 Feb 2000 -- Two spaces at the end of a sentence could result
               in a leading space after line-wrap.  Added a loop to
               eliminate leading spaces after line-wrap.  Care had to be taken
               to use the strsave() function to get it working correctly.
               Also fixed it so that page_width really is the maximum
               line length, not one less.
               -- Robert Simms
*/

indiv2.r.ll

/* 
 * @progname       indiv2.r
 * @version        1.0
 * @author         Simms
 * @category       
 * @output         Text
 * @description    

   indiv2.r

   Written by: Robert Simms, 27 Mar 1996
               rsimms@math.clemson.edu, http://math.clemson.edu/~rsimms

   Produces an indented report on an individual and all families associated
   with that individual.  Details on individuals include NOTE lines.
   Linewrapping is done with indenting maintained.

   At the beginning of main() is provided the means to easily change page width,
   tab size, left margin, and whether or not to include notes in output.
   ______________
   Version 2:  5 April 96 --  Unknown spouses can be returned by the family
               function, so a check had to be added to make sure that
               individuals exist before trying to print information on them.
               Now it's fixed to return _____ _____ as the name of an
               unknown person.
*/

index_mm.ll

/*
 * @progname       index_mm
 * @version        4.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

index_mm - a LifeLines database listing program
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1,  25 November 1992
        Version 2,  29 November 1992 (gave up on bubblesort)
        Version 3,  11 January  1993 (added deathdate and marriage)
        Version 4,  18 April    1993 (bug fix, made namewidth variable)

This program lists everyone in a database, with women listed by both
maiden name and married name.  It assumes that all women take the surname
of their husbands, which is not always correct.

To sort the resulting report by name, enter the Unix command
        sort -b +1 report > sorted.report
*/

index1.ll

/* 
 * @progname       index1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text
 * @description    
 *
 *   index1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all INDI's in the database, with
 *   sorted names as output.
 *
 *   It is presently designed for 12 pitch, HP laserjet III,
 *   for printing a index of person in the database.
 *
 *   It will produce ASCII file output.
 *
 */

igi-merge.ll

/*
 * @progname       igi-merge
 * @version        4.0
 * @author         Eggert
 * @category       
 * @output         GEDCOM
 * @description    


igi-merge - a LifeLines IGI database merging program
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1,  2 February 1993  Requires LifeLines 2.3.3 or later.
        Version 2, 17 February 1993  bug fix, better suggestions
        Version 3, 15 March    1993  more tunable suggestions,
                                     added windup and restart
        Version 4,  9 November 1994  Requires LifeLines 3.0.1 or later.
                                     Minor windup bug fix.

This program helps you merge IGI data.  IGI data consists of "families"
which are actually events.  A real family may be documented by several
events in the IGI database, and thus be represented by several "families".
This program will help you to locate and merge those "families" back into
real families again.

The program locates candidate "families" to be merged by comparing the
soundex, double initials of husband to husband and wife to wife, and
event years.  (Double initials are like "JO" for John.  Any double
initials are allowed to match.  Hence George Michael will match Mike,
and Betty Lou will match Lois Amelia.)  If the comparison indicates a
possible match, the program prompts you for approval to merge.  If you
answer with y or Yes or yazbotchit, the program will merge those two
families, otherwise it will not.  The two husbands will be merged
together, as will the two wives.

The comparison is made following a strictness code entered at the
beginning of the program execution.  The user is prompted for the
strictness level, which means more precisely:
1  soundexes and double initials must match
2  soundexes must match
3  soundexes and double initials must match, but empty soundexes match anything
4  soundexes must match, but empty soundexes match anything
5  double intitials must match
6  nothing needs match
I usually use the strictness in a multiple-pass method:  First I run
igi-merge with strictness 1.  I import the resulting GEDCOM file into
an empty LL database, and run igi-merge with strictness 2 or 3.  And so
on until I am satisfied.

In any case, the event years are always used for declaring matches.
Two families match only if their event years are within forty years of
each other.  If the events are marriage events, however, they must be
within five years of each other.  If a family has more than one event
associated with it (for partially merged IGI data, for example), any
marriage event has precedence.

After families are merged, the program puts the children in birth order,
and attempts to locate children who are really the same.  It prompts you
for approval to merge any two children born or christened in the same year.

Any merged individuals will retain one copy of each name variant and of
each variant sex.  (There shouldn't be any of the latter!)  Other data,
such as birth and marriage events etc, are simply copied; duplicate
information may therefore be retained after the merge.  You are urged
to edit the resulting file to look for and possibly delete such
duplication.

The resulting data is written to a GEDCOM file.  You may read this back
into a LifeLines database if you wish.

If you run out of time (because, for example, you are merging ten
thousand families), you can invoke windup.  If you answer the family
merge question with w (or windup, or Whatever), the program will act as
if you answered all the remaining queries negatively.

If you want to be really fancy, before you issue the w command, write
down the families that you are being queried about.  Then later you
can read the resulting GEDCOM file into a new LifeLines database, and
start up igi-merge again.  When asked what comparison strictness to
use, answer with zero.  You will be prompted for the two families to
restart the program at.  Make sure that you enter the top family
first, otherwise it won't work.  The program will then resume your
previous igi-merge session where you had left off.

With windup and restart, you don't really have to have a single block
of time to be able to merge a large dataset.

The program does some rudimentary checking to see if the source data
really is IGI-like.  If not, it complains, but keeps on running
anyway.  Because it only writes a GEDCOM file, this program can't
corrupt your database, so don't worry.

The user interface depends on the size of the LifeLines screen,
I have marked the sensitive lines with a /*#*/

hasnotes1.ll

/*
 * @progname       hasnotes1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text
 * @description    

 *   hasnotes1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in Sep 1992,
 *
 *   It will produce a report of all the numbers and names (INDI's)
 *   in the database which have a "NOTE" line at level 1 in the record.
 *
 *   It is designed for 10 or 12 pitch, HP laserjet III, or any
 *   other printer.
 *
 *   Output is an ASCII file.
 *
 */

givens_gender_finder.ll

/*
 * @progname       givens_gender_finder
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

givens_gender_finder - a LifeLines database given name & gender finder program
        by Jim Eggert (eggertj@ll.mit.edu)
        Version 1 (19 April 1995) requires LifeLines 3.0.1 or later.

This program finds all persons with a particular given name and gender.
It is really meant to be a companion to the givens_gender program.

*/

genetics.ll

/*
 * @progname       genetics
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

genetics - a LifeLines report program to calculate degree of relatedness
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1 (15 Sept 1995)
        Version 2 (19 Sept 1995)  added multiple identical birth capability

This LifeLines report program computes the degree of blood relatedness
between any two people in a database.  It does this by finding all the
common ancestors, known or implied, and their ancestral distance along
any known path to the two people.  Ancestors are assumed to exist even
when they are not explicitly in the database if their existence can be
deduced from the family structure.  This most commonly occurs when the
mother of a family is unknown, but can be assumed to be identical when
two children are in the database as siblings.  Likewise, when both the
mother and the father are missing, this program will assume them to be
identical for siblings in a family.  If any of the ancestors are twins
or other multiple identical births, the program will determine this as
a possibility based on equality of birthyears and will ask the user to
verify the identical nature of the twins.

Because the program is pretty picky, it will only report half-siblings
and half-cousins.  You are forced to add up the halves to get the full
picture.  But it will find all known genetic relationships between the
two individuals and calculate a genetic overlap fraction.  This number
ranges between 0 (not related) to 1 (same person).  The program cannot
handle nontraditional families (when more than one husband and/or wife
exists in the family).  And it doesn't check for adoptions, it assumes
that all children are the genetic children of their parents.

This code uses the unusual construct of a table of lists of lists.
*/

gender_order.ll

/*
 * @progname       gender_order
 * @version        3.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

gender_order - a LifeLines gender order statistics program
        by Jim Eggert (eggertj@ll.mit.edu)
        Version 1,  5 August 1993
                listsort code by John Chandler (JCHBN@CUVMB.CC.COLUMBIA.EDU)
        Version 2, 10 August 1993
                added family examples, modified output format slightly
        Version 3, 26 March 1995
                changed listsort to quicksort

This program computes gender order statistics for children in all the
families in a database.  Genders are considered to be ternary: male
(M), female (F), or unknown (U).  Children in a family form a pattern
of genders by birth order, e.g. MFFM for a family consisting of a boy,
two girls, then a boy.  The frequency of these patterns is calculated.
In addition to the complete gender pattern for a family, initial
gender patterns are computed.  For the above example, the initial
patterns are . (no children), M, MF, MFF, and MFFM.  The frequency of
these initial patterns can be used to answer questions such as how
many families with a boy then two girls go on to have another boy.

For example, suppose you want to know what fraction of families with a
child gender pattern P (e.g., P=MFFM) have no more children, have a
boy next (PM), have a girl next (PF), and have a child of unknown (to
the database!) gender next (PU).  You can find these fractions as
#complete(P)/#initial(P), #initial(PM)/#initial(P),
#initial(PF)/#initial(P), and #initial(PU)/#initial(P), respectively.
Note that these fractions should add up to 1.  Also note that the
pattern "." denotes no children at all.  As a initial pattern it gives
the total number of families in the database, as a complete pattern the
number of childless families in the database.

You can use either of two compare functions to sort the results
differently.  Rename the one you want to use as compare, the other one
something else (like compare1).

*/

genancc1.ll

/*   
 * @progname       genancc1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         GEDCOM
 * @description    

 *   genancc1
 *
 *   by Tom Wetmore, ttw@cbnewsl.att.com
 *         (as sent to Cliff Manis in August 1992) 
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   [I have only given it a name and added lots of comments] /cliff
 *
 *   August 1992
 *
 * For example, the output of this report is a GEDCOM file of the
 * following: 
 *
 * all ancestors, 
 * all spouses and 
 * all children of all ancestors and 
 * all descendents of a person, 
 * as well as the person him/herself 
 * and his/her spouses.  
 *
 * This form of the program is probably the most useful for extracting 
 * data when a person requests data about someone from your database.
 */

formatted_gedcom.ll

/*
 * @progname       formatted_gedcom
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         GEDCOM
 * @description    

formatted_gedcom - a LifeLines formatted GEDCOM listing program
         by Jim Eggert (eggertj@atc.ll.mit.edu)
         Version 1,  7 September 1993

This program outputs a LifeLines database in modified GEDCOM format.
Two additions to GEDCOM are made: an inter-record delimiter and a
level indenter.  These are set up as global parameters and initialized
at the beginning of the main() procedure.

The header() procedure writes a GEDCOM header.  You will definitely
want to edit this part of the program to reflect your name and
address.  Note that I have included a line specifying Macintosh
character encoding, appropriate for my database.  You may want to
delete or comment out this line.

*/

fix_nameplac.ll

/*
 * @progname       fix_nameplac
 * @version        1.0
 * @author         Eggert
 * @category       
 * @output         GEDCOM
 * @description    

fix_nameplac - a LifeLines names and places fixing program
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1,  8 January 1993

This is a quicky to show how to fix name and place spacing.

*/

findmissing.ll

/*
 * @progname       findmissing
 * @version        1.0
 * @author         
 * @category       
 * @output         Text
 * @description    
 */

find.ll

/* 
 * @progname       find
 * @version        1.0
 * @author         Prinke
 * @category       
 * @output         GUI
 * @description    

find.ll   - Rafal Prinke, rafalp@plpuam11.amu.edu.pl

The program asks the user for the TAG and its VALUE, and the displays
a menu of all the matches.
The VALUE matches as many characters as the user inputs, so "occu/s"
will display a menu of all persons whose occupation name starts with an "s".
Case is not important (unless there are 8-bit characters).

Please, note that two lines are over 80 chars and must be joined together
before running the program */

fdesc.ll

/* 
 * @progname       fdesc
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         GEDCOM
 * @description    


   this funny little program is based on Tom Wetmore's "genancc1"
   and generates a GEDCOM file with descendants of a chosen individual
   who have the same surname (usually this means male line descendants
   plus illegitimate children of daughters) plus their spouses;
   a truely good program would need to exclude cases of daughters'
   marriages with guys of the same surname but not related and include
   male line descendants who changed surnames */

famtree1.ll

/*
 * @progname       famtree1
 * @version        1.0
 * @author         Jones
 * @category       
 * @output         PostScript
 * @description    
 *
 *   famtree1
 *
 *   version one:  9 May 1993
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *       Contains code from:
 *       "famrep4"  - By yours truely, jjones@nas.nasa.gov
 *       "pedigree" - By Tom Wetmore, ttw@cbnewsl.att.com
 *                  - and Cliff Manis, cmanis@csoftec.csf.com
 *       "ancestor.ps" - orginial postscript program by Phil Lloyd,
 *                  lloyd@prl.philips.co.uk (See disclaimer below).
 *
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   This report builds a postscript ancestory chart, a "tree", containing
 *   data on five generations. It prompts for the individual to begin with
 *   and draws the tree including this person. The further from this person
 *   the less data is printed. Maximum data include:
 *
 *      o date and place of birth
 *      o date and place of marriage
 *      o date and place of death
 *      o last place of residence
 *      o spouses of person #1 (up to five)
 *
 *      as well as:
 *
 *      o name, address, phone number and e-mail address of compiler
 *      o date of chart
 *
 *   Note:
 *
 *      o Change the "compiler" data below to reflect yourself.
 *      o In order to take advantage of the "residence" slots on the chart,
 *        use either ADDR (address) or ADDL (address living) tags in your
 *        database, e.g.:
 *
 *             1 ADDL
 *               2 DATE 20 Jun 1992
 *               2 PLAC 619 W Remington Drive, Sunnyvale, CA 94087
 *
 *        Put the full address on one line, separated by commas (,) and this
 *        program will parse the street address from the city/state/zip for
 *        the report.
 */

famrep6.ll

/*
 * @progname       famrep6
 * @version        6.0
 * @author         Jones
 * @category       
 * @output         nroff
 * @description    
 *
 *   famrep6
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version two:    1 Nov 1992
 *   version three: 28 Mar 1993 bug fixes
 *   version four:  25 Apr 1993 added sources
 *   version five:  26 Sep 1993 added multiple indi's, bug fix
 *   version six:    3 Oct 1993 bug fixes
 *
 *   This report program produces a Family Group Sheet for the selected
 *   individual. User is given the choice of having sheets generated for
 *   married children of individual, and the children of the children, etc.
 *   Sources of information are indicated with end-note style
 *   references. The report produces 'roff output, which I suggest you
 *   convert to postscript for the highest quality report. Following are
 *   several examples how to process and print the report (assuming the
 *   output file name is "fam.out":
 *
 *        tbl fam.out | xroff -me -tstdout | ipr -Pim7 -D"jobheader off"
 *        tbl fam.out | xroff -me -PprinterName
 *        tbl fam.out | groff -me | your_postscript_printer
 *        tbl fam.out | troff -me | dpost | lp -dps
 *
 *   You will want to change the data in "compiler" table in main() to
 *   reflect yourself: change the reference from me to you, your address,
 *   phone, etc.
 *
 */

famrep3.ll

/*
 * @progname       famrep3
 * @version        3.0
 * @author         Jones
 * @category       
 * @output         nroff
 * @description    
 *
 *   famrep3
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version two of this report was written by James P. Jones, 1 Nov 1992
 *   version three of  this report was written by James P. Jones, 28 Mar 1993
 *
 *   Family Group Sheet report program, with in-line source references.
 *
 *   I use:     tbl fam.out | xroff -me -tstdout | ipr -Pim7 -D"jobheader off"
 *   Can use:   tbl fam.out | xroff -me -PprinterName
 *              tbl fam.out | groff -me | your_postscript_printer
 */

famrep1.ll

/*
 * @progname       famrep1
 * @version        1.0
 * @author         Jones
 * @category       
 * @output         nroff
 * @description    
 *   famrep1
 *
 *   Code by James P. Jones, jjones@nas.nasa.gov
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by James P. Jones, 28 Sep 1992
 *
 *   Family Group Sheet report program, with in-line source references.
 *
 *   I use:     tbl fam.out | xroff -me -tstdout | ipr -Pim7 -D"jobheader off"
 *   Can use:   tbl fam.out | xroff -me -PprinterName
 */

familyisfm1.ll

/* 
 * @progname       familyisfm1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text, 132 cols
 * @description    
 *
 *   familyisfm1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1991,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all the INDI's in the database,
 *   in the format as seen at end of report.  May be sorted easily
 *   to see the Father or Mother column sorted report.
 *
 *   The report name come from: isfm (Indi Spouse Father Mother)
 *   It is designed for 16 pitch, HP laserjet III, 132 column.
 *
 *   This report produces an ASCII output file.
 *
 */

fam16rn1.ll

/* 
 * @progname       fam16rn1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text
 * @description    
 *
 *   fam16rn1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   and it has been modified many times since.
 *
 *   It will produce a family report of the person (husband), wife, 
 *   their children, and some data about the children's marriages.
 * 
 *   It is presently designed for 16 pitch, HP laserjet III,
 *   printing a single page of information about that family.
 *
 *   Output is an ASCII file.
 *
 */

fam10c.ll

/*
 * @progname       fam10c
 * @version        1.0
 * @author         Manis
 * @category       
 * @output         Text
 * @description    
 *
 *   fam10c
 *   by:  Cliff Manis  
 *   Family Report for LifeLines
 */

exercise.ll

/*
 * @progname       exercise
 * @version        0.84 (2001/11/11)
 * @author         Perry Rapp
 * @category       test
 * @output         mixed
 * @description    

Exercises lots of functions
cycling through most of the database
(this was adapted from my scrubLiving report)
and ending with a gengedcomstrong dump.

The exerciseStrings proc (although not complete)
actually tests the results & prints if a wrong
result is found.
*/

desc-henry.ll

/*
 * @progname       description
 * @version        8.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    


desc-henry - a LifeLines descendants listing program using Henry codes
    by Jim Eggert (eggertj@atc.ll.mit.edu)
    Versions 1-3 1992
    Version 4,  7 Jan 1993 (added generation limit)
    Version 5, 22 Dec 1993 (added header, trailer, and optional keys)
    Version 6, ???????????
    Version 7, 17 Mar 1995 (added grouped code option)
    Version 8,  6 Jun 1995 (added numbering options)

This program prints out a descendants report, assigning a d'Aboville,
Henry, modified Henry, or modern Henry code to the individuals.  The
chosen ancestor, and all of his/her spouses, descendants, and
descendants' spouses are included in the report.

Some sample codes are:
            d'Aboville     Henry     modified Henry  modern Henry
root        1              1         1               1
child  1    1.1            11        11              11
child 10    1.10           1X        1(10)           1A
child 11    1.11           1A        1(11)           1B
child 20    1.20           1J        1(20)           1K
g-child     1.20.1         1J1       1(20)1          1K1
gg-child    1.20.1.4       1J14      1(20)14         1K14
ggg-child   1.20.1.4.15    1J14E     1(20)14(15)     1K14F
gggg-child  1.20.1.4.15.3  1J14E3    1(20)14(15)3    1K14F3

Spouses codes, if requested, are indicated by appending .sn, where n
indicates which spouse is meant, and is omitted if there is only one
spouse.  The root code is user selectable so that you can have
arbitrary code prefixes.

I use the latter feature when my database indicates that person X was
not a descendant of Y, but I want to rig up a report which indicates X
is to be included in Y's descendancy.  I make two reports, one of Y's
real descendancy, and the second of X's giving X the number he would
have in Y's descendancy.  Then I need merely edit the two files to
achieve the desired result.

The program can also generate grouped codes, where the generation
separator (if any) is replace by a comma every three generations.  The
choice of arbitrary roots indicates that an additional parameter, the
initial comma location, be selectable.  The grouped format is
sometimes used in published genealogies, using a single capital letter
for the root symbol.

The user can elect to include only male descendance lines.  This is
useful for single-name studies.  In this case, spouses are not printed
as separate entries, but are indicated with the descendant.  For
female descendants, an indication of the number of children is also
printed.

The user can select whether no dates, simple dates (birth - death), or
dates and places (birth, baptism, death, burial, one per line) are to
be printed.  Also top-level notes can be optionally printed.  The
program only understands PAF-like events and notes.  Printing simple
dates and no notes gives a useful one-line-per-person outline.

The user can also elect to limit the number of generations to be printed
out.  Selecting 0 means all generations will be printed out.

The user can also elect to include keys for each individual in the report.

The user can also elect to exclude, with annotation, repeated individuals.

The report will include a header and a trailer.  You may easily modify the
do_header() and do_trailer() procedures to alter or eliminate these if
you wish.

*/

dates.ll

/*
 * @progname       dates
 * @version        4.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

dates - a LifeLines dates extraction program
        by Jim Eggert (eggertj@atc.ll.mit.edu)
        Version 1,  3 December 1992
        Version 2,  8 December 1992 (minor bug fix, report in columns)
        Version 3,  5 February 1993 (speedup of tag handling)
        Version 4,  1 September 1993 (bug fix for families with no parents)

This code borrows heavily from the excellent program places, written
by David Olsen (dko@cs.wisc.edu), and contains improvements by Steve
Woodbridge (sew@pcbu.prime.com).

Prints out the value of all the lines in your database with the DATE
tag, along with enough information so you can find the line easily.
The purpose of this report is so you can sort all the dates in the
database, so you can look for illegal dates, make birthday lists, etc.
The dates are printed in the order that they appear in the database,
so the report is not very useful in its native form.  To make it more
useful, run the output file through the program 'sort', and perhaps
'grep' if you want to get only birthdates etc.  To make sorting
easier, each date is preceded by a eight-digit number of the form
yyyymmdd.  Then a simple ASCII line-by-line sort puts the dates in the
right order.  Days and months are checked for validity (thirty days
hath September and all that) and futurity.  It asks you if you want to
use the Gregorian calendar or the Julian calendar.  This only affects
the validity of Feb 29ths, so don't fret too much.  Any invalid or
future date is marked with a * as the first character of the line.
These will appear first in the sorted output.

If the date is part of an individual record, it is followed by the key
and name of the individual and by the hierarchy of tags between it and
the INDI tag.  (This is usually just a single tag, such as BIRT, CHR,
or DEAT.)  If the date is part of a family record, it is followed by
the key and name of the husband (or the wife is there is no husband,
or first child if there is no parent), the relationship in the family
of that person, and by the hierarchy of tags between it and the FAM
tag.  (This is usually just the single tag MARR.)  Some sample output
(selected lines that have been sorted):

15800000 ABT    1580          | BIRT | I4403 Valentin BISMARCK
15810000 1581                 | DEAT | I41   Catherina
15821221 21 DEC 1582          | BIRT | I4404 Berta ASSEBURG
15850000 ABT    1585          | BIRT | I2595 Henrich SPANUTH
15850529 29 MAY 1585          | DEAT | I4418 Brigitte BISMARCK
15860000 1586                 | BIRT | I2596 Johan SPANUTH
15860301 1 MAR 1586           | BIRT | I2675 Catharine SPANUTH
15870000 1587/1589            | BIRT | I2597 Caspar SPANUTH
15880201 1 FEB 1588           | BIRT | I2676 Johan SPANUTH
15890226 26 FEB 1589          | BIRT | I2677 Johan SPANUTH
15960000 1596                 | MARR | F883  I2679 Arend KOLLE, husb
16421009 9 OCT 1642           | BURI | I4404 Berta ASSEBURG
19800108 8 JAN 1980           | ENDL | I3635 Maria Catharina KINDLER
19800124 24 JAN 1980          | CHIL SLGC | F948  I2336 Anselm KINDLER, husb

*/

coverage.ll

/*
 * @progname       coverage
 * @version        3.0
 * @author         Wetmore, Woodbridge, Eggert
 * @category       
 * @output         Text
 * @description    

   coverage -- Displays "ancestor coverage," that is, what percentage of
   ancestors have been discovered for each generation back in time.

   First version by T. Wetmore, 21 February 1994
   2nd   version by S. Woodbridge, 6 March 1994
   3rd   version by J. Eggert, 7 March 1994
*/

cousins.ll

/*
 * @progname       cousins
 * @version        6.0
 * @author         Wetmore
 * @category       
 * @output         Text
 * @description    

  cousins -- Finds the relationship between two persons in a
  LifeLines database.  In the cases where the two persons are
  genetically related (have a common ancestor), the program will
  find and display the relationship.  If the two persons are not
  genetically related, the program will attempt to discover a
  sequence of genetic relationships that link the two persons.
  For example, the program will display the relationship between
  your two grandmothers as a sequence of two genetic relations with
  a grandchild as the link between.  Note that two persons may be
  related to each other in many ways; this program finds only the
  shortest one (or ones if there are different, equally short paths).

  This program requires version 3 of LifeLines.

author -- Tom Wetmore, ttw@beltway.att.com

version history
  1 - 08 Sep 1993 -- modified from the relate program
  2 - 08 Sep 1993 -- fixed niece/nephew bug
  3 - 09 Sep 1993 -- extensive modification
  4 - 13 Aug 1994 -- more modifications
  5 - 2 Mar 1995 -- check for direct descendants first.  Chris Bone
  6 - 2 Mar 1995 -- Neater cousin removes, find all short paths.  J.F. Chandler
*/

count_paternal_desc.ll

/*
 * @progname       count_paternal_desc
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

count_paternal_desc - a LifeLines descendants counting program
         by Jim Eggert (eggertj@atc.ll.mit.edu)
         Version 1,  1 August 1994
         Version 2, 16 February 1995, use lengthset(), print(,)

This program counts paternal descendants of a person by generation.
Only unique individuals in each generation are counted.
A person counts in all the generations he/she is in,
but only counts once in the grand total.
Male paternal descendants are also counted separately.
*/

count_desc.ll

/*
 * @progname       count_desc
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

count_desc - a LifeLines descendants counting program
         by Jim Eggert (eggertj@atc.ll.mit.edu)
         Version 1,  19 November 1992
         Version 2,  16 February 1995, use lengthset(), print(,)

This program counts descendants of a person by generation.
Only unique individuals in each generation are counted.
A person counts in all the generations he/she is in,
but only counts once in the grand total.
*/

count_anc.ll

/*
 * @progname       count_anc
 * @version        2.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    

count_anc - a LifeLines ancestors counting program
         by Jim Eggert (eggertj@atc.ll.mit.edu)
         Version 1,  19 November 1992
         Version 2,  16 February 1995, use lengthset(), print(,)

This program counts ancestors of a person by generation.
Only unique individuals in each generation are counted.
A person counts in all the generations he/she is in,
but only counts once in the grand total.
*/

connect2.ll

/* 
 * @progname       connect2
 * @version        1.0
 * @author         Simms
 * @category       
 * @output         Text
 * @description    

   Written by: Robert Simms, 19 Sep 1997
               rsimms@math.clemson.edu, http://www.math.clemson.edu/~rsimms

   Asks for a descendant and an ancestor then produces, for the line
   connecting the two persons,
   an indented report on an individual and all families associated
   with that individual.  Details on individuals include NOTE lines.
   Linewrapping is done with indenting maintained.

   This program does not check to make sure that the descendant given is really
   a descendant of the ancestor.  An error will result if not.

   At the beginning of main() is provided the means to easily change page width,
   tab size, left margin, and whether or not to include notes in output.

   Revisions:  2. Robert Simms, 17 Feb 2000, made line-wrapping code more
                  consistent in its use of the parameters page_width,
                  and left_margin.
                  
*/

cid.ll

/* 
 * @progname       cid
 * @version        1.0
 * @author         Wetmore, Chandler
 * @category       
 * @output         Text
 * @description    


   cid - Generates Pete Cook's CID (Chronological Identifier) for a person
   in a LifeLines database.  The program first computes the C-Vector, a
   seven element array of the birth years of a person and his/her parents
   and grandparents in ahnentafel order.  The program then subtracts the
   base person's birth year from those of the others.  Those differences
   are converted to the follow letters:

         Char   Parent Age   Grandparent Age
          0        0-15           0-30
          1-9     16-24          31-39
          A-Z     25-50          40-65
          a-y     51-75          66-90
          z     over 75        over 90
          -     unknown        unknown

    Version 1, 15 Mar 1995, Tom Wetmore, modified by J.F.Chandler
*/

book-latex.ll

/*
** @progname       book-latex
** @author         Nicklaus
** @version        3
** @category       
** @output         LaTeX
** @description    
**
** $Id: book-latex.ll,v 1.8 2001/10/03 02:58:55 dabright Exp $
** 
** SourceForge Versions:
**
** $Log: book-latex.ll,v $
** Revision 1.8  2001/10/03 02:58:55  dabright
**         * reports/book-latex.ll: Restored some previous additions
** 	to this report. The update from Dennis Nicklaus on 12 Aug 2001
** 	had deleted them and he asked me to re-add them. So:
** 	Add  CREM (cremated) tag processing;
** 	modified OCCU tag processing so that it can recognize date ranges
** 	(and so avoid saying "xx is a yy and a zz and a ..."); modified
** 	OCCU tag processing to recognize a subordinate AGNC tag indicating
** 	employer; modified onDate to recognize date ranges (FROM dd mmm
** 	yyyy TO dd mmm yyyy) - this still has some rough edges.
**
** Revision 1.7  2001/08/12 20:53:59  nozell
** Update by Dennis Nicklaus to his book-latex.ll
**
** Revision 1.5  2000/11/28 21:39:45  nozell
** Add keyword tags to all reports
** Extend the report script menu to display script output format
**
** Revision 1.4  2000/11/11 07:52:06  pere
** Use ISO 8859/1 charset in LaTeX.  Add meta-information in header.
**
** Revision 1.3  2000/11/11 07:46:47  pere
** Include index even when there is no bibliography.
**
** Revision 1.2  2000/11/11 04:07:37  dabright
**
** reports/book-latex.ll: Added processing for BAPM tag, corrected
** error in referencing "spouse" rather than "s" in longvitals,
** added processing for the TYPE tag (modifier for EVENT), corrected
** setDayNumber so that it only uses text phrases (e.g., "on the same
** day") when both previous date and current date are fully
** specified, preserve line breaks represented by blank CONT/CONC
** tags, ensure "cn" variable in sourceIt is initialized before
** referenced, and miscellaneous typographical corrections.
**
**
** Revision 1.1  2000/11/10 dabright
** Initial revision - copy of Version 2.5 from Dennis Nicklaus
**
** Pre-SourceForge history:
**
## Dennis Nicklaus (dnicklaus at yahoo.com)
** Version 2.5     Feb. 2000
**
** Requires LifeLines version 2.3.3 or later
** Requires tree.tex (for formatting)   (tex macros for tree drawing).
**    (found in TUGboat, vol. 6 (1985) and online in various places,
**    including with the desc-tex lifelines report)
**
** based on work by David Olsen (dko@cs.wisc.edu) which in turn was
** based on work originally done by Tom Wetmore (ttw@cbnews1.att.com).
** also work by Kurt Baudendistel (baud@research.att.com).
** A few others, such as Ed Sternin (edik@brocku.ca) made other suggestions.
** and corrections.
**
** This report prints, in register/book format, information about all 
** descendants of a person (or persons) and all of their spouses.  
** It tries to understand as many different
** GEDCOM tags as possible.  All source information (SOUR lines) is in the
** bibliography and footnotes.
**
** An alternate usage (new in version 2) lets you print out sort of a combination
** ahnentafel and register report going through the ancestors of the
** persons chosen.
**
** The output is in LaTeX format.  Therefore, the name of the output file
** should end in ".tex".  To print (assuming the name of the output file is
** "out.tex"):
**      latex out  
**      (repeat latex-ing to get cross-references resolved)
**      dvips out
**      lpr out.ps
**
** Indexing commands are placed within the LaTeX output.  To include an index
** in the document do the following:
**      latex out
**      makeindex out           
**      latex out
**      latex out               
**      dvips out
**      lpr out.ps
**
** I admit that this is lot of post-processing, but the results are worth it.
**
** LaTeX interprets $, &, %, #, _, {, }, ~, ^, and \ as special characters.
** If you have any of these characters in your database, you will need to
** convert them to \$, \&, \%, \#, \_, \{, \}, \verb|~|, \verb|^|, and
** $\backslash$ (or \verb|\|) respectively after the report is generated and
** before running through LaTeX.  $, &, _, ~, and ^ are easy to find, since
** they are not used in the report.  % and # are only used near the beginning.
** {, }, and \ will be more difficult to find since they are used as part of
** the LaTeX commands throughout the report.

** A special note about indexing.  If you have names with double quotes in
** them, e.g. Forrest "Foggy" Morrison, not the nice Latex quotes style:
** Forrest ``Foggy'' Morrison, then the " marks will screw up the index.

	If you'ld like to credit me & this program in your
	introduction if it's something you're really going to publish
	that'd be nice (but not required).
	Something like this could be used:
     "This document was prepared using LifeLines v." version() " genealogical database program\n"
     "by Thomas T.~Wetmore~IV, {\\tt ttw@beltway.att.com}. The script {\\tt book-latex}\n"
     "by Dennis Nicklaus {\\tt dnicklaus at yahoo.com} was used to generate the \\LaTeX\\ code.\n"

*/

bkdes16-1.ll

/* 
 * @progname       bkdes16-1
 * @version        1.0
 * @author         Wetmore, Manis
 * @category       
 * @output         Text
 * @description    

 *   bkdes16-1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all descendents of a person,
 *   and is presently designed for 16 pitch, HP laserjet III.
 *
 *   This report produces an ASCII file, in output format.
 */

bias.ll

/*
 * @progname       bias
 * @version        1.4
 * @author         Chandler
 * @category       
 * @output         Text
 * @description    

bias

Compute sex bias based on previous births

Version 1.3 - 1993 Aug 23 - John F. Chandler
Version 1.4 - 1994 Jul 19 (requires LL 3.0 or higher)

Ever notice that certain families seem to have all boys or all girls?
Sometimes five or six in a row of all the same sex?  Is this a mere
statistical fluctuation, or is something special happening?

This program gives statistics for male vs female births.  First, it
tabulates the number of males and females next born after each possible
proportion of previous births in the same family.  In particular, it
gives the sex tally of first-borns (where the proportion of previous
births is 0 males and 0 females), then the tally for second-borns where
the first child was a female (0+1), and so on.  Any combination that
doesn't actually occur in the database is skipped in the report (for
example, if no family is found with more than 3 sons, the tallies for
3+0, 3+1, and so on would all show a total of 0 males, and there would
be no tallies listed for 4+0, 4+1, and so on).

Children of unknown sex are not included in these statistics.

The program next prints out the relative excess of male births
(typically a positive value) over the nominally expected 50%.  For many
files, there is a tendency to include incomplete families with only one
known child; for this reason, "only" children are excluded from these
statistics.  Also, the male excess is computed for two different subsets
of the children: (A) the set of all children not born last, and (B) the
set of all children not born first.  For both of these, there is also a
measure of the variability of the sex ratio to put the percentages in
perspective.  In addition, the program prints out the correlation
between the sex ratio for children already born into a family and the
likelihood of getting a male (or female) as the *next* child.  If the
sample is unbiased, and if the sex of each child is truly random, this
correlation should be 0.

It also tallies the fraction of births matching the sex of the previous
birth in the same family (again, excluding any children of unknown sex).
These results are printed out for a succession of increasingly restricted
cases: first, for all births of non-first-borns; then, for births preceded
by two-in-a-row of the same sex; then, for three-in-a-row; and so on.

Bug: combinations with more than 9 sons or more than 9 daughters are not
listed properly.

This program works only with LifeLines.

*/

ancestors2.ll

/*
 * @progname       ancestors2
 * @version        1.0
 * @author         Wetmore, Cliff Manis
 * @category       
 * @output         Text
 * @description    
 *
 *   ancestors2
 *
 *   Initial Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis, this is a modification of the
 *   report "ancestors1".
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all ancestors of a person, with
 *   sorted names as output, birth and death dates.
 *
 *   It will produce ASCII file output.
 *
 */

alllines.sgml.ll

/*
 * 
 * @progname       allines.sgml
 * @version        1.0
 * @author         Wetmore, Nozell
 * @category       
 * @output         SGML
 * @description    
 *
 * alllines.sgml - This program shows all ancestral lines of a specified person
 * using a pseudo-Register format.
 *
 * Output is in nroff or sgml format.  This may change to something
 * more generic.
 *
 * Tom Wetmore, ttw@shore.net
 * beta version, 27 February 1997
 *
 * Marc Nozell, nozell@rootsweb.com
 * Added sgmldoc (formerly known as linuxdoc), 3 March 1997
 */

alllines.ll

/*
 * @progname       allines
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         nroff
 * @description    

 * alllines - This program shows all ancestral lines of a specified person
 * using a pseudo-Register format.
 *
 * Output is in nroff format.  This may change to something more generic.
 *
 * Tom Wetmore, ttw@shore.net
 * beta version, 27 February 1997
 */

alive.ll

/*
 * @progname       alive
 * @version        5.0
 * @author         Eggert
 * @category       
 * @output         Text
 * @description    Finding people alive in a given year

alive - a LifeLines report program for finding live people

This finds who in the database, or among ancestors or descendants of
an individual, was likely alive in a certain year.  Good for looking at
population snapshots like censuses, tax rolls, etc.

Version 1, 13 July 1994, by Jim Eggert, eggertj@ll.mit.edu
Version 2, 14 July 1994, by Jim Eggert, fixed bug in estimate_byear
Version 3, 22 July 1994, by Jim Eggert, fixed another bug in estimate_byear,
					minor format improvement
Version 4, 15 March 1995, by Frank Flaesland, added support for listing places
Version 5, 17 March 1995, J.F.Chandler, modified to prune place list

** SourceForge Versions:
**
** $Log: alive.ll,v $
** Revision 1.4  2000/11/29 12:17:11  nozell
** Fix typo.
**
** Revision 1.3  2000/11/28 21:39:45  nozell
** Add keyword tags to all reports
** Extend the report script menu to display script output format
**
** Revision 1.2  2000/11/11 17:48:13  pere
** Get this report working.  Fixed type problems and handle empty
** place tags without crashing.  Add meta information.
**
**
*/

ahnentafel.ll

/* 
 * @progname       ahnentafel
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         Text
 * @description    
 * 
 * ahnentafel -- Generate an ahnentafel chart */

8gen1.ll

/*
 * @progname       8gen1
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         Text, 132 cols
 * @description    
 *
 *   8gen1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *
 *   Produce an 8 generation descendant report for the person selected.
 *
 *   Output is an ASCII file, and will probably need to be printed
 *   using 132 column format.
 *
 *   An example of the output, is not included because it would add
 *   20k to this report.
 */

6gen1.ll

/*
 * @progname       6gen1
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         Text, 80 cols
 * @description    
 *
 *   6gen1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *
 *   select and produce a 6 generation ancestor report for 
 *   the person selected.
 *
 *   Output is an ASCII file, and will probably need to be printed
 *   using 10 or 12 pitch.
 *
 *   An example of the output may be seen at end of this report.
 */

4gen1.ll

/*
 * @progname       4gen1
 * @version        1.0
 * @author         Wetmore
 * @category       
 * @output         Text, 80 cols
 * @description    
 *
 *   4gen1
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   With modifications by:  Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1990,
 *
 *   select and produce a ancestor report for the person selected.
 *
 *   Output is an ASCII file, and will probably need to be printed
 *   using 10 or 12 pitch.
 *
 *   An example of the output may be seen at end of this report.
 */

2ppage.ll

/*
 * @progname    2ppage
 * @version     1.0
 * @author      Wetmore
 * @category
 * @output      Text, 80 cols
 * @description 2 INDI's per page
 *
 *   2ppage               (2 INDI's per page)
 *
 *
 *   Code by Tom Wetmore, ttw@cbnewsl.att.com
 *   Modifications by Cliff Manis
 *
 *   This report works only with the LifeLines Genealogy program
 *
 *   version one of this report was written by Tom Wetmore, in 1991,
 *   and it has been modified many times since.
 *
 *   It will produce a report of all INDI's in the database, with
 *   two records printed per page.  Record 1 and 2 will be on the
 *   first page.
 *
 *   It will produce ASCII file output.

This short report show how many different things may be done with
the report language.

These next two paragraphs were by Tom, when he sent me the following
report - which we had been discussing via email.  At the time I wanted
this format for a book I was writing for a Mother-in-Law.

        This report is using the `pagemode' feature.  This allows use
use of the `pos' command to go to any row and column coordinate on a page.
The routine `pageout' dumps the current page to the output file, and
prepares for the program to compose another page.

        Notice how the `gettoday' function is used to get today's date to
print out.  Also note that the `mod' function is used to put every other
person on the top half, and the other every other person on the bottom
half.  Also note that the variable `page' counts the page numbers.

*/