
Я пытаюсь воссоздать следующее уравнение со стрелками по бокам, используя пакет 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}