我应该使用什么来在 LaTeX 中绘制图论图表?
我看过很多关于 tkz 的内容(特别是tkz-berge
),但我正在运行 Ubuntu,据我所知没有它的软件包。尝试下载所有 .sty 让我感到困惑不已。我甚至找不到 的所有依赖项tkz-graph
。
答案1
这也许不是你想要的答案,因为它不是以 TeX 为中心的,但是Graphviz对我来说一直如此这用于绘制任何具有三个以上顶点的图形的工具。能够导出到 PS 或 PDF 是一个优点,并且有大量的包装器,因此您可以使用您选择的语言(我个人使用皮多特)。Graphviz
当您有许多顶点并且想要按照某种模式排列时(提供了几种模式),它会发光。
话虽如此,对于小图表(或具有树状依赖关系的图表)来说,没有什么可以比tikz
将 TeX 直接迭代到文档中更好,尽管冗长有时令人反感。
简单图形代码示例tikz
:
\begin{tikzpicture}[shorten >=1pt,->]
\tikzstyle{vertex}=[circle,fill=black!25,minimum size=12pt,inner sep=2pt]
\node[vertex] (G_1) at (-1,-1) {1};
\node[vertex] (G_2) at (0,0) {2};
\node[vertex] (G_3) at (1,-1) {3};
\draw (G_1) -- (G_2) -- (G_3) -- cycle;
\end{tikzpicture}
答案2
我是 tkz-graph 和 tkz-berge 的作者。这些软件包已从我的网站 altermundus.fr 和 altermundus.com 中删除,因为我实际上在更新它们并使其适应 pgf 2.0 和 2.1。我使用一些算术工具,现在这些工具在 pgf 2.1 中,因此我最好更新所有软件包。实际上,我的新软件包 tkz-base 和 euclide 也存在一些兼容性问题。如果您想使用旧版本的 tkz-berge,请不要安装 tkz-base。问题来自 tkz-arith 和 pgfmath 中的算术函数。如果您想要一个适应 pgf 2.1 的旧版本,您可以使用我网站上的电子邮件
答案3
我听说很多图论人士使用艾佩。我不是图论学家,但我使用 Ipe,我可以看到 Ipe 的捕捉模式如何使图形创建变得非常容易。
答案4
我喜欢 metapost - 它可以很容易地与 latex 结合(您可以使用 latex 在图表上输入文本,以便字体大小一致)并且您可以按照您想要的方式对图表的元素进行编程(包括递归)。
www.tug.org/docs/metapost/mpman.pdf
注意,为了让 metapost 与 latex 配合使用,你经常需要定义
出口TEX =乳胶
在运行 mpost 命令之前。我花了一段时间才发现这一点。
另请注意:将上述命令添加到 .bashrc 时要小心,否则在使用 texi 生成文档时可能会出现非常奇怪的错误(我花了很长时间才发现这一点)。