LaTeX \ правило заполнения строки - PullRequest
11 голосов
/ 31 марта 2010

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

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

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

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

Ответы [ 3 ]

12 голосов
/ 31 марта 2010

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

% 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}
6 голосов
/ 31 марта 2010

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

Hello \leaders\vrule height 2.5pt depth -1.5pt \hfill \null
0 голосов
/ 13 апреля 2015

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

...