自动排列带注释的方程式

自动排列带注释的方程式

这个问题导致了一个新的方案的出现:
conteq

我正在写一篇包含多个方程或不等式链的论文,并附有可选的解释。根据方程的大小,我使用以下方法之一

\documentclass{article}
\usepackage{amsmath}
\begin{document}
Short style:
\begin{align*}
lhs1 &= rhs1 && \text{expl1} \\
     &\le rhs2 \\
     &= rhs3 && \text{expl3}
\end{align*}

Medium style:
\begin{align*}
lhs1 &= rhs1 \\
     &\phantom{{}={}} \text{expl1} \\
     &\le rhs2 \\
     &= rhs3 \\
     &\phantom{{}={}} \text{expl3}
\end{align*}

Large style:
\begin{align*}
     &\phantom{{}={}} lhs1\\
     &= rhs1 \\
     &\phantom{{}={}} \text{expl1} \\
     &\le rhs2 \\
     &= rhs3 \\
     &\phantom{{}={}} \text{expl3}
\end{align*}
\end{document}

这看起来不错,但切换起来不方便。因此,我希望有三个环境eqchainseqchainmeqchainl给出以下形式的输入,从而产生适当的输出:

\begin{eqchain?}
lhs1 &= rhs1 & expl1 \\
     \le rhs2 \\
     = rhs3 & expl3 
\end{eqchain?}

(当然, 也&可以是其他符号)。如果可以通过重新定义宏来修改解释的样式,则可以获得加分,例如\newcommand{\eqchainexpl}[1]{\text{\{ \textit{#1} \}}

如果可能的话,我希望有一个环境可以eqchain使用以下启发式方法自动选择正确的环境:如果 lhs1 和最大的 rhs 加起来小于 的 ⅔,则\linewith使用eqchains。如果 lhs1 和最大的 rhs 小于\linewidth,则使用eqchainm。否则使用。如果将解释设置为,以便长解释被包装起来并且不会影响数学内容的水平定位,则可以获得eqchainl最后的加分。\parbox

答案1

由于似乎没有现有的软件包能够提供此功能,因此我自己做了并创建了conteq包裹。它(目前)还不支持自动布局选择,但提供了一些布局,并且可以轻松添加新的布局。

相关内容