我无法将 (tikzpicture
节点矩阵)包装在 内subfigure
。我希望为这张 tikzpicture 加上标题和标签。但是我收到以下错误:
Undefined control sequence.
<argument> \pgf@matrix@last@nextcell@options
l.23 }
?
以下是重现该问题的代码。
\documentclass[12pt]{book}
\usepackage{subfigure}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{figure}[ht]
\centering
\subfigure[Laplacian $9 \times 9$ filter]{
\begin{tikzpicture}[cell/.style={rectangle,draw=black}]
\matrix[matrix of nodes]{
0& 0& 1& 1& 2& 1& 1& 0& 0\\
0& 1& 3& 5& 5& 5& 3& 1& 0\\
1& 3& 5& 3& 0& 3& 5& 3& 1 \\
1& 5& 3& -12& -23& -12& 3& 5& 1 \\
2& 5& 0& -23& -41& -23& 0& 5& 2 \\
1& 5& 3& -12& -23& -12& 3& 5& 1 \\
1& 3& 5& 3& 0& 3& 5& 3& 1\\
0& 1& 3& 5& 5& 5& 3& 1& 0 \\
0& 0& 1& 1& 2& 1& 1& 0& 0 \\
};
\end{tikzpicture}
\label{fig:log-filter-discret}
}
\hspace{.2in}
\subfigure[LoG representation]{
\includegraphics[width=.45\linewidth]{log-img.png}
\label{fig:log-filter}
}
\caption{discretized LoG and its representation}
\end{figure}
\end{document}
答案1
使用ampersand replacement=
密钥,例如定义 TikZ 矩阵的快捷方式的问题,解决了该问题。
\documentclass[12pt]{book}
\usepackage{subfigure}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{figure}[ht]
\centering
\subfigure[Laplacian $9 \times 9$ filter]{
\begin{tikzpicture}[cell/.style={rectangle,draw=black}]
\matrix[ampersand replacement=\&,matrix of nodes]{
0 \& 0 \& 1 \& 1 \& 2 \& 1 \& 1 \& 0 \& 0 \\
0 \& 1 \& 3 \& 5 \& 5 \& 5 \& 3 \& 1 \& 0 \\
1 \& 3 \& 5 \& 3 \& 0 \& 3 \& 5 \& 3 \& 1 \\
1 \& 5 \& 3 \& -12 \& -23\& -12\& 3 \& 5 \& 1 \\
2 \& 5 \& 0 \& -23 \& -41\& -23\& 0 \& 5 \& 2 \\
1 \& 5 \& 3 \& -12 \& -23\& -12\& 3 \& 5 \& 1 \\
1 \& 3 \& 5 \& 3 \& 0 \& 3 \& 5 \& 3 \& 1 \\
0 \& 1 \& 3 \& 5 \& 5 \& 5 \& 3 \& 1 \& 0 \\
0 \& 0 \& 1 \& 1 \& 2 \& 1 \& 1 \& 0 \& 0 \\
};
\end{tikzpicture}
\label{fig:log-filter-discret}
}
\hspace{.2in}
\subfigure[LoG representation]{
%\includegraphics[width=.45\linewidth]{log-img.png}
\includegraphics[width=.45\linewidth]{example-image-a}
\label{fig:log-filter}
}
\caption{discretized LoG and its representation}
\end{figure}
\end{document}