公式中兩個符號之間如何寫箭頭?

公式中兩個符號之間如何寫箭頭?

我該如何在公式中的兩個符號之間寫上箭頭?

我目前正在做一份關於關聯代數和資料庫規範化的報告,我需要做的是表示同一個表中的元素之間的依賴關係,如下所示:

在此輸入影像描述

請注意,該箭頭也可以從 a 到 d,也可以是同一表達式中的多個箭頭,例如 a 到 e、a 到 d 和 c 到 e。

有沒有辦法做到這一點?

答案1

解決方案pstricks:將要連結的元素定義為節點,然後新增節點連接:

 \documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

    \begin{document}

\[ \begin{pspicture}
 T_{3,1}(\Rnode{d}{d}, \Rnode{e}{e}, \Rnode{a}{a}, \Rnode{c}{c})
 \psset{linewidth=0.4pt, linejoin=1, arrows=->, arrowinset=0.15, angle=90, nodesep=1pt, arm=1.1ex}
 \ncbar[offsetA=1pt]{a}{e} \ncbar[offsetA=-1pt, arm=1.3ex, nodesepB=-1pt]{a}{d}\ncbar[angle=-90]{c}{e}
 \end{pspicture} \]

  \end{document} 

在此輸入影像描述

答案2

純 TikZ 解決方案:

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\newcommand{\mypoint}[2]{\tikz[remember picture]{\node[inner sep=0pt](#1){$#2$};}}

\begin{document}
    \[
    T_{3,1}(d,\mypoint{tohere}{e},\mypoint{fromhere}{a},c)
    \]

    \tikz[overlay, remember picture]{\draw[-{Stealth[round]}] ([yshift=2pt]fromhere.north) -- ++(0,7pt) -| ([yshift=2pt]tohere.north);}

\end{document}

在此輸入影像描述

答案3

如果您只想在兩個相鄰字母上放置箭頭,則可以使用\overset。但如果其中一個字母是帶下劃線的部分的一部分,則這將不起作用。

另一種方法(但與這些) 使用tikzmarks 可以是:

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

\begin{document}

$T_{3,1}(d,\overset{\curvearrowleft}{e,a},c)$

\bigskip

$T_{3,1}(\underline{d,e\tikzmark{e}},a\tikzmark{a},c)$
\tikz[overlay,remember picture]{ \draw[<-] ([xshift=-.5ex,yshift=1.5ex]pic cs:e) to[bend left=60] ([xshift=-.5ex,yshift=1.5ex]pic cs:a); }

\bigskip

$T_{3,1}(\underline{d\tikzmark{d},e},a\tikzmark{aa},c)$
\tikz[overlay,remember picture]{ \draw[<-] ([xshift=-.5ex,yshift=2ex]pic cs:d) to[bend left] ([xshift=-.5ex,yshift=2ex]pic cs:aa); }


\end{document}

在此輸入影像描述

相關內容