我有一个tikz
包含 484 个节点的图,边数大约是这个的两倍。正如错误所暗示的,我达到了一些限制,但我不确定是哪个。
大约 250 个节点的图表渲染得很好。更让我困惑的是,我想我今天早些时候能够编译一个类似的 800 个节点的 tikz 图表。拓扑和深度相似。
错误信息如下:
TeX capacity exceeded, sorry [grouping levels=255]
编辑:这里有一个重现错误的示例。根据 David 的评论,我把它做得非常简单 - 只是一串嵌套节点,最大深度(没有分支)。奇怪的是,它有 101 个节点时出错。删除一层嵌套 - 就可以编译了。
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usetikzlibrary{positioning}
\usetikzlibrary{graphs}
\usetikzlibrary{shapes.arrows}
\title{Title}
\subtitle{Subtitle}
\date{2023}
\usetikzlibrary{arrows.meta, svg.path, fit, positioning, matrix}
\tikzset{%
>={Latex[width=2mm,length=2mm]},
% Specifications for style of nodes:
base/.style = {rectangle, rounded corners=0.5mm, draw=black,
minimum width=10mm, minimum height=4mm,
text centered},
process/.style = {base},
outerbox/.style={rectangle, draw=black, dashed}
task/.style = {base, circle}
}
\begin{document}
\begin{frame}
\frametitle{}
\framesubtitle{}
\tikz [>=stealth, black!50, text=black, very thin,
every new ->/.style = {shorten >=1pt},
graphs/every graph/.style = {edges=rounded corners},
hv path/.style = {to path={-| (\tikztotarget)}},
vh path/.style = {to path={|- (\tikztotarget)}},
t/.style = {circle, minimum size=1mm, thin, draw=black!70, scale=0.1, fill=black!70},
tl/.style = {circle, minimum size=1mm, thin, draw=blue!60, scale=0.1, fill=blue!60}
]
\graph [grow left sep=.7mm, branch down=.3mm, simple] {
0 / ""[t] -- {
1 / ""[t] -- {
2 / ""[t] -- {
3 / ""[t] -- {
4 / ""[t] -- {
5 / ""[t] -- {
6 / ""[t] -- {
7 / ""[t] -- {
8 / ""[t] -- {
9 / ""[t] -- {
10 / ""[t] -- {
11 / ""[t] -- {
12 / ""[t] -- {
13 / ""[t] -- {
14 / ""[t] -- {
15 / ""[t] -- {
16 / ""[t] -- {
17 / ""[t] -- {
18 / ""[t] -- {
19 / ""[t] -- {
20 / ""[t] -- {
21 / ""[t] -- {
22 / ""[t] -- {
23 / ""[t] -- {
24 / ""[t] -- {
25 / ""[t] -- {
26 / ""[t] -- {
27 / ""[t] -- {
28 / ""[t] -- {
29 / ""[t] -- {
30 / ""[t] -- {
31 / ""[t] -- {
32 / ""[t] -- {
33 / ""[t] -- {
34 / ""[t] -- {
35 / ""[t] -- {
36 / ""[t] -- {
37 / ""[t] -- {
38 / ""[t] -- {
39 / ""[t] -- {
40 / ""[t] -- {
41 / ""[t] -- {
42 / ""[t] -- {
43 / ""[t] -- {
44 / ""[t] -- {
45 / ""[t] -- {
46 / ""[t] -- {
47 / ""[t] -- {
48 / ""[t] -- {
49 / ""[t] -- {
50 / ""[t] -- {
51 / ""[t] -- {
52 / ""[t] -- {
53 / ""[t] -- {
54 / ""[t] -- {
55 / ""[t] -- {
56 / ""[t] -- {
57 / ""[t] -- {
58 / ""[t] -- {
59 / ""[t] -- {
60 / ""[t] -- {
61 / ""[t] -- {
62 / ""[t] -- {
63 / ""[t] -- {
64 / ""[t] -- {
65 / ""[t] -- {
66 / ""[t] -- {
67 / ""[t] -- {
68 / ""[t] -- {
69 / ""[t] -- {
70 / ""[t] -- {
71 / ""[t] -- {
72 / ""[t] -- {
73 / ""[t] -- {
74 / ""[t] -- {
75 / ""[t] -- {
76 / ""[t] -- {
77 / ""[t] -- {
78 / ""[t] -- {
79 / ""[t] -- {
80 / ""[t] -- {
81 / ""[t] -- {
82 / ""[t] -- {
83 / ""[t] -- {
84 / ""[t] -- {
85 / ""[t] -- {
86 / ""[t] -- {
87 / ""[t] -- {
88 / ""[t] -- {
89 / ""[t] -- {
90 / ""[t] -- {
91 / ""[t] -- {
92 / ""[t] -- {
93 / ""[t] -- {
94 / ""[t] -- {
95 / ""[t] -- {
96 / ""[t] -- {
97 / ""[t] -- {
98 / ""[t] -- {
99 / ""[t] -- {
100 / ""[t] -- {
t101 / ""[t]
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
};
\end{frame}
\end{document}
答案1
该错误的基本测试文件如下。不幸的是,我认为你不能在不改变tex源代码的情况下增加限制,尽管有texmf.cnf
评论:
nest_size = 1000 % simultaneous semantic levels (e.g., groups)
在 texlive 2023 中:
使用 latex 或 pdflatex
! TeX capacity exceeded, sorry [grouping levels=255].
使用 xetex、ptex 或 luatex:
! TeX capacity exceeded, sorry [grouping levels=65535].
使用 hitex 您首先点击保存堆栈。
! TeX capacity exceeded, sorry [save size=100000].
\def\x{\bgroup\x}
\x