数学注释命令

数学注释命令

我制作了两个新命令来完成第一个命令(\mathnote)的功能,但做了一些更改。

新的命令 (\mathnotee) 正是我想要的,但它不起作用,我不知道为什么,我希望我的命令 (\mathnotee) 可以在数学模式下工作,您可以选择箭头指向的位置以及出现的注释,而无需定义之前的内容和之后的内容(就像 \mathnote 那样),因为如果我想在一个方程式中多次执行此操作,那就非常困难了。感谢您的帮助。

\documentclass{book}

\usepackage{amsmath,amssymb}
\usepackage{nccmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{tcolorbox}
\tcbuselibrary{most}
\newtcolorbox[auto counter,
              number within=chapter,
              list inside=myexercise
              ]{myexercise}[1][]{%
    enhanced,
    title={{\begin{minipage}{\linewidth}\textbf{Ejercicio}~\thetcbcounter.~\textit{#1}\end{minipage}}},
    halign title=left,
    sharp corners,
    colback=white,
    coltitle=black,
    colbacktitle=white,
    boxrule=0pt,frame hidden,
    overlay unbroken={\draw[black,double] (interior.north west)--(segmentation.west);},
    boxed title style={%
      colframe=white, 
      boxrule=0pt,
      colback=white,
      left=0pt,
      right=0pt},
    attach boxed title to top left={xshift={-5pt}},
    underlay unbroken={\draw[help lines,step=3.8mm,black!20!white](interior.south west) grid (segmentation.east);},
    lower separated=false, 
    before lower = {\tcbsubtitle[colback=white, opacityback=0, colframe=black, opacityframe=0, boxrule=1pt, height=1cm,  width=2.55cm, valign=center]{\textbf{Solution:}}}
}

\newcommand{\mathnotee}[2]{
\;
\tikzmarknode{e1}{#1}
\;
\begin{tikzpicture}[overlay,remember picture]
\draw[stealth-,black,thick] (e1)+(90:.2)--+(90:.7) node[above=-2mm]{#2}; 
\end{tikzpicture}
}

\newcommand\mathnote[4]{
\[#1\;
\tikzmarknode{e1}{#2}
\;#3
\]
\begin{tikzpicture}[overlay,remember picture]
\draw[stealth-,black,thick] (e1)+(90:.2)--+(90:.7) node[above=-2mm]{#4}; 
\end{tikzpicture}
}

\usepackage{witharrows}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\mathnote{A(r)=\displaystyle\int_{V'}\dfrac{\mu_0}{4\pi}\dfrac{M(r')\times \hat{R} d\tau'}{R^2}}{=}{\dfrac{\mu_0}{4\pi}\int_{V'}M(r')\times\nabla'\left(\dfrac{1}{R}\right)d\tau'}{$\dfrac{\hat R}{R^2}=\nabla'\left(\dfrac{1}{R}\right)$}

$A(r)=\displaystyle\int_{V'}\dfrac{\mu_0}{4\pi}\dfrac{M(r')\times \hat{R} d\tau'}{R^2}\mathnotee{=}{\dfrac{\hat R}{R^2}=\nabla'\left(\dfrac{1}{R}\right)}\dfrac{\mu_0}{4\pi}\int_{V'}M(r')\times\nabla'\left(\dfrac{1}{R}\right)d\tau'$


\end{document}

第一个方程是 \mathnote 所做的(但您需要在数学模式之外,并定义箭头前后的内容),第二个方程是 \mathnotee 所做的(它不起作用)。

在此处输入图片描述

另外,当我在一个等式中多次使用它时,我的意思如下:

在此处输入图片描述

这个问题基于我之前提出的问题:方程式之间的数学注释

答案1

我认为实现此目的的方法是根本不使用 TikZ 的东西,而是定义一个\mathnote带有两个参数的命令:第一个参数是要注释的关系,第二个参数是注释。对于注释,我们可以将向下箭头和注释堆叠在关系上方。

\NewDocumentCommand{\mathnote}{ mm }
   {
     \overset % ❶
        {% The annotation goes above
          \hbox to 0pt{\hss % ❷
             $ % return to math mode
               \begin{array}{c} % ❸
                   \displaystyle #2\\ % ❹
                   \downarrow % ❺
               \end{array}
             $
          \hss}
        }
        {#1} % 
   }

❶的使用\overset假定我们已经加载了amsmathmathtools

我们将注释放在一个宽度为 0pt 的框中,\hss并在其前后添加 ❷,这样我们就可以居中注释,并且注释不占宽度,因此不会影响下面的间距。这意味着如果两个注释可能重叠,您就得自己处理了。

注释本身将设置为单列array❸,以便我们可以轻松地将其与箭头堆叠。其他方法也是可行的,但由于我是盲目地这样做并且没有测试它,所以我选择了最简单的路线。

注意\displaystyle❹确实不是采取一种论点,并将对整个细胞产生影响。

我放入的箭头 ❺ 会比您指定的要细一点。如果您愿意,放入 TikZ 箭头并不难。同样,如果您想要颜色,应用\textcolor到里面的整个数学\hbox就可以实现。

相关内容