连接连续方程的环境

连接连续方程的环境

我正在寻找一个可以自动连接连续方程等号的环境。所需的输出是:

在此处输入图片描述

目前,我通过以不方便的方式使用 tikz 和 tikzmark 包来实现这一点。

\begin{align*}
   \phi &\ {\tikzmarknode{NA}=} \left(\frac{4\zeta}{1-z^{2}}\right)^{1/4}\\
        &\ {\tikzmarknode{NB}=} \sqrt{2}\zeta^{\frac{1}{4}}\left(\frac{X}{X-1}\right)^{1/4}\\
        &\ {\tikzmarknode{NC}=} \sqrt{2}\zeta^{1/4}\gamma^{-1}
\end{align*}
\begin{tikzpicture}[remember picture]
   \draw[overlay] (NA) -- (NB);
   \draw[overlay] (NB) -- (NC);
\end{tikzpicture}

编写一个新环境会很有用,它可以自动在 & 字符后添加 tikzpicture 和节点。有没有更简单的方法来实现相同的效果,比如我可以简单地写:

\begin{conteqns}
  \phi &= \left(\frac{4\zeta}{1-z^2}\right)^{1/4}\\
       &= \sqrt{2}\zeta^{1/4}\left(\frac{X}{X-1}\right)^{1/4}\\
       &= \sqrt{2}\zeta^{1/4}\gamma^{-1}
\end{conteqns}

答案1

此示例可能是第一种(略有不同)方法。它创建一个\equal宏和一个计数器。宏放置等号符号,\tikzmarknode并绘制到上一个等号(如果有)的线。显然,计数器对等号/节点进行编号。

编辑:请注意,如果您需要多个这样的环境,则需要重置计数器:

\setcounter{NumberOfEquals}{0}

像这样:

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

\newcounter{NumberOfEquals}
\NewDocumentCommand{\equal}{}
{%
  \mathbin{\tikzmarknode{equal\theNumberOfEquals}{=}}%
  \ifnum\theNumberOfEquals>0%
    \pgfmathtruncatemacro\LastEqual{\theNumberOfEquals-1}%
    \tikz[remember picture,overlay]\draw ([yshift=1pt]equal\theNumberOfEquals.north) -- (equal\LastEqual.south);%
  \fi%
  \stepcounter{NumberOfEquals}%
}

\begin{document}
Just follow the lines:
% If this is not the first use:
\setcounter{NumberOfEquals}{0}
%
\begin{align*}
   \phi & \equal \left(\frac{4\zeta}{1-z^{2}}\right)^{1/4}\\
        & \equal \sqrt{2}\zeta^{\frac{1}{4}}\left(\frac{X}{X-1}\right)^{1/4}\\
        & \equal \sqrt{2}\zeta^{1/4}\gamma^{-1}
\end{align*}
\end{document}

在此处输入图片描述

相关内容