Re: 行末までアンダーラインを引きたい

名前: みなも
日時: 2010-04-15 12:08:10
IPアドレス: 202.233.240.*

>>54863 普段意識しないことですが, (文頭や,\par や空行で改段落した後) 「あ」など普通の文字が入力されていれば,そこを段落の始まりと認識して, 新しい段落が始まります。 文字だけでなく,多くのコマンドも新しい段落を開始する契機となります。 しかし,ある種のコマンド --- 段落中でも段落間でも使えるものなど --- は 新しい段落を開始しません。 \leaders もその一つで,段落の先頭で使ったつもりになっていても, 実は段落は開始しておらず,段落間(垂直モードってやつです)で使われた と解釈されてしまいます。(その場合縦方向にリーダーを引くため, \hfill は「方向違いのグルー」になり,先のエラーが出ます。) エラーの原因と解釈は以上の通りです。 で,対処法ですが,\leaders の前に明示的に段落開始のコマンドを入れます。 具体的には \leavevmode か \noindent か \indent を使うことが多いです。 \leavevmode や \noindent は段落中で使っても実質なんの影響も 出ないので,\leaders やボックス系のマクロを段落中・段落先頭どちらでも 使えるようにするにはこれらのコマンドを先頭に置いておくのが定石です。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)