如何才能最大限度地减少因 TikZ 图片尺寸过大而产生的错误?

如何才能最大限度地减少因 TikZ 图片尺寸过大而产生的错误?

有哪些通用策略可以最大限度地减少 PGF/TikZ 中有关尺寸过大的错误发生?

以下是一个例子,但我对这个特定问题的修复不太感兴趣,而对尽可能避免这些错误的一般方法更感兴趣。

我知道这是一个硬性限制,但我知道有些特定的构造特别成问题,而且可以相对容易地避免。(例如,参见这个问题,其中问题是路径的结果to。)

\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shadows}
\begin{document}
\tikzset{
  bom/.pic={
    \foreach \i in {1,...,9}
    \node (i\i) [shape=circle, inner sep=0pt, minimum size=(10-\i)/3*1mm*#1, circular glow={fill=red!\i0!yellow}, yshift=#1*.5mm, xshift=-#1*.2mm] at (70:#1*16mm) {};
  }
}
\begin{tikzpicture}
  \pic {bom=.25};
  \pic at (-5,6) {bom=.25};
\end{tikzpicture}
\end{document}

答案1

minimum size通过反复试验确定近似最小值。添加了测试。

\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shadows}
\begin{document}
\tikzset{
  bom/.pic={
    \foreach \i in {1,...,10}
    \pgfmathsetlengthmacro{\size}{#1*(10-\i)*0.333mm}
    \pgfmathsetlengthmacro{\size}{\size>0.2mm ? \size: 0.2mm}
    \node (i\i) [shape=circle, inner sep=0pt, minimum size={\size}, circular glow={fill=red!\i0!yellow}, yshift={#1*.5mm}, xshift={-#1*.2mm}]
      at (70:.25*16mm) {};
  }
}
\begin{tikzpicture}
  \pic {bom=.25};
  \pic at (-5,6) {bom=.25};
\end{tikzpicture}
\end{document}

相关内容