Beamerclass 没有按预期显示 tikz 路径

Beamerclass 没有按预期显示 tikz 路径

我尝试了以下代码片段:

\begin{frame}
\begin{tikzpicture}
\tikzstyle{every node} = [draw, align=center,circle, scale = 0.5, thick]
\begin{tabular}{ccc}
\tikz\node (n1) {N1}; &
& 
\tikz\node (n2) {N2}; \\
& 
\tikz\node (n3) {N3};& 
\tikz\node (n4) {N4}; \\
\tikz\node (n5) {N5}; & 
\tikz\node (n6) {N6}; & 
\tikz\node (n7) {N7};\\
\end{tabular}

\path<1>[blue,->] (n1.south) edge [out= 60, in= 135] (n2.north west);
\path<2>[red,->] (n1.south) edge [out=-70, in=-110] (n3.south);
\end{tikzpicture}
\end{frame}

i 的行为与我预期的不符。路径没有放置在节点上,而是放置在某个奇怪的地方。

在此处输入图片描述

我该如何修复这个问题并且仍然将笔记排列得像现在这样整齐?

答案1

我认为这是一份完美的工作matrix of nodes。但请注意,在 beamer 框架中插入 tikz 矩阵需要[fragile]选项。

这是代码:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{frame}[fragile]
\begin{tikzpicture}
\tikzstyle{every node} = [draw, align=center,circle, scale = 0.5, thick]
\node[draw=none, matrix of nodes, row sep=1em, column sep=1em] (N) {
N1 &    & N2 \\
   & N3 & N4 \\
N5 & N6 & N7 \\
};
\path<1>[blue,->] (N-1-1.south) edge [out= 60, in= 135] (N-1-3.north west);
\path<2>[red,->]  (N-1-1.south) edge [out=-70, in=-110] (N-2-2.south);
\end{tikzpicture}
\end{frame}
\end{document}

结果如下:

结果

注意,代码只(N)\matrix节点提供了一个名称。矩阵的所有单元也自动有一个名称,即矩阵名称加上行号和列号。

您还可以使用以下语法为某些节点赋予特定名称:

\node[draw=none, matrix of nodes, row sep=1em, column sep=1em] (N) {
|(N1)| N1 &           & |(N2)| N2 \\
          & |(N3)| N3 & |(N4)| N4 \\
|(N5)| N5 & |(N6)| N6 & |(N7)| N7 \\
};
\path<1>[blue,->] (N1.south) edge [out= 60, in= 135] (N2.north west);
\path<2>[red,->]  (N1.south) edge [out=-70, in=-110] (N3.south);

在每个单元格中,您可以指定和之间的任何内容|,这些内容将传递给正在\node构建的。您还可以使用它来传递[options]

相关内容