`graphs` 库的问题

`graphs` 库的问题

根据 PGF/TikZ 3.0.0 版文档(第节19 指定图表,第 258 页),强大的graphs库:

[...] 提供了一个强大的路径命令,用于指定图中的节点如何通过边和弧连接:图形路径命令,当您加载库时该命令可用graphs

下面几行是使用路径的一些示例;在这些示例中,可以发现:

\tikz
  \graph [nodes={draw, circle}, clockwise, radius=.5cm, empty nodes, n=5] {
    subgraph I_n [name=inner] --[complete bipartite]
    subgraph I_n [name=outer]
};

\tikz
\graph [nodes={draw, circle}, clockwise, radius=.75cm, empty nodes, n=8] {
subgraph C_n [name=inner] <->[shorten <=1pt, shorten >=1pt]
subgraph C_n [name=outer]
};

它应该产生以下图像(直接从文档中获取):

在此处输入图片描述

但是,当我在“真实”文档中尝试完全相同的代码时:

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

\begin{document}

 \tikz
  \graph [nodes={draw, circle}, clockwise, radius=.5cm, empty nodes, n=5] {
    subgraph I_n [name=inner] --[complete bipartite]
    subgraph I_n [name=outer]
};
\tikz
  \graph [nodes={draw, circle}, clockwise, radius=.75cm, empty nodes, n=8] {
    subgraph C_n [name=inner] <->[shorten <=1pt, shorten >=1pt]
    subgraph C_n [name=outer]
};


\end{document}

这就是我得到的全部内容(图像放大 400%):

在此处输入图片描述

更令人失望的是第 276 页上的以下示例:

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

\begin{document}

\tikz \graph [simple] {
subgraph K_n [n=8, clockwise];
% Get rid of the following edges:
1 -!- 2;
3 -!- 4;
6 -!- 8;
% And make one edge red:
1 --[red] 3;
};

\end{document}

文档显示了这样的结果:

在此处输入图片描述

但我只收到一条错误消息:

! Missing $ inserted.
<inserted text> 
$
l.15 }
    ;
? 

我是不是漏掉了什么?是否需要其他库才能获得预期的图表?

答案1

根据pgf文档的 LaTeX 源代码以及这个答案,我认为文档应该列出两个都graphs和库graphs.standard都包含在内以生成这些图形。

\usetikzlibrary{graphs,graphs.standard}如果我使用而不是,所有示例都可以正常工作\usetikzlibrary{graphs}。这是一个示例:

代码

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs,graphs.standard} % both are required, in this order

\begin{document}
\tikz \graph [simple] {
  subgraph K_n [n=8, clockwise];
  % Get rid of the following edges:
  1 -!- 2;
  3 -!- 4;
  6 -!- 8;
  % And make one edge red:
  1 --[red] 3;
};
\end{document}

输出

在此处输入图片描述

相关内容