思维导图 tikz 箭头未到达节点

思维导图 tikz 箭头未到达节点

使用以下代码,我得到以下结果

\documentclass[convert,border=2mm,10pt]{standalone}

\usepackage{tikz}
\usepackage{xcolor}
\usetikzlibrary{positioning,mindmap}



\begin{document}
\Large

    \begin{tikzpicture}[thin,rounded corners]
    \node (A1) {$x$};
    \node (A2) [minimum size=0pt,above right=-4.5mm of A1] {\scriptsize $n$};
    \node (A4) [shape=circle,draw,fill=violet!10,align=center,above=1mm of A2,scale=0.20,thin] {-$1$} edge [->,scale=0.2] (A2);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

但我需要这支箭更接近n,类似这样:

在此处输入图片描述

我怎样才能得到类似的结果?提前致谢。

答案1

draw=red如果向节点添加一个A2,你就会看到发生了什么:

显示边界框

这是节点的效果inner sep(也许您将其与minimum size?混淆了)。

\documentclass[convert,border=2mm,10pt]{standalone}
\usepackage{tikz}
\usepackage{xcolor}
\usetikzlibrary{positioning,mindmap}
\begin{document}
\Large
\begin{tikzpicture}[thin,rounded corners]
    \node (A1) {$x$};
    \node (A2) [above right=-2.5 mm of A1, inner sep=0pt] {\scriptsize $n$};
    \node (A4) [shape=circle,draw,fill=violet!10,align=center,above=2mm of A2,scale=0.20,thin] {-$1$} edge [->,scale=0.2] (A2);
\end{tikzpicture}
\end{document}

上述代码片段的输出

但是...你确定要这么做吗?使用tikzmark(并让 LaTeX 构建公式,这是它做得很好的事情)会更好一些...例如

\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\Large
\[
    x^{\tikzmarknode[inner sep=1pt]{myn}{n}}
\]
\begin{tikzpicture}[overlay, remember picture]
    \draw [<-] (pic cs:myn) ++(0, 0.2) -- ++(0,.5)
        node[shape=circle,draw,fill=violet!10, scale=0.2]{$-1$};
\end{tikzpicture}
\end{document}

它仍然需要特别指定调整距离,并且是tikz一个覆盖,所以你必须小心创建空间,但是......

使用 tikzmark 输出

相关内容