我该如何排版抽象的小学乘法算法?

我该如何排版抽象的小学乘法算法?

我想要得到像这样的东西

抽象乘法

请注意,我不想排版一个具体的例子。我想要尽可能接近给定图片的东西。特别是,我在弄清楚如何制作箱线图式的晶须时遇到了麻烦。

答案1

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,arrows.meta}
\begin{document}
\begin{tikzpicture}
 \draw[|-|] (5,0) -- ++(6,0) node[midway,fill=white]{$m$ bits};
 \draw[|-|] (5,-0.5) node[left]{$\times$} -- ++(6,0) node[midway,fill=white]{$n$ bits};
 \draw[-] (3.5,-1) -- ++(9,0);
 \draw (4,-1.5) -- ++(6,0) coordinate (tr) -- ++(-2,-4) coordinate (br) 
 --++(-6,0) coordinate (bl) -- cycle;
 \draw[-] (0,-6) -- ++(9,0);
 \draw[thick,decorate,decoration={brace,raise=3mm}] (tr)  --  (br -| tr)
 node[midway,right=5mm]{$n$ rows};
 \coordinate (low) at (0,-6.5);
 \draw[|-|] (low -| bl) -- (low -| tr)node[midway,fill=white]{$n+m$ bits};
 \draw[thick,decorate,decoration={brace,raise=4mm}] (low -| tr) -- (low -| bl)
 node[midway,below=5mm]{$n+m$ columns};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容