在一个数学环境中构造多个多行方程(有点)

在一个数学环境中构造多个多行方程(有点)

好吧,我已经为此折腾了太久,所以我决定寻求帮助。问题是这样的,我正在使用双列布局,并且我有一些很长的方程式,我想优雅地显示它们。这就是我想要的:

|<some eq> = <first part of a lengthy eq>       |
|     <very lengthy second part of a lengthy eq>|
|<another eq> = <first part of a lengthy eq>    |
|     <very lengthy second part of a lengthy eq>|

垂直线表示边距。因此,等式的第一部分左对齐,第二部分右对齐。在进行此操作的同时,我还想知道如何获得对齐“=”符号的变体:

|<some eq>    = <first part of a lengthy eq>    |
|     <very lengthy second part of a lengthy eq>|
|<another eq> = <first part of a lengthy eq>    |
|     <very lengthy second part of a lengthy eq>|

我尝试了大多数 AMS 数学环境以及 mathtools 的多行环境。我最后一次尝试使用 flalign,但第二部分超出了范围,如下所示

|<some eq> = <first part of a lengthy eq>       |
|                                        <very lengthy second part of a lengthy eq>

非常感谢您的帮助,希望解决方案不要太过黑客化。

不太重要的后续问题:如何通过一个垂直居中的方程编号获得上述内容,以及如何通过两个方程的方程编号获得它?

更新。为了响应对最小工作示例的请求。好吧,目前我还没有让它工作,既不是以简单的方式,也不是以复杂的方式。但是为了不让你空手而归,这是我目前使用的:

\begin{align*}
&\begin{multlined}
    f_1 = -f_2 = a + a + a + a + a +\\
    b + b + b + b + b + b + b + b + b + b
\end{multlined}\\
&\begin{multlined}
    f_3 = f_4 = c + c + c + c + c +\\
    d + d + d + d + d + d + d + d + d + d
\end{multlined}
\end{align*}

这里的问题是方程式居中。我希望多行线的第一部分位于左边距,多行线的第二部分位于右边距。

答案1

结合:flalign*\mathllap

\documentclass[ a4paper, twocolumn]{article}%
\usepackage[showframe]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{mathtools}
\usepackage{lipsum}
\begin{document}

\lipsum[1]
\begin{flalign}
  f_1 &= -f_2 = a + a + a + a + a +\\
  & &\mathllap{ b + b + b + b + b + b + b + b+ b }+ b& \\
  f_3& = f_4 = c + c + c + c + c +\\
  & & & \mathllap{d + d + d + d + d + d + d + d + d + d}
\end{flalign}

\lipsum[2-6]

\end{document}​ 

在此处输入图片描述

答案2

编辑: 像下面的第一个等式吗?

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}

\usepackage{showframe}
\renewcommand*\ShowFrameColor{\color{red}}

\begin{document}
\begin{gather*}
\begin{multlined}[t][\linewidth]
    f_1 = -f_2 = a + a + a + a + a +\\
    b + b + b + b + b + b + b + b + b + b
\end{multlined}\\
\begin{multlined}[t][\linewidth]
    f_3 = f_4 = c + c + c + c + c +\\
    d + d + d + d + d + d + d + d + d + d
\end{multlined}
\end{gather*}
\end{document}

答案3

通过一些用户干预来设置底线的适当最大宽度:

\documentclass[twocolumn]{article}
\usepackage{amsmath,mathtools}

\usepackage{kantlipsum}

\makeatletter
\newcommand{\rightbox}[2]{%
  \ifmeasuring@
    \mathmakebox[#1][r]{{}#2}%
  \else
    \mathmakebox[\ifcase\expandafter 2\maxcolumn@widths\fi][r]{{}#2}%
  \fi
}
\makeatother

\begin{document}

\kant*[1]
\begin{align*}
\begin{split}
f_1 &= -f_2 = a + a + a + a + a \\
&\rightbox{.8\columnwidth}{+ b + b + b + b + b + b + b + b + b + b}
\end{split} \\
\begin{split}
f_3+f_0 &= f_4 = c + c + c + c + c \\
&\rightbox{.8\columnwidth}{+ d + d + d + d + d + d + d + d + d + d}
\end{split}
\end{align*}
and the same with numbers
\begin{align}
\begin{split}
f_1 &= -f_2 = a + a + a + a + a \\
&\rightbox{.7\columnwidth}{+ b + b + b + b + b + b + b + b + b + b}
\end{split} \\
\begin{split}
f_3+f_0 &= f_4 = c + c + c + c + c \\
&\rightbox{.7\columnwidth}{+ d + d + d + d + d + d + d + d + d + d}
\end{split}
\end{align}
\kant[3-8]

\end{document}

在此处输入图片描述

相关内容