Como alinhar em relação a um símbolo dentro do argumento de um comando?

Como alinhar em relação a um símbolo dentro do argumento de um comando?

Eu gostaria de alinhar várias linhas em relação a um símbolo, digamos um sinal de igualdade, acima do qual algo mais está escrito (usando \overset), levando em consideração o que está escrito acima do símbolo, para espaçamento, assim: insira a descrição da imagem aqui

No entanto, não posso colocar o "&" no argumento de \overset, pois isso parece ser sintaticamente proibido. Ao colocá-lo próximo a \overset, as linhas, obviamente, não estão alinhadas em relação ao sinal de igualdade: insira a descrição da imagem aqui

Tentei usar \mathclap, que fornece o alinhamento que desejo, mas o espaçamento fica muito apertado: insira a descrição da imagem aqui Aqui está meu exemplo mínimo de trabalho:

\documentclass[a4paper,12pt,fleqn]{article}

\usepackage[fleqn]{amsmath}
\usepackage{amsmath, amssymb, graphics, setspace}
\usepackage{latexsym}
\usepackage{mathtools}

\begin{document}

Placing "\&" next to overset:
\begin{alignat*}{1}
\textrm{some expression} & \overset{(23.1)}{=}\textrm{other expression}\\
 & \overset{(1.3)}{=}\textrm{other expression}\\
 & \overset{(2.4,3.5)}{=}\textrm{other expression}
\end{alignat*}

Using mathclap:
\begin{alignat*}{1}
\textrm{some expression} & \overset{\mathclap{(23.1)}}{=}\textrm{other expression}\\
 & \overset{\mathclap{(1.3)}}{=}\textrm{other expression}\\
 & \overset{\mathclap{(2.4,3.5)}}{=}\textrm{other expression}
\end{alignat*}

How I want it to look like:
\begin{alignat*}{1}
\textrm{some expression} & \quad\overset{\mathclap{(23.1)}}{=}\quad\textrm{other expression}\\
 & \quad\overset{\mathclap{(1.3)}}{=}\quad\textrm{other expression}\\
 & \quad\overset{\mathclap{(2.4,3.5)}}{=}\quad\textrm{other expression}
\end{alignat*}
Of course, adding spaces manually as done here is not a satisfactory solution to the problem.

\end{document}

Responder1

\[
    \begin{array}{r@{}c@{}l}
    \textrm{some expression} & \overset{(23.1)}{=}  &\textrm{other expression}\\
                             & \overset{(1.3)}{=} & \textrm{other expression}\\
                             & \overset{(2.4,3.5)}{=} &\textrm{other expression}
    \end{array}
\]

insira a descrição da imagem aqui

ou para menos espaço:

\begin{array}{r@{\kern-2pt}c@{\kern-2pt}l}

insira a descrição da imagem aqui

Responder2

Isso usa um \tabularCenterstackdo tabstackenginepacote. A largura entre colunas é controlada por \setstacktabulargap{0pt}. O baselineskip entre linhas é controlado por \setstackgap{L}{1.4\baselineskip}.

\documentclass[a4paper,12pt,fleqn]{article}

\usepackage[fleqn]{amsmath}
\usepackage{amsmath, amssymb, graphics, setspace}
\usepackage{latexsym}
\usepackage{mathtools}
\usepackage{tabstackengine}
\stackMath
\def\poverset{\protect\overset}
\setstackgap{L}{1.4\baselineskip}
\setstacktabulargap{0pt}
\begin{document}

Using \verb|\tabularCenterstack|:
\[
\tabularCenterstack{rcl}{
\textrm{some expression} & \poverset{(23.1)}{=}&\textrm{other expression}\\
 & \poverset{(1.3)}{=}&\textrm{other expression}\\
 & \poverset{(2.4,3.5)}{=}&\textrm{other expression}
}
\]
\end{document}

insira a descrição da imagem aqui

informação relacionada