tikz:保存图片中重复绘制的部分以提高编译速度

tikz:保存图片中重复绘制的部分以提高编译速度

我正在使用 tikz 绘制许多非常相似的图像,如下所示:

enter image description here

代码(和动机)参见制作《万智牌》和类似纸牌游戏的卡牌

编译速度很慢。我计算了一下时间,大部分时间都花在重复绘制同一幅图像上,在本例中

enter image description here

在我看来,应该有某种方法来保存渲染后的材料,以防止重复工作。是否可以重复使用 tikz 图像的一部分为我指明了一个合理的方向,它建议使用一个框。我的问题是,我不知道如何让文本相对于保存在框中的材料合理地放置……

答案1

这假设保存框比宏更快。应该记住,保存框比里面的文本区域大。

\documentclass{article}
\usepackage{tikz}

%create border around empty text area 4cm by 2cm

\newsavebox{\myborder}
\savebox{\myborder}{%
\begin{tikzpicture}
\node[draw=red, thick] {\parbox[t][2cm]{4cm}{\strut}};
\end{tikzpicture}}

\begin{document}

% align edges

\begin{tikzpicture}
\path (0,0) node[inner sep=0] (border) {\usebox{\myborder}}
  (border.north west) node[below right] {\begin{minipage}{4cm}
  With any luck this text will fit nicely into the borders drawn previously.
  \end{minipage}};
\end{tikzpicture}

% align centers

\begin{tikzpicture}
\path (0,0) node[inner sep=0] {\usebox{\myborder}}
  (0,0) node {\parbox[t][2cm]{4cm}
  {With any luck this text will fit nicely into the borders drawn previously.}};
\end{tikzpicture}

\end{document}

aligned border

相关内容