Pourquoi la commande suivante ne génère-t-elle pas une règle horizontale remplissant l'espace jusqu'à la fin de la ligne?LaTeX règle remplissant la ligne
Hello \rule[0.5em]{\fill}{1pt}
Je crois comprendre que cela devrait imprimer le texte « Hello
» suivie d'une règle horizontale qui se prolonge jusqu'à la fin de la ligne, par analogie à la \hfill
macro qui est effectivement équivalent à \hspace\fill
. - Mais en effet, cette commande produit juste le texte "Hello
", pas de règle.
Je suis conscient que l'effet peut être produit par \hrulefill
mais il ne peut pas être utilisé ici parce que je veux une règle soulevé et \hrulefill
ne fonctionne pas avec \raisebox
et je veux ma règle pour accrocher au-dessus la ligne de base (au mieux au milieu de la ligne).
Malheureusement, je ne comprends pas comment cela fonctionne depuis le '\ hfill' est * à l'extérieur * le' \ hbox' mais il fonctionne comme un charme, merci. –
Cette partie que je peux expliquer. Les leaders sont le cas général de la colle en TeX; Habituellement, la colle remplit l'espace avec rien. Mais les dirigeants remplissent l'espace avec tout ce que vous voulez. La forme générale de ceci est '\ leaders {box ou rule} \ hskip {glue}', Puisque '\ hfill' est un genre spécial de colle infiniment strechable, la commande leaders a les deux choses dont elle a besoin: un élément à répéter et colle pour dire jusqu'où étendre la répétition. – RTBarnard
Avec un peu de code de http://tex.stackexchange.com/a/17130/13450 cela fonctionne également pour entourer le texte des deux côtés: '\ newcommand {\ raisedrule} [2] [0em] {\ leavevmode \ leaders \ hbox {\ rule [# 1] {1pt} {# 2}} \ hfill \ kern0pt} '. – Christian