在另一个 tikz 图片中重复使用 tikz 图片

在另一个 tikz 图片中重复使用 tikz 图片

我有一张 TikZ 图片

\begin{tikzpicture}[scale=0.5]
\draw (-1,0) arc (180:360:1cm and 0.5cm);
\draw[dashed] (-1,0) arc (180:0:1cm and 0.5cm);
\draw (0,1) arc (90:270:0.5cm and 1cm);
\draw[dashed] (0,1) arc (90:-90:0.5cm and 1cm);
\draw (0,0) circle (1cm);
\shade[ball color=blue!10!white,opacity=0.20] (0,0) circle (1cm);
\end{tikzpicture}

形成一个小球。

是否可以在另一个 tikz 图片中重复使用这个形状?

我有另一张 tikz 图片,我在其中使用

\draw[fill=yellow!30, fill opacity=0.5,text opacity=1] (B) circle (0.7cm) node[right] {$A$};

而不是circle我想要我的定制小球。这怎么可能呢?

答案1

不推荐的方式

有几种方法,这种方法借助将tikzpicture环境转移到另一个环境。tikzpicture\node

%! *latex mal-tikz-tikz.tex
\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{tikz}
\begin{document}
\def\malpic{%
\begin{tikzpicture}[scale=0.5]
  \draw (-1,0) arc (180:360:1cm and 0.5cm);
  \draw[dashed] (-1,0) arc (180:0:1cm and 0.5cm);
  \draw (0,1) arc (90:270:0.5cm and 1cm);
  \draw[dashed] (0,1) arc (90:-90:0.5cm and 1cm);
  \draw (0,0) circle (1cm);
  \shade[ball color=blue!10!white,opacity=0.20] (0,0) circle (1cm);
  \end{tikzpicture}%
  }%End of \malpic...
\begin{tikzpicture}
\coordinate (B) at (0,0);
\node[fill=yellow!30, fill opacity=0.5,text opacity=1] at (B) {\malpic} node[right] {$A$};
\end{tikzpicture}
\end{document}

姆韦

相关内容