我试图在我的方程式上得到这种效果:
这是我的代码:
\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}
一些评论:
- 如果箭头应该指向底部,那么您需要
out=270
。 - 如果箭头应该从左侧进入标签,那么您需要
in=180
(两个数字都是逆时针度数) - 要将标签放在右侧,您应该选择 270 到 360 之间的一个方向(我在下面选择了 310)。
- 为了使下方标签直接位于上方标签下方,我为第一个标签命名并添加了坐标计算
($...$)
;有关更多信息,请参阅 tikz 手册。 - 标签不应用 括起来
$
,因为标签由文本而不是数学组成。
版本 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}