tikzpicture から LaTex の方程式に矢印の先を向けるにはどうすればよいでしょうか?

tikzpicture から LaTex の方程式に矢印の先を向けるにはどうすればよいでしょうか?

次のようなページを作成できます。 スクリーンショット
次のコードを使用します。

\documentclass{article}


\usepackage{tikz}
\usetikzlibrary{fit, calc} 
\usepackage{fontspec}
\newfontfamily{\myfont}{Arial}
\usepackage{marginnote}
\newcommand\commentary[2]{%
\tikz[remember picture, baseline={(here.base)}] \node (here) {#1};%
\marginpar{
\begin{tikzpicture}[remember picture, overlay]
 \begin{scope}[rotate=(rand*10),shift={(1.8,0)}]
    \node [text width=3cm, align=center, transform shape] (text) at (0, 0)   {\footnotesize \myfont #2};
    \draw [transform shape, thick] plot [smooth, tension=0.8] coordinates {
      ($(text.south) + (-10pt, -5pt) + (rand * 2pt, rand * 2pt)$) 
      ($(text.south east) + (-5pt, 5pt)$)
      ($(text.north east) + (rand * 2pt - 5pt, rand * 2pt)$)
      ($(text.north west) + (rand * 2pt + 5pt, rand * 2pt)$)
      ($(text.south west) + (rand * 2pt + 5pt, rand * 2pt)$)
      ($(text.south) + (10pt, -3pt) + (rand * 2pt, rand * 2pt)$)
    };
\end{scope}
\draw[->, thick] ($(text.south west) - (-10pt, 5pt)$)  to [bend left=20] ($(here.south east) - (3pt, 2pt)$);
\end{tikzpicture}
 }
 }

\begin{document}
 The equation of a plane through $(x_0,y_0,z_0)$ \commentary{is:}{The tangent   plane: $\nabla f(\mathbf{x})\cdot (\mathbf{x}-\mathbf{x}_0)=0$.}
$$a(x-x_0)+b(y-y_0)+c(z-z_0)=0$$
 The vector $(a,b,c)$ is normal to the plane. 


 \end{document}

1) 矢印の先端をテキスト内の単語 (この例では「is :」) ではなく、方程式 (たとえば、表示質問の + 記号) に配置するにはどうすればよいでしょうか。

(2)テキストバブルを1cm上または下へ移動させるにはどうすればいいでしょうか?

答え1

コマンドを使用する

\tikznode[..options..]{..label..}{..contents..}

矢印が指す内容をマークします。この場合、次の式になります。

\tikznode{equation}{$a(x-x_0)+b(y-y_0)+c(z-z_0)=0$}

矢印とテキストを追加するには、

\begin{tikzpicture}[remember picture,overlay]
  ... tikz code using the label defined by \tikznode ...
\end{tikzpicture}

\tikznodeプリアンブルでコマンドを次のように定義します。

\usepackage{tikz}
\newcommand\tikznode[3][]%
   {\tikz[remember picture,baseline=(#2.base)]
      \node[minimum size=0pt,inner sep=0pt,#1](#2){#3};%
   }

位置に関する情報が全体に伝わるまで、LaTeX を少なくとも 2 回実行する必要があります。

楕円を右端に配置するには、まず現在のページ上で右端の3cm左にある点を計算します。

\path let \p1=($(current page.east)-(3,0)$) in

これを使用して、楕円の中心の位置を、ノードと同じ水平レベルでequation下/上に定義します\p1

(equation-|\p1) node [ellipse,...] (remark) {...};

オプションを使用して、たとえばノードを 1cm 上にシフトできるようになりましたyshift

(equation-|\p1) node [ellipse,yshift=1cm,...] (remark) {...};

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes,calc}

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

\begin{document}
The equation of a plane through $(x_0,y_0,z_0)$ is:
\[ \tikznode{equation}{$a(x-x_0)+b(y-y_0)+c(z-z_0)=0$} \]
 The vector $(a,b,c)$ is normal to the plane.

\begin{tikzpicture}[remember picture,overlay]
  \path let \p1=($(current page.east)-(3,0)$) in (equation-|\p1)
    node [ellipse,draw,align=center,rotate=30,yshift=1cm] (remark)
     {The tangent plane:\\
      $\nabla f(\mathbf{x})\cdot (\mathbf{x}-\mathbf{x}_0)=0$.%
     };
  \draw[<-,shorten <=2pt] (equation) to[bend left=10] (remark);
\end{tikzpicture}
\end{document}

関連情報