我怎样才能用代码生成这样的图像?
我还想在行尾绘制矢量箭头,以便查看计算顺序。我在其他答案中看到了一个 TikZ 解决方案,但它对我来说不起作用。代码不仅给我一个错误,而且它不是我想要的(我希望它看起来像一个括号矩阵,我还想有一个方便的宏,只需几个输入即可生成它)。这是部分解决方案(由 Andrew 提供这里)我说的是:
这是一个使用matrix of math nodes
和的快速破解方法蒂克兹:
代码
\documentclass[border=5mm,tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[auto]
\matrix (M)[matrix of math nodes,row sep=1cm,column sep=16mm]{
a & b & c & a & b\\ d & e & f & d & e\\ g & h & i & g & h\\&&[blue]adi&[red]-bfg&[blue]cdh\\
};
\draw[blue](M-1-1)--(M-2-2)--(M-3-3)--(M-4-3);
\draw[blue](M-1-2)--(M-2-3)--(M-3-4)--(M-4-4);
\draw[blue](M-1-3)--(M-2-4)--(M-3-5)--(M-4-5);
\end{tikzpicture}
\end{document}
另外,他在显示乘法结果的线条下方放置的小乘积非常棒。有什么方法可以实现我所要求的吗?
答案1
tikz-cd
解决方案:
\documentclass[12pt,a4paper]{article}
\usepackage{tikz-cd}
\begin{document}
\tikzset{delim/.style={thick,shorten >=-1em,shorten <=-1em}}
\begin{tikzcd}
a\arrow[xshift=-12pt,delim,dash]{ddd}\arrow[dash]{rd} & b\arrow[dash]{rd} & c\arrow[dash]{rd}\arrow[dash]{ld} & a\arrow[xshift=-30pt,delim,dash]{ddd}\arrow[dash]{ld} & b\arrow[dash]{ld} \\
d & e\arrow[dash]{rd}\arrow[dash]{ld} & f\arrow[dash]{rd}\arrow[dash]{ld} & d\arrow[dash]{rd}\arrow[dash]{ld} & e \\
g & h & i\arrow[dash]{d} & g\arrow[dash]{d} & h\arrow[dash]{d} \\
\phantom{a} & & adi & -bfg & cdh
\end{tikzcd}
\end{document}