我如何在这样的单行方程上创建流向箭头?

我如何在这样的单行方程上创建流向箭头?

我想复制这样的箭头:

在此处输入图片描述

我没有这方面的专业知识tikz,所以我真的想不出解决方案。有什么想法可以实现吗?

该方程的 MWE 为:

\begin{equation}
I_{hkl} \equiv I_{\bar{h} \bar{k} \bar{\ell}} \equiv I_{\bar{h} k \ell} \equiv I_{h \bar{k} \bar{\ell}} \equiv I_{h \bar{k} \ell} \equiv I_{\bar{h} k \bar{\ell}} \equiv I_{h k \bar{\ell}} \equiv I_{\bar{h} \bar{k} \ell}
\end{equation}

答案1

作为起点:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{ext.paths.ortho,  % -|- and |-| path operations
                quotes,
                tikzmark,
                }
\tikzset{
 is/.style = {inner ysep=2pt},
lbl/.style = {anchor=#1, inner sep=1pt, align=center, 
              font=\footnotesize\linespread{0.84}\selectfont,}
        }

\begin{document}
\begin{equation}
I_{\tikzmarknode[is]{A}{h}kl} 
    \equiv I_{\tikzmarknode[is]{B}{\bar{h}} \bar{k} \bar{\ell}} 
    \equiv I_{\tikzmarknode[is]{C}{\bar{h}} \tikzmarknode[is]{D}{k} \ell}
    \equiv I_{h \tikzmarknode[is]{E}{\bar{k}} \bar{\ell}}
    \equiv I_{h \bar{k} \ell} 
    \equiv I_{\bar{h} k \bar{\ell}} 
    \equiv I_{h k \bar{\ell}} 
    \equiv I_{\bar{h} \bar{k} \ell}
\end{equation}
\begin{tikzpicture}[remember picture, overlay]
\draw[->]           ([xshift=+1pt] A) |-|[distance=5mm] (B.south) node[lbl=center, pos=0.5] {text\\text};
\draw[ ->, teal]    ([xshift=-1pt] A) |-|[distance=9mm] (C.south) node[lbl=south, pos=0.6] {text};
\draw[<->, teal]    (D.south) to[bend right=45, "text" lbl=north] (E.south);
\end{tikzpicture}
\end{document}

在此处输入图片描述

附录:
更完整的建议。现在绘制所有箭头,并注意用箭头标记图像的空间。由于图像的质量,节点的位置可能不正确。我还留给您用实际内容替换“文本”一词。

\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{ext.paths.ortho,  % -|- and |-| path operations
                quotes,
                tikzmark,
                }
\tikzset{
 is/.style = {inner ysep=2pt},
lbl/.style = {anchor=#1, inner sep=1pt, align=center,
              font=\footnotesize\linespread{0.84}\selectfont},
lbl/.default=south
        }

\begin{document}
\lipsum[66]
\begin{equation}
\tikzmarknode[is]{a}{I}_{\tikzmarknode[is]{b}{h}kl}
    \equiv I_{\tikzmarknode[is]{c}{\bar{h}} \bar{k} \bar{\ell}}
    \equiv I_{\tikzmarknode[is]{d}{\bar{h}} \tikzmarknode[is]{e}{k} \ell}
    \equiv I_{h \tikzmarknode[is]{f}{\bar{k}} \bar{\ell}}
    \equiv \tikzmarknode[is]{g}{I}_{h \bar{k} \tikzmarknode[is]{h}{\ell}}
    \equiv I_{\bar{h} k \tikzmarknode[is]{i}{\bar{\ell}}}
    \equiv \tikzmarknode[is]{j}{I}_{h k \tikzmarknode[is]{k}{\bar{\ell}}}
    \equiv I_{\bar{h}\bar{k} \tikzmarknode[is]{l}{\ell}}
\end{equation}
    \begin{center}  % <--- for space of image
\begin{tikzpicture}[remember picture, overlay]
\draw[ ->]          ([xshift=+1pt] b) |-|[distance=5mm]  (c.south) node[lbl, pos=0.5] {FL};
\draw[ ->, teal]    ([xshift=-1pt] b) |-|[distance=7mm]  (d.south) node[lbl, pos=0.6] {text};
\draw[ ->, purple]  ([xshift=+1pt] a) |-|[distance=10mm] (g.south) node[lbl, pos=0.6] {text};
\draw[ ->, purple]  ([xshift=-1pt] a) |-|[distance=12mm] (j.south) node[lbl, pos=0.7] {text};
%
\draw[<->, blue]    (e.south) to[bend right=45, "FL" lbl=north] (f.south);
\draw[<->, blue]    (h.south) to[bend right=45, "FL" lbl=north] (i.south);
\draw[<->, blue]    (k.south) to[bend right=45, "FL" lbl=north] (l.south);
\end{tikzpicture}
\vspace{3ex}        % <--- additional space for image
    \end{center}
where FL means Freadel's law?

\lipsum[66]
\end{document}

在此处输入图片描述

笔记: 为了最终获得代码的外观,您需要编译 MWE 至少三次。

相关内容