\hbox \mbox et \dotfill

12 views
Skip to first unread message

François Patte

unread,
Sep 28, 2021, 1:34:42 PM9/28/21
to
Bonjour,

\hbox \mbox "mangent" \dotfill (et, semble-t-il, tous les *fill).

Y a-t-il moyen de remiéder à ça?

Merci
--
François Patte
Université Paris Descartes

Jean-Côme Charpentier

unread,
Sep 28, 2021, 9:55:41 PM9/28/21
to
Le 28/09/2021 à 19:34, François Patte a écrit :
> Bonjour,

bonjour,

> \hbox \mbox "mangent" \dotfill (et, semble-t-il, tous les *fill).

C'est ça. Plus exactement \hbox tout nu et \mbox annulent tout ce qui
est élastique (en étirement ou compression) et, en particulier tout ce
qui est *fill puisque cela utilise en interne un "plus1fill".

> Y a-t-il moyen de remiéder à ça?

Oui mais il faudrait savoir ce qu'on veut exactement. C'est quand
même normal qu'une boîte interne ne puisse pas permettre des points de
suite par défaut puisque sa largeur est celle de son contenu (sans
élasticité). On peut forcer la main en imposant une largeur. Par
exemple, si on reste à du TeX :

\hbox to10cm{Coucou \dotfill}

on peut aussi faire du LaTeX (c'est peut-être plus sûr si on ne connaît
pas bien les modes de TeX) avec :

\makebox[10cm]{Coucou \dotfill}

Bien entendu, tout cela va être totalement indépendant de la largeur de
ligne. Je ne sais pas si c'est bien cela qui est voulu !

Jean-Côme Charpentier

--
Minimal a un sens assez strict malgré l'attachement sentimental qui te
lie à tes documents TeX.
-+- Joss in fr.comp.text.tex -+-

François Patte

unread,
Sep 29, 2021, 4:45:19 AM9/29/21
to
Le 29/09/2021 à 03:49, Jean-Côme Charpentier a écrit :
> Le 28/09/2021 à 19:34, François Patte a écrit :
>> Bonjour,
>
>   bonjour,
>
>> \hbox \mbox "mangent" \dotfill (et, semble-t-il, tous les *fill).
>
>   C'est ça. Plus exactement \hbox tout nu et \mbox annulent tout ce qui
> est élastique (en étirement ou compression) et, en particulier tout ce
> qui est *fill puisque cela utilise en interne un "plus1fill".
>
>> Y a-t-il moyen de remiéder à ça?
>
>   Oui mais il faudrait savoir ce qu'on veut exactement. C'est quand
> même normal qu'une boîte interne ne puisse pas permettre des points de
> suite par défaut puisque sa largeur est celle de son contenu (sans
> élasticité). On peut forcer la main en imposant une largeur. Par
> exemple, si on reste à du TeX :
>
>   \hbox to10cm{Coucou \dotfill}
>
> on peut aussi faire du LaTeX (c'est peut-être plus sûr si on ne connaît
> pas bien les modes de TeX) avec :
>
>   \makebox[10cm]{Coucou \dotfill}
>
> Bien entendu, tout cela va être totalement indépendant de la largeur de
> ligne. Je ne sais pas si c'est bien cela qui est voulu !

Ah! Bien merci pour cette réponse et puisque c'est l'auteur de la macro
qu'il a construite pour répondre à une de mes questions il y a quelques
temps, je la re-soumets ici.

Voilà la macro:

\newlength{\hauteur}
\newcommand\abaisse[2]{%
\setlength{\hauteur}{%
\dimexpr \arraystretch\ht\strutbox+\arraystretch\dp\strutbox
}%
\setbox2=\hbox{#1}%
\setbox0=\hbox to\wd2{%
\hsize=\wd2
\vtop to \dimexpr \hauteur*#2{%
\vss
\hbox{#1}%
}%
}%
\box0
}

C'était pour aligner du texte dans les cellules d'un tableau du type:

\begin{longtable}{rp{.7\textwidth}rrrr}

Et obtenir comme résultat:

1 | du texte sur
plusieurs
lignes | quelque chose | ....

(J'ai marqué les colonnes par un | bien que ça n'existe pas forcément
dans le tableau).

J'ai tenté de remplacer les \hbox de la macro par des \hbox to 10cm pour
voir: si on remplace les 2 ça donne un résultat bizarre (on sort des
limites de la page), si on remplace seulement la 2ème ça pourrait le
faire mais les pointillés ne s'adapte pas à la largeur de la colonne:

\multicolumn{3}{l}{%
\abaisse{Ainsi le total de mouvement moyen diurne du soleil
est: \dotfill}{1}} & \multicolumn{3}{l}{%%
\begin{tabular}[t]{@{}ccc}
\textit{naj.} & \textit{vinaj.} &
\textit{tarp.}\footnoteAmark\\
59 & 8 & 9
\end{tabular}

Je me demande d'ailleurs pourquoi cette possibilité n'existe pas dans
les tableaux (La)TeX car c'est pratique pour décrire un algorithme:
1ère col .: numéro des opérations
2ème col.: description de l'opération
autres col. : résultat de la première opération
etc.

À moins que pour faire ça, il existe un "paquet" qui prend en charge ce
type de disposition.
Reply all
Reply to author
Forward
0 new messages