tikzマトリックス内のノードの形状を変更する方法

tikzマトリックス内のノードの形状を変更する方法

次のコードがあります。

事前定義されたデフォルトの形状を持つノードを含む tikz マトリックスを作成したいと思います。

しかし、マトリックス内で手動で指定して、一部のノードの形状を変更したい場合もあります。

tikz のマニュアルには、ノードのテキストの前に縦線で書かれたコードはすべてノードのコードに渡されると書いてありました。

したがって、コード: は 2 番目の Joe Doe ノードのコードに渡される必要があります。

|(shape = rectangle)|

ただし、これを実行しても機能しないようです。

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}
\matrix(a)[
  matrix of nodes, 
  nodes in empty cells, 
  nodes={draw, circle, align=center, text width=0.8cm},
  column sep={1.5cm, between origins}, 
  row sep={1.5cm, between origins}
]{
  & John \linebreak Doe &[5cm]|(shape = rectangle)| John \linebreak Doe& \\[2cm]
  & & &\\
};

\draw[->] (a-1-1) -- (a-2-1);

\end{tikzpicture}
\end{document}

答え1

[]区切り文字が間違っています。ノード オプションを追加/上書きするには角括弧を使用します。

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}
\matrix(a)[
  matrix of nodes,
  nodes in empty cells,
  nodes={draw, circle, align=center, text width=0.8cm},
  column sep={1.5cm, between origins},
  row sep={1.5cm, between origins}
]{
  & John \linebreak Doe &[5cm]|[rectangle]| John \linebreak Doe& \\[2cm]
  & & &\\
};
\draw[->] (a-1-1) -- (a-2-1);

\end{tikzpicture}
\end{document}

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

関連情報