Subequations – alignment of split environment

alignsplitsubequations

I want my equations to be aligned to the left by the leftmost letter, not by =. The following code aligns the equations by =.

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{subequations}\label{eq:a}
    \begin{align}
        \label{eq:b}
        \begin{split}
            F &= ma\\
            &= m \ddot{x}
        \end{split}\\
        \label{eq:c}
        \begin{split}
            f(x,y) &= c\\
            &= d
        \end{split}
    \end{align}
\end{subequations}

\end{document}

enter image description here

I tried the code:

% my approach
\begin{subequations}\label{eq:a}
    \begin{align}
        \label{eq:b}
        \begin{split}
            &F \begin{array}[t]{ll}&= ma\\
            &= m \ddot{x}\end{array}
        \end{split}\\
        \label{eq:c}
        \begin{split}
            &f(x,y) \begin{array}[t]{ll}&= c\\
            &= d\end{array}
        \end{split}
    \end{align}
\end{subequations}

But the code looks somewhat complicated and the result is not so good; the spaces between the first letter and = are too large. What's the simplest solution for this?

enter image description here

Best Answer

I think you can achieve your formatting goal by using aligned[t] environments instead of array environments. (Well, one could achieve the same result with array environments, but one would also have to fiddle with the values of \arraycolsep and \arraystretch...)

enter image description here

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{subequations}\label{eq:a}
\begin{align} 
  \label{eq:b}
      &\begin{aligned}
          F &= ma\\
            &= m\ddot{x}
        \end{aligned}\\[\jot]
  \label{eq:c}
      &\begin{aligned}
          f(x,y) &= c\\
                 &= d
        \end{aligned}
\end{align}
\end{subequations}

\end{document}
Related Question