描述方程推导步骤的弯曲箭头

描述方程推导步骤的弯曲箭头

在 LaTeX 中可以实现这样的事情吗?

在此处输入图片描述

我想要一个从第一行指向另一行的弯曲箭头,并附上一个表示所用方程的方程编号。我希望能够手动指定使用的方程,例如

答案1

这是改编自这个答案

确保已加载以下包:

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

并在你的序言中添加以下定义:

\newcommand\sidecomment[5][0.1]%
  {\begin{tikzpicture}[remember picture,overlay]
   \draw[-stealth]
     ($({pic cs:#4}|-{pic cs:#2})+(#1,0)$)
     .. controls +(0.2,-0.05) and +(0.2,0.1) ..
     node[right,align=left]{#5}
     ($({pic cs:#4}|-{pic cs:#3})+(#1,0.1)$);
   \end{tikzpicture}%
  }

在希望箭头开始和结束的行末添加标记,使用

\tikzmark{name of mark}

然后你可以使用命令

\sidecomment[offset]{<start mark>}{<end mark>}{<alignment mark>}{<text>}

绘制一个从 到 的箭头,start markend mark标有text。要垂直对齐箭头的起点和终点,请另外使用这两个标记中最右边的alignment markoffset是一个可选参数,允许将箭头的起点和终点向右移动相同的量;它是一个数字x,以厘米为单位给出 x 偏移量。默认值为0.1,即\sidecomment{a}{b}{c}{d}与 相同\sidecomment[0.1]{a}{b}{c}{d},这意味着箭头的起点和终点位于标记右侧 1 毫米处。

请注意,您必须运行两次 LaTeX 才能获得正确的位置。

下面的文档是根据下面的代码排版的。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\usepackage{amsmath}
\newcommand\sidecomment[5][0.1]%
  {\begin{tikzpicture}[remember picture,overlay]
   \draw[-stealth]
     ($({pic cs:#4}|-{pic cs:#2})+(#1,0)$)
     .. controls +(0.2,-0.05) and +(0.2,0.1) ..
     node[right,align=left]{#5}
     ($({pic cs:#4}|-{pic cs:#3})+(#1,0.1)$);
   \end{tikzpicture}%
  }
\begin{document}
\begin{align*}
3\cdot(-4) &=-12\tikzmark{a}\\
2\cdot(-4) &=-8\tikzmark{b}\\
1\cdot(-4) &=-4\tikzmark{c}\\
0\cdot(-4) &=0\tikzmark{d}
\end{align*}
\sidecomment{a}{b}{a}{step 1}
\sidecomment{b}{c}{a}{step 2}
\sidecomment{c}{d}{a}{step 3}
\end{document}

答案2

完成两个相邻的堆栈。我通过将 AMS 箭头 旋转\curvearrowright90 度来获得箭头。

\documentclass{article}
\usepackage{tabstackengine,amssymb,graphicx}
\TABstackMath
\stackText
\newcommand\ldsar{\,\raisebox{-2pt}{\rotatebox[origin=bottom]{-90}{$\curvearrowright$}}\,}
\setstackgap{L}{1.1\baselineskip}
\begin{document}
\[
\alignCenterstack{
3\cdot(-4) =& -12\\
2\cdot(-4) =& -8\\
1\cdot(-4) =& -4\\
0\cdot(-4) =& 0
}
\Centerstack[l]{
\ldsar step 1\\
\ldsar step 2\\
\ldsar step 3
}
\]
\end{document}

在此处输入图片描述

如果需要,可以使用 展开线条,\setstackgap{L}{}并使用 放大箭头\scalebox,例如

\documentclass{article}
\usepackage{tabstackengine,amssymb,graphicx}
\TABstackMath
\stackText
\newcommand\ldsar{\,\scalebox{1.4}{%
  \raisebox{-3pt}{\rotatebox[origin=bottom]{-90}{$\curvearrowright$}}%
}\,}
\setstackgap{L}{1.2\baselineskip}
\begin{document}
\[
\alignCenterstack{
3\cdot(-4) =& -12\\
2\cdot(-4) =& -8\\
1\cdot(-4) =& -4\\
0\cdot(-4) =& 0
}
\Centerstack[l]{
\ldsar step 1\\
\ldsar step 2\\
\ldsar step 3
}
\]
\end{document}

在此处输入图片描述

相关内容