%20*zeilenlang*%20machen%3F.png)
Was ich realisieren möchte, sind etwa die folgenden Codes:
\mbox{}I\hfill like\hfill the\hfill world\hfill because\hfill it\hfill is\hfill beautiful\mbox{}
damit ich im Bild die erste Zeile statt der zweiten Zeile erhalte.
Aber es ist unpraktisch, weil zu viel \hfill vorhanden ist. Wie kann ich dafür einen neuen Befehl erstellen?
Antwort1
Versuchen Sie Folgendes (in einem eigenen Absatz):
\noindent\makebox[\linewidth][s]{I like the world because it is beautiful}
Erläuterung: Das zweite optionale Argument ist für die Ausrichtung innerhalb der Box. s
ist für stretch
.
Bearbeiten: wie von @egreg vorgeschlagen, können wir das Tippen mit einem Makro vereinfachen und einen Code hinzufügen, um bad box
Nachrichten zu vermeiden. Demo:
\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}