具有不同列数的方程式对齐

具有不同列数的方程式对齐

如何对齐每行列数不同的优化语句?我试图对齐“subject to”部分中的求和符号、等式符号以及任何“for all”语句。一定有办法做到这一点,但我还没有找到。第二行及以后的等号前面留出了太多空间。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}

\begin{document}

\begin{alignat}{3}
    \text{Minimize} \quad
    &\sum_{i} t_i + t_j + t_k + t_m \\
    %
    \text{subject to}\quad
    &\sum_r Y_r &&= p \quad \\
    %
    &\sum_r X_{qr} &&= 1 &&\text{for all $q$}\\
    %
    &\sum_r Z_{ty} &&= 1 &&\text{for all $t$}
\end{alignat}

\end{document}

在此处输入图片描述

答案1

我建议你使用\mathrlap指令(由数学工具包,是数学包)来“隐藏”t_i + t_j + t_k + t_m剩余方程中的部分;参见下图的上半部分。

就我个人而言,我认为对齐第 2 行至第 4 行中的符号并没有多大用处。=摆脱该对齐标准可能更好;请参见以下屏幕截图的下半部分。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools} % for '\mathrlap' macro
\begin{document}
\begin{alignat}{3}
    \text{Minimize\quad}
    &\sum_{i} \mathrlap{t_i + t_j + t_k + t_m} \\
    %
    \text{subject to\quad}
    &\sum_r Y_r &&= p  \\
    %
    &\sum_r X_{qr} &&= 1 &\quad&\text{for all $q$}\\
    %
    &\sum_y Z_{ty} &&= 1 &&\text{for all $t$}
\end{alignat}

\begin{alignat}{2}
    \text{Minimize\quad}
    &\sum_{i} \mathrlap{t_i + t_j + t_k + t_m} \\
    %
    \text{subject to\quad}
    &\sum_r Y_r = p  \\
    %
    &\sum_r X_{qr} = 1 &\quad&\text{for all $q$}\\
    %
    &\sum_y Z_{ty} = 1 &&\text{for all $t$}
\end{alignat}
\end{document}

答案2

Mico 的解决方案看起来更优雅,但我发现的另一个解决方案是使用 \span 来“忽略”不需要的锚点,如下所示。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}

\begin{document}

\begin{alignat}{3}
    \text{Minimize} \quad
    &\sum_{i} t_i + t_j + t_k + t_m \span\span \span\span\\
    %
    \text{subject to}\quad
    &\sum_r Y_r &&= p \span\span\\
    %
    &\sum_r X_{qr} &&= 1 &&\quad\text{for all $q$}\\
    %
    &\sum_r Z_{ty} &&= 1 &&\quad\text{for all $t$}
\end{alignat}

\end{document}

在此处输入图片描述

答案3

可以使用\IEEEeqnarraymulticol以下命令轻松完成IEEEtrantools包。附录 F本文档覆盖IEEEeqnarray环境。有了这个环境,管理多行方程就非常方便了。这里是另一份涵盖该环境的文档。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}
\usepackage{IEEEtrantools}

\begin{document}
\begin{IEEEeqnarray}{rlCll}
    \text{Minimize\quad}   & \IEEEeqnarraymulticol{4}{l}{\sum_{i} t_i + t_j + t_k + t_m}\\%
    \text{subject to\quad} & \sum_r Y_r    &=& p & \\%
                           & \sum_r X_{qr} &=& 1 & \quad\text{for all $q$}\\%
                           & \sum_y Z_{ty} &=& 1 & \quad\text{for all $t$}
\end{IEEEeqnarray}
\end{document}

相关内容