\documentclass[10pt,a4paper]{article}
%%% taille 10 points et format de papier A4
%%% classe article

%%% Codage en unicode
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} 

\usepackage{multicol,multirow}%%%         multicolonnes multilignes
\usepackage[normalem]{ulem}%%%   pour texte barré \sout{}
\usepackage[french]{babel}%%%    écriture en français
\DecimalMathComma%%%             évite l'espace après la virgule en mode math
%\usepackage{multido}%%%          pour faire des boucles
\usepackage{pst-all,pst-eucl,pst-func}%%% PsTricks etc.
\usepackage{graphicx}%%%         pour graphiques et couleurs	
\usepackage{amsmath,amsfonts,amssymb}%%% outils AMS
\usepackage{mathrsfs}%%%         police script \mathscr{}
\usepackage{tabularx}%%%         tableaux
\usepackage{fancybox}%%%         divers boîtes
\usepackage{lscape}%%%           mode paysage
\usepackage[np]{numprint}%%%     pour formater les nombres de plus de 3 chiffres
\usepackage{colortbl}%%%         pour griser des cases dans un tableau
\usepackage{makeidx}%%%          pour créer un index
\makeindex%%%                    indispensable après l'appel du package makeidx
\usepackage{lettrine}%%%         pour créer des lettrines
\usepackage{eurosym}%%%          sigle euro
\usepackage{xcolor}

%\usepackage{bez123}%%%     courbes de Bézier

\usepackage{vmargin}%%%          réglage des marges
\setmarginsrb{3cm}{2cm}{3cm}{2cm}{1cm}{1cm}{1cm}{1cm}
% 1 est la marge gauche
% 2 est la marge en haut
% 3 est la marge droite
% 4 est la marge en bas
% 5 fixe la hauteur de l'entête
% 6 fixe la distance entre l'entête et le texte
% 7 fixe la hauteur du pied de page
% 8 fixe la distance entre le texte et le pied de page

\setlength{\parindent}{0pt}%%% règle l'indentation en début de paragraphe 
\setlength{\parskip}{3pt}%%% espacement entre 2 paragraphes

%%%  Commandes perso FH

%%% Pour intégrale, somme et produit, etc.
\newcommand{\ds}{\displaystyle}%%% raccourci pour \displaystyle

%%% ensembles de nombres
%%% On réservera le style "double barre" à l'écriture au tableau
\newcommand{\N}{\textbf{N}}
\newcommand{\Z}{\textbf{Z}}
\newcommand{\D}{\textbf{D}}
\newcommand{\Q}{\textbf{Q}}
\newcommand{\R}{\textbf{R}}
\newcommand{\K}{\textbf{K}}

%%% différents repères
\newcommand{\Oij}{(\text{O}\,;\,\vec{\imath}\,,\,\vec{\jmath})}
\newcommand{\rep}{(\text{O},\text{I},\text{J})}
\newcommand{\Ouv}{(\text{O}\,;\,\vec{u}\,,\,\vec{v})}
%\newcommand{\Oijk}{(\text{O}\,;\,\vec{\imath}\,,\,\vec{\jmath}\,,\,\vec{k})}

%%%  Courbe représentative
%\newcommand{\Cr}[1]{\mathscr{C}_{#1}}

%%% crochets gauche et droit
\newcommand{\cg}{\texttt{]}}
\newcommand{\cd}{\texttt{[}}

%%% crochet d'entiers
\newcommand{\cde}{\texttt{[}\!\!\texttt{[}}
\newcommand{\cge}{\texttt{]}\!\!\texttt{]}}

%%% inférieur ou égal, supérieur ou égal
\newcommand{\pg}{\geqslant}
\newcommand{\pp}{\leqslant}

\usepackage{fancyhdr}%%%       En-têtes et pieds de pages
\pagestyle{fancy}
\renewcommand\headrulewidth{1pt}%%% filet haut de page
\renewcommand\footrulewidth{0pt}%%% filet bas de page
\renewcommand{\headwidth}{\textwidth}
%%% head pour haut de page
%%% L C et R pour Left Center et Right
\fancyhead[L]{\url{http://latexetmath.canalblog.com}}
\fancyhead[R]{\today} %%% \today = date du jour
\fancyhead[C]{}
%%% foot pour pied de page
\fancyfoot[C]{\begin{small}-- \thepage\  --\end{small}}  
\fancyfoot[R]{}%%%     {\jobname}%%% nom du fichier tex
\fancyfoot[L]{\href{mailto:francois.hache@free.fr}{FH}}

%%% Pour les énumérations
%%% premier niveau 
\renewcommand{\theenumi}{\textbf{\arabic{enumi}}}
\renewcommand{\labelenumi}{\textbf{\theenumi.}}
%%% deuxième niveau
\renewcommand{\theenumii}{\textbf{\alph{enumii}}}
\renewcommand{\labelenumii}{\textbf{\theenumii.}}
%%% troisième niveau
\renewcommand{\theenumiii}{\textbf{\arabic{enumiii}}}
\renewcommand{\labelenumiii}{\textbf{\theenumiii)}}
%%% permet d'avoir a. au lieu de (a) dans une énumération de niveau 2
%%% voir : http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1994___17_32_0.pdf

\newenvironment{changemargin}[2]
{\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{0pt}%
\setlength{\rightmargin}{0pt}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{0pt plus 1pt}%
\addtolength{\leftmargin}{#1}%
\addtolength{\rightmargin}{#2}%
}\item }{\end{list}}
%%%% pour changer les marges gauche et droite sur un paragraphe
%%%% \begin{changemargin}{marge gauche}{marge droite}
%%%% ...
%%%% \end{changemargin}

\usepackage{hyperref}%%% pour les références

%%% paramètres des pdf
\hypersetup{
pdfauthor = {F. Hache},
pdftitle = {Fonctions},
pdfstartview = FitH,
pdfcreator = {LaTeX vers PDF}
allbordercolors = white,
colorlinks=true,
linkcolor=red,
urlcolor=red,
unicode=true}

%%% Autres commandes qui doivent être définies après hyperref
\newcommand{\e}{\,\text{e\,}}%%%               le e de l'exponentielle
\renewcommand{\d}{\,\text d}%%%              le d de l'intégration
\renewcommand{\i}{\,\text{i}\,}%%%           le i des complexes
\renewcommand{\v}[1]{\,\overrightarrow{\,\text{#1}\,}}%%% vecteur
\renewcommand{\C}{\textbf{C}}

%%% définitions de nouvelles couleurs
\newrgbcolor{rb}{0.804 0 0}
\newrgbcolor{vb}{0 0.545 0}

%\usepackage{listings}

\begin{document}

\part*{\centering \rb Arbre généalogique}


\section{Généalogie ascendante}

La généalogie ascendante consiste à ne recenser que les parents, sans prendre en compte les frères et s\oe urs (donc ni les oncles ou tantes).

On numérote de la façon suivante: la personne dont on fait la généalogie porte le numéro 1 quel que soit son sexe. On multiplie par 2 pour avoir le numéro de son père, puis on ajoute 1 pour avoir celui de sa mère: le père de 1 a donc le numéro 2 et la mère de 1, le numéro 3.

Les père et mère de 2 ont respectivement pour numéros 4 et 5, tandis que les père et mère de 3 ont respectivement pour numéros 6 et 7. Etc.

Si on rencontre le numéro 35, nombre impair, il s'agit d'une femme, mère de 17. Le numéro 17 correspond à la mère du numéro 8, qui lui-même est le père de 4.

\section{Les outils}

\subsection*{Les bo\^ites}

Pour créer des boîtes dans lesquelles mettre les informations, j'ai utilisé \verb!\parbox! dont j'ai déjà parlé dans cette
\href{https://p1.storage.canalblog.com/18/28/1082582/124112073.pdf}{chronique}.
Les boîtes sont encadrées avec \verb!\fbox!.

Voici quelques exemples d'utilisation.

%\bigskip

ligne \fbox{\parbox[c][1cm]{2cm}{\centering{}un\\deux}}% c pour center
\hfill
ligne \fbox{\parbox[t][1cm]{2cm}{\centering{}un\\deux}}% t pour top
\hfill
ligne \fbox{\parbox[b][1cm]{2cm}{~}}% b pour bottom

\smallskip

À noter que si on veut dessiner une boîte vide de dimensions fixées, il faut quand même mettre du texte dans la boîte; j'ai choisi de mettre le tilde comme dans
\verb!\parbox[t][1cm]{2cm}{~}!.

En \LaTeX{}, le tilde représente l'espace insécable.

\subsection*{Les arcs}

Pour pouvoir aisément relier entre elles les boîtes, on les crée en les attachant à des n\oe uds définis par \verb!\rnode! et numérotés de 1 à 31; on trace ensuite des arcs reliant ces n\oe uds au moyen de \verb!\ncangles! comme dans l'exemple ci-dessous.
On aurait également pu utiliser \verb!\ncangle! sans \og s \fg{}.

%\vspace{1cm}
%
%\rnode{1}{\fbox{\parbox[c][2cm]{5cm}{\centering{}un\\deux\\trois}}}
%\hspace{2cm}
%\rnode{2}{\fbox{\parbox[c][2cm]{5cm}{\centering{}un\\deux\\trois}}}
%\ncangles[angleA=90,angleB=90]{1}{2}

\bigskip

\rnode{3}{\fbox{\parbox[c][1cm]{3cm}{\centering{}boîte\\3}}}
\hfill
\rnode{2}{\fbox{\parbox[c][1cm]{3cm}{\centering{}boîte\\2}}}

\bigskip

\begin{center}
\rnode{1}{\fbox{\parbox[c][1cm]{3cm}{\centering{}boîte\\1}}}
\end{center}
\ncangles[angleA=90,angleB=-90]{1}{2}
\ncangles[angleA=90,angleB=-90]{1}{3}



On trouve la syntaxe de \verb!\rnode! dans
\href{https://texlive.mycozy.space/graphics/pstricks/base/doc/pst-user.pdf}{pst-user.doc}
à la page 58,
et celles de \verb!\ncangle! et de  \verb!\ncangles! dans le même document aux pages 63 et  64.

\newpage

%\thispagestyle{empty}

\section{L'arbre entier sur 5 générations}

Un arbre sur 5 générations comporte 31 noms qu'il faut placer dans les boîtes. J'ai choisi de créer 31 variables pour y placer les 31 noms.
On peut écrire sur plusieurs lignes en utilisant \verb!\\!.

Les variables définies par l'instruction \verb!\def! doivent avoir un nom composé de lettres; la 1\iere{} génération s'appelle A, la 2\ieme{} a des noms commençant par B, la 3\ieme{} par C, etc. 

Si on entre les dates des mariages, les variables comportent 3 lettres dont la 1\iere{} donne la génération; ainsi la variable EMN correspond au mariage de EM et de EN à la 5\ieme{} génération.


%%%%
%%%% génération 1
\def\A{Numéro\\1}
%%%%
%%%% génération 2
\def\BA{Numéro\\2}%%% père de 1
\def\BB{Numéro\\3}%%% mère de 1
\def\BAB{Mariage 2 \& 3}%%% mariage 2 & 3
%%%%
%%%% génération 3
\def\CA{Numéro\\4}%%% père de 2
\def\CB{Numéro\\5}%%% mère de 2
\def\CAB{Mariage 4 \& 5}%%% mariage 4 \& 5
\def\CC{Numéro\\6}%%% père de 3
\def\CD{Numéro\\7}%%% mère de 3
\def\CCD{Mariage 6 \& 7}%%% mariage 6 \& 7
%%%%
%%%% génération 4
\def\DA{Numéro\\8}%%% 8 père de 4
\def\DB{Numéro\\9}%%% 9 mère de 4
\def\DAB{Mariage 8 \& 9}
\def\DC{Numéro\\10}%%% 10 père de 5
\def\DD{Numéro\\11}%%% 11 mère de 5
\def\DCD{Mariage 10 \& 11}
\def\DE{Numéro\\12}%%% 12 père de 6
\def\DF{Numéro\\13}%%% 13 mère de 6
\def\DEF{Mariage 12 \& 13}
\def\DG{Numéro\\14}%%% 14 père de 7
\def\DH{Numéro\\15}%%% 15 mère de 7
\def\DGH{Mariage 14 \& 15}
%%%%
%%%% génération 5
\def\EA{Numéro 16}%%% 16
\def\EB{Numéro 17}%%% 17
\def\EAB{16-17}%%% mariage
\def\EC{Numéro 18}%%% 18
\def\ED{Numéro 19}%%% 19
\def\ECD{18-19}%%% mariage
\def\EE{Numéro 20}%%% 20
\def\EF{Numéro 21}%%% 21
\def\EEF{20-21}%%% mariage
\def\EG{Numéro 22}%%% 22
\def\EH{Numéro 23}%%% 23
\def\EGH{22-23}%%% mariage
\def\EI{Numéro 24}%%% 24
\def\EJ{Numéro 25}%%% 25
\def\EIJ{24-25}%%% mariage
\def\EK{Numéro 26}%%% 26
\def\EL{Numéro 27}%%% 27
\def\EKL{26-27}%%% mariage
\def\EM{Numéro 28}%%% 28
\def\EN{Numéro 29}%%% 29
\def\EMN{28-29}%%% mariage
\def\EO{Numéro 30}%%% 30
\def\EP{Numéro 31}%%% 31
\def\EOP{30-31}%%% mariage

\begin{verbatim}
%%%% génération 1 %%%%
\def\A{Numéro\\1}
%%%% génération 2 %%%%
\def\BA{Numéro\\2}%%% père de 1
\def\BB{Numéro\\3}%%% mère de 1
\def\BAB{Mariage 2 \& 3}%%% mariage 2 & 3
%%%% génération 3 %%%%
\def\CA{Numéro\\4}%%% père de 2
\def\CB{Numéro\\5}%%% mère de 2
\def\CAB{Mariage 4 \& 5}%%% mariage 4 \& 5
\def\CC{Numéro\\6}%%% père de 3
\def\CD{Numéro\\7}%%% mère de 3
\def\CCD{Mariage 6 \& 7}%%% mariage 6 \& 7
%%%% génération 4 %%%%
\def\DA{Numéro\\8}%%% 8 père de 4
\def\DB{Numéro\\9}%%% 9 mère de 4
\def\DAB{Mariage 8 \& 9}
\def\DC{Numéro\\10}%%% 10 père de 5
\def\DD{Numéro\\11}%%% 11 mère de 5
\def\DCD{Mariage 10 \& 11}
\def\DE{Numéro\\12}%%% 12 père de 6
\def\DF{Numéro\\13}%%% 13 mère de 6
\def\DEF{Mariage 12 \& 13}
\def\DG{Numéro\\14}%%% 14 père de 7
\def\DH{Numéro\\15}%%% 15 mère de 7
\def\DGH{Mariage 14 \& 15}
%%%% génération 5 %%%%
\def\EA{Numéro 16}   \def\EB{Numéro 17}
\def\EAB{16-17}%%% mariage
\def\EC{Numéro 18}   \def\ED{Numéro 19}
\def\ECD{18-19}%%% mariage
\def\EE{Numéro 20}   \def\EF{Numéro 21}
\def\EEF{20-21}%%% mariage
\def\EG{Numéro 22}   \def\EH{Numéro 23}
\def\EGH{22-23}%%% mariage
\def\EI{Numéro 24}   \def\EJ{Numéro 25}
\def\EIJ{24-25}%%% mariage
\def\EK{Numéro 26}   \def\EL{Numéro 27}
\def\EKL{26-27}%%% mariage
\def\EM{Numéro 28}   \def\EN{Numéro 29}
\def\EMN{28-29}%%% mariage
\def\EO{Numéro 30}   \def\EP{Numéro 31}
\def\EOP{30-31}%%% mariage
\end{verbatim}

\newpage

Ce qui donne l'arbre suivant:

\rotatebox{90}
{
\scalebox{0.75}
{
\psset{unit=1cm,linewidth=1pt,linecolor=rb}
\begin{pspicture}[showgrid=false](0.9,0)(28,19)
\psset{angleA=90,angleB=-90}

%%%%%%%%%%%%%%%% génération 1
\def\larg{3cm} \def\haut{1.5cm}
\setlength {\fboxrule}{1.5pt}
\rput(14,2){\rnode{1}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\A}}}}

%%%%%%%%%%% génération 2
\rput(8,5){\rnode{2}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\BA}}}}
\rput(20,5){\rnode{3}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\BB}}}}
\uput[d](14,4){\rb\BAB}%%% mariage
\ncangles{1}{2} \ncangles{1}{3}%%% arcs

%%%%%%%%%%% génération 3
\def\larg{2.5cm}
\rput(5,8){\rnode{4}{\fbox{\parbox[c][\haut]{\larg}{\centering\CA}}}}
\rput(11,8){\rnode{5}{\fbox{\parbox[c][\haut]{\larg}{\centering\CB}}}}
\rput(17,8){\rnode{6}{\fbox{\parbox[c][\haut]{\larg}{\centering\CC}}}}
\rput(23,8){\rnode{7}{\fbox{\parbox[c][\haut]{\larg}{\centering\CD}}}}
\uput[d](8,7){\rb\CAB} \uput[d](20,7){\rb\CCD} %%% mariages
\ncangles{2}{4} \ncangles{2}{5} %%% arcs
 \ncangles{3}{6} \ncangles{3}{7} %%% arcs
 
%%%%%%%%%%%  génération 4
\rput(3.5,11){\rnode{8}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DA}}}}
\rput(6.5,11){\rnode{9}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DB}}}}
\rput(9.5,11){\rnode{10}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DC}}}}
\rput(12.5,11){\rnode{11}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DD}}}}
\rput(15.5,11){\rnode{12}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DE}}}}
\rput(18.5,11){\rnode{13}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DF}}}}
\rput(21.5,11){\rnode{14}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DG}}}}
\rput(24.5,11){\rnode{15}{\fbox{\parbox[c][\haut]{\larg}{\centering{}\DH}}}}
\uput[d](5,10){\rb\DAB} \uput[d](11,10){\rb\DCD}
\uput[d](17,10){\rb\DEF} \uput[d](23,10){\rb\DGH}
\ncangles{4}{8} \ncangles{4}{9}  \ncangles{5}{10} \ncangles{5}{11} %%% arcs
\ncangles{6}{12} \ncangles{6}{13} \ncangles{7}{14} \ncangles{7}{15} %%% arcs

