Quiero rehacer el entorno \begin{align} \end{align} con algo de estilo y no tengo idea de cómo puedo hacerlo. Bueno, para ser precisos, quiero que sucedan dos cosas específicas en este entorno:
Quiero que cada salto de línea agregue una línea vertical donde se rompe el comando, es decir:
Cuando se trata de una operación distinta a la igualdad, quiero que se vea así cuando hay un salto de línea:
No tengo idea de cómo empezar a desarrollar código que haga esto... Quizás usar tikz debería ser una alternativa más simple, pero no sé cómo implementarlo.
En ambas imágenes que publiqué, hice las líneas dibujando a mano.
Respuesta1
Aquí hay una versión rápida tikzmark
(aunque sin la biblioteca porque no necesitamos ninguna técnica avanzada que tenga para ofrecer).
Cambie outer ysep
para ajustar el espacio en blanco entre =
y la línea real. ( inner ysep
Contribuirá al cuadro delimitador y podría cambiar la ubicación vertical de las líneas si es demasiado grande).
Código
\documentclass[varwidth]{standalone}
%\documentclass{article}
\usepackage{amsmath, tikz}
\newcommand*\eqlineset{\pgfqkeys{/eqlines}}
\eqlineset{
picture/.style={baseline, remember picture},
line/.style={thick, draw=orange, line cap=round},
node/.style={
minimum size=+0pt, inner sep=+0pt, outer ysep=+.3333em, anchor=base,
name=tma\thetikzmarkalign},
}
\newcounter{tikzmarkalign}
\makeatletter
\AtBeginEnvironment{align}{%
\setcounter{tikzmarkalign}{0}%
\newcommand*\noeq{\hphantom{{}={}}}%
\newcommand*\eq{
\ifnum\value{tikzmarkalign}=0
\mathrel{\tikz[/eqlines/picture]\node[/eqlines/node]{$=$};}
\else
\mathrel{
\begin{tikzpicture}[/eqlines/picture]
\node[/eqlines/node] (tma\thetikzmarkalign) {$=$};
\unless\ifmeasuring@
\path[/eqlines/line, overlay] (tma\thetikzmarkalign)
-- (tma\pgfinteval{\thetikzmarkalign-1});
\fi
\end{tikzpicture}
}
\fi
\stepcounter{tikzmarkalign}
}%
}
\makeatother
\begin{document}
\begin{align}
Lorem & \eq Ipsum \\
& \eq dolor sit amet,\\
& \noeq + \frac{consetetur sadipscing elitr}{sed diam nonumy} \\
& \eq eirmod tempor invidunt.
\end{align}
\end{document}
Producción
Respuesta2
Como se indica en los comentarios, puede colocar los signos iguales \tikzmarknodes
(agregarlos {}
para lograr un espacio adecuado) y luego usarlos tikz
para dibujar líneas entre estos nodos (que pueden abarcar varias líneas):
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{align}
x & \tikzmarknode{eq1}{{}={}} a^2 + 2ab + b^2 \\
& \tikzmarknode{eq2}{{}={}} (a + b)^2
\end{align}
\begin{tikzpicture}[remember picture, overlay]
\draw[very thick, orange, shorten >=2pt, shorten <=2pt] (eq1) -- (eq2);
\end{tikzpicture}
\end{document}