如何在 tikz 矩阵中的节点中定义文本

如何在 tikz 矩阵中的节点中定义文本

我有下面一段代码。

我想通过在“&”符号之间添加文本来向节点添加文本。执行此操作的语法是什么?

例如,我尝试在第二列的第一行中添加文本“John Doe”。文本必须在 John 和 Doe 之间包含换行符。我通常使用的语法如下:

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

我如何在预定义矩阵选项中的节点的矩阵中执行此操作?

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

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

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

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容