答案1
我稍微修改了marmot的解决方案以避免使用tikzmark
。
我还使用它Triangle
作为箭头尖和其他一些小变化。
如果您尚未更新您的发行版,我的解决方案也同样有效。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary[arrows.meta]
\begin{document}
\[
M =\tikz[remember picture, baseline=(mat.center)]{\node[inner sep=0](mat){$\begin{bmatrix}
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots \\
f(3,1) & f(3,2) & \dots \\
\vdots & \vdots & \ddots \\
& & \\
\end{bmatrix}$};}
\begin{tikzpicture}[overlay,remember picture,
>=Triangle]
\draw[blue,thick,->] node[anchor=south west] (nn1) at (mat.north west)
{$n$ columns} (nn1.east) -- (nn1-|mat.north east)
node[midway,above,black]{$i$ changes};
\draw[red,thick,->] node[anchor=north west,align=center, inner xsep=0pt] (nn2) at
(mat.north east)
{$m$\\ rows} (nn2.south) -- (nn2.south|-mat.south)
node[midway,above,black,rotate=-90]{$j$ changes};
\end{tikzpicture}
\]
\end{document}
答案2
有了tikzmark
它就简单多了。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\[
M =\hspace*{1.5cm}\tikzmarknode{mat}{\begin{bmatrix}
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots \\
f(3,1) & f(3,2) & \dots \\
\vdots & \vdots & \ddots \\
& & \\
\end{bmatrix}}
\begin{tikzpicture}[overlay,remember picture]
\draw[blue,thick,-latex] node[anchor=south west] (nn1) at (mat.north west)
{$n$ columns} (nn1.east) -- (nn1-|mat.north east)
node[midway,above,black]{$i$ changes};
\draw[red,thick,-latex] node[anchor=north east,align=center] (nn2) at (mat.north west)
{$m$\\ rows} (nn2.south) -- (nn2.south|-mat.south west)
node[midway,above,black,rotate=90]{$j$ changes};
\end{tikzpicture}
\]
\end{document}
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\[
M =\tikzmarknode{mat}{\begin{bmatrix}
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots \\
f(3,1) & f(3,2) & \dots \\
\vdots & \vdots & \ddots \\
& & \\
\end{bmatrix}}
\begin{tikzpicture}[overlay,remember picture]
\draw[blue,thick,-latex] node[anchor=south west] (nn1) at (mat.north west)
{$n$ columns} (nn1.east) -- (nn1-|mat.north east)
node[midway,above,black]{$i$ changes};
\draw[red,thick,-latex] node[anchor=north west,align=center] (nn2) at
(mat.north east)
{$m$\\ rows} (nn2.south) -- (nn2.south|-mat.south)
node[midway,above,black,rotate=90]{$j$ changes};
\end{tikzpicture}
\]
\end{document}