Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 4

27 Nov '17, 19:35

touhami's gravatar image

touhami
9.8k410

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).
cliquez ici pour masquer/afficher la révision 3
mineure

25 Nov '17, 18:07

Pathe's gravatar image

Pathe
7.5k49208252

Vous avez besoin d'ajouter Il faut ajouter `\par \xdef\mtprevdepth{\the\prevdepth}` à la fin de la deuxième boite 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 boite 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}
cliquez ici pour masquer/afficher la révision 2

25 Nov '17, 15:46

touhami's gravatar image

touhami
9.8k410

cliquez ici pour masquer/afficher la révision 1

25 Nov '17, 12:35

touhami's gravatar image

touhami
9.8k410

C'est votre première visite ici ? Consultez la FAQ !

×