如何使用 dynkin-diagrams 库绘制带有五边形尾部的图表?

如何使用 dynkin-diagrams 库绘制带有五边形尾部的图表?

我正在使用 Coxeter 图,并使用dynkin-diagrams包裹。我有一个 Coxeter 系统,其 Coxeter 矩阵如下:

[ 1 3 2 2 2 2 2 2 ]
[ 3 1 3 2 2 2 2 2 ]
[ 2 3 1 3 2 2 2 2 ]
[ 2 2 3 1 3 2 2 3 ]
[ 2 2 2 3 1 3 2 2 ]
[ 2 2 2 2 3 1 3 2 ]
[ 2 2 2 2 2 3 1 3 ]
[ 2 2 2 3 2 2 3 1 ]

该图的草图如下:

具有 8 个节点的 Coxeter 图,其中 5 个节点排列成一个环路。

到目前为止我能画出的最复杂的类似组是:

\documentclass{article}
\usepackage{tikz,dynkin-diagrams}
\begin{document}
\tikzset{/Dynkin diagram/fold style/.style={}} % Make the fold look like an edge
The general case of rank 6 is the hypercompact group \begin{dynkinDiagram}[Coxeter]E{III}
  \dynkinRootMark{*}1
  \dynkinRootMark{*}6
\end{dynkinDiagram}
\end{document}

6 人规模的紧密团体

这是通过调整现有组的样式来实现的,因此好像我的团队的 Coxeter 图。

然而这存在一系列问题:

  • 它会影响折叠样式,这意味着如果我使用这种技术,文档中就不会出现折叠。
  • 据我所知,没有办法标记折叠边缘。
  • 由于这使用了一个恰好与我感兴趣的组相似的特定组,因此无法将其扩展到其他组,例如问题领先的组。

看起来这个软件包是为特定群体(即那些有固定名称的群体)格式化图表而设计的。我没有处理这些群体,所以我想知道我是否缺少软件包中的某些工具,或者它是否不适合这项工作。

我想要绘制的上述图表是否可以使用该dynkin-diagrams包来绘制,或者我应该放弃该包并以其他方式重新绘制我的图表?

答案1

通过阅读库的源代码,我找到了几个未记录或记录不全的功能来实现这一点。以下是我发现的三种绘制图表的方法:

快速而肮脏

第一种方法是最短的方法,但是有几个缺点:

\begin{dynkinDiagram}[Coxeter,fold style/.style={}]E{III}
  \dynkinRootMark{*}1
  \dynkinRootMark{*}6
  \dynkin[at=(root 2)]A{**o}
\end{dynkinDiagram}

我们按照题目中的方法画出 EIII 作为基础,然后画出另一个 A3 的图并将其放置在与 EIII 重叠的位置。

快速而肮脏

这有一些缺点:

  • 它非常特定于特定图表并且扩展性不强。
  • 它涉及重叠节点。
  • 我无法在此图上画出折痕,因为我假装折痕是边缘。

清洁工

事实证明,有命令可以从头开始绘制新节点和边。我不知道为什么这个非常有用的功能没有记录。但在下一个示例中,我们从 EIII 开始并绘制额外的节点:

\makeatletter
\begin{dynkinDiagram}[Coxeter,fold style/.style={}]E{III}
  \dynkinRootMark{*}1
  \dynkinRootMark{*}6
  \dynkinRootMark{*}2
  \advance\dynkin@nodes by 2
  \dynkinPlaceRootRelativeTo{7}{2}{east}{below}{left}
  \dynkinRootMark{*}7
  \dynkinDefiniteSingleEdge{2}7
  \dynkinPlaceRootRelativeTo{8}{7}{east}{below}{left}
  \dynkinRootMark{o}8
  \dynkinDefiniteSingleEdge{7}8
\end{dynkinDiagram}
\makeatother

清洁工

这仍然存在折叠问题,我们将在下一个中修复它。

从头开始

我不需要以 EIII 为基础,而是可以从 A4 开始,然后使用相同的技术对其进行扩展。

\makeatletter
\begin{dynkinDiagram}[Coxeter]A{***o}
  \advance\dynkin@nodes by 4
  \dynkinPlaceRootRelativeTo{5}{1}{northwest}{above}{left}
  \dynkinRootMark{*}5
  \dynkinDefiniteSingleEdge 1 5
  \dynkinPlaceRootRelativeTo{6}{1}{southwest}{below}{left}
  \dynkinRootMark{*}6
  \dynkinDefiniteSingleEdge 1 6
  \dynkinPlaceRootRelativeTo{7}{5}{west}{above}{left}
  \dynkinRootMark{*}7
  \dynkinDefiniteSingleEdge 5 7
  \dynkinPlaceRootRelativeTo{8}{6}{west}{below}{left}
  \dynkinRootMark{*}8
  \dynkinDefiniteSingleEdge 6 8
  \dynkinDefiniteSingleEdge 7 8
\end{dynkinDiagram}
\makeatother

从头开始

相关内容