我正在尝试使用 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 corners
Triangle
myarrow=-
坐标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}