Como alinhar à direita os comentários de uma equação?

Como alinhar à direita os comentários de uma equação?

Quero alinhar à direita (algo como \raggedleft?) os comentários de cada linha. Estou usando \\\\ que não são bons. Por favor, sugira-me uma maneira melhor de escrever isso. Devo usar divisão ou algo assim?

\begin{align*}
        & \ \ \ Opt_\rho (i,j,M)\\
        &= \min_{\kappa \in Seg(i,j)} (Cost(\rho, \kappa, M))\\  
        &  \ \ \ \ \ \ \ \ \ \text{[Comment for the line]}\\
        &= \min_{1\leq l\leq i} (\min_{\kappa' \in Seg(l,j)} (Cost(\rho,\kappa',M)))\\ 
        & \ \ \ \ \ \ \ \ \ \text{[Comment for another line]} \\
        &= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in Seg(l,j)} (\max_{\iota'' \in 
            \kappa''[l:i]} (||Cost(\rho, \iota'')-M||)))\\ 
        & \ \ \ \ \ \ \ \ \ \text{[More Comments]} \\
        &= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in Seg(l,j)} (\max (\max_{\iota'' \in \kappa''} (||Cost(\rho, \iota'')-M||)), &\\
        & \ \ \ ||Cost(\rho,[l:i])-M||))\\ 
        & \ \ \ \ \ \ \ \ \ \text{[This is a long long long long comment]} \\
        &= \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in Seg(l,j-1)} (\max_{\iota'' \in \kappa''} (||Cost(\rho, \iota'')-M||))), &\\
        & \ \ \ ||Cost(\rho,[l:i])-M||)\\ 
        & \ \ \ \ \ \ \ \ \ \text{[Finally this comment]} \\
\end{align*}

Responder1

Minha primeira sugestão, sem saber mais, seria usar um flalign*ambiente, que utilize a largura máxima disponível, e colocar os comentários como a parte alinhada à direita do próximo grupo de alinhamento, mais ou menos assim:

\documentclass[12pt]{article}
\usepackage{amsmath}
\DeclareMathOperator{\Opt}{Opt}
\DeclareMathOperator{\Cost}{Cost}
\DeclareMathOperator{\Seg}{Seg}
\usepackage{mathtools}
\begin{document}


\begin{flalign*}
        &\phantom{=\ } \Opt_\rho (i,j,M)\\
        &= \min_{\kappa \in \Seg(i,j)} (\Cost(\rho, \kappa, M)) &   \text{[Comment for the line]}\\
        &= \min_{1\leq l\leq i} (\min_{\kappa' \in \Seg(l,j)} (\Cost(\rho,\kappa',M))) & \text{[Comment for another line]} \\
        &= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max_{\iota'' \in 
            \kappa''[l:i]} (||\Cost(\rho, \iota'')-M||))) & \text{[More Comments]} \\
        &= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max (\max_{\iota'' \in \kappa''} (||\Cost(\rho, \iota'')-M||)), &\\
        &\phantom{=\ } ||\Cost(\rho,[l:i])-M||)) & \mathllap{\text{[This is a long long long long comment]}} \\
        &= \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in \Seg(l,j-1)} (\max_{\iota'' \in \kappa''} (||\Cost(\rho, \iota'')-M||))), &\\
        &\phantom{=\ } ||\Cost(\rho,[l:i])-M||) & \text{[Finally this comment]} \\
\end{flalign*}

\end{document}

equações alinhadas com comentários

Algumas coisas adicionais: o comentário realmente longo teria tornado a "coluna" das notas muito larga, então eu costumava \mathllappermitir que ele se sobrepusesse horizontalmente a partes da equação; felizmente a linha à qual é aplicada não é tão longa. Se fosse, você provavelmente teria que colocar esse comentário em sua própria linha.

Além disso, sugiro usar \DeclareMathOperatorcoisas como "Custo" e "Opt", já que "palavras" completas no modo matemático não parecem corretas, a menos que sejam tratadas de maneira diferente.

