Centrar las matemáticas y tener comentarios a la derecha.

Centrar las matemáticas y tener comentarios a la derecha.

Estoy tratando de tener matemáticas como en el gather*entorno, donde las ecuaciones matemáticas están centradas dentro de su espacio, pero también tengo comentarios a la derecha que explican los pasos. ¿Cómo puedo hacer esto? A continuación se muestra un código que justifica a la derecha las ecuaciones matemáticas dentro de su espacio. ¿Cómo puedo centrarlo? Quiero hacer esto sin alinear todos los símbolos iguales porque algunas de las ecuaciones tienen lados largos a la derecha mientras que otras tienen lados largos a la izquierda.

\begin{align*}
y'+Py=Q & \quad\textrm{by \eqref{eq:1}}\\
e^{\int Pdx}(y'+Py)=e^{\int Pdx}Q & \quad\textrm{multiply both sides by }I=J=e^{\int Pdx}\\
(ye^{\int Pdx})'=e^{\int Pdx}Q & \quad\textrm{by \eqref{eq:3}}\\
ye^{\int Pdx}=\int e^{\int Pdx}Q dx + C\\
y=e^{-\int Pdx}\int e^{\int Pdx}Q dx + Ce^{-\int Pdx}\\
\end{align*}

EDITAR:

Descubrí que puedes usar el entorno de matriz para hacer esto, pero las líneas matemáticas se ven muy juntas. ¿Hay alguna forma de solucionarlo?

\begin{displaymath}
\begin{array}{cl}
 y'+Py=Q & \quad\textrm{by \eqref{eq:1}}\\
 e^{\int Pdx}(y'+Py)=e^{\int Pdx}Q & \quad\textrm{multiply both sides by }I=J=e^{\int Pdx}\\
 (ye^{\int Pdx})'=e^{\int Pdx}Q & \quad\textrm{by \eqref{eq:3}}\\
 ye^{\int Pdx}=\int e^{\int Pdx}Q dx + C\\
 y=e^{-\int Pdx}\int e^{\int Pdx}Q dx + Ce^{-\int Pdx}\\
\end{array}
\end{displaymath}

Respuesta1

Haga cumplir \displaystyleen la columna de matemáticas y extienda el contenido para que coincida con lo que normalmente obtendría para alignentornos similares:

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{amsmath,array}
\newcommand{\dx}{\mathrm{d}x}
\newcommand{\eqcomment}[1]{\qquad\textrm{#1}}

\begin{document}

\[
  \renewcommand{\arraystretch}{1.5}
  \begin{array}{ >{\displaystyle}c l }
                    y' + Py = Q                                  & \eqcomment{by (1)} \\
           e^{\int P \dx}(y' + Py) = e^{\int P\dx} Q             & \eqcomment{multiply both sides by $I = J = e^{\int P \dx}$} \\
        (ye^{\int P \dx})' = e^{\int P \dx} Q                    & \eqcomment{by (3)} \\
        ye^{\int P \dx} = \int e^{\int P \dx}Q \dx + C           \\
   y = e^{-\int P \dx}\int e^{\int P \dx}Q \dx + Ce^{-\int P\dx}
  \end{array}
\]

\end{document}

Respuesta2

Aquí hay una implementación que mide los comentarios; si no hay superposición, el código centra las ecuaciones como con gather; de lo contrario los centra en el espacio restante.

La tolerancia para el solapamiento es de 1em, pero se puede poner en un valor negativo si vemos que es factible.

Como puede ver, su código empujaría una de las ecuaciones más allá del margen izquierdo (primer ejemplo), pero con una superposición negativa podemos hacer que encaje.

Otro parámetro que se puede configurar es stretch, para permitir un mayor espaciado vertical (el valor predeterminado es 1.2, en el segundo ejemplo está configurado en 1.8).

\documentclass{article}
\usepackage{amsmath,xparse,environ,array}

\usepackage{showframe} % just to see the text block borders

\ExplSyntaxOn
\NewEnviron{gathercomment}[1][]
 {
  \keys_set:nn { gathercomment } { #1 }
  \begin{equation*}
  \gathercomment:V \BODY
  \end{equation*}
 }

\keys_define:nn { gathercomment }
 {
  overlap .dim_set:N = \l__gathercomment_overlap_dim,
  stretch .code:n = \renewcommand{\arraystretch}{#1},
  stretch .initial:n = 1.2,
 }

\seq_new:N \l__gathercomment_lines_seq
\seq_new:N \l__gathercomment_arow_seq
\dim_new:N \l__gathercomment_equations_dim
\dim_new:N \l__gathercomment_comments_dim
\box_new:N \l__gathercomment_equation_box
\box_new:N \l__gathercomment_comment_box

\cs_new_protected:Nn \gathercomment:n
 {
  \seq_set_split:Nnn \l__gathercomment_lines_seq { \\ } { #1 }
  \dim_zero:N \l__gathercomment_equations_dim
  \dim_zero:N \l__gathercomment_comments_dim
  \seq_map_function:NN \l__gathercomment_lines_seq \__gathercomment_measure:n
  % compare the widths
  \dim_compare:nTF
   {
    \l__gathercomment_equations_dim + \l__gathercomment_comments_dim + \l__gathercomment_overlap_dim
    >
    0.5\displaywidth
   }
   {% there would be overlap
    \begin{tabular}
     {
      @{}
      >{$\displaystyle}w{c}{\dim_eval:n {\displaywidth-\l__gathercomment_comments_dim - \l__gathercomment_overlap_dim}}<{$}
      @{\hspace{\l__gathercomment_overlap_dim}}
      w{r}{\l__gathercomment_comments_dim}
      @{}
     }
    \seq_use:Nn \l__gathercomment_lines_seq { \\ }
    \end{tabular}
   }
   {% no overlap
    \begin{tabular}
     {
      @{}
      >{$\displaystyle}w{c}{\displaywidth}<{$}
      @{}
      w{r}{0pt}
      @{}
     }
    \seq_use:Nn \l__gathercomment_lines_seq { \\ }
    \end{tabular}
   }
 }
\cs_generate_variant:Nn \gathercomment:n { V }

\cs_new_protected:Nn \__gathercomment_measure:n
 {
  \seq_set_split:Nnn \l__gathercomment_arow_seq { & } { #1 }
  % measure the half widths of the equations
  \hbox_set:Nn \l__gathercomment_equation_box
   { $\displaystyle \seq_item:Nn \l__gathercomment_arow_seq { 1 }$ }
  \dim_set:Nn \l__gathercomment_equations_dim
   {
    \dim_max:nn
     { \l__gathercomment_equations_dim }
     { \box_wd:N \l__gathercomment_equation_box / 2 }
   }
  % measure the widths of the comments
  \hbox_set:Nn \l__gathercomment_comment_box
   { \seq_item:Nn \l__gathercomment_arow_seq { 2 } }
  \dim_set:Nn \l__gathercomment_comments_dim
   {
    \dim_max:nn
     { \l__gathercomment_comments_dim }
     { \box_wd:N \l__gathercomment_comment_box }
   }
 }

\ExplSyntaxOff

\begin{document}

\begin{gathercomment}
y'+Py=Q & by \eqref{eq:1} \\
e^{\int P\,dx}(y'+Py)=e^{\int P\,dx}Q & multiply both sides by $I=J=e^{\int P\,dx}$ \\
(ye^{\int P\,dx})'=e^{\int P\,dx}Q & by \eqref{eq:3} \\
ye^{\int P\,dx}=\int e^{\int Pdx}Q dx + C \\
y=e^{-\int P\,dx}\int e^{\int P\,dx}Q\,dx + Ce^{-\int P\,dx}
\end{gathercomment}

\begin{gathercomment}[stretch=1.8,overlap=-2em]
y'+Py=Q & by \eqref{eq:1} \\
e^{\int P\,dx}(y'+Py)=e^{\int P\,dx}Q & multiply both sides by $I=J=e^{\int P\,dx}$ \\
(ye^{\int P\,dx})'=e^{\int P\,dx}Q & by \eqref{eq:3} \\
ye^{\int P\,dx}=\int e^{\int Pdx}Q dx + C \\
y=e^{-\int P\,dx}\int e^{\int P\,dx}Q\,dx + Ce^{-\int P\,dx}
\end{gathercomment}


\begin{gathercomment}
abc=def & xyz \\
x=y & xx \\
1=2 \\
xxx=xxxxxxx & x
\end{gathercomment}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada