Perché il seguente comando non produce una regola orizzontale che riempie lo spazio fino alla fine della riga?LaTeX regola che riempie la linea
Hello \rule[0.5em]{\fill}{1pt}
È la mia comprensione che questo dovrebbe stampare il testo “Hello
” seguito da una linea orizzontale che si estende fino alla fine della riga, analogamente alla macro \hfill
che è effettivamente equivalente a \hspace\fill
. - Ma in effetti, questo comando produce solo il testo "Hello
", nessuna regola.
Sono consapevole del fatto che l'effetto può essere prodotto da \hrulefill
ma non può essere utilizzato qui perché voglio un sollevato regola e \hrulefill
non funziona insieme con \raisebox
e voglio la mia regola per appendere sopra la linea di base (nella migliore delle ipotesi nel mezzo della linea).
Purtroppo, non capisco come funziona in quanto la '\ hfill' è * * al di fuori del' \ hbox' ma funziona come un incantesimo, grazie. –
Quella parte che posso spiegare. I leader sono il caso generale della colla in TeX; di solito, la colla riempie lo spazio con niente. Ma i leader riempiono lo spazio con tutto ciò che vuoi. La forma generale di questo è '\ leaders {box or rule} \ hskip {glue}', Poiché '\ hfill' è un tipo speciale di colla infinitamente rigida, il comando leader ha le due cose di cui ha bisogno: un elemento da ripetere e incollare per dire fino a che punto estendere la ripetizione. – RTBarnard
Con un codice da http://tex.stackexchange.com/a/17130/13450 questo funziona anche per circondare il testo su entrambi i lati: '\ newcommand {\ raisedrule} [2] [0em] {\ leavevmode \ leaders \ hbox {\ regola [# 1] {1pt} {# 2}} \ hfill \ kern0pt} '. – Christian