Il faut ajouter `\par \xdef\mtprevdepth{\the\prevdepth}` à la fin de la deuxième boîte (deuxième `minipage` de la commande `\cvlineA`) pour sauvegarder la valeur de `\the\prevdepth`, puis utiliser cette valeur pour la construction de la prochaine boîte, avec `\par \prevdepth\mtprevdepth` à la fin de la commande `\cvitemA`.
**ECM**
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage[top=1.5cm,bottom=1cm,left=1.75cm,right=1.75cm]{geometry}
% multiplicateurs et longueurs
\newcommand\marginll{0.12}
\newcommand\centersize{0.775}
\setlength\fboxrule{0.25pt}
\setlength\fboxsep{0pt}
% définition des sections
\newcommand{\cvlineA}[3]{\fbox{\begin{minipage}[t]{\marginll\textwidth}\raggedleft\small\sffamily #1\end{minipage}}\hspace{3mm}\fbox{\begin{minipage}[t]{\centersize\textwidth}#2\par \xdef\mtprevdepth{\the\prevdepth}\end{minipage}}\hfill\fbox{\makebox[0pt][r]{#3}}}%
\newcommand*{\cvitemA}[3]{\noindent\cvlineA{\textbf{#1}}{\small#2}{\raggedleft\small\fbox{\textbf{#3}}}\par\prevdepth\mtprevdepth}%
\begin{document}
\cvitemA{année}{\textbf{ploplo} description description description description description description description description description description description description description}{Lieu 1}%
\cvitemA{année}{\textbf{ploplo} description description}{Lieu 2}%
\cvitemA{année}{\textbf{ploplo} description description description description description description description description description description description description description}{Lieu}%
\end{document}\end{document}
----------
##Comment (La)TeX gère-t-il l'espace entre lignes ?
Une page est, pour (La)TeX, un ensemble des boîtes (lignes) disposées les uns en dessous des autres.
Pour garder une distance constante entre les boîtes (La)TeX calcule la valeur : `Sep = b - h - p`.
où
b = baselineskip : valeur définie par la classe, par défaut =12pt.
h = hauteur de la boîte suivante (ou actuelle).
p = profondeur de la boîte précédente.
- Si Sep>=`\lineskiplimite` (=0pt par défault) la distance (finale) entre les deux boîtes (lignes) est égale à `\baselineskip`.
Dans ce cas TeX ajoute une espace verticale de `Sep` entre les deux boîtes.
- Si Sep<`\lineskiplimite` TeX ajoute une espace verticale de `\lineskip` (=1pt par défault) entre les deux boîtes.
Dans ce cas, la distance finale entre les deux boîtes est plus grande que la norme.
**Exemple** On utilise la primitive `\vrule` pour construire
un objet invisible (W=0pt) de profondeur X et de hauteur Y. Cette primitive a la syntaxe suivante :
`\vrule width W depth X height Y`.
On définie donc la commande :
`\newcommand*{\mtrule}[2][0pt]{\mbox{\vrule width 0pt depth #1 height #2}}`.
La commande `\mtrule[X]{Y}` ajoute une boîte vide (de largeur nul) de profondeur X et de hauteur Y. La valeur par défaut de X est 0pt.
\documentclass{article}
\newcommand*{\mtline}[1]{\makebox[0pt][l]{\rule{\textwidth}{\fboxrule}}#1}
\newcommand*{\mtrule}[2][0pt]{\mbox{\vrule width 0pt depth #1 height #2}}
\setlength{\parindent}{0pt}
\begin{document}
\mtline{abcdefg}
\mtline{abcdefg}
\mtline{abcdefg}
\mtline{\mtrule{6pt}} %p=0 h=6pt
\mtline{\mtrule{6pt}} %p=0 h=6pt
\mtline{\mtrule[10pt]{6pt}} %p=10 h=6pt
\mtline{\mtrule{1pt}} %p=0 h=1pt
\mtline{\mtrule[10pt]{6pt}} %p=10 h=6pt
\mtline{\mtrule{2pt}} %p=0 h=2pt
\mtline{\mtrule[10pt]{6pt}} %p=10 h=6pt
\mtline{\mtrule{3pt}} %p=0 h=3pt
\mtline{\mtrule[10pt]{6pt}} %p=10 h=6pt
\mtline{\mtrule{5pt}} %p=0 h=5pt
\end{document}
## Cas de minipage
L'environnement `minipage` possède une argument optionnelle qui indique l'alignement de la boîte sur la ligne courante.
- c : la boite est centrée verticalement i.e. profondeur=hauteur;
- b : la profondeur de la boite est celle de la dernière ligne, le reste est la hauteur;
- t : la hauteur de la boîte est la hauteur de la première ligne, le reste c'est la profondeur.
----------
\documentclass{article}
\newcommand*{\mtline}[1]{\makebox[0pt][l]{\rule{\textwidth}{\fboxrule}}#1}
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{0pt}
\begin{document}
\mtline{A}\hfill
\fbox{%
\begin{minipage}[b]{.3\textwidth}
De texte pour montrer la différence entre les différent options
de l'environnement minipage.
\end{minipage}}\hfill
\fbox{%
\begin{minipage}[t]{.3\textwidth}
De texte pour montrer la différence entre les différent options
de l'environnement minipage.
\end{minipage}}\hfill
\fbox{%
\begin{minipage}[c]{.3\textwidth}
De texte pour montrer la différence entre les différent options
de l'environnement minipage.
\end{minipage}}
\end{document}
Dans l'exemple de P.O. la profondeur de la première `minipage` est assez grand,
donc `Sep<0` et LaTeX a ajouté une espace verticale =1pt (espace relativement petite). La deuxième `minipage` contient une seule ligne, c'est pratiquement une ligne normale
et l'espace verticale après cette boite est normale (plus grand que 1pt).