Como definir texto no nó em uma matriz tikz

Como definir texto no nó em uma matriz tikz

Eu tenho o seguinte trecho de código.

Quero adicionar texto aos meus nós simplesmente adicionando o texto entre os símbolos e comercial. Qual é a sintaxe para fazer isso?

Por exemplo, tento adicionar o texto "John Doe" na primeira linha da segunda coluna. O texto deve conter uma quebra de linha entre John e Doe. A sintaxe usual que eu usaria seria algo como:

\node[draw, align = center]{John \\ Doe};

Como faria isso em uma matriz na qual eu predefini os nós nas opções da matriz?

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}


\begin{tikzpicture}
\matrix(a)[matrix of nodes , nodes in empty cells , nodes = {draw , circle , align = center} ,
column sep={1cm,between origins} , row sep = {1cm , between origins}]
{
& John \\ Doe    &      & \\
&        &     &\\
};

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

\end{tikzpicture}
\end{document}

Responder1

Se você der um valor fixo aos seus nós, poderá adicionar quebras de linha. Por exemplo:

\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 & & \\
  & & &\\
};

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

\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada