LaTeX rule заполнение строки

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

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

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

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

3 ответов


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

% 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}

горизонтальное правило высоты 1pt и поднято на 1.5 pt.

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

вы можете сделать это с помощью команды \hrulefill см.http://en.wikibooks.org/wiki/LaTeX/Lengths#Fill_the_rest_of_the_line