テキストを 1 行に *いっぱい* にするにはどうすればよいでしょうか (新しいコマンドを使用)?

テキストを 1 行に *いっぱい* にするにはどうすればよいでしょうか (新しいコマンドを使用)?

私が実現したいのは、以下のコードのようなものです:

\mbox{}I\hfill like\hfill the\hfill world\hfill because\hfill it\hfill is\hfill beautiful\mbox{}

画像の 2 行目ではなく 1 行目を取得できるようにします。

しかし、\hfill が多すぎるため不便です。これに対して新しいコマンドを作成するにはどうすればよいでしょうか?

答え1

これを試してみてください(独自の段落で):

\noindent\makebox[\linewidth][s]{I like the world because it is beautiful}

説明: 2 番目のオプション引数は、ボックス内の配置用です。sは 用ですstretch

編集: @egreg の提案どおり、マクロを使用して入力を簡素化し、メッセージを回避するコードを追加できます bad box。デモ:

\newcommand\linefillwith[1]{\par\noindent\makebox[\linewidth][s]{\spaceskip=\fontdimen2\font plus 1fil minus \fontdimen4\font #1}}
\lipsum[11]\medskip 
\linefillwith{\color{red}I like the world because it is beautiful}

ここに画像の説明を入力してください

関連情報