答案1
我正在调整我的回答“如何在方程和矩阵中添加箭头?”;请参阅那里关于如何在文本元素之间画箭头的一些解释。
- 首先,排版没有箭头的文字。
- 将所有元素(箭头的起点或目标)包装到
\tikznode
命令中。这会为文本元素分配一个名称并存储其大小和位置。 tikzpicture
使用以下选项添加环境remember picture,overlay
。它包含图形元素,在本例中为箭头。在这里您将使用上一步中指定的名称。- 运行 LaTeX 至少两次,以将有关节点和箭头的信息传播到各处。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}% only needed for the arrow tip stealth'
\newcommand\tikznode[3][]{%
\tikz[remember picture,baseline=(#2.base)]
\node[minimum size=0pt,inner sep=0pt,#1](#2){#3};%
}
\begin{document}
\begin{tabular}{r@{\qquad}r}
\tikznode{-x}{$-x$} & \tikznode{1}{$1$} \\[2ex]
\tikznode{2x}{$2x$} & \tikznode{3}{$3$} \\
\cline{2-2}
& $-x$
\end{tabular}
\begin{tikzpicture}[remember picture,overlay,> = stealth',shorten <= 4pt,shorten > = 4pt]
\draw[->] (-x.east) -- (3.west);
\draw[->] (2x.east) -- (1.west);
\end{tikzpicture}
\end{document}
答案2
这是一个{NiceArray}
使用 的解决方案nicematrix
。
{array}
该环境与经典环境(的)类似array
,但会在数组的单元格下创建 PGF 节点。然后,可以使用 Tikz 绘制所需的箭头。
\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
$\begin{NiceArray}{r@{\qquad}r}
-x & 1 \\[2ex]
2x & 3 \\
\cline{2}
& -x
\CodeAfter
\begin{tikzpicture}[shorten <= 4pt,shorten > = 4pt]
\draw[->] (1-1.east) -- (2-2.west);
\draw[->] (2-1.east) -- (1-2.west);
\end{tikzpicture}
\end{NiceArray}$
\end{document}
您需要多次编译(因为nicematrix
使用 PGF/Tikz 节点)。