Правило LaTeX \, заполняющее строку

Почему следующая команда не создает горизонтальное правило, заполняющее пробел до конца строки?

Hello \rule[0.5em]{\fill}{1pt}

Насколько я понимаю, это должно печатать текст "Hello", за которым следует горизонтальное правило, которое продолжается до конца строки, аналогично макросу \hfill, который фактически эквивалентен \hspace\fill. - Но на самом деле эта команда просто создает текст "Hello", не имеет правила.

Мне известно, что эффект может быть создан \hrulefill, но он не может использоваться здесь, потому что я хочу, чтобы поднятое правило и \hrulefill не работало вместе с \raisebox, и я хочу, чтобы мое правило зависало выше базовой линии ( в лучшем случае в середине линии).

Ответ 1

У меня нет удовлетворительного ответа, почему команда, которую вы представили, не работает, но я могу предложить эффективное обходное решение. Положите

% Raised Rule Command:
%  Arg 1 (Optional) - How high to raise the rule
%  Arg 2            - Thickness of the rule
\newcommand{\raisedrule}[2][0em]{\leaders\hbox{\rule[#1]{1pt}{#2}}\hfill}

в предисловии к вашему документу, а затем вы можете выполнить то, на что вы надеялись:

Hello \raisedrule[0.5em]{1pt}

Ответ 2

Горизонтальное правило высоты 1pt и поднятое на 1,5 п.

Hello \leaders\vrule height 2.5pt depth -1.5pt \hfill \null