
\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}
rendimientos
¿Qué decir en lugar del argumento \linewidth
de que la segunda línea matemática (una sustitución entre paréntesis) está alineada a la derecha con el margen derecho del texto en lugar de ir más allá de él? Es decir, ¿cómo calculamos "la longitud del resto de la línea hasta el margen derecho"?
(Como puede imaginar, esta es una versión demasiado simplificada de un ejemplo más grande de la vida real, por lo que para este mismo MWE, no sugiera usar multline*
en su lugar porque en mi ejemplo más grande, esto está anidado dentro de otro entorno matemático de bloques).
Respuesta1
Podrías usar el linegoal
paquete (no es que esté libre de errores, pero para una sola aplicación debería estar bien).
\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}
En el segundo caso, reduje el ancho deseado para evitar la compresión del espacio alrededor \land
y lograr un centrado visible (pero sin desperdiciar demasiado espacio).
Respuesta2
Colocas el multilined
entorno en el medio de la línea, por lo que, para que no se superponga al margen derecho, debe ser más corto que \linewidth
la parte que agregas antes.
Dado que mathtools
carga el calc
paquete, puede utilizar la macro \widthof
que le proporciona el ancho de texto arbitrario. Usando esto, puedes restar del \linewidth
ancho las cosas que agregas antes del multilined
entorno (el inconveniente es que debes escribir estas cosas dos veces, por lo que no estoy seguro de si esto es factible en tu configuración):
\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}