Como Zarko mencionou nos comentários, o que funciona melhor será diferente para páginas de tamanhos diferentes, portanto, isso pode não funcionar no seu caso de uso real sem ajustes.

Responder2

Proponho uma solução baseada em \intertext, com o conteúdo irregular à esquerda:

    \documentclass{article}
    \usepackage{amsmath}
    \DeclareMathOperator{\Cost}{Cost}
    \DeclareMathOperator{\Opt}{Opt}
    \DeclareMathOperator{\Seg}{Seg}

    \begin{document}

    \begin{align*}
            & \Opt_\rho (i,j,M)\\
             & = \min_{\kappa \in \Seg(i,j)} (\Cost(\rho, \kappa, M)) \\[-3ex]
              \intertext{\raggedleft [From Eq. \ref{eq:opt}]}
            & = \min_{1\leq l\leq i} (\min_{\kappa' \in \Seg(l,j)} (\Cost(\rho,\kappa',M))) \\[-3ex]
            \intertext{[\raggedleft From Proposition \ref{prop:minmin}]}
            &= \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max_{\iota'' \in
                \kappa''[l:i]} (\|\Cost(\rho, \iota'')-M\|))) \\[-2.5ex]
            \intertext{\raggedleft [Definition of $\Cost(\rho, \kappa''[l:i],M)$]}
            & = \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in \Seg(l,j)} (\max (\max_{\iota'' \in \kappa''} (\|\Cost(\rho, \iota'')-M\|)), \|\Cost(\rho,[l:i])-M\|)) \\[-2.5ex]
            \intertext{\raggedleft [Separating the last segment $[l:i]$]}
            & = \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in \Seg(l,j-1)} (\max_{\iota'' \in \kappa''} (\|\Cost(\rho,
            \iota'')-M\|))), \|\Cost(\rho,[l:i])-M \|) \\[-2.5ex]
            \intertext{\raggedleft [From Proposition \ref{prop:minmax}]} \\
    \end{align*}

    \end{document} 

insira a descrição da imagem aqui

Responder3

Com uso de mathtoolse linegoalpacotes. Como sua equação é bastante ampla, adiciono geometrypacote para aumentar \textwidtho tamanho.

Para equações são usados align*​​​​e splitambientes. Comentários longos são escritos em \parbox:

\documentclass{article}
\usepackage{geometry}
\usepackage{mathtools}
\DeclareMathOperator{\cost}{Cost}
\DeclareMathOperator{\opt}{Opt}
\DeclareMathOperator{\seg}{Seg}
\DeclarePairedDelimiterX{\norm}[1]\lVert\rVert{#1}
\usepackage{linegoal}

\begin{document}
\begin{align*}
    \MoveEqLeft
\opt_\rho (i,j,M)
    & = \min_{\kappa \in\seg(i,j)} (\cost(\rho, \kappa, M)) 
                        &&  \text{[From Eq. \ref{eq:opt}]}                          \\
    & = \min_{1\leq l\leq i} (\min_{\kappa' \in \seg(l,j)} (\cost(\rho,\kappa',M)))
                        &&  \text{[From Proposition \ref{prop:minmin}]}             \\
    & = \min_{1\leq l\leq i} (\min_{\kappa''[l:i] \in Seg(l,j)} 
            (\max_{\iota'' \in \kappa''[l:i]} (\norm{\cost(\rho, \iota'')-M} )))
                        &&  \text{[Definition of $\cost(\rho, \kappa''[l:i],M)$]}    \\
    \begin{split}
     & = \min_{1\leq l\leq i} (\max (\min_{\kappa'' \in Seg(l,j-1)}  
            (\max_{\iota'' \in \kappa''}\\
     &\qquad    (\norm{\cost(\rho, \iota'')-M} ))), \norm{\cost(\rho,[l:i])-M})
        \end{split}  &&  \parbox{\linegoal}{\raggedright
                                            [This is a very, very, very long comment in two lines]}
\end{align*}
\end{document}

insira a descrição da imagem aqui

informação relacionada