我需要关于如何在 LaTeX 中绘制霍夫曼单例图的想法。
答案1
解决sagetex
方案很简单,因为Sage 了解霍夫曼单例图:
\documentclass[border={2mm 2mm 8mm 8mm}]{standalone}
\usepackage{sagetex,xcolor,tikz,tkz-graph,tkz-berge}
\begin{document}
\begin{sagesilent}
g = graphs.HoffmanSingletonGraph()
g.set_pos(g.layout_circular())
g.set_latex_options(graphic_size=(20,20))
\end{sagesilent}
\begin{tikzpicture}[node distance = 10mm and 10mm]
\tikzset{EdgeStyle/.append style = {color = blue!60, line width=1pt}}
\sage{g}
\end{tikzpicture}
\end{document}
Sage 不是 LaTeX 发行版的一部分。最简单的访问方式是使用免费 Cocalc 帐户。搜索此网站了解sagetex
更多信息。我的回答中有更多解释这里。
答案2
将来,请尝试提供平均能量损失提出您在尝试绘制给定图形时遇到的技术问题。事实上,正如我在评论中所述,询问“我该如何绘制这个?”的问题在这个网站上不是合理的问题。如果您在使用 TikZ 时遇到困难,网上有很多资源来帮你。
由于我不知道如何使用graph
TikZ 库,下面是一个使用循环绘制和链接元素的示例foreach
。绘图基于提供的图像这个问题。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\xoffset}{5cm}
\newcommand{\yoffset}{6cm}
\newcommand{\pentaoffset}{1.5}
\begin{document}
\begin{tikzpicture}
\foreach \x in {0,1}{
\foreach \y in {0,1,2,3,4}{
\foreach \z in {0,1,2,3,4}{
\coordinate (\x\y\z) at ($({\y*\xoffset}, {-\x*\yoffset}) + ({\z*72+90}:\pentaoffset)$);
}
}
}
\foreach \x in {0,1,2,3,4}{
\draw (0\x0) -- (0\x1) -- (0\x2) -- (0\x3) -- (0\x4) -- (0\x0);
\draw (1\x0) -- (1\x2) -- (1\x4) -- (1\x1) -- (1\x3) -- (1\x0);
\draw (0\x0) -- (0\x1) -- (0\x2) -- (0\x3) -- (0\x4) -- (0\x0);
\foreach \y in {0,1,2,3,4}{
\foreach \z in {0,1,2,3,4}{
\draw (0\x\z) -- (1\y\z);
}
}
}
\foreach \y in {0,1,2,3,4}{
\foreach \z in {0,1,2,3,4}{
\node[%
circle,
draw,
fill = white,
minimum size = 1cm
] at (0\y\z) {\y,\z};
}
}
\foreach \y in {0,1,2,3,4}{
\foreach \z in {0,1,2,3,4}{
\node[%
circle,
draw,
fill = white,
minimum size = 1cm
] at (1\y\z) {{\y}x,\z};
}
}
\end{tikzpicture}
\end{document}
得出的结果是:
可以修改序言中的距离以适合用户的需求。