![連接連續方程式的環境](https://rvso.com/image/472720/%E9%80%A3%E6%8E%A5%E9%80%A3%E7%BA%8C%E6%96%B9%E7%A8%8B%E5%BC%8F%E7%9A%84%E7%92%B0%E5%A2%83.png)
我正在尋找的是一個連續方程式的等號自動連接的環境。期望的輸出是:
目前,我透過以不方便的方式使用 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}