我想增强以下代码给出的输出:参见下面的图片,其中箭头末端较低且循环“较大”。
为此,我需要更好地控制贝塞尔曲线,并且我想在循环内添加一个减号。
\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}
\begin{document}
$\begin{vNiceMatrix}[first-row]
u & v \\
x & x' \\
y & y'
\CodeAfter
\tikz \draw [red,->]
(1-1.east) ..
controls (2-2.south east)
and
(2-1.south west)
.. (1-2.west) ;
\end{vNiceMatrix}$
\end{document}
答案1
我会使用in
和out
键(并使矩阵稍微大一些,以便注释不会与矩阵条目冲突)。
\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}
\begin{document}
$\begin{vNiceMatrix}[first-row,columns-width=1.5em]
u & v \\
x & x' \\
y & y'
\CodeAfter
\begin{tikzpicture}
\path (1-1.east) -- node[below=0.35em,red,inner sep=0pt] (minus) {$-$} (1-2.west);
\draw [red,->]
(1-1.east) to[out=0,in=30] (minus.south east)
to[out=-150,in=-30] (minus.south west)
to[out=150,in=180] (1-2.west);
\end{tikzpicture}
\end{vNiceMatrix}$
\end{document}
或者还可以确保箭头位于相同的垂直位置。
\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}
\begin{document}
$\begin{vNiceMatrix}[first-row,columns-width=1.5em]
u & v \\
x & x' \\
y & y'
\CodeAfter
\begin{tikzpicture}
\path (1-1.east) -- node[below=0.35em,red,inner sep=0pt] (minus) {$-$} (1-2.west);
\draw [red,->]
(1-1.east) to[out=0,in=30] (minus.south east)
to[out=-150,in=-30] (minus.south west)
to[out=150,in=180] (1-1.east-|1-2.west);
\end{tikzpicture}
\end{vNiceMatrix}$
\end{document}
或者甚至更加对称。
\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}
\usetikzlibrary{calc}
\begin{document}
$\begin{vNiceMatrix}[first-row,columns-width=1.5em]
u & v \\
x & x' \\
y & y'
\CodeAfter
\begin{tikzpicture}
\path (1-1.east) -- node[below=0.35em,red,circle,inner sep=1pt] (minus) {$-$} (1-2.west);
\draw [red,->] let \p1=($(minus.east)-(minus.center)$) in
(1-1.east) to[out=0,in=150] (minus.60)
arc[start angle=60,end angle=-240,radius=\x1]
to[out=30,in=180] (1-1.east-|1-2.west);
\end{tikzpicture}
\end{vNiceMatrix}$
\end{document}