
根據 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}
輸出