%include;css %include;hed %message_to_wizard;
%if;not cancel_links; %include;menubar %end; %let;central_index;%index;%in; %let;l_v0;%if;(evar.v != "")%if;(evar.v > max_anc_level)%max_anc_level;%else;%evar.v;%end;%else;1%end;%in; %let;l_v;%if;(bvar.max_anc_level = "")%l_v0;%elseif;(bvar.max_anc_level > l_v0)%l_v0;%else;%bvar.max_anc_level;%end;%in; %let;birth_symbol;%if;(bvar.birth_symbol != "")%bvar.birth_symbol;%else;°%end;%in; %let;death_symbol;%if;(bvar.death_symbol != "")%bvar.death_symbol;%else;†%end;%in; %let;l_up;%if;(evar.i1 != "" or evar.p1 != "")1%end;%in; %define;tothegen(xx) [to the %s generation:::xx]%nn; %end; %( recopié de perso_utils.txt %) %define;thegen(xx) [the %s generation:::xx]%nn; %end; %define;togena(xx) %if;(xx = 1)[specify::generation/generations]0%nn; %elseif;(xx = 2)[to the parents]%nn; %elseif;(xx = 3)[to the grandparents]%nn; %elseif;(xx = 4)[to the great-grandparents]%nn; %else; %apply;tothegen%with; %apply;nth([nth (generation)], xx) %end; %end; %end; %define;togen(xx) %if;(xx = 1)[specify::generation/generations]0%nn; %elseif;(xx = 2)[to the parents]%nn; %elseif;(xx = 3)[to the grandparents]%nn; %elseif;(xx = 4)[to the great-grandparents]%nn; %else; %apply;tothegen%with; %apply;nth([nth (generation)], xx) %end; %end; %end; %define;gen(xx) %if;(evar.xx = 1)[*specify::generation/generations]0%nn; %elseif;(evar.xx = 2)[the parents]%nn; %elseif;(evar.xx = 3)[the grandparents]%nn; %elseif;(evar.xx = 4)[the great-grandparents]%nn; %else; %apply;thegen%with; %apply;nth([nth (generation)], evar.xx) %end; %end; %end; %define;image_MF(xxx) %if;(wizard and not cancel_links) %elseif;xxx.is_female; class="fa fa-venus female mr-1"> %else; class="fa fa-neuter neuter mr-1"> %end;%nn; %else; %if;xxx.is_male; ♂ %elseif;xxx.is_female; ♀ %else; ⚲ %end;%nn; %end; %end; %define;letter(xx) %apply;nth%with; /a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z %and;xx%end; %end; %( fin recopie perso_utils %) %define;link(aaa,xxx,nnn) %if;(evar.cgl="on")xxx%else;xxx%end; %end; %define;link2(xxx, nnn) %if;(evar.cgl="on")%xxx;%else;%xxx;%end; %xxx.title;%xxx.dates; %end; %define;my_link(aaa, xxx, rrr, nnn) %if;(evar.cgl="on" or rrr)xxx%else;xxx%end; %end; %define;living_interval_dates(xxx, yyy) %if;(evar.after != "" and evar.before != "") ,%sp;[living between %s and %s:::xxx:yyy] %elseif;(evar.before != "") ,%sp;[living before %s:::yyy] %elseif;(evar.after != "") ,%sp;[living after %s:::xxx] %else; %( On n'affiche rien %) %end; %end; %define;ancestor_missing_birth(xx) %if;(xx.has_birth_date or xx.has_birth_place) %if;xx.has_birth_date; %xx.slash_birth_date;%end; %if;xx.has_birth_place; - %xx.birth_place;%end; %elseif;(xx.has_baptism_date or xx.has_baptism_place) %if;xx.has_baptism_date; %xx.slash_baptism_date;%end; %if;xx.has_baptism_place; - %xx.baptism_place;%end; %else;   %end; %end; %define;ancestor_missing_death(xx) %if;xx.is_dead; %if;xx.has_death_date; %xx.slash_death_date;%end; %if;xx.has_death_place; - %xx.death_place;%end; %elseif;xx.is_buried; %if;xx.has_burial_date; %xx.slash_burial_date;%end; %if;xx.has_burial_place; - %xx.burial_place;%end; %elseif;xx.is_cremated; %if;xx.has_cremation_date; %xx.slash_cremation_date;%end; %if;xx.has_cremation_place; - %xx.cremation_place;%end; %else;   %end; %end; %define;display_missing_ancestor_info(xx) %if;(evar.birth = "on") %apply;ancestor_missing_birth("xx") %end; %if;(evar.death = "on") %apply;ancestor_missing_death("xx") %end; %if;(evar.spouse = "on") %if;xx.has_families; %if;(not xx.has_parents and xx.first_name != "?" and xx.surname != "?") %foreach;xx.family; %if;(spouse.first_name != "?" and spouse.surname != "?") %if;(family_cnt > 1),%sp;%end; %apply;image_MF("spouse") %apply;link(spouse.access, spouse, spouse.index) %end; %end; %end; %end; %end; %end; %define;somebody_long_info(xx) %if;xx.has_aliases; %foreach;xx.alias;, [alias] %alias;%end; %end; %if;(("xx" = "ancestor" or xx.sosa_in_list = "") and xx.has_nobility_titles) %nn; %foreach;xx.nobility_title;, %nobility_title;%end; %nn; %end; %if;(xx.has_birth_date or xx.has_birth_place) , %if;xx.is_male;[born]0%elseif;xx.is_female;[born]1%else;[born]2%end; %if;xx.has_birth_date; %xx.on_birth_date;%end; %if;xx.has_birth_place;, %xx.birth_place;%end; %end; %if;(xx.has_baptism_date or xx.has_baptism_place) , %if;xx.is_male;[baptized]0%elseif;xx.is_female;[baptized]1%nn; %else;[baptized]2%end; %if;xx.has_baptism_date; %xx.on_baptism_date;%end; %if;xx.has_baptism_place;, %xx.baptism_place;%end; %end; %if;xx.is_dead;, %xx.died; %if;(xx.has_death_date) %xx.on_death_date;%end; %if;(xx.has_death_place), %xx.death_place;%end; %end; %if;xx.is_buried;, %if;xx.is_male;[buried]0%else;[buried]1%end; %if;xx.has_burial_date; %xx.on_burial_date;%end; %if;xx.has_burial_place;, %xx.burial_place;%end;%nl; %end; %if;xx.is_cremated;, %if;xx.is_male;[cremated]0%else;[cremated]1%end; %if;xx.has_cremation_date; %xx.on_cremation_date;%end; %if;xx.has_cremation_place;, %xx.cremation_place;%end;%nl; %end; %if;xx.computable_death_age;%sp; ([age at death:] %xx.death_age;)%nn; %end; %end; %define;somebody_extra_info(xx) %if;xx.has_occupation;, %xx.occupation;%end; %if;(evar.rel = "on" and xx.has_relations) %foreach;xx.relation;%nl; (%relation_type;: %if;has_relation_him; %apply;link2(relation_him.var, relation_him.index) %if;(relation_him.sosa_in_list != ""), [see] %nn; %relation_him.sosa_in_list;%nn; %end; %end; %if;has_relation_her; %if;has_relation_him;,%nl;%end; %apply;link2(relation_her.var, relation_her.index) %if;(relation_her.sosa_in_list != ""), [see] %nn; %relation_her.sosa_in_list;%nn; %end; %end;)%nn; %end; %foreach;xx.related;%nl; (%related_type;: %apply;link2(related.var, related.index) %if;(related.sosa_in_list != ""), [see] %nn; %related.sosa_in_list;%nn; %end;)%nn; %end; %end; %end; %define;somebody(xx) %apply;my_link(xx.access, xx, xx.is_restricted, xx.index)%nn; %apply;somebody_long_info("xx") %apply;somebody_extra_info("xx") %end; %define;somebody_spouse_parent(xx) %apply;my_link(spouse.xx.access, spouse.xx, spouse.is_restricted, spouse.index)%nn; %if;spouse.xx.has_nobility_titles;, %nn; %spouse.xx.nobility_title;%nn; %end; %spouse.xx.dates; %if;(spouse.xx.sosa_in_list != "")%sp; ([see] %spouse.xx.sosa_in_list; )%nn; %end; %end; %define;image_sosa(xxx,yyy) sosa%nn; %end; %define;display_sosa(xx) %if;(xx.has_sosa and bvar.display_sosa="yes") %if;not cancel_links;%end; %apply;image_sosa%with;%sosa_ref.first_name_key_strip;%sp; %sosa_ref.surname_key_strip; %and;%xx.sosa;%end; %if;not cancel_links;%end;%sp; %end; %end; %define;short_display_person(xx) %apply;display_sosa("xx") %if;(xx.index=central_index)%xx;%else; %if;(cancel_links or xx.is_restricted)%xx; %else;%xx;%end; %end; %xx.title;%xx.dates; %end; %define;married_to(is_male, date_place) %if;("is_male" = 1) %if;are_married;[married%t to:::date_place]0%nn; %elseif;are_not_married;[relationship%t to:::date_place]0%nn; %elseif;are_engaged;[engaged%t to:::date_place]0%nn; %elseif;is_no_sexes_check;[relationship%t to:::date_place]0%nn; %elseif;is_no_mention;date_place [with]%nn; %end; %else; %if;are_married;[married%t to:::date_place]1%nn; %elseif;are_not_married;[relationship%t to:::date_place]1%nn; %elseif;are_engaged;[engaged%t to:::date_place]1%nn; %elseif;is_no_sexes_check;[relationship%t to:::date_place]1%nn; %elseif;is_no_mention;date_place [with]%nn; %end; %end; %end; %let;lai;alt="[image/images]0"%in; %let;ltap;%if;(wizard and not cancel_links) title="[add::parents]" %end;%in; %let;ltmf;%if;(wizard and not cancel_links) title="[modify::family/families]0" %end;%in; %let;ltmp;%if;(wizard and not cancel_links) title="[modify::person/persons]0" %end;%in; %define;link3(aa, xx) %if;(cancel_links)xx%else;xx%end; %end; %define;link_dates1(xx) %sp; %if;(wizard and not cancel_links) %nn; %end; %apply;lazy_print(birth_symbol) %if;(xx.has_birth_date or xx.has_baptism_date) %if;(xx.birth_date.year != "")%lazy_force;%xx.slash_birth_date;%nn; %elseif;(xx.baptism_date.year != "")%lazy_force;%xx.slash_baptism_date;%nn; %end; %end; %if;(xx.has_birth_place or xx.has_baptism_place) %sp;%lazy_force;%if;xx.has_birth_place;%xx.birth_place;%elseif;xx.has_baptism_place;%xx.baptism_place;%end; %end; %let;l1;%if;lazy_printed; 
%end;%in; %if;(xx.is_dead) %l1; %apply;lazy_print(death_symbol) %if;(xx.has_death_date or xx.has_burial_date) %if;(xx.death_date.year != "")%lazy_force;%xx.slash_death_date;%nn; %elseif;(xx.burial_date.year != "")%lazy_force;%xx.slash_burial_date;%nn; %end; %end; %if;(xx.has_death_place or xx.has_burial_place) %sp;%lazy_force;%if;xx.has_death_place;%xx.death_place;%elseif;xx.has_burial_place;%xx.burial_place;%end; %end; %end; %let;l2;%if;lazy_printed; %else;%lazy_force;%end;%in; %if;(wizard and not cancel_links) %if;(l1 = "" and l2 = "") - %end;
%nn; %end; %end; %define;link_marriage1(xx) %if;(wizard and not cancel_links) %nn; &%nn; %if;(nb_children >= 1)%nb_children;%end; %slash_marriage_date; %marriage_place; %else; &%nn; %slash_marriage_date; %marriage_place; &%nb_children; %end; %end; %define;link_parents() %if;(evar.only != "on" and ancestor.father_sosa != "") %ancestor.anc_sosa;%nn; %elseif;(evar.cgl != "on" and wizard and not ancestor.has_parents and ancestor.first_name != "?" and ancestor.surname != "?") %ancestor.anc_sosa;%nn; %else; %ancestor.anc_sosa;%nn; %end; %end; %define;imgtdz(xx) %if;(evar.image!="off" and xx.has_image) %nn; %end; %end; %define;info3(xx) %if;(xx.has_nobility_titles) %xx.nobility_title; %end; %if;(xx.has_occupation) %xx.occupation; %end; %if;xx.computable_age; [age] : %xx.age; %end; %if;(xx.computable_death_age) %xx.death_age; %end; %if;(xx.has_consanguinity and (bvar.show_consang != "no" or manitou)) %xx.consanguinity; %end; %end; %define;link_rel(xx) %if;(cancel_links) ==
xx %else; ==xx %end; %end; %define;symbol2(xx) %if;(xx.has_siblings) ♦%nn; %elseif;(xx.has_parents) ◊%nn; %else; -%nn; %end; %end; %define;symbol1(xx) %if;(xx.has_sosa) %apply;symbol2("xx")%nn; %else; %apply;symbol2("xx") %end; %end; %define;nb_fam(xx) %if;(xx.same = "") %if;(not cancel_links) %end;
%apply;symbol1("xx") %if;(xx.nb_families > 1)
%xx.nb_families;&%xx.nb_children; %end; %if;(not cancel_links)
%end; %else;
%apply;link_rel%with; %xx.same; %end; %end; %end; %define;male_line(xx,z1) %apply;link_parents() %apply;nb_fam("xx") %apply;imgtdz("xx")
%apply;link3(xx.access, xx)
%apply;info3("xx") %apply;link_dates1("xx") %end; %define;female_line(xx,z1) %apply;link_dates1("xx") %apply;imgtdz("xx")
%apply;link3(xx.access, xx)
%apply;info3("xx") %apply;link_parents() %apply;nb_fam("xx") %end; %define;one_line(z1) %if;(ancestor.anc_sosa.v % 2 = 0) %apply;male_line("ancestor","z1") %if;(ancestor.same = "") %foreach;ancestor.family; %if;(family.index = ancestor.family.index) %apply;link_marriage1("ancestor") %end; %end; %end; %end; %if;(ancestor.anc_sosa.v % 2 = 1) %apply;female_line("ancestor","z1") %end; %end; %( Long display %) %define;child_notes(spec) %if;(child.sosa_in_list = "" and (evar.src = "on" and child.has_sources or evar.notes = "on" and (child.has_notes or child.has_event)))
%ancestor.anc_sosa; %if;("spec" != "")-spec%end; %apply;letter(child_cnt):
%if;(evar.notes = "on" and (child.has_notes or child.has_event))
%child.notes; %if;child.has_event; %foreach;child.event; %end;
%if;event.has_date;%event.date; : %else;--- : %end; %apply;capitalize(event.name)%sp; %if;event.has_spouse;([with] %event.spouse;)%end; %if;event.has_place; - %event.place; %end; %if;event.has_witnesses;

%foreach;event_witness; %apply;capitalize(event_witness_kind) : %apply;short_display_person("event_witness")
%end;

%end; %if;event.has_note;
%event.note;
%end; %if;event.has_src;[*source/sources]1: %event.src;%end;
%end;

%end; %if;(evar.src = "on" and child.has_sources) [*source/sources]1:
%foreach;child.source; - %source_type;: %source;
%end;

%end;
%end; %end; %define;long_display_notes()

%if;(evar.notes = "on")[*note/notes]1%else;[*source/sources]1%end;  

%foreach;ancestor_level; %if;(evar.v != "" and level <= evar.v and (evar.only != "on" or level = evar.v)) %foreach;ancestor; %if;((evar.src = "on" and ancestor.has_sources or evar.notes = "on" and (ancestor.has_notes or ancestor.has_event)) and ancestor.same = "")
%ancestor.anc_sosa;:
%if;(evar.notes = "on" and (ancestor.has_notes or ancestor.has_event))
%ancestor.notes; %if;ancestor.has_event; %foreach;ancestor.event; %end;
%if;event.has_date;%event.date; : %else;--- : %end; %apply;capitalize(event.name)%sp; %if;event.has_spouse;([with] %event.spouse;)%end; %if;event.has_place; - %event.place; %end; %if;event.has_witnesses;

%foreach;event_witness; %apply;capitalize(event_witness_kind) : %apply;short_display_person("event_witness")
%end;

%end; %if;event.has_note;
%event.note;
%end; %if;event.has_src;[*source/sources]1: %event.src;%end;
%end;

%end; %if;(evar.src = "on" and ancestor.has_sources) [*source/sources]1:
%foreach;ancestor.source; - %source_type;: %source;
%end;

%end;
%end; %if;(evar.siblings = "on" and ancestor.is_female and ancestor.same = "") %( siblings %) %if;(ancestor.index != self.index) %foreach;ancestor.family; %if;(family.index = ancestor.family.index) %foreach;child; %apply;child_notes("") %end; %end; %end; %( father's other families %) %foreach;ancestor.spouse.family; %if;(spouse.index != ancestor.index) %foreach;child; %apply;child_notes(family_cnt) %end; %end; %end; %( mother's other families %) %foreach;ancestor.family; %if;(spouse.index != ancestor.spouse.index) %foreach;child; %apply;child_notes(family_cnt) %end; %end; %end; %end; %end; %end; %end; %end;
%end; %define;long_display_ancestor_personal() %apply;somebody("ancestor"). %if;(evar.only != "on" and ancestor.father_sosa != "") [*parents]:%sp; %ancestor.father_sosa;%sp; [and]%sp; %ancestor.mother_sosa;. %end; %if;(evar.siblings = "on") %foreach;ancestor.family; %if;(ancestor.index = index or family.index != ancestor.family.index) %apply;capitalize%with; %apply;married_to%with; %ancestor.is_male; %and; %if;(ancestor.index != index) (%family_cnt;)%end; %if;(on_marriage_date != "") %on_marriage_date;%end; %if;(marriage_place != ""), %marriage_place;, %end; %end;%sp; %end; %apply;somebody("spouse")%nn; %if;spouse.has_parents;,%sp; %apply;a_of_b%with; %if;spouse.is_male;[son/daughter/child]0 %else;[son/daughter/child]1%end; %and; %apply;somebody_spouse_parent("father") [and] %apply;somebody_spouse_parent("mother") %end; %end;. %end; %end; %end; %if;((evar.notes = "on" and (ancestor.has_notes or ancestor.has_event) and evar.inline = "on") or (evar.src = "on" and ancestor.has_sources and evar.inline = "on"))

%if;(evar.notes = "on" and (ancestor.has_notes or ancestor.has_event)) [*note/notes]0 : %apply;clean_html_tags(ancestor.notes)
%if;ancestor.has_event;

%foreach;ancestor.event; %end;
%if;event.has_date;%event.date; : %else;--- : %end; %apply;capitalize(event.name)%sp; %if;event.has_spouse;([with] %event.spouse;)%end; %if;event.has_place; - %event.place; %end; %if;event.has_witnesses;

%foreach;event_witness; %apply;capitalize(event_witness_kind) : %apply;short_display_person("event_witness")
%end;

%end; %if;event.has_note;
%event.note;
%end; %if;event.has_src;[*source/sources]1: %event.src;%end;
%end;
%end; %if;(evar.src = "on" and ancestor.has_sources) [*source/sources]1 : %foreach;ancestor.source; %source_type;: %apply;clean_html_tags(source) %if;(not is_last),%sp;%end; %end; %end;

%end; %if;((evar.notes = "on" and (ancestor.has_notes or ancestor.has_event) or evar.src = "on" and ancestor.has_sources) and evar.inline != "on") %if;(evar.notes = "on")%[[*note/notes]0%sp; %else;%[[*source/sources]1%sp; %end; %ancestor.anc_sosa;%]. %end; %end; %define;child_long_info(spec) %apply;my_link(child.access, child.child_name, child.is_restricted, child.index)%nn;%nn; %apply;somebody_long_info("child") %if;(child.sosa_in_list != ""). %if;(evar.only != "on")[*see]%sp; %child.sosa_in_list;. %end; %else; %apply;somebody_extra_info("child"). %foreach;child.family; %if;(evar.inline= "on" and (((child.has_notes or child.has_event) and evar.notes = "on") or (child.has_sources and evar.src = "on")))
%end; %apply;capitalize%with; %apply;married_to%with; %child.is_male; %and; %if;(on_marriage_date != "") %on_marriage_date;%end; %if;(marriage_place != ""), %marriage_place;, %end; %end;%sp; %end; %apply;somebody("spouse")%nn; %if;spouse.has_parents;,%sp; %apply;a_of_b%with; %if;spouse.is_male;[son/daughter/child]0 %else;[son/daughter/child]1%end; %and; %apply;somebody_spouse_parent("father") [and] %apply;somebody_spouse_parent("mother") %end; %end;. %if;are_divorced;[*divorced]0%divorce_date;.%nl; %elseif;are_separated;[*separated]0.%nl; %end; %end; %if;((evar.notes = "on" and (child.has_notes or child.has_event) and evar.inline = "on") or (evar.src = "on" and child.has_sources and evar.inline = "on"))

%if;(evar.notes = "on" and (child.has_notes or child.has_event)) [*note/notes]0 : %apply;clean_html_tags(child.notes)
%if;child.has_event;

%foreach;child.event; %end;
%if;event.has_date;%event.date; : %else;--- : %end; %apply;capitalize(event.name)%sp; %if;event.has_spouse;([with] %event.spouse;)%end; %if;event.has_place; - %event.place; %end; %if;event.has_witnesses;

%foreach;event_witness; %apply;capitalize(event_witness_kind) : %apply;short_display_person("event_witness")
%end;

%end; %if;event.has_note;
%event.note;
%end; %if;event.has_src;[*source/sources]1: %event.src;%end;
%end;
%end; %if;(evar.src = "on" and child.has_sources) [*source/sources]1 : %foreach;child.source; %source_type;: %apply;clean_html_tags(source) %if;(not is_last),%sp;%end; %end; %end;

%end; %if;((evar.notes = "on" and (child.has_notes or child.has_event) or evar.src = "on" and child.has_sources) and evar.inline != "on") %if;(evar.notes = "on")%[[*note/notes]0%sp; %else;%[[*source/sources]1%sp; %end; %ancestor.anc_sosa;%if;("spec" != "")-spec%end;%apply;letter(child_cnt) %]. %end; %end; %end; %define;long_display_ancestor_families() %if;ancestor.is_male; ... %foreach;ancestor.family; %if;(family.index = ancestor.family.index) %apply;married_to%with %ancestor.is_male; %and; %if;(on_marriage_date != "") %on_marriage_date;%end; %if;(marriage_place != ""), %marriage_place;, %end; %end;... %end; %end; %else; %foreach;ancestor.family; %if;(family.index = ancestor.family.index) ... %if;(evar.witn = "on" and has_witnesses)([witness/witnesses]1: %foreach;witness; %if;(not is_first),%nl;%end; %apply;link2(witness.var, witness.index) %end;), %end; %if;(evar.comm = "on" and (has_comment or has_marriage_note)) (%comment; %if;has_marriage_note; %marriage_note; %end;)%nl; %end; [having as children]:

    %foreach;child; %if;(evar.siblings = "on" or child.sosa_in_list != "")
  1. %apply;child_long_info("")
  2. %end; %end;

%end; %end; %if;(evar.siblings = "on") %( father's other children %) %foreach;ancestor.spouse.family; %if;(spouse.index != ancestor.index and nb_children > 0) ... [having as children]%sp; %family.father.sosa_in_list; -(X%family_cnt;):

    %foreach;child;
  1. %apply;child_long_info(family_cnt)
  2. %end;

%end; %end; %( mother's other children %) %foreach;ancestor.family; %if;(spouse.index != ancestor.spouse.index and nb_children > 0) ... [having as children]%sp; %family.mother.sosa_in_list; -(X%family_cnt;):

    %foreach;child;
  1. %apply;child_long_info(family_cnt)
  2. %end;

%end; %end; %end; %end; %end; %define;dates_in_interval(xx) %if;(evar.after != "" and (xx.birth_date.year = "" and xx.baptism_date.year = "" and xx.death_date.year = "" and xx.burial_date.year = "" and xx.cremated_date.year = "" or xx.birth_date.year != "" and xx.birth_date.year < evar.after or xx.baptism_date.year != "" and xx.baptism_date.year < evar.after or xx.death_date.year != "" and xx.death_date.year < evar.after or xx.burial_date.year != "" and xx.burial_date.year < evar.after or xx.cremated_date.year != "" and xx.cremated_date.year < evar.after) or evar.before != "" and (xx.birth_date.year = "" and xx.baptism_date.year = "" and xx.death_date.year = "" and xx.burial_date.year = "" and xx.cremated_date.year = "" or xx.birth_date.year != "" and xx.birth_date.year > evar.before or xx.baptism_date.year != "" and xx.baptism_date.year > evar.before or xx.death_date.year != "" and xx.death_date.year > evar.before or xx.burial_date.year != "" and xx.burial_date.year > evar.before or xx.cremated_date.year != "" and xx.cremated_date.year > evar.before))false%nn; %else;true%end; %end; %( Display ascend in table %) %define;table_header() %reset_count; %if;(evar.num="on") № %incr_count; %end; [*person/persons]0 %incr_count; %if;(evar.birth="on" and evar.birth_place="on") [*birth] %incr_count;%incr_count; %elseif;(evar.birth="on" and evar.birth_place!="on") [*date of birth] %incr_count; %elseif;(evar.birth!="on" and evar.birth_place="on") [*birth place] %incr_count; %end; %if;(evar.baptism="on" and evar.baptism_place="on") [*baptism] %incr_count;%incr_count; %elseif;(evar.baptism="on" and evar.baptism_place!="on") [*date of baptism] %incr_count; %elseif;(evar.baptism!="on" and evar.baptism_place="on") [*baptism place] %incr_count; %end; %if;(evar.marr="on") [*spouse/spouses]1 %incr_count; %end; %if;((evar.marr_date="on" and evar.marr_place="on") or (evar.marr_date="on" and evar.child="on") or (evar.marr_place="on" and evar.child="on")) %nn; [*marriage/marriages]0%nn; %if;(evar.marr_date="on" and evar.marr_place="on" and evar.child="on") %incr_count;%incr_count;%incr_count;%else;%incr_count;%incr_count;%end; %elseif;(evar.marr_date="on" and evar.marr_place!="on" and evar.child!="on") [*date of marriage] %incr_count; %elseif;(evar.marr_date!="on" and evar.marr_place="on" and evar.child!="on") [*marriage place] %incr_count; %elseif;(evar.marr_date!="on" and evar.marr_place!="on" and evar.child="on") %incr_count; %end; %if;(evar.death="on" and evar.death_place="on") [*death] %incr_count;%incr_count; %elseif;(evar.death="on" and evar.death_place!="on") [*date of death] %incr_count; %elseif;(evar.death!="on" and evar.death_place="on") [*death place] %incr_count; %end; %if;(evar.burial="on" and evar.burial_place="on") [*burial] %incr_count;%incr_count; %elseif;(evar.burial="on" and evar.burial_place!="on") [*date of burial] %incr_count; %elseif;(evar.burial!="on" and evar.burial_place="on") [*burial place] %incr_count; %end; %if;(evar.age="on") [*age] %incr_count; %end; %if;(evar.occu="on") [*occupation/occupations]1 %incr_count; %end; %if;(evar.birth="on" and evar.birth_place="on") [*date/dates]0 [*place] %end; %if;(evar.baptism="on" and evar.baptism_place="on") [*date/dates]0 [*place] %end; %if;((evar.marr_date="on" and evar.marr_place="on") or (evar.marr_date="on" and evar.child="on") or (evar.marr_place="on" and evar.child="on")) %if;(evar.marr_date="on") [*date/dates]0%nn; %end; %if;(evar.marr_place="on") [*place]%nn; %end; %if;(evar.child="on") %end; %end; %if;(evar.death="on" and evar.death_place="on") [*date/dates]0 [*place] %end; %if;(evar.burial="on" and evar.burial_place="on") [*date/dates]0 [*place] %end; %end; %define;implex() %if;(evar.num!="on")
%end; %if;(not cancel_links) %nn; %end;==%nn; %if;(not cancel_links)%end; %if;(evar.num="on")
%else;%sp;%end; %if(evar.sosab = 16)%ancestor.same.hexa; %elseif(evar.sosab = 8)%ancestor.same.octal; %else;%ancestor.same; %end; %end; %define;date_popup(xxx) %let;symb;%if;("xxx"="birth")°%elseif;("xxx"="death" and ancestor.is_dead)†%end;%in; %if;(evar.xxx="on") 1 and (evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on")) rowspan="%ancestor.nb_families;"%end;> %if;(wizard and not cancel_links) %nn; %if;ancestor.has_xxx_date;%ancestor.slash_xxx_date;%else;%symb;%end;%nn; %else; %if;ancestor.has_xxx_date;%ancestor.slash_xxx_date;%else;%symb;%end; %end; %end; %end; %define;place_popup(xxx) %if;(evar.xxx_place="on") 1 and (evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on")) rowspan="%ancestor.nb_families;"%end;%sp; class="align-middle%nn; %if;(evar.ns="on") %if;(ancestor.has_xxx_note and not ancestor.has_xxx_source) note%nn; %elseif;(not ancestor.has_xxx_note and ancestor.has_xxx_source) source%nn; %elseif;(ancestor.has_xxx_note and ancestor.has_xxx_source) notesource%nn; %end; %end;"%sp; %if;(evar.ns="on" and (ancestor.has_xxx_note or ancestor.has_xxx_source)) tabindex="0" data-trigger="focus" data-toggle="popover" data-placement="bottom" data-html="true" data-content='%if;ancestor.has_xxx_note;%apply;capitalize(ancestor.xxx_note)%end; %if;ancestor.has_xxx_source;%if;ancestor.has_xxx_note;
%end;%apply;capitalize(ancestor.xxx_source)%end;' title="%if;(ancestor.has_xxx_note or ancestor.has_xxx_source) %apply;a_of_b%with; %if;(ancestor.has_xxx_note and not ancestor.has_xxx_source)[*note/notes]1%nn; %elseif;(not ancestor.has_xxx_note and ancestor.has_xxx_source)[*source/sources]1%nn; %elseif;(ancestor.has_xxx_note and ancestor.has_xxx_source)[*note/notes]1 [and] [source/sources]1%nn; %end; %and;[xxx]%end; %end;"%nn; %end;>%nn; %if;ancestor.has_xxx_place;%ancestor.xxx_place;%end; %end; %end; %define;table_row() %lazy_force; %if;(ancestor.same = "")%incr_count;%end; %( Sosa %) %if;(evar.num="on") 1 and (evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on")) rowspan="%ancestor.nb_families;"%end;>%nn; %if;(ancestor.anc_sosa!=1 and not cancel_links) %if;ancestor.has_parents; %nn; %else; %nn; %end; %end; %if;(evar.sosab = 16)%ancestor.anc_sosa.hexa;%nn; %elseif;(evar.sosab = 8)%ancestor.anc_sosa.octal;%nn; %else;%ancestor.anc_sosa;%nn; %end; %if;(ancestor.anc_sosa!=1 and not cancel_links) %end; %if;(ancestor.same != "" and evar.repeat = "on" and evar.num="on") %apply;implex() %end; %end; %( Ancêtre %) 1 and (evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on")) rowspan="%ancestor.nb_families;"%end;%sp; class="align-middle%if;(ancestor.nb_families > 1) border-bottom-0%end;%if;(evar.nowrap="on") text-nowrap%end; pl-2%nn; %if;(evar.ns="on") %if;(ancestor.has_notes and not ancestor.has_psources) note%nn; %elseif;(not ancestor.has_notes and ancestor.has_psources) source%nn; %elseif;(ancestor.has_notes and ancestor.has_psources) notesource%nn; %end; %end;"%sp; %if;(evar.ns="on" and (ancestor.has_notes or ancestor.has_psources)) tabindex="0" data-trigger="focus" data-toggle="popover" data-placement="right" data-html="true" data-content='%if;(ancestor.has_notes)%ancestor.notes;%end; %if;(ancestor.has_psources) %if;(ancestor.has_notes)
%end; %apply;capitalize(ancestor.psources) %end;'%sp; title="%if;(ancestor.has_notes and not ancestor.has_psources)[*note/notes]1%nn; %elseif;(not ancestor.has_notes and ancestor.has_psources)[*source/sources]1%nn; %elseif;(ancestor.has_notes and ancestor.has_psources)[*note/notes]1 [and] [source/sources]1%nn; %end;"%nn; %end;>
%apply;image_MF("ancestor") %apply;link(ancestor.access, ancestor, ancestor.index) %if;(evar.title="on" and ancestor.title!=""), %ancestor.title;%end; %if;(ancestor.same != "" and evar.repeat = "on" and evar.num!="on") %apply;implex() %end;
%if;(evar.image!="off" and ancestor.has_image) %ancestor; %end;
%( Date de naissance %) %apply;date_popup%with;birth%end; %( Lieu de naissance %) %apply;place_popup%with;birth%end; %( Date de baptême %) %apply;date_popup%with;baptism%end; %( Lieu de baptême %) %apply;place_popup%with;baptism%end; %( Conjoints %) %if;(evar.marr = "on") %if;(ancestor.nb_families = 0)   %else; %foreach;ancestor.family; %if;(family_cnt = 1) %apply;image_MF("spouse") %apply;link(spouse.access, spouse, spouse.index) %end; %end; %end; %end; %( Date du mariage %) %if;(evar.marr_date = "on") %if;(ancestor.nb_families = 0)   %else; %foreach;ancestor.family; %if;(family_cnt = 1) %if;(wizard and not cancel_links) %nn; %if;(slash_marriage_date != "")%slash_marriage_date;%else; %end; %nn; %else; %slash_marriage_date;%nn; %end; %end; %end; %end; %end; %( Lieu du mariage %) %if;(evar.marr_place = "on") %if;(ancestor.nb_families = 0)   %else; %foreach;ancestor.family; %if;(family_cnt = 1) %nn; %if;(marriage_place != "") %marriage_place;%nn; %else;  %nn; %end; %end; %end; %end; %end; %( Nombre d'enfants %) %if;(evar.child = "on") %if;(ancestor.nb_families = 0)   %else; %if;(evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on") %foreach;ancestor.family; %if;(family_cnt = 1) %nb_children; %end; %end; %else; %ancestor.nb_children; %end; %end; %end; %( Date du décès %) %apply;date_popup%with;death%end; %( Lieu de naissance %) %apply;place_popup%with;death%end; %( Date de la sépulture %) %apply;date_popup%with;burial%end; %( Lieu de la sépulture %) %apply;place_popup%with;burial%end; %( Âge %) %if;(evar.age = "on") 1 and (evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on")) rowspan="%ancestor.nb_families;"%end;>%nn; %if;ancestor.computable_death_age;%ancestor.death_age;%end;%nn; %if;ancestor.computable_age;%ancestor.age;%end;%nn; %end; %( Profession %) %if;(evar.occu = "on") 1 and (evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on")) rowspan="%ancestor.nb_families;"%end;>%nn; %if;(ancestor.has_occupation) %ancestor.occupation%nn; %else;  %nn; %end; %end; %end; %define;table_family() %if;(evar.marr = "on" or evar.marr_date = "on" or evar.marr_place = "on") %foreach;ancestor.family; %if;(family_cnt != 1) %if;(evar.marr = "on") %apply;image_MF("spouse") %apply;link(spouse.access, spouse, spouse.index) %end; %if;(evar.marr_date = "on") %if;(wizard and not cancel_links) %if;(slash_marriage_date != "")%slash_marriage_date;%else; %end; %nn; %else; %slash_marriage_date; %end; %end; %if;(evar.marr_place = "on") %if;(marriage_place != "") %marriage_place; %else;   %end; %end; %if;(evar.child = "on") %nb_children;%nn; %end; %end; %end; %end; %end; %define;table_ancestor_to_somebody() %pvar.1.mark_descendants; %foreach;ancestor_level; %apply;lazy_print%with; %nl;[*generation/generations]0 %level;%nl; %end; %if;(level <= evar.l + 1) %foreach;ancestor; %if;(level != 1 and ancestor.same = "" and (ancestor.is_descendant or ancestor.spouse.is_descendant)) %lazy_force; %let;l1;%if;(ancestor.is_descendant)class="border border-%if;(ancestor.is_male)info%elseif(ancestor.is_female)danger%end; is_desc_1%ancestor.sex;"%end;%in; %apply;one_line(l1) %end; %end; %end; %end; %end; %define;table_double() %foreach;ancestor_level(l_v) %if;(level > 1 and (evar.only != "on" or level = l_v)) %nl;[*generation/generations]0 %level;%nl; %foreach;ancestor %if;(ancestor.same = "")%incr_count;%end; %apply;one_line("") %end; %end; %end; [*total] : %count; [[person/persons]1@(c)] %end; %( Précision des dates intégrée à l’année en utilisant la syntaxe pour leur saisie dans les formulaires TODO: obtenir les secondes valeurs valeurs jj/mm/aaaa pour les cas « ou | » et « entre .. » %) %define;date_prec_year(xx) %let;dp;%xx_date.prec%in; %if;(dp="<" or dp="ca ")/%elseif;(dp="?")?%end;%nn; %xx_date.year;%nn; %if;(dp=">" or dp="ca ")/%(%elseif;(dp="|" or dp="..")%dp;%)%end;%nn; %end; %( Ligne du tableau ascendant au format CSV %) %define;csv_row(xx) %foreach;xx.family; %if;(xx!=self)%xx.anc_sosa;%else;1%end; ;%xx.first_name; ;%xx.surname; ;%xx.occ; ;%xx.title; ;%xx.birth_date.day; ;%xx.birth_date.month; ;%apply;date_prec_year("xx.birth") ;%xx.birth_place; ;%xx.death_date.day; ;%xx.death_date.month; ;%apply;date_prec_year("xx.death") ;%xx.death_place; ;%xx.occupation; ;%spouse.first_name; ;%spouse.surname; ;%spouse.occ; ;%marriage_date.day; ;%marriage_date.month; ;%apply;date_prec_year("xx.marriage") ;%marriage_place; ;%xx.nb_children; ;%family_cnt; ;%family.index;
%end; %end; %( Main %) %if;(evar.templ!="templm")

%nn; %apply;a_of_b%with; %if;(evar.t = "M") %if;(evar.evt = "on")[*missing events]%else;[*missing ancestors]%end;%nn; %else; %if;(evar.only="on" and evar.v<5)%apply;capitalize%with;%apply;gen("v")%end; %else;[*ancestors]%nn; %end; %end; %and; %if;(public_name != "")%public_name;%else;%first_name;%end; %if;(qualifier != "") %qualifier;%end; %sp;%surname; %if;(alias != "") (%alias;)%end; %end; %if;(evar.t = "D") [up to] %pvar.1; %else; %if;(cancel_links) %apply;togena(evar.v)%end; %end;

%end; %if;((evar.t="Z" or evar.t="Y" or evar.t="X") and not cancel_links) %include;buttons %end; %if;(evar.t = "P") %include;perso_short %elseif;(evar.t = "N" and evar.only = "on") %( short display; only the selected generation %) %reset_count;
    %foreach;ancestor_level2; %if;(evar.v != "" and level = evar.v)
  • %nl;%apply;capitalize%with;%apply;gen("v")%end;%nl;
      %nl; %foreach;ancestor;
    • %sp; %if;(ancestor.interval != "")%ancestor.interval; %else; %if;(ancestor.same = "")%incr_count;%end; %ancestor.anc_sosa;%sp; %if;(ancestor.same != "")=>%else;-%end;%sp; %apply;link%with;%ancestor.access;%and; %if;(ancestor.same != "")%ancestor.same; %else;%ancestor;%end; %and;%ancestor.index; %end; %if;(ancestor.same = "")%ancestor.title;%ancestor.dates; %else; %sp;() %end; %end;
    • %nl; %end;
  • %end; %end;

[*total][:] %count; [[person/persons]1@(c)]

%elseif;(evar.t = "N") %( short display %) %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togen(nb_gen).

%reset_count;
    %foreach;ancestor_level(nb_gen) %apply;lazy_print%with;
  • %nl;[*generation/generations]0 %level;%nl;
      %nl; %end; %foreach;ancestor; %lazy_force; %if;(ancestor.same = "")%incr_count;%end;
    • %nn; %if;(evar.sosab = 16)%ancestor.anc_sosa.hexa; %elseif;(evar.sosab = 8)%ancestor.anc_sosa.octal; %else;%ancestor.anc_sosa; %end;%sp; %if;(ancestor.same != "")=>%else;-%end;%sp; %apply;link%with;%ancestor.access;%and; %if;(ancestor.same != "")%nn; %if(evar.sosab = 16)%ancestor.same.hexa; %elseif(evar.sosab = 8)%ancestor.same.octal; %else;%ancestor.same; %end; %else;%ancestor; %end;%and;%ancestor.index; %end; %if;(ancestor.same != "") %sp;()
      %end; %if;(ancestor.same = "")%ancestor.title;%ancestor.dates;%end;
    • %nl; %end; %if;lazy_printed;
  • %end; %end;

[*total][:] %count; [[person/persons]1@(c)]

%elseif;(evar.t = "M" and evar.evt = "on") %include;miss_evt %elseif;(evar.t = "M" and evar.al = "on") %( missing ancestors alphabetically %) %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togen(nb_gen) %apply;living_interval_dates(evar.after, evar.before).

%empty_sorted_list; %reset_count; %foreach;ancestor_level(nb_gen) %foreach;ancestor; %if;(ancestor.same = "") %if;(ancestor.first_name != "?" and ancestor.surname != "?" and (not ancestor.has_parents or (ancestor.has_families and (ancestor.spouse.first_name = "?" and ancestor.spouse.surname = "?")))) %if;(dates_in_interval(ancestor.var) = "true") %incr_count; %apply;add_in_sorted_list%with %ancestor.surname_end; %and;%ancestor.first_name; %and;%ancestor.surname_begin; %and;%ancestor.access; %and;%apply;image_MF("ancestor") %and;%ancestor.nobility_title; %and;%apply;ancestor_missing_birth("ancestor") %and;%apply;ancestor_missing_death("ancestor") %and; %if;(not ancestor.has_parents) x %else;   %end; %and; %if;(ancestor.has_families and (ancestor.spouse.first_name = "?" and ancestor.spouse.surname = "?")) x %else;   %end; %end; %end; %end; %end; %end; %end; %let;nb_ind;%count;%in; %reset_count; %if;(nb_ind > 100)

%foreach;sorted_list_item; %if;(initial(prev_item.1) != initial(item.1)) %apply;initial(item.1) %end; %end;

%end;
    %if;(nb_ind <= 100)
  • %nn; %apply;initial(item.1) %if;(evar.birth = "on") %end; %if;(evar.death = "on") %end; %end; %foreach;sorted_list_item; %if;(initial(prev_item.1) != initial(item.1) and nb_ind > 100)
  • %nn; %apply;initial(item.1)
  • [*person/persons]0[*birth date and birth place][*death date and death place][*missing parents] [*missing spouse]
    %if;(evar.birth = "on") %end; %if;(evar.death = "on") %end; %end; %if;(evar.birth = "on") %end; %if;(evar.death = "on") %end; %if;(initial(item.1) != initial(next_item.1) and nb_ind > 100)
    [*person/persons]0[*birth date and birth place][*death date and death place][*missing parents] [*missing spouse]
    %if;(evar.cgl = "on") %item.5;%item.1;%sp;%item.2;%item.3; %else; %item.5;%item.1;%sp;%item.2;%item.3; %end; %if;(item.6 != ""), %item.6;%end; %item.7;%item.8; %item.9; %if;(initial(item.9) = "x")%incr_count;%incr_count;%end; %item.10; %if;(initial(item.10) = "x")%incr_count;%end;
  • %end; %end; %if;(nb_ind <= 100) %end;

[*total][:] %count; [[person/persons]1@(c)]

%elseif;(evar.t = "M") %( missing ancestors by generation %) %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togen(nb_gen) %apply;living_interval_dates(evar.after, evar.before)

%reset_count; %if;(evar.birth = "on") %incr_count; %end; %if;(evar.death = "on") %incr_count; %end; %if;(evar.spouse = "on") %incr_count; %end; %let;nb_col;%expr(count + 4)%in; %reset_count; %foreach;ancestor_level(nb_gen) %apply;lazy_print%with; %end; %foreach;ancestor; %if;(ancestor.same = "") %if;(not ancestor.has_parents and ancestor.first_name != "?" and ancestor.surname != "?") %if;(dates_in_interval(ancestor.var) = "true") %incr_count;%incr_count; %lazy_force; %apply;display_missing_ancestor_info("ancestor") %end; %elseif;(ancestor.has_parents) %if;(ancestor.father.first_name = "?" and ancestor.father.surname = "?") %if;(dates_in_interval(ancestor.mother.var) = "true") %incr_count; %lazy_force; %apply;display_missing_ancestor_info("ancestor.mother") %end; %end; %if;(ancestor.mother.first_name = "?" and ancestor.mother.surname = "?") %if;(dates_in_interval(ancestor.father.var) = "true") %incr_count; %lazy_force; %apply;display_missing_ancestor_info("ancestor.father") %end; %end; %end; %end; %end; %end;
[*missing sosa] [*missing parents] [*missing spouse] [*person/persons]0[*birth date and birth place][*death date and death place][*spouse/spouses]1
[*generation/generations]0 %expr(level+1)
%expr(ancestor.anc_sosa.v * 2) - %expr(ancestor.anc_sosa.v * 2 + 1) x   %apply;image_MF("ancestor") %apply;link(ancestor.access, ancestor, ancestor.index) %ancestor.title;
%expr(ancestor.anc_sosa.v * 2)   x %apply;image_MF("ancestor.mother") %apply;link(ancestor.mother.access, ancestor.mother, ancestor.mother.index) %ancestor.mother.title;
%expr(ancestor.anc_sosa.v * 2 + 1)   x %apply;image_MF("ancestor.father") %apply;link(ancestor.father.access, ancestor.father, ancestor.father.index) %ancestor.father.title;

[*total][:] %count; [[person/persons]1@(c)]

%elseif;(evar.t = "G" and evar.only= "on") %( long display; only the selected generation %) %if;((evar.notes = "on" or evar.src = "on") and evar.inline != "on")

[*see]: [*ancestors]%sp;%nn; %if;((evar.notes = "on" or evar.src = "on") and evar.inline != "on") | [*note/notes]1 %end;

%end;

%apply;capitalize%with;%apply;gen("v")%end;.  

%foreach;ancestor_level; %if;(evar.v != "" and level = evar.v) %foreach;ancestor; %if;(ancestor.same != "")

%ancestor.anc_sosa;: [see] %ancestor.same;.

%else;

%ancestor.anc_sosa; %apply;long_display_ancestor_personal()

%if;(ancestor.index != self.index)

%apply;long_display_ancestor_families()

%end; %end; %end; %end; %end; %if;((evar.notes = "on" or evar.src = "on") and evar.inline != "on")

%apply;long_display_notes()

%end; %elseif;(evar.t = "G") %( long display %) %if;((evar.notes = "on" or evar.src = "on") and evar.inline != "on")

[*see]: [*ancestors]%sp;%nn; %if;((evar.notes = "on" or evar.src = "on") and evar.inline != "on") | [*note/notes]1 %end;

%end; %let;nb_gen;%apply;min(evar.v, max_anc_level)%in;

%apply;togen(nb_gen).  

%foreach;ancestor_level(nb_gen)

[*generation/generations]0 %level;

%foreach;ancestor; %if;(ancestor.same != "")

%ancestor.anc_sosa;: [see] %ancestor.same;.

%else;

%ancestor.anc_sosa; %apply;long_display_ancestor_personal()

%if;(ancestor.index != self.index)

%apply;long_display_ancestor_families()

%end; %end; %end; %end; %if;((evar.notes = "on" or evar.src = "on") and evar.inline != "on")

%apply;long_display_notes()

%end; %elseif;(evar.t = "D") %( ancestors up to somebody %) %pvar.1.mark_descendants;
    %foreach;ancestor_level; %apply;lazy_print%with;
  • [*generation/generations]0 %level;%nl;
      %end; %if;(level <= evar.l + 1) %foreach;ancestor; %if;(ancestor.same = "" and ancestor.is_descendant) %lazy_force;
    • [Sosa] %ancestor.anc_sosa; -%sp; %ancestor;%nn; %ancestor.title;%ancestor.dates;
    • %end; %end; %end; %if;lazy_printed;
    %nl;
  • %nl;%end; %end;
%elseif;(evar.t = "X" or evar.t = "Y") %if;(evar.t = "X")

[*only] [up to] %pvar.1; %pvar.1.dates;

%(%if;(not cancel_links) %end;%) %end; %reset_count; %if;(evar.t = "X") %apply;table_ancestor_to_somebody() %else; %apply;table_double() %end;
%elseif;(evar.t = "Z") %if;(evar.csv!="on") %reset_count; %apply;table_header() %let;nb_col;%count;%in; %reset_count; %foreach;ancestor_level(l_v) %if;(evar.only!="on" or (evar.only="on" and level=evar.v)) %if;(evar.gen="on" and level!=1) %end; %end; %foreach;ancestor; %if;(level>0 and (evar.only!="on" or level=l_v)) %apply;table_row() %if;(ancestor.nb_families > 1) %apply;table_family() %end; %end; %end; %end;
[*generation/generations]0 %level;

[*total][:] %count; [[person/persons]1@(c)].

%else;
%( CSV header %) [Sosa]%nn; ;[first name/first names]0%nn; ;[surname/surnames]0%nn; ;occ%nn; ;[title/titles]0%nn; ;[birth]_[year/month/day]2%nn; ;[birth]_[year/month/day]1%nn; ;[birth]_[year/month/day]0%nn; ;[birth]_[place]%nn; ;[death]_[year/month/day]2%nn; ;[death]_[year/month/day]1%nn; ;[death]_[year/month/day]0%nn; ;[death]_[place]%nn; ;[occupation/occupations]1%nn; ;[first name/first names]0_[spouse/spouses]0%nn; ;[surname/surnames]0_[spouse/spouses]0%nn; ;occ_[spouse/spouses]0%nn; ;[marriage/marriages]0_[year/month/day]2%nn; ;[marriage/marriages]0_[year/month/day]1%nn; ;[marriage/marriages]0_[year/month/day]0%nn; ;[marriage/marriages]0_[place]%nn; ;[nb children]%nn; ;family_count%nn; ;family_index%nn;
%reset_count; %foreach;ancestor_level(l_v) %if;(evar.only!="on" or (evar.only="on" and level=evar.v)) %if;(evar.gen="on") [*generation/generations]0 %level;
%end; %end; %foreach;ancestor; %if;(level>0 and (evar.only!="on" or level=l_v)) %apply;csv_row("ancestor") %end; %end; %end;
%end; %end; %include;trl %include;copyr
%include;js