4
* @author Wetmore, Eggert
9
This report will produce a tinytafel report on a person.
13
Based on tinytafel1 by Tom Wetmore, ttw@cbnewsl.att.com
15
This report works only with the LifeLines Genealogy program
17
Version 1, 1991, by Tom Wetmore.
18
Version 2, 11 Jan 1993, by Jim Eggert, eggertj@ll.mit.edu,
19
added header, trailer, sorting, date fixing,
20
and default moderate interest. Modified
21
empty surname recognition.
23
This report will produce a tinytafel report on a person.
25
Output is an ASCII file. It should be edited to translate any
26
non-ASCII characters, to shorten long place names (to 14-16
27
characters), and to indicate interest level after each year:
28
[space] No interest (level 0)
29
. Low interest (level 1)
30
: Moderate interest (level 2) (default)
31
* Highest interest (level 3)
33
You will want to modify the write_tafel_header() procedure to
34
include your name, address, etc.
36
Empty surnames or those starting with "_" or " " will not
37
be written to the report. This report doesn't do birthyear
38
estimation; it uses other events for the year if birthyear
41
See the end of this report for an example of a tinytafel report.
51
proc write_tafel_header() {
52
"N John Q. Public\n" /* your name, mandatory */
53
"A 1234 North Maple\n" /* address, 0-5 lines */
54
"A Homesville, OX 12345-6789\n"
56
"T 1 (101) 555-1212\n" /* telephone number */
57
"C 19.2 Baud, Unix System\n" /* communications */
58
"C Send any Email to: jqpublic@my.node.address\n"
59
"B SoftRoots/1-101-555-3434\n" /* BBS system/phone number */
60
"D Unix Operating System\n" /* diskette formats */
61
"F LifeLines Genealogy Program for Unix\n" /* file format */
62
"R This is a default header, please ignore.\n" /* comments */
63
"Z " d(line_count) "\n"
77
enqueue(plist, person)
78
while (person, dequeue(plist)) {
79
call process_line(person, plist)
82
call write_tafel_header()
84
call write_tafel_trailer()
95
proc write_tafelset() {
96
forindiset(tafelset,person,index,snum) {
98
getel(ldatelist,index) ":" /* moderate interest by default */
99
getel(fdatelist,index) ":"
101
if (lplace,getel(lplacelist,index)) { "\\" lplace }
102
if (fplace,getel(fplacelist,index)) { "/" fplace }
107
proc write_tafel_trailer() {
108
"W " date(gettoday()) "\n"
111
proc process_line (person, plist)
113
call first_in_line(person)
114
set(initial,trim(sname,1))
115
if (and(and(strcmp(initial, "_"),
116
strcmp(initial, " ")),
121
if (moth, mother(person)) {
125
set(person, father(person))
126
if (strcmp(sname, surname(person))) {
127
call last_in_line(last)
128
call first_in_line(person)
134
proc first_in_line (person)
136
call set_year_place(person)
139
set(sname,save(surname(person)))
142
proc last_in_line (person)
144
call set_year_place(person)
147
set(line_count,add(line_count,1))
148
addtoset(tafelset,person,line_count)
149
if (and(strcmp(ldate,"????"),
150
gt(strcmp(ldate,fdate),0))) {
151
/* reverse order ldate and fdate */
152
enqueue(ldatelist,save(fdate))
153
enqueue(fdatelist,save(ldate))
156
/* normal order ldate and fdate */
157
enqueue(ldatelist,save(ldate))
158
enqueue(fdatelist,save(fdate))
160
enqueue(lplacelist,save(lplace))
161
enqueue(fplacelist,save(fplace))
164
proc set_year_place (person)
166
set (yr, year(birth(person)))
168
set (yr, year(baptism(person)))
171
set (yr, year(death(person)))
174
set (yr, year(burial(person)))
180
set(pl, place(birth(person)))
182
set(pl, place(baptism(person)))
185
set(pl, place(death(person)))
188
set(pl, place(burial(person)))
190
set(pplace, save(pl))
196
Here is an example of a tiny tafel by Cliff Manis.
198
Note that the "Z" line is the number of actual data lines.
200
N Alda Clifford Manis
206
C 19.2 Baud, Unix System
207
C Send any Email to: cmanis@csoftec.csf.com
208
D Unix Operating System
209
F LifeLines Genealogy Program for Unix
211
M520 1939 1939 Manis\Knoxville, Knox Co, TN/Knoxville, Knox Co, TN
212
M520 1780 1902 Manes\Sevier Co, TN ?/Union Valley, Sevier Co, TN
213
M520 1770 1770 Maness\Sevier Co, Tennessee ?/Sevier Co, Tennessee ?
214
M520 1805 1914 Manis\North Carolina ?/Dandridge, Jefferson Co, TN
215
C536 1820 1869 Canter\VA/Jonesboro, Washington Co, TN
216
B620 1765 1829 Bowers/TN
217
N550 1730 1881 Newman\Monroe Co., WV/Jefferson Co, TN
218
B630 1760 1845 Bird\Frederick Co, VA/Sevier Co, TN
219
B630 1730 1730 Barth\Germany/Germany
220
F652 1745 1810 Francis\Augusta Co, VA ?/Rutherford Co, NC
221
W365 1860 1846 Whitehorn\VA/Washington Co, TN ?
222
C500 1700 1808 Cowan/TN
223
C613 1720 1843 Corbett\Scotch-Irish Dec/Jefferson Co, TN
224
R525 1750 1806 Rankin\Scotland/Jefferson Co., TN
225
S636 1776 1799 Shrader\Virginia/Sevier Co, TN ?
226
B300 1772 1772 Boyd\Boyd's Creek, Sevier Co, TN/Boyd's Creek, Sevier Co, TN