使用 tikzpeople 为其他人添加建造者帽子

使用 tikzpeople 为其他人添加建造者帽子

我正在使用该tikzpeople包绘制一些场景。现在我想将建造者戴的帽子送给爱丽丝、查理和戴夫。由于它不是像monitor或这样的属性shield,我不知道该怎么做。

在此处输入图片描述

(我用 inkscape 构建了这个示例。)

答案1

您可能会误用以下某个(未使用的)配件:

\documentclass{article}
\usepackage{tikzpeople}
\begin{document}
\begin{tikzpicture}
\makeatletter 
\tikzpeople@builder@definecolors
\let\tikzpeople@person@paintshield\tikzpeople@builder@painthat
\node[alice,shield,minimum size=1.5cm] at (0,0) {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

好的,通过仔细查看tikzpeople包中的文件,我成功了。

要定义新的组合(builderalice就我而言),您需要定义一个新文件tikzpeople.shape.builderalice.sty,在其中组合各个部分和相应的颜色。然后您需要调用\tikzpeople@declareshape{builderalice}(因为它不应从外部调用,并且包含@您需要将其包装在\makeatletter和中\makeatother)。

\documentclass[tikz]{standalone}
\usepackage{tikz}
\usepackage{tikzpeople}
\usepackage{filecontents}

\begin{filecontents}{tikzpeople.shape.builderalice.sty}
\newcommand{\tikzpeople@builderalice@paint}{
    \tikzpeople@person@paintshirt
    \tikzpeople@alice@paintshirtdetails
    \tikzpeople@person@paintrighthorn
    \tikzpeople@person@painthead
    \tikzpeople@alice@painthair
    \tikzpeople@person@paintgoatee
    \tikzpeople@person@paintlefthorn
    \tikzpeople@person@painthalo
    \tikzpeople@builder@painthat
}
\newcommand{\tikzpeople@builderalice@definecolors}{
    \definecolor{shirt}{RGB}{253,156,40}
    \definecolor{undershirt}{RGB}{232,232,232}
    \definecolor{skin}{RGB}{148,60,19}
    \definecolor{hair}{rgb}{0,0,0}
    \definecolor{hat}{RGB}{238,175,0}
}
\end{filecontents}

\makeatletter
\tikzpeople@declareshape{builderalice}
\makeatother

\begin{document}
\begin{tikzpicture}[]
  \node[builder,minimum size=1.5cm] (T) at (-1,0) {};
  \node[alice,minimum size=1.5cm] (N) at (1,0) {};
  \node[builderalice,minimum size=1.5cm] (A) at (3,0) {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

这似乎是一个 XY 问题。您真正想要的可能是 TikZlings 包,您可以在其中随意添加配件。

\documentclass[tikz,border=1mm]{standalone}
\usepackage{tikzlings}
\begin{document}
\begin{tikzpicture}
 \owl
 \thing[tophat,scale=1.5,yshift=-0.6cm,xshift=-0.05cm]
 \begin{scope}[xshift=2cm]
  \bear[magichat=violet,
   magicstars=yellow!80!brown]
 \end{scope}  
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容