summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzlings/tikzlings-list.sty
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikzlings/tikzlings-list.sty')
-rw-r--r--graphics/pgf/contrib/tikzlings/tikzlings-list.sty78
1 files changed, 51 insertions, 27 deletions
diff --git a/graphics/pgf/contrib/tikzlings/tikzlings-list.sty b/graphics/pgf/contrib/tikzlings/tikzlings-list.sty
index 748a55818a..09a0967f2c 100644
--- a/graphics/pgf/contrib/tikzlings/tikzlings-list.sty
+++ b/graphics/pgf/contrib/tikzlings/tikzlings-list.sty
@@ -1,33 +1,57 @@
-\ProvidesPackage{tikzlings-list}[2022/04/21 version v0.9 Helper package for the tikzlings]
+\ProvidesPackage{tikzlings-list}[2022/06/17 version v1.0 Helper package for the tikzlings]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% List of all TikZlings
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\tikzling@list{
- 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,
- owl/owls,
- panda/pandas,
- penguin/penguins,
- pig/pigs,
- rhino/rhinos,
- sheep/sheep,
- sloth/sloths,
- snowman/snowmen,
- squirrel/squirrels,
- wolf/wolves%
-}
+
+\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