
\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}
урожайность
Что сказать вместо аргумента \linewidth
, что вторая математическая строка (подстановка в скобках) выровнена по правому краю текста, а не выходит за его пределы? То есть, как вычислить «длину оставшейся части строки до правого края»?
(Как вы можете себе представить, это упрощенная версия более крупного примера из реальной жизни, поэтому для этого MWE, пожалуйста, не предлагайте использовать multline*
вместо этого , поскольку в моем более крупном примере этот материал вложен в другую блочную математическую среду.)
решение1
Вы можете использовать этот linegoal
пакет (он не безошибочен, но для одного приложения он должен подойти).
\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}
Во втором случае я уменьшил желаемую ширину, чтобы избежать сжатия пространства вокруг \land
и при этом сохранить видимое центрирование (но не тратить слишком много места).
решение2
Вы размещаете multilined
окружение в середине строки, поэтому, чтобы оно не перекрывало правый край, оно должно быть короче \linewidth
той части, которую вы добавляете перед ним.
Поскольку mathtools
загружает calc
пакет, вы можете использовать макрос \widthof
, который возвращает вам ширину произвольного текста. Используя его, вы можете вычесть из \linewidth
ширины то, что вы добавляете перед multilined
окружением (недостатком, по общему признанию, является то, что вам нужно вводить это дважды, поэтому я не уверен, осуществимо ли это в вашей настройке):
\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}