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

輸出

在此輸入影像描述

相關內容