разделители матриц tikz, когда размер узлов определяется «минимальным размером»

разделители матриц tikz, когда размер узлов определяется «минимальным размером»

шипование CarLaTeXответ навопросЯ обнаружил неожиданное поведение tikzразделителя матрицы: если размер математических узлов определяется с помощью text width=...и text height=..., то разделители работают так, как и ожидалось, однако, если я заменяю их на , minimum size=...возникает ошибка !missing } inserted.. <inserted text> }. Пример теста:

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{matrix}
\newcommand\x{\times}

\begin{document}
\begin{tikzpicture}
\matrix [matrix of math nodes,
         nodes={rectangle, %draw, very thin,
                minimum size=1.2em, text depth=0.25ex,
                inner sep=0pt, outer sep=0pt,
                left delimiter=(, right delimiter=),
                fill opacity=0.5, text opacity=1,
                anchor=center},
         column sep=-0.5\pgflinewidth,
         row sep=-0.5\pgflinewidth,
         column 2/.append style = {nodes={fill=cyan!50}},
         row 2/.append style = {nodes={fill=cyan!50}},
         row 2 column 2/.append style={nodes={fill=cyan}},
         ]
{
a_1 & \x  & a_3 \\
a_4 & \x  & a_6 \\
a_7 & \x  & a_9 \\
};
\end{tikzpicture}
\end{document}

если я прокомментирую определение разделителей, то пример даст:

введите описание изображения здесь

Я что-то упускаю или делаю неправильно?

решение1

Вам следует разместить left delimiter=(, right delimiter=)за пределами nodesопции.

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{matrix}
\newcommand\x{\times}

\begin{document}
\begin{tikzpicture}
\matrix [matrix of math nodes,
         nodes={rectangle, %draw, very thin,
                minimum size=1.2em, text depth=0.25ex,
                inner sep=0pt, outer sep=0pt,
                fill opacity=0.5, text opacity=1,
                anchor=center},
         column sep=-0.5\pgflinewidth,
         row sep=-0.5\pgflinewidth,
         column 2/.append style = {nodes={fill=cyan!50}},
         row 2/.append style = {nodes={fill=cyan!50}},
         row 2 column 2/.append style={nodes={fill=cyan}},
         left delimiter={(}, right delimiter={)}
         ]
{
a_1 & \x  & a_3 \\
a_4 & \x  & a_6 \\
a_7 & \x  & a_9 \\
};
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Связанный контент