%%%%%%%%%%%  génération 5
\def\larg{0.4cm} \def\haut{5cm}
{\scriptsize
\rput(3,16){\rnode{16}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EA\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(4,16){\rnode{17}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EB\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(6,16){\rnode{18}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EC\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(7,16){\rnode{19}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\ED\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(9,16){\rnode{20}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EE\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(10,16){\rnode{21}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EF\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(12,16){\rnode{22}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EG\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(13,16){\rnode{23}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EH\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(15,16){\rnode{24}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EI\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(16,16){\rnode{25}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EJ\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(18,16){\rnode{26}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EK\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(19,16){\rnode{27}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EL\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(21,16){\rnode{28}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EM\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(22,16){\rnode{29}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EN\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(24,16){\rnode{30}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EO\rule[-3pt]{0pt}{0pt}}}}}}}
\rput(25,16){\rnode{31}{\fbox{\parbox[c][\haut]{\larg}{{\rotatebox{-90}{\EP\rule[-3pt]{0pt}{0pt}}}}}}}
\uput[d](3.5,13){\rb\EAB} \uput[d](6.5,13){\rb\ECD}
\uput[d](9.5,13){\rb\EEF} \uput[d](12.5,13){\rb\EGH}
\uput[d](15.5,13){\rb\EIJ} \uput[d](18.5,13){\rb\EKL}
\uput[d](21.5,13){\rb\EMN} \uput[d](24.5,13){\rb\EOP}
}
\ncangles{8}{16} \ncangles{8}{17} 
\ncangles{9}{18} \ncangles{9}{19} 
\ncangles{10}{20} \ncangles{10}{21} 
\ncangles{11}{22} \ncangles{11}{23} 
\ncangles{12}{24} \ncangles{12}{25} 
\ncangles{13}{26} \ncangles{13}{27} 
\ncangles{14}{28} \ncangles{14}{29} 
\ncangles{15}{30} \ncangles{15}{31} 
%%% fin de la génération 5

\end{pspicture} 
}%%% fin du scalebox
}%%% fin du rotatebox

Dans le document \texttt{11 2 Arbre vierge.tex}, aucune des boîtes n'est remplie; à vous de le faire, le fichier est prêt à l'emploi.

\end{document}
