矢印を描く部分は、図画間結合(inter-picture connections)を使っています。これはremember pictureオプションを使って、自分以外のtikzpicture環境にあるノードを参照する機能だそうです。通常のplatex+dvipmdfx環境では使うことができないため、zrbabblerさんのblog「マクロツイーター」の記事「Tikzはdvipdfmxをどこまでサポートするか?(2)」に紹介されているpxpgfmarkパッケージを使いました。図画間結合については同記事に詳しい説明がなされています。
追記:2019/04/05:図画間結合がplatex/uplatexについてもサポートされたようで、pxpgfmarkパッケージは必要なくなりました。
上の式を出力するためのソースは次の通りです。
かなり微調整をしているのでソースは汚いです。行の背景に色付けするために、matrixライブラリを使って各セルにノードを配置し、そのノードを元に色付けを行っています。またtikzのmatrix命令の中ではmulticolumn環境が使えないので、複数列に渡るドットも行列のセルのノードの情報を元に後で描画しています。
追記:2019/04/05:図画間結合がplatex/uplatexについてもサポートされたようで、pxpgfmarkパッケージは必要なくなりました。
上の式を出力するためのソースは次の通りです。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{matrix,fit,backgrounds,calc}
\usepackage{pxpgfmark}%e-ptexでremember pictureを可能にする.
\begin{document}
\begin{align*}
& b_{11}^{k-1}
\begin{vmatrix}
b_{11}& \dotsb & b_{1k}\\
b_{21}&\dotsb & b_{2k}\\
\multicolumn{3}{c}{\dotsb\dotsb}\\
b_{k1}&\dotsb & b_{kk}
\end{vmatrix}
=
\begin{tikzpicture}[remember picture,baseline=(T1.west),
every left delimiter/.style={xshift=1ex},
every right delimiter/.style={xshift=-1.5ex}] %,
%matrixライブラリで行列の各セルにノードを配置する
\matrix(T1)[
matrix of math nodes,nodes in empty cells,
ampersand replacement=\&,
left delimiter={|},right delimiter={|},
inner sep=0.45ex]
{
b_{11}\& b_{12} \&\dotsb \& b_{1k}\\
b_{11}b_{21}\& b_{11}b_{22}\& \dotsb \& b_{11}b_{2k}\\
\vphantom{b_{11}}\&\&\& \\%tikzのmatrixではmulticolumnが使えないので複数列に渡るドットを後で描画する.
b_{11}b_{k1} \&b_{11}b_{k2} \&\dotsb \& b_{11}b_{kk}\\
};
\node[fit=(T1-3-2)(T1-3-4)]{$\dots\dots$};%複数列に渡るドット
\end{tikzpicture}
\\[5pt]
&\qquad
\begin{aligned}[t]
& =
\begin{tikzpicture}[remember picture,
baseline=(T2.west),
every left delimiter/.style={xshift=1ex},
every right delimiter/.style={xshift=-1ex}] %,
\matrix(T2)[matrix of math nodes,nodes in empty cells,
ampersand replacement=\&,
left delimiter={|},right delimiter={|},
inner sep=0.45ex]
{
b_{11} \& b_{12} \& \dotsb \& b_{1k}\\
0 \& b_{11}b_{22}-b_{12}b_{12} \&\dotsb \& b_{11}b_{2k}-b_{12}b_{1k}\\
\vphantom{b_{11}}\& \& \&\\
b_{11}b_{k1} \& b_{11}b_{k2} \&\dotsb \& b_{11}b_{kk}\\
};
\node[fit=(T2-3-2)(T2-3-4)]{$\dots\dots$};
%backgroudsライブラリで行の背景を塗る
\begin{scope}[on background layer]
\fill[gray!40,rounded corners]($(T2-2-1.north west)+(-10pt,0)$)rectangle(T2-2-4.south east);
\end{scope}
\end{tikzpicture}\hspace{80pt}
\\[5pt]
&=
%横幅の広いドット
\tikz[remember picture,baseline=-0.5ex]{
\draw[line width=1.5pt,line cap=round,dash pattern=on 0pt off 4\pgflinewidth](0,0)--(160pt,0);
}
\\[5pt]
&=
\begin{tikzpicture}[remember picture,baseline=(T3.west),
every left delimiter/.style={xshift=1ex},
every right delimiter/.style={xshift=-1ex}]
\matrix(T3)[matrix of math nodes,nodes in empty cells,
ampersand replacement=\&,
left delimiter={|},right delimiter={|},
inner sep=0.45ex]
{
b_{11} \& b_{12} \& \dotsb \& b_{1k}\\
0 \& b_{11}b_{22}-b_{12}b_{12} \& \dotsb \& b_{11}b_{2k}-b_{12}b_{1k}\\
\vphantom{b_{11}}\&\&\&\\
0 \& b_{11}b_{k2}-b_{12}b_{1k} \&\dotsb \& b_{11}b_{kk}-b_{1k}b_{1k}\\
};
\node[fit=(T3-3-2)(T3-3-4)]{$\dotsb\dotsb$};
\begin{scope}[on background layer]
\fill[gray!40,rounded corners]($(T3-4-1.south west)+(-3pt,0)$)rectangle (T3-4-4.north east);
\end{scope}
\end{tikzpicture}
%
\begin{tikzpicture}[remember picture,overlay]
\draw[->]($(T1-2-4.east)+(3pt,0)$)
-| ($(T2-2-4.east)+(15pt,0)$) --($(T2-2-4.east)+(2pt,0)$);
\node[right=15pt,text width=95] at ($(T2-2-4.east)+(0,30pt)$){\small 1行目の$b_{12}$倍を2行目から引く};
\draw[->]($(T1-4-4.east)+(2pt,0)$)-|($(T3-4-4.east)+(20pt,0)$)--($(T3-4-4.east)+(2pt,0)$);
\node[right=20pt,text width=100] at (T3.east){\small 1行目の$b_{1k}$倍を$k$行目から引く};
\end{tikzpicture}
\\[5pt]
&=
\begin{vmatrix}
b_{11} & b_{12}&\dotsb &b_{1k}\\
0& a_{22} &\dotsb & a_{2k}\\
\vdots& \multicolumn{3}{c}{\dotsb\dotsb}\\
0& a_{k2} & \dotsb & a_{kk}
\end{vmatrix}
=b_{11}
\begin{vmatrix}
a_{22} &\dotsb &a_{2k}\\
\multicolumn{3}{c}{\dotsb\dotsb}\\
a_{k2}&\dotsb & a_{kk}
\end{vmatrix}
\end{aligned}
\end{align*}
\end{document}