修复从公式到文本的箭头

修复从公式到文本的箭头

我试图在我的方程式上得到这种效果:

在此处输入图片描述

这是我的代码:

\documentclass{book}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{mathptmx}
\usepackage{calc}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc,,arrows,shapes,decorations.pathreplacing}
\tikzset{every picture/.style={remember picture}}

\begin{document}

\begin{equation*}
\tikz[baseline]{\node(d13) {$\hat{\underline{\theta}}_{k+1}$}} = \tikz[baseline]{\node(d14){$\hat{\underline{\theta}}_{k}$}} + P_{k+1}\dfrac{h_{k+1}}{\sigma^{2}_{k+1}}(y_{k+1}-h'_{k+1}\hat{\underline{\theta}}_{k})
\end{equation*}

\begin{tikzpicture}[remember picture,overlay]{
   \draw[red,thick,->] (d13) to [in=90,out=235] +(240:2cm) node[anchor=west,text = black,] {$current~estimate$};
    \draw[red,thick,->] (d14) to [in=90,out=235] +(290:1cm) node[anchor=west,text = black,] {$previous~estimate$};}
\end{tikzpicture}

\end{document}

答案1

版本 1:

我不知道您到底想改变什么,但也许以下内容可以作为进一步改进的起点:

\begin{equation*}
\tikz[baseline]{\node(d13) {$\hat{\underline{\theta}}_{k+1}$}} = \tikz[baseline]{\node(d14){$\hat{\underline{\theta}}_{k}$}} + P_{k+1}\dfrac{h_{k+1}}{\sigma^{2}_{k+1}}(y_{k+1}-h'_{k+1}\hat{\underline{\theta}}_{k})
\end{equation*}

\begin{tikzpicture}[remember picture,overlay]{
   \draw[red,thick,->] (d14) to [in=180,out=270] +(310:2cm) node[anchor=west,text = black,] (label1) {previous estimate};
   \draw[red,thick,->] (d13) to [in=180,out=270] ($(label1.west)-(0,1cm)$) node[anchor=west,text = black] {current estimate};}
\end{tikzpicture}

输出

一些评论:

  1. 如果箭头应该指向底部,那么您需要out=270
  2. 如果箭头应该从左侧进入标签,那么您需要in=180(两个数字都是逆时针度数)
  3. 要将标签放在右侧,您应该选择 270 到 360 之间的一个方向(我在下面选择了 310)。
  4. 为了使下方标签直接位于上方标签下方,我为第一个标签命名并添加了坐标计算($...$);有关更多信息,请参阅 tikz 手册。
  5. 标签不应用 括起来$,因为标签由文本而不是数学组成。

版本 2:

--可以使用(或使用to和不使用in=nor )绘制直线out=,并且可以使用 来将角圆化rounded corners(可选参数确定圆化的半径;请参阅手册)。除了指定附加节点外,您还可以使用路径规范|-来指定先垂直然后水平的路径。

\begin{equation*}
\tikz[baseline]{\node(d13) {$\hat{\underline{\theta}}_{k+1}$}} = \tikz[baseline]{\node(d14){$\hat{\underline{\theta}}_{k}$}} + P_{k+1}\dfrac{h_{k+1}}{\sigma^{2}_{k+1}}(y_{k+1}-h'_{k+1}\hat{\underline{\theta}}_{k})
\end{equation*}

\begin{tikzpicture}[remember picture,overlay]{
   \draw[red,thick,->,rounded corners] (d14) |- ++ (1cm,-2cm) node[anchor=west,text = black,] (label1) {previous estimate};
   \draw[red,thick,->,rounded corners] (d13) |- ($(label1.west)-(0,1cm)$) node[anchor=west,text = black] {current~estimate};}
\end{tikzpicture}

输出 2

相关内容