答案1
tikzmark
这是一个没有使用/ /amsmath
的TikZ 解决方案。\overset
\underset
\overunderset
虽然这还不能产生漂亮的云,但它是进一步定制的基础,例如,像海科·奥伯迪克。
目前,我决定使用圆角矩形、灰色和较小的文本。默认情况下,amsmath
设置了上移和下移,\scriptstyle
我们也可以这样做,但我认为它看起来不太好。
代码
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\tikzset{
cloud eq/.cd,
edge/.style={rounded corners=+2pt, arrows=Latex[round]-},
c/.style={cloud eq/edge,anchor=north,to path={--++( +0pt,+-2ex)\tikztonodes}},
l/.style={cloud eq/edge,anchor=east, to path={|-++(+-1ex,+-2ex)\tikztonodes}},
r/.style={cloud eq/edge,anchor=west, to path={|-++( +1ex,+-2ex)\tikztonodes}},
node/.style={at end, draw, rounded corners=+1pt}
}
\newcommand*\tikzoverunderInternal[3]{%
\tikz[trim left=+0pt, trim right=+0pt]
\draw[cloud eq/#1, #2] (0,0) to node[cloud eq/node] {$#3$}();}
\NewDocumentCommand\tikzUnderset{ O{l} m }{
\underset{\tikzoverunderInternal{#1}{}{#2}}}
\NewDocumentCommand\tikzOverset { O{l} m }{
\overset{\tikzoverunderInternal{#1}{yscale=-1.2}{#2}}}
\NewDocumentCommand\tikzOverUnder {O{l} m O{r} m}{
\overunderset{
\tikzoverunderInternal{#3}{yscale=-1.2}{#4}}{
\tikzoverunderInternal{#1}{}{#2}}}
\usepackage{blindtext}
\tikzset{
cloud eq/node/.append style={scale=.7},
cloud eq/edge/.append style=gray}
\begin{document}
\blindtext
\begin{align}
a^2 & \tikzUnderset{h = b \cdot \sin\alpha}{=}
(b \cdot \sin \alpha)^2 \tikzOverset[r]{a+b}{+} n^2 \\
c^2 & \tikzUnderset[c]{\vphantom{\int_i} E=mc^2}{=}
a^2 + b^2 \tikzOverUnder[c]{\int_i e^i}
[r, overlay]{a^2 >0, b^2>0}{>} 0
\end{align}
\blindtext
\end{document}
输出
答案2
你可以使用这个命令,我使用了一些代码,有人在我提出的一个问题中帮助了我。方程式之间的数学注释
这是我根据帖子做出的命令:
\NewDocumentCommand{\umathnote}{ mm }
{
\overset % ❶
{% The annotation goes above
\textcolor{black!20!white}{\hbox to 0pt{\hss % ❷
$ % return to math mode
\begin{array}{c} % ❸
\displaystyle #2\\ % ❹
\Big\downarrow % ❺
\end{array}
$
\hss}
}
}
{#1} %
}
\NewDocumentCommand{\dmathnote}{ mm }
{
\underset % ❶
{% The annotation goes above
\textcolor{black!20!white}{\hbox to 0pt{\hss % ❷
$ % return to math mode
\begin{array}{c} % ❸
\Big\uparrow\\ % ❹
\displaystyle #2 % ❺
\end{array}
$
\hss}
}
}
{#1} %
}
您可以在此处看到结果: 数学注释命令