Flecha entre líneas en el entorno de alineación

Flecha entre líneas en el entorno de alineación

Quiero agregar algunos textos entre líneas en elalinear*entorno como este:

ingrese la descripción de la imagen aquí

Probé el siguiente código:

\documentclass{article}
\usepackage{tikz,amsmath}
\usetikzlibrary{tikzmark}

\begin{document}
\begin{align*}
abc &= def + def + def + def \tikzmark{a}\\
    &= ghi + ghi \tikzmark{b}\\
    &= jkl\tikzmark{c}\\
    &= mno + mno\tikzmark{d}
\end{align*}
\begin{tikzpicture}[remember picture, overlay]
\draw[->] ([xshift=2mm] pic cs:a)
    to [out=0,in=0 ] 
     node[midway,anchor=west,xshift=3mm] {\footnotesize defitnition}
    ([xshift=2mm] pic cs:b);
\draw[->] ([xshift=2mm] pic cs:c)
    to [out=0,in=0 ] 
     node[midway,anchor=west,xshift=3mm] {\footnotesize blablabla}
    ([xshift=2mm] pic cs:d);
\end{tikzpicture}
\end{document}

pero solo da

ingrese la descripción de la imagen aquí

Hay dos problemas:

(i) Quiero que cada flecha esté alineada verticalmente

(ii) Como voy a utilizar esta flecha con mucha frecuencia, quiero definirla como una especie de comando nuevo.

¿Qué puedo hacer?

Respuesta1

Esto se puede hacer usando el witharrowspaquete.

ingrese la descripción de la imagen aquí

Aquí está el código:

\documentclass{article}

\usepackage{witharrows}

\begin{document}

\[
\begin{WithArrows}
abc &= def+def+def+def \Arrow[tikz={font={\mdseries}}]{definition} \\
 &= hgi+hgi\\
 &= jkl\Arrow[tikz={font={\mdseries}}]{blablabla}\\
 &=mno+mno
\end{WithArrows}
\]

\end{document}

Tenga en cuenta que es posible que tenga que compilar dos veces cuando utilice witharrows.

Ve a ladocumentación del paqueteen CTAN para ver las muchas opciones de uso, incluidas fuentes, puntas de flecha, curvatura, color, etc.

Respuesta2

Solo para completar: con tikzmark, que estás usando, no hay problema en completar el código para dar

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{align*}
abc &= def + def + def + def \tikzmarknode{a}{}\\
    &= ghi + ghi \tikzmarknode{b}{}\\
    &= jkl\tikzmarknode{c}{}\\
    &= mno + mno\tikzmarknode{d}{}
\end{align*}
\begin{tikzpicture}[remember picture, overlay,font=\footnotesize]
\draw[-latex] ([xshift=2mm]a.east) coordinate (r)
    to [out=0,in=0,looseness=2] 
     node[midway,anchor=west,xshift=3mm] {definition}
    (b -| r);
\draw[-latex] (c-|r)
    to [out=0,in=0,looseness=2] 
     node[midway,anchor=west,xshift=3mm] {blablabla}
    (d-|r);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada