答案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
。但是,如果其中一个字母是下划线部分的一部分,则此方法不起作用。
另一种方法(但非常类似于这些) 使用tikzmark
s 可以是:
\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}