tikz 路径中的节点太多

tikz 路径中的节点太多

我正在从 R tikzDevice 库生成 tikz 图像,该库生成有效的 tikz 图。

但是,在某些情况下,生成的路径太长(超过 100 个节点)。然后 Tikz 会抱怨:"Giving up on this path. Did you forget a semicolon?"

我已经将问题追踪到tikz.code.tex2570 行左右

\def\tikz@skip#1{\tikz@scan@next@command#1}%
\def\tikz@expand{%
  \advance\tikz@expandcount by -1%
  \ifnum\tikz@expandcount<0\relax%
    \tikzerror{Giving up on this path. Did you forget a semicolon?}%
    \let\pgfutil@next=\tikz@finish%
  \else%
    \let\pgfutil@next=\tikz@@expand
  \fi%
  \pgfutil@next}%

\def\tikz@@expand{%
  \expandafter\tikz@scan@next@command\pgf@let@token}%

计数器expandcount隐式设置为 100。

\def\tikz@@command@path{%
  ...
  \tikz@expandcount=100\relax%
  ...
}%

有什么方法可以将计数器值改为更高的值(我对 TeX 不太了解)?

答案1

将以下几行添加到您的前言中,加载之后的某个地方tikz(如果有疑问,请在之前添加几行\begin{document})。

\usepackage{xpatch}
\makeatletter
\xpatchcmd\tikz@@command@path{\tikz@expandcount=100\relax}{\tikz@expandcount=1000\relax}{}{}% replace 1000 by whatever number suffices
\makeatother

相关内容