# Is there a simple way to use stick figures into PGF/Tikz drawings?

I find that stick figures often make great tools for illustrations of organizations. They are understandable, don't crowd the visual space, and clearly represent an individual person.

Ideally, I would like something that created a stick-figure-shaped node, that I could then use to create network diagrams, to represent people. A package would be the best option, but even simple code to do the same, would be great.

• Do you know 'tikzpeople'? – Ignasi Jul 16 '18 at 17:53
• A bit more advanced, but tex.stackexchange.com/a/186478/586 might be of interest. – Torbjørn T. Jul 16 '18 at 17:56
• So I looked at 'tikzpeople' and that is cool, but everything is a little more complex. The simplicity of the stick person is that is instantly recognizable, yet small and easily used. A group of stick figures are exactly and only that, and unmistakable, even at a distance or when small, because they are so frequently used. I may end up going with tikzpeople, ultimately, but it seems odd that something as common as stick people doesn't already have a tikz package, or some such thing. – The Pompitous of Love Jul 16 '18 at 18:28
• What exactly is a network diagram? – Marijn Jul 16 '18 at 20:56
• Do you know about tikzsymbols? – cfr Jul 17 '18 at 0:56

## 3 Answers

Just for fun, there is a package {tikzsymbols} you can see the examples in section 21.3 in the visual tikz document, you have the macro \Strichmaxerl[scale]:

RESULT:

MWE:

\documentclass[tikz,border=20pt]{standalone}
\usepackage{tikz}
\usepackage{tikzsymbols}

\begin{document}
\begin{tikzpicture}
\Strichmaxerl[5]
\end{tikzpicture}
\end{document}


There is another variation of this macro \Strichmaxerl[5][right_arm][left_arm][right_leg][lef_leg] that allows to change the position of the arms and legs.

RESULT:

MWE:

% arara: pdflatex: {synctex: yes, action: nonstopmode}
% arara: animate: {density: 200, delay: 10, other: -background white -alpha remove}
% arara: showanimate
\documentclass[tikz,border=20pt]{standalone}
\usepackage{tikzsymbols}
\usetikzlibrary{backgrounds,decorations.pathreplacing}
\begin{document}
\pagecolor{black}
\foreach \A in {1,2,...,9,8,7,...,1}{
\begin{tikzpicture}
\Strichmaxerl[5][90+\A*18][-\A*18][-45+\A*5][45-\A*5]
\begin{scope}[on background layer]
\fill[white](0,0.75) circle (1.5);
\draw[
decorate,
white,
decoration={
waves,
segment length=pi*6,
radius=1cm
}
] (0,0.75) circle (1.5);
\draw[white] node at(0,-2){Stick Bond};
\end{scope}
\end{tikzpicture}}
\end{document}


PSD: To animate this I use imagemagic converter

\documentclass{article}

\begin{document}

\begin{picture}(10,25)(0,-3)
\put(5,18){\circle{5}}
\thicklines
\put(5,7){\line(0,1){8}}
\put(5,7){\line(1,-2){5}}
\put(5,7){\line(-1,-2){5}}
\put(1,12){\line(1,0){8}}
\end{picture}
%
\begin{picture}(10,25)(0,-3)
\put(5,17){\circle{5}}
\thicklines
\put(5,7){\line(0,1){7}}
\put(5,7){\line(1,-2){5}}
\put(5,7){\line(-1,-2){5}}
\put(1,11){\line(1,0){8}}
\put(1.75,1.5){\line(1,0){6}}
\put(2.0,2){\line(1,0){5.5}}
\put(2.25,2.5){\line(1,0){5}}
\put(2.5,3){\line(1,0){4.5}}
\put(2.75,3.5){\line(1,0){4}}
\put(3,4){\line(1,0){3.5}}
\put(3.25,4.5){\line(1,0){3}}
\put(3.5,5){\line(1,0){2.5}}
\put(3.75,5.5){\line(1,0){2}}
\end{picture}
%
\begin{picture}(10,25)(0,-3)
\put(5,6){\circle{2}}

\put(4.5,1){\line(0,-1){4}}
\put(5.5,1){\line(0,-1){4}}

\put(3,3){\line(1,0){4}}
\thicklines
\put(5,1){\line(0,1){4}}
\end{picture}

\end{document}


Almost too lifelike to be called stick figures.

• It is orishinal. – manooooh Jul 16 '18 at 23:04
• I'd give bonus points for the humor, if I could. – The Pompitous of Love Jul 17 '18 at 14:42

This is what I use in my presentations. It is parametric so that I can place it quite easily by setting \x and \y parameters. Having a population is also easy.

\documentclass[border=3]{standalone}

\usepackage{tikz}
\usetikzlibrary{math}

\begin{document}

% ======================================= V
\newcommand{\stickman}[4]{% \stickman ==== V
\def\x{#1} % center x
\def\y{#2} % center y
\def\r{#3} % radius
\def\name{#4} % name
\def\xl{\x-\r} % x left
\def\xr{\x + \r} % x right
\def\ya{\y-\r} % body upper
\def\yb{\ya-\r} % arms
\def\yc{\yb-\r} % legs
\def\ybd{\yb-0.5*\r} % arms lower
\def\ycd{\yc-0.5*\r} % legs lower

\draw[
thick, orange
]
(\x, \y) circle (\r) % head
(\x, \y) node {\name}
(\x, \ya) -- (\x,\yc) % body
(\xl, \ybd) -- (\x, \yb) -- (\xr, \ybd) %arms
(\xl, \ycd) -- (\x, \yc) -- (\xr, \ycd) %arms
; %
} % \stickman ==== A
% ======================================= A

% ======================================= V
\begin{tikzpicture}

%   % no name
%   \stickman{3}{3}{1} {}

% generation
\stickman{1}{3}{0.4} {a}
\stickman{1.8}{4.3}{0.4} {b}
\stickman{3}{4.8}{0.3} {$c_{i}$}
\stickman{3.1}{2}{0.4} {}
\stickman{4}{3}{0.5} {}

% i, j
\stickman{6}{3}{0.2} {i}
\stickman{9}{3}{1} {j}

%
%   \stickman{6}{3}{1}{}
%   \stickman{9}{4}{1}{}
%   \stickman{4.5}{4}{1}{}
\end{tikzpicture}
% ======================================= A

\end{document}
`