
\documentclass{article}
\pagestyle{empty}
\usepackage{mathtools}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\[
\text{beginning}\land
\begin{multlined}[t][\linewidth]
(\text{extremely long and boring junk occupying lots of space})\\\relax
[\text{a variable substitution in brackets}]
\end{multlined}
\]
\lipsum[2]
\end{document}
Erträge
Was sagt man statt des Arguments \linewidth
, dass die zweite mathematische Zeile (eine Ersetzung in den Klammern) rechtsbündig am rechten Textrand ausgerichtet ist, statt darüber hinauszugehen? D. h., wie berechnen wir „die Länge des Rests der Zeile bis zum rechten Rand“?
(Wie Sie sich vorstellen können, handelt es sich hierbei um eine stark vereinfachte Version eines größeren Beispiels aus dem echten Leben. Schlagen Sie daher für genau dieses MWE bitte nicht vor, multline*
stattdessen zu verwenden, da dieses Zeug in meinem größeren Beispiel in einer anderen Blockmathematik-Umgebung verschachtelt ist.)
Antwort1
Sie können das Paket verwenden linegoal
(es ist zwar nicht fehlerfrei, aber für eine einzelne Anwendung sollte es in Ordnung sein).
\documentclass{article}
\pagestyle{empty}
\usepackage{mathtools}
\usepackage{linegoal}
\usepackage{lipsum}
\begin{document}
\lipsum[1][1-3]
\[
\text{beginning}\land
\begin{multlined}[t][\linegoal]
(\text{extremely long and boring junk occupying lots of space})\\\relax
[\text{a variable substitution in brackets}]
\end{multlined}
\]
\lipsum[2][1-3]
\[
\text{beginning}\land
\begin{multlined}[t][0.95\linegoal]
(\text{extremely long and boring junk occupying lots of space})\\\relax
[\text{a variable substitution in brackets}]
\end{multlined}
\]
\lipsum[3][1-3]
\end{document}
Im zweiten Fall habe ich die gewünschte Breite reduziert, um eine Komprimierung des Raums zu vermeiden \land
und trotzdem eine sichtbare Zentrierung zu erhalten (ohne jedoch zu viel Platz zu verschwenden).
Antwort2
Die Umgebung platzieren Sie multilined
in der Mitte der Zeile, sie sollte also, um den rechten Rand nicht überlappen zu lassen, kürzer sein als \linewidth
der Teil, den Sie davor einfügen.
Da mathtools
das calc
Paket geladen wird, können Sie das Makro verwenden \widthof
, das Ihnen die Breite eines beliebigen Textes liefert. Damit können Sie von \linewidth
der Breite die Dinge abziehen, die Sie vor der multilined
Umgebung hinzufügen (der Nachteil ist allerdings, dass Sie diese Dinge zweimal eingeben müssen, daher bin ich mir nicht sicher, ob dies in Ihrem Setup machbar ist):
\documentclass{article}
\pagestyle{empty}
\usepackage{mathtools}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\[
\text{beginning} \land
\begin{multlined}[t][\linewidth-\widthof{$\text{beginning} \land$}]
(\text{extremely long and boring junk occupying lots of space}) \\
[\text{a variable substitution in brackets}]
\end{multlined}
\]
\lipsum[2]
\end{document}