带箭头的方程

带箭头的方程

我的目的是创建与下面一个例子类似的等式(我更喜欢第二个)。

在此处输入图片描述

应该有一个从 JKL 到 DEF 和 GHI 以及从 GHI 到 DEF 的箭头。

无需使用对齐或方程式环境。任何可行的方法都值得赞赏。干杯。

答案1

节点

基于明显窃取自JLDiaz 的回答

\documentclass{article}
\usepackage{amsmath, amssymb}
\usepackage{tikz}
\usetikzlibrary{arrows,matrix,positioning}% For nice arrow tips
\begin{document}

\tikzset{
    mymatrix/.style = {
        matrix of math nodes,
        nodes={minimum width=6ex},
    }
}

\begin{tikzpicture}
    \matrix[mymatrix, name=M1]{
                \mathrm{ABC}    &   =   &   \mathrm{DEF}    &   +   &   \mathrm{GHI}    &   +   &   \mathrm{JKL} \\
    };
   \draw [red, >=stealth, ->, shorten <= 3pt, shorten >=3 pt]
     (M1-1-7.south) to[bend left=45] (M1-1-5.south);
   \draw [red, >=stealth, ->, shorten <= 3pt, shorten >=3 pt]
     (M1-1-5.south) to[bend left=45] (M1-1-3.south);
   \draw [red, >=stealth, ->, shorten <= 3pt, shorten >=3 pt]
     (M1-1-7.south) to[bend left=60] (M1-1-3.south);
\end{tikzpicture}

\end{document}

答案2

另一种尝试是将tikzmark定义为每个术语是一个节点,并简单地将节点与\draw (A) to[bend left=angle] (B);

在此处输入图片描述

\newcommand\tikzmark[1]{%
\tikz[remember picture,baseline=(#1.base)]  
\node[inner sep=0,outer sep=3pt] (#1) {#1};
 }

代码

\documentclass[border=2cm]{standalone}
\usepackage{amsmath}
\usepackage{tikz}
%\usepackage[margin=1cm]{geometry}

\newcommand\tikzmark[1]{%
\tikz[remember picture,baseline=(#1.base)]  
\node[inner sep=0,outer sep=3pt] (#1) {#1};%
}

\begin{document}

\tikzmark{ABC} = \tikzmark{DEF} + \tikzmark{GHI} + \tikzmark{JKL}

\begin{tikzpicture}[remember picture,overlay,>=stealth]
\draw[->,red] (GHI) to[bend left =60]  (DEF);
\draw[->,red] (JKL) to[bend left =60]  (GHI);
\draw[->,red] (JKL) to[bend left =60]  (DEF);

\draw[->,blue] (GHI.north) -- ++(0,12pt)  -| (DEF.north);
\draw[->,blue] (JKL.north) -- ++(0,12pt)  -| (GHI.north);
\end{tikzpicture}%

相关内容