我尝试将两个包含节点矩阵的 tikzpicture 放在一个横跨整个文本宽度的 tabularx 中。以下是我尝试的
\documentclass[11pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{matrix}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tabularx}{\textwidth}{XX}
\begin{tikzpicture}
\matrix [matrix of nodes]
{
8 & 1 & 6 \\
3 & 5 & 7 \\
4 & 9 & 2 \\
};
\end{tikzpicture} & \begin{tikzpicture}
\matrix [matrix of nodes]
{
8 & 1 & 6 \\
3 & 5 & 7 \\
4 & 9 & 2 \\
};
\end{tikzpicture}
\end{tabularx}
\end{document}
但是,使用此代码我收到以下错误
! 未定义控制序列。\pgf@matrix@last@nextcell@options
l.24 \end{tabularx}
错误消息顶行末尾的控制序列从未被 \def 过。如果您拼错了它(例如,\hobx'), type
I')和正确的拼写(例如,`I\hbox')。否则继续,我会忘记未定义的任何东西。
我究竟做错了什么?
非常感谢。
答案1
欢迎来到 TeX.SE!这里有太多了&
,这意味着如果编译器看到,&
它不知道这是分隔表还是矩阵单元格。因此您需要区分这两个选项,这可以通过ampersand replacement
对&
矩阵使用来完成。
\documentclass[11pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{matrix}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tabularx}{\textwidth}{XX}
\begin{tikzpicture}
\matrix [matrix of nodes,ampersand replacement=\&]
{
8 \& 1 \& 6 \\
3 \& 5 \& 7 \\
4 \& 9 \& 2 \\
};
\end{tikzpicture} & \begin{tikzpicture}
\matrix [matrix of nodes,ampersand replacement=\&]
{
8 \& 1 \& 6 \\
3 \& 5 \& 7 \\
4 \& 9 \& 2 \\
};
\end{tikzpicture}
\end{tabularx}
\end{document}