答案1
我确信有一个好的tikz
方法可以做到这一点,但是在这里,我只是布置了一系列连续的列,并\fbox
在相应的列周围添加了 es。
\documentclass[10pt]{article}
\usepackage{tabstackengine,xcolor}
\TABstackMath
\newcommand\redbox[1]{\textcolor{red}{\fbox{\textcolor{black}{#1}}}}
\begin{document}
\[
\TABbinary
\fboxsep=2pt
\fboxrule=1pt
\tabbedCenterstack{16\cdot\\11\cdot}
\redbox{\tabbedCenterstack{I_1\\I_1}}
\tabbedCenterstack{+11\cdot\\+16\cdot}
\redbox{\tabbedCenterstack{I_2\\I_2}}
\tabbedCenterstack{=\\=}
\redbox{\tabbedCenterstack{13\\17}}
\]
\end{document}
尽管我不使用带选项卡的列,但我还是使用\tabbedCenterstack
来代替\Centerstack
,这样我就可以使用\TABbinary
添加{}
到每一列每一侧的功能,从而确保=
、+
和 的适当间距\cdot
。
答案2
您可以使用该hf-tikz
包:
\documentclass{article}
\usepackage{amsmath,array}
\usepackage[norndcorners,customcolors,nofill]{hf-tikz}
\hfsetbordercolor{red!70}
\begin{document}
\begin{equation}
\tikzset{left offset=-0.02,right offset=0.02,disable rounded corners=true}
\begin{array}{@{} *{2}{ c @{} >{{}}c<{{}} @{} } c @{}}
16\cdot \tikzmarkin{A}I_1 & + & 11\cdot \tikzmarkin{B}I_2 & = & \tikzmarkin{C}13\\[1ex]
11\cdot I_1\tikzmarkend{A} & + & 16\cdot I_2\tikzmarkend{B} & = & 17\tikzmarkend{C}
\end{array}
\end{equation}
\end{document}