Почему следующая команда не создает горизонтальное правило, заполняющее пробел до конца строки?LaTeX rule, заполняющий строку
Hello \rule[0.5em]{\fill}{1pt}
Это мое понимание того, что это должно напечатать текст «Hello
» с последующим горизонтальным правилом, что не проходит до конца строки, аналогично макросъемки \hfill
которое эффективно эквивалентно \hspace\fill
. - Но на самом деле эта команда только что создает текст «Hello
», нет правила.
Я знаю, что эффект может быть получен \hrulefill
, но он не может быть использован здесь, потому что я хочу поднял правило и \hrulefill
не работает вместе с \raisebox
и я хочу, чтобы мое правило повесить выше базовый уровень (в лучшем случае в середине линии).
К сожалению, я не понимаю, как это работает, так как '\ hfill' есть * вне *' \ hbox', но это работает спасибо, спасибо. –
Эта часть я могу объяснить. Лидерами являются общий клей в TeX; Обычно клей заполняет пространство ничем. Но лидеры заполняют пространство тем, что вы хотите. Общей формой этого является '\ leader {box или rule} \ hskip {glue}'. Поскольку '\ hfill' - это особый тип бесконечно растяжимого клея, команда лидеров имеет две вещи, в которых он нуждается: элемент для повторения и клей, чтобы сказать, как далеко продлить повторение. – RTBarnard
С помощью некоторого кода из http://tex.stackexchange.com/a/17130/13450 это также работает, чтобы окружать текст с обеих сторон: '\ newcommand {\ raiserule} [2] [0em] {\ leavevmode \ leader \ hbox {\ правило [# 1] {1pt} {# 2}} \ hfill \ kern0pt} '. – Christian