对齐环境中从一条线到另一条线的箭头

对齐环境中从一条线到另一条线的箭头

我正在尝试使用 witharrows 包重新创建侧面带有箭头的以下等式。

我使用以下代码得到了类似的效果,但看起来并不像原始效果那么整洁。我希望箭头有如图所示的圆角。

\documentclass[french,12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{witharrows}

\begin{document}
    \[
    \begin{WithArrows}
        \dfrac{3}{4} x \quad &= \quad \dfrac{2}{7}\\[10pt]
        \dfrac{3x}{4}  \quad &= \quad \dfrac{2}{7} \Arrow[xoffset=-3.5cm,tikz={bend right, '}]{\dots} \Arrow{\dots}\\[10pt]
        3x \quad &= \quad \dots \Arrow[xoffset=-3.5cm,tikz={bend right, '}]{\dots} \Arrow{\dots}\\[10pt]
        x   \quad &= \quad \dots
    \end{WithArrows}
    \]
\end{document}

我猜测 tikzmark 库可能更适合,但我无法找到解决方案,因为我的 tikz 知识相当有限。

答案1

这是一种使用nicematrix和的可能性tikz

该样式用箭头标记的路径myarrow替换线条。默认情况下,路径在右侧,但会绘制在左侧。rounded cornersTrianglemyarrow=-

坐标nicematrix使用语法(1.5-|1)来表示第 1 行的中间和第 1 列的左边,因此\draw(1.5-|1)--(2.5-|1);将在第 1 行的中间到第 2 行的中间、第 1 列的左边缘绘制一条直线。myarrow可以添加样式和其他任何内容(例如中间的节点)。

在此处输入图片描述

\documentclass{article}

\usepackage{nicematrix, tikz}
\usetikzlibrary{decorations.pathreplacing, decorations.markings, arrows.meta}

\tikzset{
    myarrow/.style={
        decorate, 
        decoration={show path construction, 
            lineto code={\draw[rounded corners, postaction={decoration={markings, mark=at position .5 with {\arrow{Triangle}}}, decorate}]
                ([xshift=#11mm]\tikzinputsegmentfirst)--++(#1.4,0)|-([xshift=#11mm]\tikzinputsegmentlast);}}
    },
    myarrow/.default={}
}

\begin{document}

\[
\NiceMatrixOptions{cell-space-limits = 10pt}
\begin{NiceArray}{r@\;c@\;l}
\dfrac{3x}{4} & = & \dfrac{2}{7}\\
2x & = & \cdots\\
x & = & \cdots
\CodeAfter
  \tikz{
    \draw[myarrow=-](1.5-|1)--node[left=5mm]{$\cdots$}(2.5-|1);
    \draw[myarrow=-](2.5-|1)--node[left=5mm]{$\cdots$}(3.5-|1);
    \draw[myarrow](1.5-|last)--node[right=5mm]{$\cdots$}(2.5-|last);
    \draw[myarrow](2.5-|last)--node[right=5mm]{$\cdots$}(3.5-|last);
  }
\end{NiceArray}
\]

\end{document}

相关内容