ノード サイズが「最小サイズ」で定義されている場合の tikz 行列区切り文字

ノード サイズが「最小サイズ」で定義されている場合の tikz 行列区切り文字

スタッド カーラテックス答える質問行列区切り文字の予期しない動作を発見しました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}

ここに画像の説明を入力してください

関連情報