%define;short_display_person_image(xxx,yyy,zzz)
%let;personinfo;%if;("xxx"="child")%sp;(%childrank;)%nn;
%elseif;("xxx"="child.spouse")
%if;("zzz"="siblings" or "zzz"="spouse.siblings")
%sp;(%nn;
%if;xxx.is_male;[a brother-in-law/a sister-in-law]0%nn;
%elseif;xxx.is_female;[a brother-in-law/a sister-in-law]1%nn;
%else;[a sibling-in-law/siblings-in-law]0%nn;
%end;)%nn;
%elseif;("zzz"="child" or "zzz"="child.halfsiblings")
%sp;(%nn;
%if;xxx.is_male;[a son-in-law/a daughter-in-law]0%nn;
%elseif;xxx.is_female;[a son-in-law/a daughter-in-law]1%nn;
%else;[a child-in-law/children-in-law]0%nn;
%end;)%nn;
%elseif;("zzz"="halfsiblings" or "zzz"="spouse.halfsiblings")
%sp;(%apply;a_of_b%with;%if;(xxx.is_male)([the spouse]0%else;[the spouse]1%end;%and;%childrank;%end;)%nn;
%end;
%elseif;("xxx"="spouse")%spouserank;%nn;
%elseif;("xxx"="self")%selfsex;%nn;
%elseif;("xxx"="father") ([the father/the mother/a parent]0)%nn;
%elseif;("xxx"="mother") ([the father/the mother/a parent]1)%nn;
%elseif;("xxx"="spouse.father") ([the father-in-law/the mother-in-law]0)%nn;
%elseif;("xxx"="spouse.mother") ([the father-in-law/the mother-in-law]1)%nn;
%elseif;("xxx"="father.father" or "xxx"="mother.father"
or "xxx"="spouse.father.father" or "xxx"="spouse.mother.father") ([a grandfather/a grandmother/a grandparent]0)%nn;
%elseif;("xxx"="father.mother" or "xxx"="mother.mother"
or "xxx"="spouse.father.mother" or "xxx"="spouse.mother.mother") ([a grandfather/a grandmother/a grandparent]1)%nn;
%end;
%if;(xxx.birth_date!="")
° %xxx.slash_birth_date;%nn;%end;
%if;(xxx.birth_place!="")%sp;%xxx.birth_place;%nn;%end;
%if;xxx.is_dead;
†%end;%if;(xxx.death_date!="") %xxx.slash_death_date;%nn;%end;
%if;(xxx.death_place!="")%sp;%xxx.death_place;%nn;%end;
%if;(xxx.is_dead and xxx.computable_death_age)
%xxx.death_age;%elseif;(not xxx.is_dead and xxx.computable_age)
%xxx.age;%end;%nn;
%if;(xxx.has_sosa)
%if;(xxx.sosa=1)
[*n° Sosa] 1%nn;
%else;
%apply;a_of_b%with;[*n° Sosa] %xxx.sosa;%and;%sosa_ref;%end;%nn;
%end;
%end;
%in;
%end;
%end;
%end;
%end;
%foreach;vv_level(3)
%foreach;ancestor
%if;(level=3)
%if;(not ancestor.has_parents and ((ancestor.anc_sosa.v=5 and ww=8) or (ancestor.anc_sosa.v=7 and ww=12)))
%apply;addpar("ancestor",ancestor.index)
%end;
%end;
%end;
%end;
%end;
%define;border()
%let;evfam;%if;(evar.fam!="" and evar.fam!=1)%evar.fam;%end;%in;
%let;evsemi;%if;(evar.semi!="")%evar.semi;%end;%in;
%let;evspou;%if;(evar.spouse!="")%evar.spouse;%end;%in;
%end;
%if;((p_mod="zz" or p_mod="") and evar.m!="F")
%end;
%let;fam_cnt;%if;(evar.fam!="")%evar.fam;%else;1%end;%in;
%( Grand-parents et parents individu %)
%if;(has_parents)
%if;father.has_parents;
%if;(not cancel_links)
%apply;ancestorlv4("ancestor",8,9,10,11)
%end;
%apply;short_display_person_image("father.father", "yes", "")
%apply;short_display_person_image("father.mother", "yes", "")
%apply;border()
%else;
%apply;addpar("father",father.index)
%end;
%apply;short_display_person_image("father", "yes", "")
%if;mother.has_parents;
%if;(not cancel_links)
%apply;ancestorlv4("ancestor",12,13,14,15)
%end;
%apply;short_display_person_image("mother.father", "yes", "")
%apply;short_display_person_image("mother.mother", "yes", "")
%apply;border()
%else;
%apply;addpar("mother",mother.index)
%end;
%apply;short_display_person_image("mother", "yes", "")
%apply;border()
%else;
%apply;addpar("",index)
%end;
%( Grand-parents et parents conjoint %)
%foreach;family;
%if;(family_cnt=fam_cnt)
%if;(spouse!="" and spouse.has_parents)
%if;spouse.father.has_parents;
%if;(not cancel_links)
%apply;ancestorlv4("spouse.ancestor",8,9,10,11)
%end;
%apply;short_display_person_image("spouse.father.father", "yes", "")
%apply;short_display_person_image("spouse.father.mother", "yes", "")
%apply;border()
%else;
%apply;addpar("spouse.father",spouse.father.index)
%end;
%apply;short_display_person_image("spouse.father", "yes", "")
%if;spouse.mother.has_parents;
%if;(not cancel_links)
%apply;ancestorlv4("spouse.ancestor",12,13,14,15)
%end;
%apply;short_display_person_image("spouse.mother.father", "yes", "")
%apply;short_display_person_image("spouse.mother.mother", "yes", "")
%apply;border()
%else;
%apply;addpar("spouse.mother",spouse.mother.index)
%end;
%apply;short_display_person_image("spouse.mother", "yes", "")
%apply;border()
%else;
%apply;addpar("spouse",spouse.index)
%end;
%end;
%end;
%( Individu et sa fratrie %)
%let;selfsex; (%if;(self.is_male)[him/her]0%else;[him/her]1%end;)%in;
%apply;short_display_person_image("self", "force", "")
%let;selfsex;%in;
%if;(has_parents)
%let;fath;%father.index;%in;
%let;moth;%mother.index;%in;
%foreach;father.family;
%if;(father.spouse.index=moth or evar.semi!="")
%reset_count;%reset_count1;%reset_count2;
%foreach;child;
%if;(child.index=central_index)
%if;child.has_siblings;
%end;
%else;
%incr_count;
%let;childrank;
%if;child.is_male;%incr_count1;
[a brother/a sister/a sibling]0%nn;
%elseif;child.is_female;%incr_count2;
[a brother/a sister/a sibling]1%nn;
%else;
[a brother/a sister/a sibling]2%nn;
%end;%nn;
%in;
%apply;short_display_person_spouse_image("child", "siblings")
%let;childrank;%in;
%end;
%end;
%if;(father.spouse.index=moth)
%if;self.has_siblings;
%if;(count1=0)
%if;(count2=1)[*a brother/a sister/a sibling]1
%elseif;(count2>1)%apply;in_full(count2,1) [brothers/sisters/siblings]1
%end;
%elseif;(count1>=1)
%if;(count1>1)%apply;in_full(count1,1) [brothers/sisters/siblings]0
%elseif;(count1=1)[*a brother/a sister/a sibling]0
%end;
%if;(count2>1) [and] %apply;in_full(count2,0) [brothers/sisters/siblings]1
%elseif;(count2=1) [and] [a brother/a sister/a sibling]1
%end;
%elseif;(count!=1)
%apply;in_full(count,1) [brothers/sisters/siblings]2
%else;
[*a brother/a sister/a sibling]2
%end;
%end;
%elseif;(count>0 and evar.semi!="")
%if;(count1!=0 and count2=0)
%if;(count1=1)[*a half-brother/a half-sister/a half-sibling]0
%elseif;(count1>1)%apply;in_full(count1,1) [half-brothers/half-sisters/half-siblings]0
%end;
%elseif;(count1=0 and count2!=0)
%if;(count2=1)[*a half-brother/a half-sister/a half-sibling]1
%elseif;(count2>1)%apply;in_full(count2,1) [half-brothers/half-sisters/half-siblings]1
%end;
%elseif;(count=1)
[*a half-brother/a half-sister/a half-sibling]2
%else;
%apply;in_full(count,1) [half-brothers/half-sisters/half-siblings]2
%end;
%apply;on_side%with;%father.first_name; [with] %father.spouse;%end;
%end;
%end;
%end;
%foreach;mother.family;
%if;(mother.spouse.index!=fath and evar.semi!="")
%reset_count;%reset_count1;%reset_count2;
%foreach;child;
%if;(child.index=central_index)
%else;
%incr_count;
%let;childrank;
%if;child.is_male;%incr_count1;
[a half-brother/a half-sister/a half-sibling]0%nn;
%elseif;child.is_female;%incr_count2;
[a half-brother/a half-sister/a half-sibling]1%nn;
%else;
[a half-brother/a half-sister/a half-sibling]2%nn;
%end;%nn;
%in;
%apply;short_display_person_spouse_image("child", "halfsiblings")
%end;
%end;
%if;(count>0)
%if;(count2=0 and count1!=0)
%if;(count1=1)[*a half-brother/a half-sister/a half-sibling]0
%elseif;(count1>1)%apply;in_full(count1,1) [half-brothers/half-sisters/half-siblings]0
%end;
%elseif;(count1=0 and count2!=0)
%if;(count2=1)[*a half-brother/a half-sister/a half-sibling]1
%elseif;(count2>1)%apply;in_full(count2,1) [half-brothers/half-sisters/half-siblings]1
%end;
%elseif;(count=1)
[*a half-brother/a half-sister/a half-sibling]2
%else;
%apply;in_full(count,1) [half-brothers/half-sisters/half-siblings]2
%end;
%apply;on_side%with;%if;(mother.public_name!="")%mother.public_name;%else;%mother.first_name;%end; [with] %mother.spouse;%end;
%end;
%end;
%end;
%end;
%( Enfants %)
%let;nb_ch_tot;%nb_children;%in;
%foreach;family;
%if;(family_cnt=fam_cnt)
%if;(spouse!="" or (evar.semi!="" and nb_ch_tot>0))
%if;(on_marriage_date!="" and marriage_date.year!="")
&%marriage_date.year;%end;%if;(nb_children!=0) %nb_children;
%end;
%end;
%if;(has_children or (evar.semi!="" and nb_ch_tot>0))
%end;
%end;
%end;
%foreach;family;
%if;(family_cnt=fam_cnt and nb_children>0)
%reset_count;
%foreach;child;
%incr_count;
%let;childrank;%nn;
%if;child.is_male;[a son/a daughter/a child]0%nn;
%elseif;child.is_female;[a son/a daughter/a child]1%nn;
%else;[a son/a daughter/a child]2%nn;
%end;
%if;(child.has_siblings)
, %apply;nth%with;[nth (cousin)]%and;%count;%end; [child/children]0%nn;
%end;%nn;
%in;
%apply;short_display_person_spouse_image("child", "child")
%end;
%end;
%end;
%foreach;family;
%if;(family_cnt!=fam_cnt and nb_children>0 and evar.semi!="")
%reset_count;%reset_count1;%reset_count2;
%foreach;child;
%incr_count;
%if;child.is_male;%incr_count1;%end;
%if;child.is_female;%incr_count2;%end;
%end;
%if;(nb_children=1)
%foreach;child;
%if;child.is_male;[*a son/a daughter/a child]0
%elseif;child.is_female;[*a son/a daughter/a child]1
%else;[*a son/a daughter/a child]2
%end;
%end;
%else;
%if;(count2=0 and count1!=0)
%if;(count1=1)[*a son/a daughter/a child]0
%elseif;(count1>1)%apply;in_full(count1,1) [sons/daughters/children]0
%end;
%elseif;(count1=0 and count2!=0)
%if;(count2=1)[*a son/a daughter/a child]1
%elseif;(count2>1)%apply;in_full(count2,1) [sons/daughters/children]1
%end;
%elseif;(count=1)
[*a son/a daughter/a child]2
%else;
%apply;in_full(count,1) [sons/daughters/children]2
%end;
%end;
[with] %spouse;
%foreach;child;
%let;childrank;
%if;child.is_male;
[a son/a daughter/a child]0%nn;
%elseif;child.is_female;
[a son/a daughter/a child]1%nn;
%else;
[a son/a daughter/a child]2%nn;
%end;
%in;
%apply;short_display_person_spouse_image("child", "child.halfsiblings")
%end;
%end;
%end;
%( Conjoint et sa fratrie %)
%( Conjoint·s %)
%( Fratrie·s conjoint·s %)
%foreach;family;
%if;(family_cnt=fam_cnt and spouse.has_parents)
%let;selfspouse;%self.spouse;%in;
%let;spfath;%self.spouse.father;%in;
%let;spfathfn;%if;(self.spouse.father.public_name!="")%self.spouse.father.public_name;%else;%self.spouse.father.first_name;%end;%in;
%let;spmoth;%self.spouse.mother;%in;
%let;spmothfn;%if;(self.spouse.mother.public_name!="")%self.spouse.mother.public_name%else;%self.spouse.mother.first_name;%end;%in;
%foreach;spouse.father.family;
%if;(spouse=spfath or spouse=spmoth or evar.semi!="")
%reset_count;%reset_count1;%reset_count2;
%foreach;child;
%if;(child=selfspouse)
%if;(child.has_siblings)
%end;
%else;
%incr_count;
%let;childrank;
%if;child.is_male;%incr_count1;
[a brother-in-law/brothers-in-law/a sister-in-law/sisters-in-law]0%nn;
%elseif;child.is_female;%incr_count2;
[a brother-in-law/brothers-in-law/a sister-in-law/sisters-in-law]2%nn;
%else;
[a sibling-in-law/siblings-in-law]0%nn;
%end;
%in;
%apply;short_display_person_spouse_image("child", "spouse.siblings")
%end;
%end;
%end;
%if;(count>0)
%if;(spouse=spfath or spouse=spmoth)
%if;(count2=0 and count1!=0)
%if;(count1=1)[*a brother-in-law/brothers-in-law/a sister-in-law/sisters-in-law]0
%elseif;(count1>1)%apply;in_full(count1,1) [a brother-in-law/brothers-in-law/a sister-in-law/sisters-in-law]1
%end;
%elseif;(count1=0 and count2!=0)
%if;(count2=1)[*a brother-in-law/brothers-in-law/a sister-in-law/sisters-in-law]2
%elseif;(count2>1)%apply;in_full(count2,1) [a brother-in-law/brothers-in-law/a sister-in-law/sisters-in-law]3
%end;
%elseif;(count=1)
[a sibling-in-law/siblings-in-law]0
%else;
%apply;in_full(count,1) [a sibling-in-law/siblings-in-law]1
%end;
%elseif;(evar.semi!="")
%if;(count2=0 and count1!=0)
%if;(count1=1)[*a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]0
%elseif;(count1>1)%apply;in_full(count1,1) [a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]1
%end;
%elseif;(count1=0 and count2!=0)
%if;(count2=1)[*a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]2
%elseif;(count2>1)%apply;in_full(count2,1) [a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]3
%end;
%elseif;(count=1)
[a half sibling-in-law/half siblings-in-law]0
%else;
%apply;in_full(count,1) [a half sibling-in-law/half siblings-in-law]1
%end;
%apply;on_side%with;%spfathfn; [with] %spouse;%end;
%end;
%end;
%end;
%foreach;spouse.mother.family;
%if;(not (spouse=spfath or spouse=spmoth) and evar.semi!="")
%reset_count;%reset_count1;%reset_count2;
%foreach;child;
%if;(child=selfspouse)
%else;
%incr_count;
%let;childrank;
%if;child.is_male;%incr_count1;
[a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]0%nn;
%elseif;child.is_female;%incr_count2;
[a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]2%nn;
%else;
[a half sibling-in-law/half siblings-in-law]0%nn;
%end;
%in;
%apply;short_display_person_spouse_image("child", "spouse.halfsiblings")
%end;
%end;
%if;(count>0 and evar.semi!="")
%if;(not (spouse=spfath or spouse=spmoth))
%if;(count2=0 and count1!=0)
%if;(count1=1)[*a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]0
%elseif;(count1>1)%apply;in_full(count1,1) [a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]1
%end;
%elseif;(count1=0 and count2!=0)
%if;(count2=1)[*a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]2
%elseif;(count2>1)%apply;in_full(count2,1) [a half brother-in-law/half brothers-in-law/a half sister-in-law/half sisters-in-law]3
%end;
%elseif;(count=1)
[*a half sibling-in-law/half siblings-in-law]0
%else;
%apply;in_full(count,1) [a half sibling-in-law/half siblings-in-law]1
%end;
%apply;on_side%with;%spmothfn; [with] %spouse;%end;
%end;
%end;
%end;
%end;
%end;
%end;