summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzlings/tikzlings-list.sty
blob: 09a0967f2c71d130007cc21432e4f899f2e3521d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
\ProvidesPackage{tikzlings-list}[2022/06/17 version v1.0 Helper package for the tikzlings]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% List of all TikZlings
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ExplSyntaxOn

\clist_const:Nn \c__tikzlings_clist
  {
    anteater / anteaters,
    bat / bats,
    bear / bears,
    bee / bees,
    bug / bugs,
    cat / cats,
    chicken / chickens,
    coati / coatis,
    elephant / elephants,
    hippo / hippos,
    koala / koalas,
    marmot / marmots,
    mouse / mice,
    moles / moles,       % avoid conflict with siunitx's \mole
    owl / owls,
    panda / pandas,
    penguin / penguins,
    pig / pigs,
    rhino / rhinos,
    sheep / sheep,
    sloth / sloths,
    snowman / snowmen,
    squirrel / squirrels,
    wolf / wolves
  }

\clist_new:N \g__tikzlings_names_clist
\clist_new:N \g__tikzlings_packages_clist

% Store the two “columns” of \c__tikzlings_clist in these variables
\clist_map_inline:Nn \c__tikzlings_clist
  {
    \seq_set_split:Nnn \l_tmpa_seq { / } {#1}
    \clist_gput_right:Nx \g__tikzlings_names_clist
      { \seq_item:Nn \l_tmpa_seq { 1 } }
    \clist_gput_right:Nx \g__tikzlings_packages_clist
      { \seq_item:Nn \l_tmpa_seq { 2 } }
  }

% Define aliases that can be used without \ExplSyntaxOn
\cs_new_eq:NN \tikzlings@clist \c__tikzlings_clist
\cs_new_eq:NN \tikzlings@names@clist \g__tikzlings_names_clist
\cs_new_eq:NN \tikzlings@packages@clist \g__tikzlings_packages_clist

\ExplSyntaxOff