MNWE:
\documentclass{article}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={circle,draw}
[1[2[3][4]][5]]
\end{forest}
\end{document}
使用 Texlive 2019 时出现以下错误:
! Dimension too large.
<recently read> \pgf@x
l.28 \end{forest}
该代码可与 Texlive 2018 完美编译。(不确定我是否获得了 TL2018 的最终更新)。TL2018forest.sty
和 TL2019 中的文件相同。
什么更改导致了错误?这是错误吗?如果是,在什么地方?
答案1
我相信,最终,错误发生的原因与nice empty nodes
风格相同:\pgfintersectionofpaths
相同,当试图相交的线几乎平行时会产生错误。参见原始问题关于这个问题,错误报告在 PGF 的 GitHub repo 中。
在这种情况下,错误的触发器似乎是 PGF 的改进版本(在提交 65b8261c 中引入,在 PGF 3.1.2 中发布),它是从中的\pgfpointnormalised
shape 声明中调用的。这是有道理的:更精确的函数会产生更多接近平行的线,从而使相交更频繁地失败。circle
pgfmoduleshapes.code.tex
(这个错误报告\pgfintersectionofpaths
已经开放了四年,但至今仍未得到解决。我想这有充分的理由,因为这似乎是一个非常难以修复的问题,肯定超出了我的能力范围。我希望这个错误的新“应用”能够鼓励人们对其进行研究。我正在向错误报告中添加此答案的链接。)