texlive[45222] Master/texmf-dist: tikzsymbols (5sep17)

commits+karl at tug.org commits+karl at tug.org
Tue Sep 5 23:56:29 CEST 2017


Revision: 45222
          http://tug.org/svn/texlive?view=revision&revision=45222
Author:   karl
Date:     2017-09-05 23:56:28 +0200 (Tue, 05 Sep 2017)
Log Message:
-----------
tikzsymbols (5sep17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tikzsymbols/README.md
    trunk/Master/texmf-dist/doc/latex/tikzsymbols/tikzsymbols.pdf
    trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
    trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
    trunk/Master/texmf-dist/tex/latex/tikzsymbols/tikzsymbols.sty

Modified: trunk/Master/texmf-dist/doc/latex/tikzsymbols/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikzsymbols/README.md	2017-09-05 17:56:45 UTC (rev 45221)
+++ trunk/Master/texmf-dist/doc/latex/tikzsymbols/README.md	2017-09-05 21:56:28 UTC (rev 45222)
@@ -4,52 +4,63 @@
 Overview
 --------
 
-The `tiksymbols` package v4.02 (May 14, 2017) contains symbols created using tikz.
+The `tiksymbols` package v4.07 (September 05, 2017) contains symbols created using tikz.
 
 This package provides: 
  * various emoticons
  * cooking symbols
  * trees
- * other symbols (e.g. Penrose-Triangle(Triban), chair, coffeecup, etc.)
+ * other symbols (e.g. Penrose-Triangle (Triban), chair, coffeecup, etc.)
 
 Changes
 -------
 * v1.6		Several bugs fixed and some options added.
-* v1.7		New symbols and some "bugs" fixed
-* v2.0		Bug fixed, now option "tree=on/off" is working again, 
-		new symbols: "Triban", improved BasicTree code.
-		New option: "marvsoym" (see documentation for more details).
-* v2.2		Included \@ifpackageloaded, now symbols can have negative scale,
-		Did something else, I can't remember.
+* v1.7		New symbols and some `bugs` fixed
+* v2.0
+  - Bug fixed, now option `tree=on/off` is working again, 
+  - new symbols: `Triban`, improved BasicTree code.
+  - New option: `marvsoym` (see documentation for more details).
+* v2.2
+  - Included `\\@ifpackageloaded`, now symbols can have negative scale,
+  - Did something else, I can't remember.
 * v2.25		Changed some code
-* v2.5		New option: draftabsolute (symbols are replaced by text and LateX
-		becomes faster again). Changed manual a bit. 
-* v3.0		Symbols are stored inside a save-box and are used via \usebox{}, 
-		New option: "draft=absolute" (old option is still useable but obsolete),
-		Changed output of "draft=absolute",
-		New option: "prefix=<prefix>", adds a <prefix> to all commands,
-		New option: "usebox=true/false" If false the symbols aren't stored inside a box,
-		See manual for more changes.
-* v3.0a		New cookingsymbols: \grater, \bottle
+* v2.5
+  - New option: draftabsolute (symbols are replaced by text and LateX becomes faster again). Changed manual a bit. 
+* v3.0
+  - Symbols are stored inside a save-box and are used via \\usebox{}, 
+  - New option: `draft=absolute` (old option is still useable but obsolete),
+  - Changed output of `draft=absolute`,
+  - New option: `prefix=<prefix>`, adds a `<prefix>` to all commands,
+  - New option: `usebox=true/false` If false the symbols aren't stored inside a box,
+  - See manual for more changes.
+* v3.0a		New cookingsymbols: `\\grater`, `\\bottle`
 * v3.0b		Deleted some non-ASCII characters.
-* v3.0g		Removed a bug caused by me messing up with commands.
-		Removed package 'calc' and replaced \setlength with \pgfmathsetlength
-		Reworked some code of the symbols.
-		Did not change the manual.
-* v3.0h		Created a bug in the process of fixing the last bug,
-		added the forgotten \fi.
-* v3.01alpha	Copied the 2e code and started rewriting the code
-		in LaTeX3.
+* v3.0g
+  - Removed a bug caused by me messing up with commands.
+  - Removed package `calc` and replaced `\\setlength` with `\\pgfmathsetlength`
+  - Reworked some code of the symbols.
+  - Did not change the manual.
+* v3.0h		Created a bug in the process of fixing the last bug, added the forgotten `\\fi`.
+* v3.01alpha	Copied the 2e code and started rewriting the code in LaTeX3.
 * v3.38		Nearly finished rewriting.
 * v3.40		Now everything is coded in LaTeX3.
 * v3.40-v0.95	Various fixes and changes.
-* v3.95		New emoticon \(d)Changey.
+* v3.95		New emoticon `\\(d)Changey`.
 * v4.0		Finished reworking the code.
-* v4.01		Added a known problem to the documentation.
-            	New Symbol: \rollingpin (and of course the german equivalent \Nudelholz)
-* v4.02     Added option "baseline=true/false" to fix a bug occuring with 'todonotes'
-            New Symbols: \cChangey and \dcChangey
-            
+* v4.01
+  - Added a known problem to the documentation.
+  - New Symbol: \\rollingpin (and of course the german equivalent `\\Nudelholz`)
+* v4.02
+  - Added option `baseline=true/false` to fix a bug occuring with `todonotes`
+  - New Symbols: `\\cChangey` and `\\dcChangey`
+* v4.06
+  - New Emoticon: `\\(d)Sleepey`.
+  - New Emoticon: `\\SchrodingersCat`.
+  - New option: `global-scale`.
+  - New option: `symbol-scale`.
+  - `\\tikzsymbolsset` now raises a warning if a load-time option is used.
+  - Some minor fixes.
+* v4.07 Option `usebox` is now usable during the document.
 
 Requirements 
 ------------
@@ -71,7 +82,7 @@
 
 License
 -------
-This material is subject to the LaTeX Project Public License. See
+This ma­te­rial is sub­ject to the LATEX Project Public Li­cense 1.3c. See
 
   http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
 

Modified: trunk/Master/texmf-dist/doc/latex/tikzsymbols/tikzsymbols.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx	2017-09-05 17:56:45 UTC (rev 45221)
+++ trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx	2017-09-05 21:56:28 UTC (rev 45222)
@@ -1,24 +1,23 @@
 % \iffalse meta-comment
 % !TEX encoding = UTF-8 Unicode
+%
 % \fi
 %
 % \iffalse meta-comment 
 % 
-% Copyright (C) 2016 by Ben Vitecek (current Maintainer)
+% Copyright (C) 2013--2017 by Ben Vitecek (current Maintainer)
 % 
-% This file may be distributed and/or modified under the 
-% conditions of the LaTeX Project Public License, either 
-% version 1.3 of this license or (at your option) any later 
-% version. The latest version of this license is in: 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
 % 
-%http://www.latex-project.org/lppl.txt 
-% 
-% and version 1.3c or later is part of all distributions of 
-% LaTeX version 2008-05-04 or later. 
-% 
 % This work has the LPPL maintenance status `maintained'.
 %
-% This work consists of the files README, tikzsymbols.dtx, 
+% This work consists of the files README.md, tikzsymbols.dtx, 
 % tikzsymbols.ins and the derived files tikzsymbols.sty.
 %
 % \fi
@@ -25,12 +24,12 @@
 %
 % \iffalse 
 %<*driver> 
-\documentclass[onlydoc,11pt]{l3doc} 
+\documentclass[onlydoc,11pt,english]{l3doc} 
 
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage{lmodern} 
-\usepackage[english]{babel}
+\usepackage{babel}
 \usepackage{marvosym} 
 \usepackage{microtype}
 \usepackage{longtable}
@@ -65,6 +64,7 @@
 
 \newcommand{\Package}{\pkg}
 \newcommand{\Option}{\texttt}
+\newcommand{\opt}{\texttt}
 \newcommand{\Makro}{\cs}
 \newcommand{\makrouse}[1]{\use:c{#1}}
 \renewcommand{\arg}[1]{\texttt{<#1>}}
@@ -76,13 +76,7 @@
 \vbadness=\maxdimen
 \hbadness=\maxdimen
 
-\cs_set_eq:NN \Manipulate \exp_args:Nnx
 
-\cs_new:Npn \Manipulated
-  {
-    \clist_use:Nn \g_tikzsymbols_list_of_other_commands_clist { , \space ;;;;;\textbackslash }
-  }
-
 \cs_new:Npn \CreateExample #1#2
   {
     \tl_set_rescan:Nnn \l_tmpa_tl
@@ -96,15 +90,6 @@
 
 \clist_new:N \printclist
 
-%\clist_map_inline:Nn
-%  \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist
-%  {
-%    \int_incr:N \l_tmpa_int
-%    \int_compare:nTF { \l_tmpa_int = 3 }
-%      { \clist_put_right:Nn \printclist { scale &  } \int_zero:N \l_tmpa_int }
-%      { \clist_put_right:Nn \printclist {#1} }
-%  }
-
 \cs_new:Npn \MapinTable
   {
     \clist_use:Nn \printclist { }
@@ -112,7 +97,7 @@
 
 \clist_set_eq:NN \printclist \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist
 
-\clist_if_exist:NF \printclist { \clist_new:N \printclist }
+\clist_if_exist:NF \printclist { \ERROR }
 
 \newcommand{\loadtime}{\marginpar{load-time}}
 \newcommand{\preamble}{\marginpar{preamble}}
@@ -119,6 +104,22 @@
 \newcommand{\preload}{\marginpar{load-time and preamble}}
 
 
+
+\NewDocumentEnvironment { myexample } { }
+  {
+    \medskip
+    \noindent\textbf{Examples:}
+  }{
+  
+  }
+\NewDocumentEnvironment { mynote } { }
+  {
+    \medskip
+    \noindent\textbf{Note:}%
+  }{
+  
+  }
+
 \ExplSyntaxOff
 \makeatother
 
@@ -176,9 +177,12 @@
 %
 % \title{The \Package{\jobname} package\thanks{This document corresponds to \textsf{\jobname}~\fileversion, dated~\filedate.}}
 %
-%\author{Ben Vitecek \\ \href{mailto:b.vitecek at gmx.at}{b.vitecek at gmx.at}} 
+%\author{Ben Vitecek \\ 
+%  \href{mailto:b.vitecek at gmx.at}{b.vitecek at gmx.at} \\
+%  \href{https://github.com/Vidabe/tikzsymbols}{GitHub}
+% } 
 %
-% \date{May 14, 2017} 
+%^^A \date{August 19, 2017} 
 %
 % \maketitle{}
 %
@@ -191,7 +195,8 @@
 %   see \cref{sec:important-changes}.
 %
 %   English is (still) not my native language so there (still) might be some
-%   errors\footnote{They are -- of course -- on purpose.}. \Winkey.
+%   errors\footnote{They are -- of course -- on purpose (expect for 
+%    \enquote{avaiable} (sic!)).} \Winkey.
 % \end{abstract}
 %
 % \tableofcontents
@@ -203,7 +208,7 @@
 % \begin{comment}
 % As far as I can remember this package is a result of me writing a cooking book.
 % I wasn't able to find the symbols I wanted on CTAN and so I used \Package{tikz}
-% and my (sadly) very humble skills to develope the predecessor
+% and my (sadly) very humble skills to develop the predecessor
 % called \Package{somesymbols}.  Developing and making symbols 
 % was a lot of fun and suddenly I had (badly coded) Emoticons, cooking-symbols
 % and other symbols. Somehow I got the idea of uploading them to CTAN
@@ -232,7 +237,7 @@
 % Well, let's hope my code (and grammar) is better this time\footnote{Looking at own risk.
 %  You have been warned.}.
 %
-% Well \dots\ thats it, have fun!
+% Well \dots\ that's it, have fun!
 %
 %
 %
@@ -239,27 +244,25 @@
 % \section{Important changes}
 % \label{sec:important-changes}
 %
-%^^A There should be no differences between the old (\LaTeXe) and new release (\LaTeX3)
-%^^A except for the choices listed below. 
-% The packages should behave the same way as the \enquote{old} (\LaTeXe) release.
-%^^A The only difference I was able
-%^^A to find is that now you can always use  empty
-%^^A brackets and the default value is still inputted while in 
-%^^A the old version an empty bracket sometimes leads to an
-%^^A error message. 
+% The package should behave the same way as the \enquote{old} \LaTeXe\ release.
 %
-% The option \Option{draft=absolute} is now
-% obsolete and replaced by the much simpler option \Option{draft=true}.
-%
-% Furthermore the horribly named command
+% \begin{description}
+%  \item[2017] Option \Option{usebox} can be used during the document.
+%  \item[old]  The horribly named command
 % \Makro{tikzsymbolsaftersymbolinput} is not defined anymore by this
 % package. 
 % Please use the new option \Option{after-symbol}, 
 % in combination with the new command \Makro{tikzsymbolsset}, 
 % see \cref{sec:options} for more information.
+%  \item[very old]
+% The option \Option{draft=absolute} is now
+% obsolete and replaced by the much simpler option \Option{draft=true}.
+% \end{description}
 %
+%
 %^^A And a new Emoticon: \Makro{Changey} (and \Makro{dChangey}).
 %
+%
 % \section{Options}
 % \label{sec:options}
 %
@@ -331,19 +334,7 @@
 %
 % You may also use the option \Option{prefix} (\cref{sec:prefix}).
 %
-% \subsubsection{usebox (true/false)}
-% \label{sec:usebox}
-% 
-% In \Package{tikzsymbols} all symbols are stored inside boxes
-% (\Makro{sbox}) and while I still have no idea what exactly happens,
-% it shortens the compilation time of the document. By
-% default this option is \Option{true}. 
 %
-% The drawback is that \LaTeX\ has only a limited number of box
-% registers. If you come across an error message regarding boxes try setting \Option{usebox=false}. 
-%
-% Can only be  set as load-time option. 
-%
 % \subsubsection{prefix (\arg{string})}
 % \label{sec:prefix}
 % 
@@ -382,7 +373,11 @@
 %   a \arg{prefix}, just write the command name and this command adds
 %   automatically the given prefix to the command name.
 %
-%   For example:
+% 
+% \end{function}
+%
+%
+%   \begin{myexample}
 %   \Makro{tikzsymbolsuse\{Smiley\}[2]} \tikzsymbolsuse{Smiley}[2]
 %
 %   \Makro{tikzsymbolsuse\{BasicTree\}[1.2]\{black\}\{red!50!black\}\{red\}\{leaf\}}
@@ -394,18 +389,33 @@
 %   \Makro{tikzsymbolsuse\{Fire\}[-1.3]} \tikzsymbolsuse{Fire}[-1.3]
 %
 %   etc.
+%   \end{myexample}
 %
+% \subsection{Normal Options}
+% \label{sec:pream-opt}
 % 
-% \end{function}
+% Most of these options can be set either as a package-option or with
+% \Makro{tikzsymbolsset}.
 %
+% \subsubsection{draft (true/false)}
+% \label{sec:draft}
+% 
+% \begin{function}{draft}
+%   \begin{syntax}
+%     draft = \arg{true/false}
+%   \end{syntax}
 %
+%   While  working on the document it is recommended to set this option
+%   to \Option{true} because creating many symbols may takes some time
+%   to compile and by setting this option to \Option{true} the symbols
+%   are replaced by plain vanilla rectangles (with the same height and width as
+%   the symbols\footnote{At least I hope.}) which are faster to
+%   create.
 %
-% \subsection{Preamble Options}
-% \label{sec:pream-opt}
-% 
-% Most of these commands can be set either as package option or with
-% \Makro{tikzsymbolsset}.
+%   The old option \Option{draft=absolute} is 
+%   obsolete and should therefore not be used.
 %
+% \end{function}
 %
 % \subsubsection{final (true/false)}
 % \label{sec:final}
@@ -425,27 +435,9 @@
 %
 % \end{function}
 %
-% \subsubsection{draft (true/false)}
-% \label{sec:draft}
 % 
-% \begin{function}{draft}
-%   \begin{syntax}
-%     draft = \arg{true/false}
-%   \end{syntax}
 %
-%   While  working on the document it is recommended to set this option
-%   to \Option{true} because creating many symbols may takes some time
-%   to compile and by setting this option to \Option{true} the symbols
-%   are replaced by plain vanilla rectangles which are faster to
-%   create.
 %
-%   The old option \Option{draft=absolute} is 
-%   obsolete and should therefore not be used.
-%
-% \end{function}
-% 
-%
-%
 % \subsubsection{tree (true/false/on/off)}
 % \label{sec:tree}
 % 
@@ -455,11 +447,11 @@
 %  \end{syntax}
 %
 % This key accepts \Option{true}, \Option{false} and furthermore
-% \Option{on} and \Option{off}. The latter do exactly the same as the
+% \Option{on} and \Option{off} (for historical reasons). The latter do exactly the same as the
 % first ones. 
 %
 % This option   has only an effect on the command \Makro{BasicTree}
-% and his derivates (\Makro{Springtree}, \Makro{Summertree},
+% and its derivates (\Makro{Springtree}, \Makro{Summertree},
 % \Makro{Autumntree} and \Makro{Wintertree}) and substitutes them with
 % \Package{tikz} drawn boxes. 
 %
@@ -490,6 +482,59 @@
 % \end{function}
 % 
 %
+% \subsubsection{global-scale (\arg{number}) \\ 
+%  symbol-scale (\arg{key-value list})}
+% \label{sec:global-scale}
+% 
+% \begin{function}{global-scale, symbol-scale}
+%   \begin{syntax}
+%     global-scale = \marg{number}
+%     symbol-scale = \marg{symbol-1=number-1, symbol-2=number-2,\dots}
+%   \end{syntax}
+%   \opt{global-scale} can be used to scale \emph{all} commands by given \meta{number}.
+%
+%   If only some specific symbols should be scaled, you may use the second option
+%   and specify which symbol or symbols (name of the symbol without backslash) should be scaled.
+%   Using the german name (if available) has the same effect as using the  english one.
+%
+%   \begin{mynote}
+%     You can scale the symbols in this package in three different ways: The first 
+%     is to scale \emph{all} symbols using \opt{global-scale}, the second is scaling
+%     specific symbols using \opt{symbol-scale} and the third is by using the
+%     optional argument provided by the symbols (which I call \opt{local-scale}; e.g.
+%     \verb|\Smiley[2]|).
+%     
+%     The important thing is that those scaling methods \emph{do not cancel} each
+%     other, but behave multiplicative.
+%
+%     If a local scale is given (e.g.\ \verb|\Smiley[2]|) with \opt{global-scale=3}
+%     the resulting scaling will be $3\cdot 2=6$. Is furthermore this specific symbol
+%     is also scaled (e.g. by $1.1$), the resulting scaling 
+%     (for this symbol) will be $3\cdot 1.1 \cdot 2=6.6$.
+%     \end{mynote}
+%
+% \end{function}
+% 
+%  \begin{myexample}
+%  \verb|\tikzsymbolsset{symbol-scale={ Smiley= 1.5 }}|
+%  \tikzsymbolsset{symbol-scale={ Smiley= 1.5 }}
+%  \Smiley \\
+%  \verb|\tikzsymbolsset{symbol-scale={ Smiley= 5 }}|
+%  \tikzsymbolsset{symbol-scale={ Smiley= 5 }}
+%  \Smiley \\
+%  \verb|\tikzsymbolsset{symbol-scale={ Smiley= 2, Schneebesen=2.1 }}|
+%  \tikzsymbolsset{symbol-scale={ Smiley= 2, Schneebesen=2.1 }}
+%  \Smiley \Schneebesen \\
+%  \verb|\tikzsymbolsset{global-scale=3,symbol-scale={ Smiley= 2, Schneebesen=2.1 }}|
+%  \tikzsymbolsset{global-scale=3,symbol-scale={ Smiley= 2, Schneebesen=2.1 }}
+%  \Smiley \Schneebesen
+%  \end{myexample}
+%
+%   \begin{mynote}
+%   Using \enquote{eggbeater} instead of \enquote{Schneebesen} 
+%   does the same thing.
+%   \end{mynote}
+%
 % \subsubsection{baseline (true/false)}
 % \label{sec:baseline}
 % 
@@ -498,16 +543,32 @@
 %     baseline = \marg{true/false}
 %   \end{syntax}
 %   This option mainly exists to let the commands of this package work inside
-%   \pkg{todonotes} \cs{todo} command. If \Option{true} adds to each symbol of this package
+%   \pkg{todonotes}' \cs{todo} command. If set to \Option{true} it adds to each symbol of this package
 %   the tikz option \Option{baseline=default}. If you do not want this, set this option
 %   to \Option{false}. It is set to \Option{true} by default.
 % \end{function}
+%
+%
+% \subsubsection{usebox (true/false)}
+% \label{sec:usebox}
 % 
+% \begin{function}{usebox}
+%   \begin{syntax}
+%     usebox = \marg{true/false}
+%   \end{syntax}
+% In \Package{tikzsymbols} all symbols are stored inside boxes
+% (\Makro{sbox}) and while I still have no idea what exactly happens,
+% it shortens the compilation time of the document. By
+% default this option is \Option{true}. 
 %
+% The drawback is that \LaTeX\ has only a limited number of box
+% registers. If you come across an error message regarding boxes try setting \Option{usebox=false}. 
+% \end{function}
 %
 %
 %
 %
+%
 % \section {Symbols}
 %
 %
@@ -519,7 +580,7 @@
 %
 %
 %
-% \subsection{cooking-symbols \texorpdfstring{\Kochtopf}{Kochtopf}}
+% \subsection{Cooking-symbols \texorpdfstring{\Kochtopf}{Kochtopf}}
 %
 % 
 % \begin{function} 
@@ -576,11 +637,11 @@
 %   \multicolumn{2}{l}{German \& English Commands} & Optional
 %   parameter(s) & Output \\\toprule\endhead
 %   \\ \bottomrule \endfoot
-%  \MapinTable   \bottomrule
+%  \MapinTable   
+%  \bottomrule
 % \end{longtable}
 %
 % 
-% 
 %
 %
 % \end{function}
@@ -591,7 +652,7 @@
 %
 %\subsection{Emoticons \texorpdfstring{\Smiley}{Smiley}}
 %
-%\subsubsection{\enquote{normal} Emoticons \texorpdfstring{\Cat}{Cat}}
+%\subsubsection{\enquote{Normal} Emoticons \texorpdfstring{\Cat}{Cat}}
 %
 %
 %
@@ -617,7 +678,9 @@
 %     \Walley,
 %     \rWalley,
 %     \Cat,
+%     \SchrodingersCat,
 %     \Ninja,
+%     \Sleepey,
 %     \NiceReapey
 %  }
 %
@@ -634,7 +697,10 @@
 %
 % \Makro{Changey}'s \Meta{mood} has to be between $-2$ and $2$
 % ($1$ equals \Makro{Smiley}, $-1$ \Makro{Sadey} and $0$ \Makro{Neutrey}).
-% 
+%
+% \Makro{SchrodingersCat}'s \Meta{case} can either be $1$ (alive), $0$ (unknown)
+% or $-1$ (dead).
+%
 % \begin{longtable}{llc} 
 %   Commands & (Optional) parameter(s) & Output \\\toprule\endhead
 %  
@@ -661,7 +727,9 @@
 %   \Makro{Walley}& \oarg{scale}\oarg{color}\oarg{wall color} & \Walley \\
 %   \Makro{rWalley}\marginnote{\enquote{r} for \enquote{random generated cracks}.}& \oarg{scale}\oarg{color}\oarg{wall color} & \rWalley \\
 %   \Makro{Cat}& \oarg{scale}& \Cat \\
+%   \Makro{SchrodingersCat}& \oarg{scale}\marg{case}& \SchrodingersCat{0} \\
 %   \Makro{Ninja}& \oarg{scale}\oarg{color}\oarg{headband color}\oarg{eye color}& \Ninja \\
+%   \Makro{Sleepey}& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{star color}& \Sleepey \\
 %   \Makro{NiceReapey} & \oarg{scale} & \NiceReapey \\
 %    \bottomrule
 % \end{longtable}
@@ -668,7 +736,6 @@
 %
 %
 %
-%
 % \end{function}
 %
 % Examples: \CreateExample{Sadey}{[][red]}
@@ -685,6 +752,12 @@
 % 
 % \verb|\textcolor{blue}{\Sey}| \textcolor{blue}{\Sey}
 %
+% \CreateExample{Sleepey} {[1][white][blue][yellow!95!black]}
+%
+% \CreateExample{SchrodingersCat} {{1}} \par
+% \CreateExample{SchrodingersCat} {{0}}\par
+% \CreateExample{SchrodingersCat} {{-1}}
+%
 % \CreateExample{Changey} {{-2}}
 % \CreateExample{Changey} {{-1.367}}
 % \CreateExample{Changey} {{-1}}
@@ -732,6 +805,7 @@
 %     \dVomey,
 %     \dNursey,
 %     \dTongey,
+%     \dSleepey,
 %     \olddWinkey
 %   }
 %
@@ -777,6 +851,7 @@
 %   \Makro{dWalley}& \oarg{scale}\oarg{color}\oarg{wall color} & \dWalley  \\
 %   \Makro{drWalley}\marginnote{\enquote{r} for \enquote{random generated cracks}.}& \oarg{scale}\oarg{color}\oarg{wall color}& \drWalley \\
 %   \Makro{dNinja}& \oarg{scale}\oarg{color}\oarg{headband color}\oarg{eye color} & \dNinja  \\
+%   \Makro{dSleepey}& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{star color}& \dSleepey \\
 %    \bottomrule
 % \end{longtable}
 %
@@ -818,7 +893,7 @@
 % If you intent to change the color of \cs{dcChangey} you may define a new command
 % so that you do not have to write those brackets each time.
 %
-% \subsection{other Symbols \texorpdfstring{\Moai}{Moai}}
+% \subsection{Other Symbols \texorpdfstring{\Moai}{Moai}}
 %
 % \begin{function}
 %   {
@@ -913,7 +988,7 @@
 % or (better) \Option{draft=true} (see section
 % \cref{sec:draft} and \cref{sec:tree}) to make \LaTeX{} faster.
 %
-% Furthermore this trees are pretty much stolen from the 
+% Furthermore those trees are pretty much stolen from the 
 % \Package{tikz} manual.
 %
 % \begin{center}
@@ -1010,9 +1085,11 @@
 %
 % \section{Nobody is perfect}
 %
-% If you find a bug please send me a mail 
+% If you find a bug please send me a mail (or report it on GitHub)
 % involving a \emph{minimal example}   
-% showing the bug and a short description. Please mention
+% showing the bug and a short description (english or german). 
+% Please mention (if you are writing 
+% a mail)
 % \enquote{\Package{tikzsymbols}} in the header, \enquote{gmx} has
 % a habit of putting mails into the spam-folder
 % and it helps me to recognize those mails faster.
@@ -1021,9 +1098,6 @@
 %
 % Suggestions are also welcome.
 %
-%^^A \section{making suggestions}
-%
-%^^A Not only bug reports but also suggestions are most welcome.
 % 
 %
 %
@@ -1036,7 +1110,9 @@
 % Furthermore many thanks to my brother helping me improving 
 % the symbols.
 %
+% \section{Changes}
 %
+% See the \enquote{README.md} file.
 %
 %
 % \end{documentation}
@@ -1130,6 +1206,9 @@
 % behaviors with \pkg{todonotes}.}
 % \changes{v4.02}{2017/05/14}{Defined the tikz-style '/\_\_tikzsymbols' which is used to implement 'baseline'.}
 %
+% \changes{v4.03}{2017/08/08}{New symbols: \cs{Sleepey} and \cs{dSleepey}.}
+% \changes{v4.04}{2017/08/08}{New symbol: \cs{SchrodingersCat}.}
+%
 % The first lines are always the same: What do I need, what is the
 % package named.
 %    \begin{macrocode} 
@@ -1148,8 +1227,8 @@
   }
 \ProvidesExplPackage
   {tikzsymbols}
-  {2017/05/14}
-  {4.02}
+  {2017/09/05}
+  {4.07}
   {Some symbols created using tikz and LaTeX3.}
 \@ifpackageloaded { tikz } {} { \RequirePackage { tikz } }
 \@ifpackageloaded { xcolor } {} { \RequirePackage { xcolor } }
@@ -1171,7 +1250,6 @@
 %   \g_@@_if_opt_tree_print_bool ,
 %   \g_@@_if_opt_draft_bool ,
 %   \g_@@_if_opt_marvosym_bool , 
-%   \g_@@_if_opt_usebox_bool ,
 %  }
 % Booleans we later need, \cs{l_@@_if_scale_negative_bool} is set true
 % in symbols which need some extra code if the scaling is negative
@@ -1182,7 +1260,6 @@
 \bool_new:N \g_@@_if_opt_tree_print_bool 
 \bool_new:N \g_@@_if_opt_draft_bool
 \bool_new:N \g_@@_if_opt_marvosym_bool 
-\bool_new:N \g_@@_if_opt_usebox_bool
 %    \end{macrocode}
 % \end{macro}
 %  
@@ -1189,7 +1266,6 @@
 % Setting some of them to true by default.
 %    \begin{macrocode}
 \bool_gset_true:N \g_@@_if_opt_tree_print_bool
-\bool_gset_true:N \g_@@_if_opt_usebox_bool
 %    \end{macrocode}
 %
 %
@@ -1239,7 +1315,14 @@
 \tl_gset:Nn \l_@@_tikzsymbols_after_symbol_tl { \xspace }
 %    \end{macrocode}
 %
+%    \begin{macrocode}
+\tl_new:N \l_@@_used_only_once_because_no_better_idea_tl
+%    \end{macrocode}
 %
+%    \begin{macrocode}
+\fp_new:N \l_@@_global_scale_fp
+\fp_set:Nn \l_@@_global_scale_fp { 1.0 }
+%    \end{macrocode}
 %
 %
 % \begin{macro}{\tikzsymbolsaftersymbolinput}
@@ -1286,10 +1369,7 @@
 %
 %
 %
-% \begin{macro}
-%  {
-%    \l_@@_Moai_thickness_dim ,
-%  }
+% \begin{macro} { \l_@@_Moai_thickness_dim }
 %
 %    It  is used inside \Makro{Moai}. I figured that depending
 %    on the scaling the line-thickness of \Makro{Moai}  should change
@@ -1301,25 +1381,20 @@
 % \end{macro}
 %
 %
-% \begin{macro}
-%  {
-%    \g_tikzsymbols_list_of_commands_clist ,
-%    \g_tikzsymbols_list_of_english_commands_clist ,
-%  }
-%
+% \begin{macro} { \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist }
 %    Store every command defined by this package. I may delete them.
 %    \begin{macrocode}
-\clist_new:N \l_@@_tmpa_clist
-\clist_new:N \g_tikzsymbols_list_of_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_english_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_cooking_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_emoticons_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_other_commands_clist
 \clist_new:N \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{ \g_@@_english_commands_prop }
+%    \begin{macrocode}
+\prop_new:N \g_@@_english_commands_prop
+%    \end{macrocode}
+% \end{macro}
 %
+%
 % \subsection{Messages}
 %
 % Nothing special happens in this subsection.
@@ -1331,8 +1406,7 @@
   { 
     Option \ '#1' \ is \ obsolete. \ 
     Please \ use \ '#2' \ instead. 
-  }
-  {
+  }{
     The \ option \ you \ used \ is \ obsolete.
     \msg_see_documentation_text:n { tikzsymbols } 
   }
@@ -1346,8 +1420,7 @@
   {  
     Undefined \ Control \ sequence: \ '#1'. \
     Did \ you \ write \ the \ name \ correctly?
-  } 
-  { 
+  }{ 
     The \ command \ is \ not \ defined.
     \msg_see_documentation_text:n { tikzsymbols } 
   }
@@ -1402,19 +1475,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{ tikzsymbolsset }
-%    \begin{macrocode}
-%\msg_new:nnnn { tikzsymbols } { tikzsymbolsset } 
-%  {  
-%    You \ can \ use \ \tikzsymbolsset  only \ in \ the \
-%    Preamble. 
-%  }{
-%    You \ have \ to \ set \ options \ either \ while \ loading \
-%    the \ package \ or \ in \ the \ Preamble.
-%    \msg_see_documentation_text:n { tikzsymbols } 
-%  }
-%    \end{macrocode}
-% \end{macro}
 %
 % \begin{macro}{ Changey-number-too-large }
 % \changes{v3.95}{2016/03/20}{New}
@@ -1454,9 +1514,62 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{ SchrodingersCat  }
+%    \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { SchrodingersCat  } 
+  {  
+    \SchrodingersCat\ only \ accepts \ '-1' \ (dead), \ '0'\ (unknown)\ or \ '1'\
+    (alive) \ for \ its \ mandatroy \ argument. \ You \ have \ given \ '#1'.
+  }{
+    Your \ input \ number \ is \ not \ allowed.
+    \msg_see_documentation_text:n { tikzsymbols } 
+  }
+%    \end{macrocode}
+% \end{macro}
 %
+% \begin{macro}{ internal-message  }
+% \changes{v4.05}{2017/08/09}{New}
+%    \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { internal-message  } 
+  {  
+    This \ is \ an \ internal \ message \ and \ means \ that \
+    I \ (the \ package \ author) \ fucked \ up. \ If \ you \
+    stumble \ across \ this, \ the \ description \ message \
+    is \ '#1'.
+  }{
+    I \ apologize \ for \ that.
+    \msg_see_documentation_text:n { tikzsymbols } 
+  }
+%    \end{macrocode}
+% \end{macro}
 %
+% \begin{macro}{ package-option }
+% \changes{v4.05}{2017/08/09}{New}
+%    \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { package-option } 
+  {  
+    The \ option \ '#1' \ is \ only \ allowed \ as \ a \ package
+    \ option.
+  }{
+    This \ option \ is \ not \ allowed \ to \ be \ set \
+    using \ \tikzsymbolsset{}.
+    \msg_see_documentation_text:n { tikzsymbols } 
+  }
+%    \end{macrocode}
+% \end{macro}
 %
+% \begin{macro}{ package-option }
+% \changes{v4.05}{2017/08/09}{New}
+%    \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { symbol-name-unknown } 
+  {  
+    The \ symbol \ '#1' \ is \ not \ available \ by \ this \ package.
+  }{
+    Perhaps \ you \ have \ misspelled it.
+    \msg_see_documentation_text:n { tikzsymbols } 
+  }
+%    \end{macrocode}
+% \end{macro}
 %
 %
 %
@@ -1464,6 +1577,16 @@
 %
 %
 %
+%
+%
+%
+% \subsection{Helping Commands}
+% \label{sec:helping-commands}
+%
+% I define some macros which will help me  to write less.
+%
+%
+%
 % \begin{macro}{ \@@_Basic_Tree_aux:nnnnn }
 %   I am still using a similar construction as in the \LaTeXe\
 %   code. Inside this command is safed either
@@ -1470,11 +1593,162 @@
 %   \Makro{@@_Basic_Tree_on:nnnnn} or \Makro{@@_Basic_Tree_off:nnnnn}
 %   depending on the package options.
 %    \begin{macrocode}
-\cs_new:Npn \@@_Basic_Tree_aux:nnnnn {  }
+%\cs_new:Npn \@@_Basic_Tree_aux:nnnnn {  }
+\cs_set:Npn \@@_Basic_Tree_aux:nnnnn
+  {
+    \bool_if:NTF \g_@@_if_opt_tree_print_bool
+      { \@@_Basic_Tree_on:nnnnn }
+      { \@@_Basic_Tree_off:nnnnn }
+  }
 %    \end{macrocode}
 % \end{macro}
 %
+%^^A The command \Makro{BasicTree} is split up into two commands, named
+%^^A \texttt{on} and \texttt{off}. The helper command
+%^^A \Makro{@@_Basic_Tree_aux:nnnnn} is redefined accordingly.
+%^^A    \begin{macrocode}
+%^^A    \end{macrocode}
 %
+%
+% \begin{macro}{ \@@_symbol_scale_i:n , \@@_symbol_scale_ii:nn }
+%    \begin{macrocode}
+\cs_new:Npn \@@_symbol_scale_i:n #1
+  {
+    \@@_symbol_scale_ii:nn {#1} { 1.0 }
+  }
+\cs_new:Npn \@@_symbol_scale_ii:nn #1#2
+  {
+    \prop_get:NnNTF \g_@@_english_commands_prop {#1} \l_tmpa_tl
+      {
+        \fp_set:cn { l_@@_ \l_tmpa_tl _scale_fp } {#2}
+      }{
+        \fp_if_exist:cTF { l_@@_#1_scale_fp }
+          { \fp_set:cn { l_@@_#1_scale_fp } {#2} }
+          { \msg_error:nnn { tikzsymbols} { symbol-name-unknown } {#1} }
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{ \@@_set_scale_abs_tl:n }
+%   Sets \Makro{l_@@_scale_abs_tl} to the absolute input value. I made
+%   this to write less which is always a good idea (mostly).
+%    \begin{macrocode}
+\cs_new:Npn \@@_set_scale_abs_tl:n #1
+  {
+    \tl_set:Nx \l_@@_scale_abs_tl { \fp_eval:n { abs (#1) } }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{ \@@_create_draftbox:nn }
+%   Creating the command to print the plain vanilla draft-boxes. The
+%   group is needed because I am setting \Makro{vbadness} to
+%   \Makro{c_max_dimen} to suppress underfull-hbox messages. The input
+%   is evaluated because we need it for the height and the length of
+%   the draftbox. The draftbox itself contains just the vbox and hbox
+%   commands to set the height and length of the box surrounded by a
+%   frame.
+%    \begin{macrocode}
+\cs_new:Npn \@@_create_draftbox:nn #1#2
+  {
+    \group_begin: 
+    \vbadness=\c_max_dim
+    \fp_set:Nn \l_tmpa_fp {#1}
+    \fp_set:Nn \l_tmpb_fp {#2}
+    \frame
+      {
+        \vbox_to_ht:nn { \fp_to_dim:N \l_tmpb_fp } 
+          {
+            \hbox_to_wd:nn { \fp_to_dim:N \l_tmpa_fp } { }
+          }
+      }
+    \group_end: 
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{ \@@_create_squared_draftbox:n }
+%   Again a command to write less. This command is used if the drat-box
+%   is a square.
+%    \begin{macrocode}
+\cs_new:Npn \@@_create_squared_draftbox:n #1 
+  { 
+    \@@_create_draftbox:nn {#1} {#1} 
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{ \@@_if_savebox_undefined_aux:nT }
+%   I may misuse the naming scheme because the command ends with
+%   \texttt{nT}, but is not a conditional
+%   function. \Makro{l_@@_current_situation_tl} is used here. The box
+%   is only defined if it not defined yet. I don't know how those
+%   boxes work, but if the same box (alias the same command in the
+%   same font size and the same color and same options) is used again
+%   the output (maybe) doesn't need to be calculated again. Its
+%   faster, somehow, but it's faster. I am using the old commands
+%   \Makro{global} and \Makro{sbox} because I didn't find the \LaTeX3
+%   equivalents.
+%    \begin{macrocode}
+\cs_new:Npn \@@_if_savebox_undefined:nT #1#2
+  {
+    \tl_set:Nx \l_@@_current_situation_tl 
+      { 
+        \bool_if:NTF \g_@@_if_opt_draft_bool { T } { F } _ 
+        \current at color _ \f at size  
+      }
+    \box_if_exist:cF { g_@@_savebox_ \l_@@_current_situation_tl _ #1  _box }
+      { 
+        \box_new:c { g_@@_savebox_ \l_@@_current_situation_tl _ #1  _box } 
+        \exp_args:NNc \global \sbox 
+           { g_@@_savebox_ \l_@@_current_situation_tl _ #1 _box } {#2}
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \begin{macro}{ \@@_use_savebox_aux:n }
+%   Use the defined \Makro{sbox}-box.
+%    \begin{macrocode}
+\cs_new:Npn \@@_use_savebox:n #1
+  {
+    \exp_args:Nc \usebox 
+      { g_@@_savebox_ \l_@@_current_situation_tl _ #1 _box }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \begin{macro}{\@@_provide_savebox_and_use:nT}
+% Again to support my laziness. It creates the box (if it isn't
+% defined yet) and uses the box immediately afterwards.
+%    \begin{macrocode}
+\cs_new:Npn \@@_provide_savebox_and_use_aux:nT #1#2
+  {
+    \@@_if_savebox_undefined:nT {#1} {#2}
+    \@@_use_savebox:n {#1}
+  }
+\cs_set_eq:NN 
+  \@@_provide_savebox_and_use:nT 
+  \@@_provide_savebox_and_use_aux:nT
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% To make this package \pkg{todonotes} safe:
+%    \begin{macrocode}
+\pgfkeys{ /@@/.style= { baseline=default } }
+%    \end{macrocode}
+%
 % 
 % \subsection{Keys}
 % \label{sec:keys}
@@ -1492,7 +1766,6 @@
 %    \begin{macrocode}
     final .bool_gset_inverse:N = \g_@@_if_opt_draft_bool ,
     final .default:n = { true } ,
-    final .groups:n = { document } ,
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1514,12 +1787,11 @@
               { 
                 \msg_error:nnnn { tikzsymbols } { obsolete-option } 
                   { draft = absolute } { draft = true } 
-                  \bool_gset_true:N \g_@@_if_opt_draft_bool 
+                \bool_gset_true:N \g_@@_if_opt_draft_bool 
               }
           }
       } ,
     draft .default:n= { false } ,
-    draft .groups:n = { document } ,
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1533,7 +1805,6 @@
           { draftabsolute } { draft = true }
         \bool_gset_true:N \g_@@_if_opt_draft_bool
       } , 
-    draftabsolute .groups:n = { document } ,
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1550,9 +1821,20 @@
 %   Don't want to speed up the code due to random reasons? Set this
 %   option to 'false'. 
 %    \begin{macrocode}
-    usebox .bool_gset:N = \g_@@_if_opt_usebox_bool ,
+    usebox .choice: , 
+    usebox/true .code:n = 
+      { 
+        \cs_set_eq:NN 
+          \@@_provide_savebox_and_use:nT
+          \@@_provide_savebox_and_use_aux:nT
+      } ,
+    usebox/false .code:n = 
+      { 
+        \cs_set_eq:NN 
+          \@@_provide_savebox_and_use:nT
+          \use_ii:nn
+      } ,
     usebox .default:n = { true } ,
-    usebox .groups:n = { package } ,
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1575,12 +1857,11 @@
     tree .choices:nn = 
       { true , on , false , off }
       {
-        \int_compare:nTF { \l_keys_choice_int <= 2 }
+        \int_compare:nNnTF { \l_keys_choice_int } < { 3 }
           { \bool_gset_true:N \g_@@_if_opt_tree_print_bool }
           { \bool_gset_false:N \g_@@_if_opt_tree_print_bool }
       } ,
     tree .default:n = { true } ,
-    tree .groups:n = { document } ,
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1591,157 +1872,66 @@
 %    \begin{macrocode}
     after-symbol .tl_set:N = \l_@@_tikzsymbols_after_symbol_tl ,
     after-symbol .default:n= { \xspace } ,
-    after-symbol .groups:n = { document } ,
 %    \end{macrocode}
+% \end{macro}
 %
 % \begin{macro}{ baseline }
 %    \begin{macrocode}
     baseline .choice: ,
-    baseline / true .code:n = { \pgfkeys{ /@@/.style={baseline=default} } } ,
+    baseline / true .code:n = { \pgfkeys{ /@@/.style={ baseline=default } } } ,
     baseline / false .code:n = { \pgfkeys{ /@@/.style={ } } } ,
     baseline .default:n = { true } ,
 %    \end{macrocode}
 % \end{macro}
 %
-%
-% Now we end the key definitions.
+% \begin{macro}{ global-scale }
 %    \begin{macrocode}
-  }
+    global-scale .fp_set:N = \l_@@_global_scale_fp ,
+    global-scale .default:n = { 1 } ,
 %    \end{macrocode}
-%
-% To make this package \pkg{todonotes} safe:
-%    \begin{macrocode}
-\pgfkeys{ /@@/.style={baseline=default} }
-%    \end{macrocode}
-%
-%
-%  We process all options. 
-% \begin{macro}{ ProcessKeyOptions }
-%    \begin{macrocode}
-\ProcessKeysOptions { tikzsymbols }
-%    \end{macrocode}
 % \end{macro}
 %
-%<*ignore>
-% \begin{macro}{ after-symbol }
+% This command has to be set later as
+% the command names have not been defined yet.
+% \begin{macro}{ symbol-scale }
 %    \begin{macrocode}
-\keys_define:nn { tikzsymbols }
-  {
-    after-symbol .tl_gset:N = \l_@@_tikzsymbols_after_symbol_tl ,
-    after-symbol .default:n= { \xspace } ,
-    after-symbol .groups:n = { document } ,
-  }
-%    \end{macrocode}
-% \end{macro}
-%</ignore>
-%
-%
-% \subsection{Helping Commands}
-% \label{sec:helping-commands}
-%
-% I define some macros which will help me  to write less.
-%
-% \begin{macro}{ \@@_set_scale_abs_tl:n }
-%   Sets \Makro{l_@@_scale_abs_tl} to the absolute input value. I made
-%   this to write less which is always a good idea (mostly).
-%    \begin{macrocode}
-\cs_new:Npn \@@_set_scale_abs_tl:n #1
-  {
-    \tl_set:Nx \l_@@_scale_abs_tl { \fp_to_tl:n { abs (#1) } }
-  }
-%    \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{ \@@_create_draftbox:nn }
-%   Creating the command to print the plain vanilla draft-boxes. The
-%   group is needed because I am setting \Makro{vbadness} to
-%   \Makro{c_max_dimen} to suppress underfull-hbox messages. The input
-%   is evaluated because we need it for the height and the length of
-%   the draftbox. The draftbox itself contains just the vbox and hbox
-%   commands to set the height and length of the box surrounded by a
-%   frame.
-%    \begin{macrocode}
-\cs_new:Npn \@@_create_draftbox:nn #1#2
-  {
-    \group_begin: 
-    \vbadness=\c_max_dim
-    \fp_set:Nn \l_tmpa_fp {#1}
-    \fp_set:Nn \l_tmpb_fp {#2}
-    \frame
+    symbol-scale .code:n =
       {
-        \vbox_to_ht:nn { \fp_to_dim:N \l_tmpb_fp } 
+        \tl_set:Nn \l_@@_used_only_once_because_no_better_idea_tl
           {
-            \hbox_to_wd:nn { \fp_to_dim:N \l_tmpa_fp } { }
+            symbol-scale = {#1} ,
           }
-      }
-    \group_end: 
-  }
+      } ,
+    symbol-scale .default:n = { } ,
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{ \@@_create_squared_draftbox:n }
-%   Again a command to write less. This command is used if the drat-box
-%   is a square.
+%
+% Now we end the key definitions.
 %    \begin{macrocode}
-\cs_new:Npn \@@_create_squared_draftbox:n #1 
-  { 
-    \@@_create_draftbox:nn {#1} {#1} 
   }
 %    \end{macrocode}
-% \end{macro}
 %
 %
-% \begin{macro}{ \@@_if_savebox_undefined:nT }
-%   I may misuse the naming scheme because the command ends with
-%   \texttt{nT}, but is not a conditional
-%   function. \Makro{l_@@_current_situation_tl} is used here. The box
-%   is only defined if it not defined yet. I don't know how those
-%   boxes work, but if the same box (alias the same command in the
-%   same font size and the same color and same options) is used again
-%   the output (maybe) doesn't need to be calculated again. Its
-%   faster, somehow, but it's faster. I am using the old commands
-%   \Makro{global} and \Makro{sbox} because I didn't find the \LaTeX3
-%   equivalents.
+%
+%  We process all options. 
+% \begin{macro}{ ProcessKeyOptions }
 %    \begin{macrocode}
-\cs_new:Npn \@@_if_savebox_undefined:nT #1#2
-  {
-    \tl_set:Nx \l_@@_current_situation_tl { \current at color _ \f at size  }
-    \box_if_exist:cF { g_@@_savebox_ \l_@@_current_situation_tl _ #1  _box }
-      { 
-        \box_new:c { g_@@_savebox_ \l_@@_current_situation_tl _ #1  _box } 
-        \exp_args:NNc \global \sbox 
-           { g_@@_savebox_ \l_@@_current_situation_tl _ #1 _box } {#2}
-      }
-  }
+\ProcessKeysOptions { tikzsymbols }
 %    \end{macrocode}
 % \end{macro}
 %
-%
-% \begin{macro}{
-% \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT }
-% Again to support my laziness. It creates the box (if it isn't
-% defined yet) and uses the box immediately afterwards.
+% \begin{macro}{ symbol-scale }
 %    \begin{macrocode}
-\cs_new:Npn \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT #1#2
+\keys_define:nn { tikzsymbols }
   {
-    \@@_if_savebox_undefined:nT {#1} {#2}
-    \@@_use_savebox:n {#1}
+    symbol-scale .code:n = 
+      { \keyval_parse:NNn \@@_symbol_scale_i:n \@@_symbol_scale_ii:nn {#1} }
   }
 %    \end{macrocode}
 % \end{macro}
 %
 %
-% \begin{macro}{ \@@_use_savebox:n }
-%   Use the defined \Makro{sbox}-box.
-%    \begin{macrocode}
-\cs_new:Npn \@@_use_savebox:n #1
-  {
-    \exp_args:Nc \usebox 
-      { g_@@_savebox_ \l_@@_current_situation_tl _ #1 _box }
-  }
-%    \end{macrocode}
-% \end{macro}
 %
 %
 % \subsubsection{DeclareDocumentCommand Helpers}
@@ -1753,7 +1943,7 @@
 % be able to write \Makro{Command}[] (note the empty brackets, you
 % don't need to insert a '1' inside, it is done automatically).
 %
-% \begin{macro}{ \@@_if_empty:Tn }
+% \begin{macro}{ \@@_if_empty:Tn , \@@_scale_if_empty:nTn }
 %   This command is used in \Makro{DeclareDocumentCommand} to help
 %   setting the options with \verb|>{ \@@_if_empty:Tn } O{1}|. If the
 %   brackets are empty the value of the option is inserted. Example:
@@ -1770,6 +1960,18 @@
       { \tl_set:Nn \ProcessedArgument {#1} }
       { \tl_set:Nn \ProcessedArgument {#2} }
   }
+\cs_new:Npn \@@_scale_if_empty:nTn #1#2#3
+  {
+    \tl_set:Nx \ProcessedArgument
+      {
+        \fp_eval:n
+          {
+            \tl_if_empty:nTF {#3} {#2} {#3}
+            * \l_@@_global_scale_fp 
+            * \use:c { l_@@_#1_scale_fp }
+          }
+      }
+  }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1779,10 +1981,11 @@
 %   edited to fit my purpose. This command gets the input from the
 %   options-definition. 
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_command_options:n #1
+\cs_new_protected:Npn \@@_parse_command_options:nn #1#2
   {
     \clist_clear:N \l_tmpa_clist
-    \@@_parse_command_options:N #1
+    \tl_set:Nn \l_tmpa_tl {#1}
+    \@@_parse_command_options:N #2
       \q_recursion_tail \q_recursion_tail \q_recursion_tail \q_recursion_stop
   }
 %    \end{macrocode}
@@ -1798,7 +2001,11 @@
     \quark_if_recursion_tail_stop:N #1
     \tl_if_eq:NNTF #1 O
       { \@@_parse_option_type_O:w #1 }
-      { \@@_parse_option_type:w #1  }
+      { 
+        \tl_if_eq:NNTF #1 S
+          { \@@_parse_option_type_S:Vw \l_tmpa_tl #1 }
+          { \@@_parse_option_type:w #1 }
+      }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1808,6 +2015,11 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_parse_option_type:w #1
   {
+    \str_case:nnF {#1}
+      {
+        { m } { }
+      }
+      { \msg_error:nnn { tikzsymbols } { internal-message } { internal-parsing } }
     \clist_put_right:Nn \l_tmpa_clist {#1}
     \@@_parse_command_options:N
   }
@@ -1826,7 +2038,19 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{ \@@_parse_option_type_S:w }
+%   The |S|  stands for \enquote{Scale}.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_parse_option_type_S:nw #1#2
+  {
+    \clist_put_right:Nn \l_tmpa_clist { >{ \@@_scale_if_empty:nTn {#1} { 1 } } O{ 1 }  }
+    \@@_parse_command_options:N
+  }
+\cs_generate_variant:Nn \@@_parse_option_type_S:nw { Vw }
+%    \end{macrocode}
+% \end{macro}
 %
+%
 % \begin{macro}{ \@@_Declare_Document_Command:nnn }
 %   Main Command to define the command of this package. It runs
 %   through the second input (argument specifications), stores the
@@ -1836,9 +2060,9 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_Declare_Document_Command:nnn #1#2#3
   {
-    \clist_put_right:Nn \g_tikzsymbols_list_of_commands_clist {#1}
-    \clist_put_right:Nn \l_@@_tmpa_clist {#1}
-    \@@_parse_command_options:n {#2}
+    \fp_new:c { l_@@_#1_scale_fp }
+    \fp_set:cn { l_@@_#1_scale_fp } { 1.0 }
+    \@@_parse_command_options:nn {#1} {#2}
     \exp_args:Ncx \DeclareDocumentCommand 
       { \g_@@_command_prefix_tl #1 } 
       { \clist_use:Nn \l_tmpa_clist {} } 
@@ -1859,14 +2083,13 @@
 %   Needed for cooking-symbols. Automatically defines the english name
 %   given in the second argument.
 %    \begin{macrocode}
-\prop_new:N \g_@@_english_commands_prop
 \cs_new:Npn \@@_Declare_Document_Commands:nnnn #1#2#3#4
   {
     \clist_put_right:Nn 
     \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist 
-    {
-      \cs{#1} & \cs{#2} & \oarg{scale} & \tikzsymbolsuse{#1} \\
-    }
+      {
+        \cs{#1} & \cs{#2} & \oarg{scale} & \tikzsymbolsuse{#1} \\
+      }
     \prop_gput:Nnn \g_@@_english_commands_prop {#2} {#1}
     \@@_Declare_Document_Command:nnn {#1} {#3} {#4}
     \@@_let:nn {#2} {#1}
@@ -1888,9 +2111,6 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_let:nn #1#2
   {
-    \clist_put_right:Nn \g_tikzsymbols_list_of_commands_clist {#1}
-    \clist_put_right:Nn \g_tikzsymbols_list_of_english_commands_clist {#1}
-    \clist_put_right:Nn \l_@@_tmpa_clist {#1}
     \cs_set_eq:cc { \g_@@_command_prefix_tl #1 } { \g_@@_command_prefix_tl #2 }
   }
 %    \end{macrocode}
@@ -1897,29 +2117,6 @@
 % \end{macro}
 %
 %
-% If the option \Option{usebox} is set to false the code inside is
-% executed, it redefines the commands to create and use the draft-boxes.
-%    \begin{macrocode}
-\AtBeginDocument
-  {
-    \bool_if:NF \g_@@_if_opt_usebox_bool
-      {
-        \cs_set_eq:NN \@@_if_savebox_undefined:nT \use_ii:nn
-        \cs_set_eq:NN \@@_use_savebox:n \use_none:n
-      }
-  }
-%    \end{macrocode}
-% The command \Makro{BasicTree} is split up into two commands, named
-% \texttt{on} and \texttt{off}. The helper command
-% \Makro{@@_Basic_Tree_aux:nnnnn} is redefined accordingly.
-%    \begin{macrocode}
-\cs_set:Npn \@@_Basic_Tree_aux:nnnnn
-  {
-    \bool_if:NTF \g_@@_if_opt_tree_print_bool
-      { \@@_Basic_Tree_on:nnnnn }
-      { \@@_Basic_Tree_off:nnnnn }
-  }
-%    \end{macrocode}
 %
 %
 %
@@ -2085,9 +2282,9 @@
 %   the symbol doesn't change\footnote{English, B\"a\"ahh!}. The
 %   symbol is created using the 'tikzpicture' environment. Yup.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Kochtopf } { pot } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Kochtopf } { pot } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Kochtopf_#1 }
+    \@@_provide_savebox_and_use:nT { Kochtopf_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2115,13 +2312,13 @@
 %    \end{macrocode}
 % Now the bubbles are printed.
 %    \begin{macrocode}
-              \draw (0.45,0.1) circle (0.04);
-              \draw (0.7,0.11) circle (0.04);
-              \draw (0.13, 0.125) circle (0.04);
-              \draw (0.3,0.2) circle (0.04);
-              \draw (0.88,0.2) circle (0.04);
-              \draw (0.1,0.25) circle (0.04);
-              \draw (0.6,0.25) circle (0.04);
+              \draw (0.45,0.1) circle [radius=0.04];
+              \draw (0.7,0.11) circle [radius=0.04];
+              \draw (0.13, 0.125) circle [radius=0.04];
+              \draw (0.3,0.2) circle [radius=0.04];
+              \draw (0.88,0.2) circle [radius=0.04];
+              \draw (0.1,0.25) circle [radius=0.04];
+              \draw (0.6,0.25) circle [radius=0.04];
             \end{tikzpicture}
           }
       }
@@ -2135,9 +2332,9 @@
 %   I think I wont add text to every command because I think a
 %   description is not really necessary.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Bratpfanne } { fryingpan } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Bratpfanne } { fryingpan } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Bratpfanne_#1 }
+    \@@_provide_savebox_and_use:nT { Bratpfanne_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2183,9 +2380,9 @@
 %
 % \begin{macro}{ \Schneebesen , \eggbeater }
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Schneebesen } { eggbeater } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Schneebesen } { eggbeater } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schneebesen_#1 }
+    \@@_provide_savebox_and_use:nT { Schneebesen_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2223,9 +2420,9 @@
 % of trigonometric functions and \Package{tikz}. Wasn't really
 % necessary, but I did it anyway.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Sieb } { sieve } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Sieb } { sieve } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sieb_#1 }
+    \@@_provide_savebox_and_use:nT { Sieb_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2348,9 +2545,9 @@
 % \begin{macro}{ \Purierstab , \blender }
 %   Ein P\"urierstab \dots\ ja.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Purierstab } { blender } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Purierstab } { blender } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Purierstab_#1 }
+    \@@_provide_savebox_and_use:nT { Purierstab_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2382,9 +2579,9 @@
 % \begin{macro}{ \Dreizack , \trident }
 % A trident, an important tool to check if potatoes are cooked enough.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Dreizack } { trident } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Dreizack } { trident } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Dreizack_#1 }
+    \@@_provide_savebox_and_use:nT { Dreizack_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2416,9 +2613,9 @@
 % \begin{macro}{ \Backblech , \bakingplate }
 %   With holes.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Backblech } { bakingplate } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Backblech } { bakingplate } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Backblech_#1 }
+    \@@_provide_savebox_and_use:nT { Backblech_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2438,7 +2635,7 @@
                    (\xI,0) -- (\xII,0) -- (\xII,0.3) -- (\xI,0.3);
               \foreach \@@_BackblechlochX in { 0.007 , 0.293 }
                 \foreach \@@_BackblechlochY in { 0.007 , 0.293 }
-                  \fill[white] (\@@_BackblechlochX, \@@_BackblechlochY) circle (0.02ex);
+                  \fill[white] (\@@_BackblechlochX, \@@_BackblechlochY) circle [radius=0.02ex];
             \end{tikzpicture}%
           }
       }
@@ -2452,9 +2649,9 @@
 % \begin{macro}{ \Ofen , \oven }
 %   Ein Ofen. Sieht eigentlich so aus wie der zu Hause.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Ofen } { oven } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Ofen } { oven } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Ofen_#1 }
+    \@@_provide_savebox_and_use:nT { Ofen_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2471,7 +2668,7 @@
               \draw (0,0) rectangle (4,3);
               \draw (0.25,0.25) rectangle (3.75,2);
               \foreach \@@_Ofenschalter in {0.5,1.1,2.9,3.5}
-                \fill (\@@_Ofenschalter,2.5) circle (0.22);
+                \fill (\@@_Ofenschalter,2.5) circle [radius=0.22];
               \draw (1.5,2.28) rectangle  (2.5,2.72);
               \draw[line ~ width=0.05ex * \l_@@_scale_abs_tl] (1,1.75) -- (3,1.75);
             \end{tikzpicture}%
@@ -2487,9 +2684,9 @@
 % \begin{macro}{ \Pfanne , \pan }
 % A pan with a wave-decoration. Resembles the one at home.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Pfanne } { pan } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Pfanne } { pan } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Pfanne_#1 }
+    \@@_provide_savebox_and_use:nT { Pfanne_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2531,9 +2728,9 @@
 %   Needed to cook things. Is pretty much looks exactly like the one
 %   at home.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Herd } { cooker } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Herd } { cooker } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Herd_#1 }
+    \@@_provide_savebox_and_use:nT { Herd_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2549,9 +2746,9 @@
               ]
               \draw[line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) rectangle (2,1.5);
               \foreach \y/\radius in { 0.45/0.35 , 0.45/0.2 , 1.15/0.21 }
-                \draw (0.5,\y) circle (\radius);
-              \draw (1.45,1.15) circle (0.15);
-              \draw (1.45,0.45) circle (0.3);
+                \draw (0.5,\y) circle [radius=\radius];
+              \draw (1.45,1.15) circle [radius=0.15];
+              \draw (1.45,0.45) circle [radius=0.3];
               \draw (1.05,0.95) rectangle (1.85,1.35);
             \end{tikzpicture}%
           }
@@ -2566,9 +2763,9 @@
 % \begin{macro}{ \Saftpresse , \squeezer }
 %   We have one of these, I still think its useful.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Saftpresse } { squeezer } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Saftpresse } { squeezer } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Saftpresse_#1 }
+    \@@_provide_savebox_and_use:nT { Saftpresse_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2611,9 +2808,9 @@
 %   A bowl. The edge was an accident, but I thought that it looks good
 %   and so I keeped it.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Schussel } { bowl } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Schussel } { bowl } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schussel_#1 }
+    \@@_provide_savebox_and_use:nT { Schussel_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2644,9 +2841,9 @@
 % \begin{macro}{ \Schaler , \peeler }
 %   Again an image of on I use to peel for example potatoes.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Schaler } { peeler } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Schaler } { peeler } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schaler_#1 }
+    \@@_provide_savebox_and_use:nT { Schaler_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2678,9 +2875,9 @@
 % \begin{macro}{ \Reibe , \grater }
 %   I get out of ideas to write.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Reibe } { grater } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Reibe } { grater } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Reibe_#1 }
+    \@@_provide_savebox_and_use:nT { Reibe_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2698,7 +2895,7 @@
               \draw[rounded ~ corners=0.04ex] (0.05,1.2) rectangle (0.95,1.5);
               \foreach\x in { 0.2, 0.4 , 0.6 , 0.8}
                 \foreach\y in { 0.2 , 0.4, 0.6 , 0.8, 1}
-                  \fill (\x,\y) circle (0.05ex);
+                  \fill (\x,\y) circle [radius=0.05ex];
             \end{tikzpicture}%
           }
       }
@@ -2712,9 +2909,9 @@
 % \begin{macro}{ \Flasche , \bottle }
 %   It's a bottle. Uhhhh\dots
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Flasche } { bottle } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Flasche } { bottle } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Flasche_#1 }
+    \@@_provide_savebox_and_use:nT { Flasche_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2750,9 +2947,9 @@
 %
 % For the draftbox the calculation of the length is \verb|(1.26ex + 4.25ex)*0.8 + 0.1ex|.
 %    \begin{macrocode}
-\@@_Declare_Document_Commands:nnnn { Nudelholz } { rollingpin } { O{1} }
+\@@_Declare_Document_Commands:nnnn { Nudelholz } { rollingpin } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Nudelholz_#1 }
+    \@@_provide_savebox_and_use:nT { Nudelholz_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2771,7 +2968,8 @@
                 (3,0.75) -- (3.25,0.6) -- (3.75,0.7) -- (4.25,0.6)
                 (3,0.25) -- ( 3.25,0.4 ) -- (3.75,0.3) -- (4.25,0.4);
               \draw (4.25,0.5) ellipse [x ~ radius=0.01, y ~ radius=0.1];
-              \draw[rounded ~ corners=0.15ex*#1] (-0,0.75) -- (-0.25,0.6) -- (-0.75,0.7)
+              \draw[rounded ~ corners=0.15ex*\l_@@_scale_abs_tl] 
+                (-0,0.75) -- (-0.25,0.6) -- (-0.75,0.7)
                 -- (-1.25,0.6)
                 (-0,0.25) -- ( -0.25,0.4 ) -- (-0.75,0.3) -- (-1.25,0.4);
               \draw (-1.25,0.5) ellipse [x ~ radius=0.01, y ~ radius=0.1];
@@ -2782,11 +2980,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% I may  will remove this, but for testing a list of commands is useful.
-%    \begin{macrocode}
-\clist_set_eq:NN \g_tikzsymbols_list_of_cooking_commands_clist \l_@@_tmpa_clist
-\clist_clear:N \l_@@_tmpa_clist
-%    \end{macrocode}
 %
 %
 %
@@ -2803,9 +2996,9 @@
 % \begin{macro}{ \Sadey }
 %   I don't know why Sadey is the first and not Smiley, probably for reasons.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Sadey } { O{1} O{none} }
+\@@_Declare_Document_Command:nnn { Sadey } { S O{none} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sadey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Sadey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2817,9 +3010,9 @@
                 /@@ ,
                 x=2.4ex , y=2.4ex, line ~ width=0.09ex * \l_@@_scale_abs_tl , scale = #1
               ]
-              \filldraw[fill=#2, line ~ width=0.1ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
-              \fill (0.1,0.1) circle (0.05);
-              \fill (-0.1,0.1) circle (0.05);
+              \filldraw[fill=#2, line ~ width=0.1ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
+              \fill (0.1,0.1) circle [radius=0.05];
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
             \end{tikzpicture}
           }
@@ -2832,9 +3025,9 @@
 % \begin{macro}{ \dSadey }
 %   Coding the \enquote{3D} Sadey. Again, nothing special.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dSadey } { O{1} O{yellow} }
+\@@_Declare_Document_Command:nnn { dSadey } { S O{yellow} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSadey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dSadey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -2846,9 +3039,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex * \l_@@_scale_abs_tl , scale = #1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
             \end{tikzpicture}%
           }
@@ -2863,9 +3056,9 @@
 % \changes{v0.95}{2016/03/20}{New.}
 % Thanks to Marcel for the request.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Changey } { O{1} O{white} m }
+\@@_Declare_Document_Command:nnn { Changey } { S O{white} m }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Changey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { Changey_#1_#2_#3 }
       {
         \fp_compare:nT { abs(#3) > 2 } 
           { \msg_error:nnn { tikzsymbols } { Changey-number-too-large } {#3}  }
@@ -2879,9 +3072,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#3  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#3 }
               \draw 
@@ -2900,9 +3093,9 @@
 % \changes{v3.95}{2016/03/20}{New.}
 % Thanks to Marcel for the request.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dChangey } { O{1} O{yellow} m }
+\@@_Declare_Document_Command:nnn { dChangey } { S O{yellow} m }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dChangey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { dChangey_#1_#2_#3 }
       {
         \fp_compare:nT { abs(#3) > 2 } 
           { \msg_error:nnn { tikzsymbols } { Changey-number-too-large } {#3}  }
@@ -2916,9 +3109,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#3  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#3 }
               \draw[black]
@@ -2936,7 +3129,7 @@
 %
 %
 %\begin{macro}{ \cChangey }
-% \changes{v4.02}{2016/2017/05/14}{New.}
+% \changes{v4.02}{2017/05/14}{New.}
 % Why didn't I implement this earlier?
 %    \begin{macrocode}
 \cs_new:Npn \@@_cChangey:nnn #1 #2#3
@@ -2949,9 +3142,9 @@
     \filldraw[fill=#2!#1!#3]
   }
 \cs_generate_variant:Nn \@@_cChangey_aux:nnn { x }
-\@@_Declare_Document_Command:nnn { cChangey } { O{1} O{red} O{yellow} O{green} m }
+\@@_Declare_Document_Command:nnn { cChangey } { S O{red} O{yellow} O{green} m }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT 
+    \@@_provide_savebox_and_use:nT 
       { cChangey_#1_#2_#3_#4_#5 }
       {
         \fp_compare:nT { abs(#5) > 2 } 
@@ -2969,19 +3162,19 @@
               \fp_compare:nNnT {#5} < { \c_zero }
                 {
                   \@@_cChangey:nnn {#5} {#2} {#3}
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} > { \c_zero }
                 {
                   \@@_cChangey:nnn {#5} {#4} {#3} 
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} = { \c_zero }
                 {
-                  \filldraw [fill=#3] (0,0) circle (0.33);
+                  \filldraw [fill=#3] (0,0) circle [radius=0.33];
                 }
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#5  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#5 }
               \draw 
@@ -2997,7 +3190,7 @@
 %\end{macro}
 %
 %\begin{macro}{ \dcChangey }
-% \changes{v4.02}{2016/2017/05/14}{New.}
+% \changes{v4.02}{2017/05/14}{New.}
 % Same as above
 %    \begin{macrocode}
 \cs_new:Npn \@@_dcChangey:nnn #1 #2#3
@@ -3010,9 +3203,9 @@
     \shade [ball ~ color=#2!#1!#3]
   }
 \cs_generate_variant:Nn \@@_dcChangey_aux:nnn { x }
-\@@_Declare_Document_Command:nnn { dcChangey } { O{1} O{red} O{yellow} O{green} m }
+\@@_Declare_Document_Command:nnn { dcChangey } { S O{red} O{yellow} O{green} m }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT 
+    \@@_provide_savebox_and_use:nT 
       { dcChangey_#1_#2_#3_#4_#5 }
       {
         \fp_compare:nT { abs(#5) > 2 } 
@@ -3030,19 +3223,19 @@
               \fp_compare:nNnT {#5} < { \c_zero }
                 {
                   \@@_dcChangey:nnn {#5} {#2} {#3}
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} > { \c_zero }
                 {
                   \@@_dcChangey:nnn {#5} {#4} {#3} 
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} = { \c_zero }
                 {
-                  \shade[ball ~ color=#3] (0,0) circle (0.33);
+                  \shade[ball ~ color=#3] (0,0) circle [radius=0.33];
                 }
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#5  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#5 }
               \draw[black]
@@ -3064,9 +3257,9 @@
 %\begin{macro}{ \Annoey }
 % An annoyed Smiley. It's annoyed.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Annoey } { O{1} O{none} }
+\@@_Declare_Document_Command:nnn { Annoey } { S O{none} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Annoey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Annoey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3078,7 +3271,7 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex * \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
+              \filldraw[fill=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
               \draw (0.08,0.1) -- (0.22,0.1);
               \draw (-0.08,0.1) -- (-0.22,0.1);
               \draw (-0.2,-0.1) -- (0.2,-0.1);
@@ -3094,9 +3287,9 @@
 %\begin{macro}{ \dAnnoey }
 % It's annoyed about 3D.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dAnnoey } { O{1} O{yellow} }
+\@@_Declare_Document_Command:nnn { dAnnoey } { S O{yellow} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dAnnoey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dAnnoey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3108,7 +3301,7 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.08,0.1) -- (0.22,0.1);
               \draw[black] (-0.08,0.1) -- (-0.22,0.1);
               \draw[black] (-0.2,-0.1) -- (0.2,-0.1);
@@ -3130,9 +3323,9 @@
 %    \begin{macrocode}
 \bool_if:NF \g_@@_if_opt_marvosym_bool
   {
-    \@@_Declare_Document_Command:nnn { Smiley } { O{1} O{none} }
+    \@@_Declare_Document_Command:nnn { Smiley } { S O{none} }
       {
-        \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Smiley_#1_#2 }
+        \@@_provide_savebox_and_use:nT { Smiley_#1_#2 }
           {
             \@@_set_scale_abs_tl:n {#1}
             \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3144,9 +3337,9 @@
                     /@@ ,
                     x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl , scale=#1
                   ]
-                  \filldraw[fill=#2] (0,0) circle (0.33);
-                  \fill (-0.1,0.1) circle (0.05);
-                  \fill (0.1,0.1) circle (0.05);
+                  \filldraw[fill=#2] (0,0) circle [radius=0.33];
+                  \fill (-0.1,0.1) circle [radius=0.05];
+                  \fill (0.1,0.1) circle [radius=0.05];
                   \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
                 \end{tikzpicture}%
               }
@@ -3160,9 +3353,9 @@
 %\begin{macro}{ \dSmiley }
 % Again in \enquote{3D}. 
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dSmiley } { O{1} O{yellow} }
+\@@_Declare_Document_Command:nnn { dSmiley } { S O{yellow} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSmiley_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dSmiley_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3174,9 +3367,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.1ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
             \end{tikzpicture}%
           }
@@ -3193,9 +3386,9 @@
 % \begin{macro}{ \Laughey }
 % It's laughing.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Laughey } { O{1} O{none} O{none} }
+\@@_Declare_Document_Command:nnn { Laughey } { S O{none} O{none} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Laughey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { Laughey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3207,7 +3400,7 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2,line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
+              \filldraw[fill=#2,line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
               \draw (-0.09,0.06) .. controls (-0.11,0.16) and (-0.17,0.16) .. +(-0.1,0);
               \draw (0.09,0.06) .. controls (0.11,0.16) and (0.17,0.16) .. +(0.1,0);
               \filldraw[fill=#3,rounded ~ corners=0.1ex* \l_@@_scale_abs_tl , yshift=-0.5] 
@@ -3224,9 +3417,9 @@
 %\begin{macro}{ \dLaughey }
 % Also in \emph{3D}!
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dLaughey } { O{1} O{yellow} O{red} }
+\@@_Declare_Document_Command:nnn { dLaughey } { S O{yellow} O{red} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dLaughey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { dLaughey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3239,7 +3432,7 @@
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1,
                 black
               ]
-              \fill[ball ~ color=#2,line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
+              \fill[ball ~ color=#2,line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
               \draw (-0.09,0.06) .. controls (-0.11,0.16) and (-0.17,0.16) .. +(-0.1,0);
               \draw (0.09,0.06) .. controls (0.11,0.16) and (0.17,0.16) .. +(0.1,0);
               \shade
@@ -3262,9 +3455,9 @@
 %
 %\begin{macro}{ \Neutrey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Neutrey } { O{1} O{none}  }
+\@@_Declare_Document_Command:nnn { Neutrey } { S O{none}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Neutrey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Neutrey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3276,9 +3469,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2,line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
-              \fill (0.1,0.1) circle (0.05);
-              \fill (-0.1,0.1) circle (0.05);
+              \filldraw[fill=#2,line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
+              \fill (0.1,0.1) circle [radius=0.05];
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.1) -- (0.2,-0.1);
             \end{tikzpicture}%
           }
@@ -3290,9 +3483,9 @@
 %
 %\begin{macro}{ \dNeutrey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dNeutrey } { O{1} O{yellow}  }
+\@@_Declare_Document_Command:nnn { dNeutrey } { S O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Neutrey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Neutrey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3304,9 +3497,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) -- (0.2,-0.1);
             \end{tikzpicture}%
           }
@@ -3322,9 +3515,9 @@
 %
 %\begin{macro}{ \Winkey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Winkey } { O{1} O{none}  }
+\@@_Declare_Document_Command:nnn { Winkey } { S O{none}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Winkey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Winkey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3336,9 +3529,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
               \draw(0.17,0.1) -- (0.05,0.1);
-              \fill (-0.1,0.1) circle (0.05);
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
             \end{tikzpicture}%
           }
@@ -3350,9 +3543,9 @@
 %
 %\begin{macro}{ \oldWinkey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { oldWinkey } { O{1} O{none}  }
+\@@_Declare_Document_Command:nnn { oldWinkey } { S O{none}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { oldWinkey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { oldWinkey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3364,9 +3557,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
               \draw(0.17,0.1) -- (0.05,0.1);
-              \fill (-0.1,0.1) circle (0.05);
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
             \end{tikzpicture}%
           }
@@ -3378,9 +3571,9 @@
 %
 %\begin{macro}{ \dWinkey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dWinkey } { O{1} O{yellow}  }
+\@@_Declare_Document_Command:nnn { dWinkey } { S O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dWinkey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dWinkey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3392,9 +3585,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.17,0.1) -- (0.05,0.1);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
             \end{tikzpicture}%
           }
@@ -3405,9 +3598,9 @@
 %
 %\begin{macro}{ \olddWinkey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { olddWinkey } { O{1} O{yellow}  }
+\@@_Declare_Document_Command:nnn { olddWinkey } { S O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { olddWinkey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { olddWinkey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3419,9 +3612,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.17,0.1) -- (0.05,0.1);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
             \end{tikzpicture}
           }
@@ -3437,9 +3630,9 @@
 %
 %\begin{macro}{ \Sey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Sey } { O{1} O{none}  }
+\@@_Declare_Document_Command:nnn { Sey } { S O{none}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Sey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3451,9 +3644,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
-              \fill (0.1,0.1) circle (0.05);
-              \fill (-0.1,0.1) circle (0.05);
+              \filldraw[fill=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
+              \fill (0.1,0.1) circle [radius=0.05];
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
             \end{tikzpicture}%
           }
@@ -3466,9 +3659,9 @@
 %
 %\begin{macro}{ \dSey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dSey } { O{1} O{yellow}  }
+\@@_Declare_Document_Command:nnn { dSey } { S O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dSey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3480,9 +3673,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
             \end{tikzpicture}%
           }
@@ -3498,9 +3691,9 @@
 %
 %\begin{macro}{ \Xey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Xey } { O{1} O{none}  }
+\@@_Declare_Document_Command:nnn { Xey } { S O{none}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Xey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Xey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3512,7 +3705,7 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
+              \filldraw[fill=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
               \foreach \xi in { 0.05 , -0.15 }
                   \draw (\xi,0.05) -- ++ (0.1,0.1) (-\xi,0.05) -- ++ (-0.1,0.1);
               \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
@@ -3526,9 +3719,9 @@
 %
 %\begin{macro}{ \dXey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dXey } { O{1} O{yellow}  }
+\@@_Declare_Document_Command:nnn { dXey } { S O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dXey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dXey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3542,7 +3735,7 @@
                 black
               ]
               \fill[ball ~ color=#2, line ~ width=0.12ex* \l_@@_scale_abs_tl ] 
-                (0,0) circle (0.33);
+                (0,0) circle [radius=0.33];
               \foreach \xi in { 0.05 , -0.15 }
                   \draw (\xi,0.05) -- ++ (0.1,0.1) (-\xi,0.05) -- ++ (-0.1,0.1);
               \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
@@ -3560,9 +3753,9 @@
 %
 %\begin{macro}{ \Innocey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Innocey } { O{1} O{none} O{yellow} }
+\@@_Declare_Document_Command:nnn { Innocey } { S O{none} O{yellow} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Innocey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { Innocey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3576,9 +3769,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
 %    \end{macrocode}
 % Draws the colored halo inside, the next two are drawing the black
@@ -3605,7 +3798,7 @@
 %  because otherwise the input of \Option{after-symbol}
 %  is inserted twice.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { wInnocey } { O{1} }
+\@@_Declare_Document_Command:nnn { wInnocey } { S }
   { 
     \group_begin:
     \tl_clear:N \l_@@_tikzsymbols_after_symbol_tl
@@ -3618,9 +3811,9 @@
 %
 %\begin{macro}{ \dInnocey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dInnocey } { O{1} O{yellow} O{yellow}  }
+\@@_Declare_Document_Command:nnn { dInnocey } { S O{yellow} O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dInnocey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { dInnocey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3635,9 +3828,9 @@
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1,
                 black
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
 %    \end{macrocode}
 % Same as above (I think).
@@ -3663,9 +3856,9 @@
 %\begin{macro}{ \Cooley }
 %  It's the coolest Smiley around.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Cooley } { O{1} O{none}  }
+\@@_Declare_Document_Command:nnn { Cooley } { S O{none}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Cooley_#1_#2 }
+    \@@_provide_savebox_and_use:nT { Cooley_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3677,7 +3870,7 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
               \foreach \xi/\xii in { 0.24/0.01 , -0.24/-0.01 }
                 \fill[rounded ~ corners=0.1ex* \l_@@_scale_abs_tl ] 
                    (\xi,0.15) -- (\xii,0.15) -- (\xii,0) -- (\xi,0) -- cycle;
@@ -3695,9 +3888,9 @@
 %
 %\begin{macro}{ \dCooley }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dCooley } { O{1} O{yellow}  }
+\@@_Declare_Document_Command:nnn { dCooley } { S O{yellow}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dCooley_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dCooley_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3709,7 +3902,7 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.02,0.1) -- (-0.02,0.1);
               \draw[black] (-0.2,0.1) -- (-0.295,0.146);
               \draw[black] (0.2,0.1) -- (0.295,0.146);
@@ -3733,9 +3926,9 @@
 % Habe mir vorgenommen das hier zu verbessern, wird aber wohl noch
 % etwas brauchen.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Tongey } { O{1} O{none} O{none} }
+\@@_Declare_Document_Command:nnn { Tongey } { S O{none} O{none} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Tongey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { Tongey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3747,9 +3940,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \filldraw
                 [
                   fill=#3, line ~ width=0.058ex* \l_@@_scale_abs_tl , 
@@ -3768,9 +3961,9 @@
 %
 %\begin{macro}{ \dTongey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dTongey } { O{1} O{yellow} O{red} }
+\@@_Declare_Document_Command:nnn { dTongey } { S O{yellow} O{red} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dTongey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { dTongey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3782,9 +3975,9 @@
                 /@@ ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \shadedraw
                 [
                   ball ~ color=#3, draw=black,line ~ width=0.058ex* \l_@@_scale_abs_tl , 
@@ -3807,9 +4000,9 @@
 %
 %\begin{macro}{ \Nursey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Nursey } { O{1} O{none} O{none} O{} }
+\@@_Declare_Document_Command:nnn { Nursey } { S O{none} O{none} O{} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Nursey_#1_#2_#3_#4 }
+    \@@_provide_savebox_and_use:nT { Nursey_#1_#2_#3_#4 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3825,9 +4018,9 @@
               ]
               \fill[fill=#3,rounded ~ corners=.023ex* \l_@@_scale_abs_tl ] 
                  (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0);
-              \filldraw[fill=#2] (0,0) circle (0.3);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.3];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \draw[line ~ width=0.09ex* \l_@@_scale_abs_tl , yshift=0.07ex] 
                  (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
               \draw[rounded ~ corners=.023ex* \l_@@_scale_abs_tl ] 
@@ -3844,9 +4037,9 @@
 %
 %\begin{macro}{ \dNursey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dNursey } { O{1} O{yellow} O{white} O{red} }
+\@@_Declare_Document_Command:nnn { dNursey } { S O{yellow} O{white} O{red} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dNursey_#1_#2_#3_#4 }
+    \@@_provide_savebox_and_use:nT { dNursey_#1_#2_#3_#4 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3860,9 +4053,9 @@
                 /@@ ,
                 x=2.3ex, y=2.3ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.3);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.3];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \draw[black, line ~ width=0.09ex* \l_@@_scale_abs_tl , yshift=0.07ex] 
                  (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
               \shade
@@ -3890,9 +4083,9 @@
 %
 %\begin{macro}{ \Vomey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Vomey } { O{1} O{none} O{opacity=0} }
+\@@_Declare_Document_Command:nnn { Vomey } { S O{none} O{opacity=0} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Vomey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { Vomey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3934,9 +4127,9 @@
 %
 %\begin{macro}{ \dVomey }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dVomey } { O{1} O{yellow} O{brown!10!olive}  }
+\@@_Declare_Document_Command:nnn { dVomey } { S O{yellow} O{brown!10!olive}  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dVomey_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { dVomey_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -3983,9 +4176,9 @@
 %
 %\begin{macro}{ \Walley }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Walley } { O{1} O{none} O{none} }
+\@@_Declare_Document_Command:nnn { Walley } { S O{none} O{none} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Walley_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { Walley_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4005,7 +4198,7 @@
                     amplitude=0.1ex* \l_@@_scale_abs_tl 
                   }
               ]
-              \filldraw[fill=#2, line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle (0.28);
+              \filldraw[fill=#2, line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.28];
               \filldraw[fill=#3] (0.28,-0.33) rectangle (0.66,0.33);
               \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ] 
                 (0.28,0) --++(0.05,0.07) --++(0.03,0.02) --+
@@ -4030,9 +4223,9 @@
 %
 %\begin{macro}{ \rWalley }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { rWalley } { O{1} O{none} O{none} }
+\@@_Declare_Document_Command:nnn { rWalley } { S O{none} O{none} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { rWalley_#1_#2_#3 }
+    \@@_provide_savebox_and_use:nT { rWalley_#1_#2_#3 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4051,7 +4244,7 @@
                     amplitude=0.1ex* \l_@@_scale_abs_tl 
                   }
               ]
-              \filldraw[fill=#2, line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle (0.28);
+              \filldraw[fill=#2, line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.28];
               \filldraw[fill=#3] (0.28,-0.33) rectangle (0.66,0.33);
               \foreach \x/\y in { 0.5/0.25 , 0.6/0 , 0.5/-0.25 }
                 \draw[decorate, line ~ width=0.06ex* \l_@@_scale_abs_tl ] 
@@ -4068,9 +4261,9 @@
 %
 %\begin{macro}{ \dWalley }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dWalley } { O{1} O{yellow} }
+\@@_Declare_Document_Command:nnn { dWalley } { S O{yellow} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dWalley_#1_#2 }
+    \@@_provide_savebox_and_use:nT { dWalley_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4097,7 +4290,7 @@
                 (0.28,0) --++(0.03,-0.02)  --++(0.03,-0.07)  --++
                 (0.03,-0.01)  --++(0.01,-0.07)  --++
                 (0.06,0.01)  --++(0.03,-0.08)   -- (0.5,0.-0.25);
-              \shade[ball ~ color=#2] (-0.01,0) circle (0.31);
+              \shade[ball ~ color=#2] (-0.01,0) circle [radius=0.31];
               \draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
               \draw[rotate=-20] (0.283,-0.1) .. controls (0.2,-0.072) 
                 and (0.1,-0.06) .. (0,-0.1);
@@ -4110,9 +4303,9 @@
 %
 %\begin{macro}{ \drWalley }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { drWalley } { O{1} O{yellow} }
+\@@_Declare_Document_Command:nnn { drWalley } { S O{yellow} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { drWalley_#1_#2 }
+    \@@_provide_savebox_and_use:nT { drWalley_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4135,7 +4328,7 @@
               \foreach \x/\y in { 0.5/0.25 , 0.6/0 , 0.5/-0.25 }
                 \draw[decorate, line ~ width=0.06ex* \l_@@_scale_abs_tl ] 
                   (0.298,0) -- (\x,\y);
-              \shade[ball ~ color=#2] (-0.01,0) circle (0.31);
+              \shade[ball ~ color=#2] (-0.01,0) circle [radius=0.31];
               \draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
               \draw[rotate=-20] (0.283,-0.1) .. controls (0.2,-0.072) 
                 and (0.1,-0.06) .. (0.,-0.1);
@@ -4147,16 +4340,131 @@
 %\end{macro}
 %
 %
+% \begin{macro}{ \@@_Cat:n, \@@_Cat_unknown:n, \@@_Cat_dead:n }
+%    \begin{macrocode}
+\cs_new:Npn \@@_Cat:n #1 
+  {
+    \draw (0,0) circle [radius=0.3];
+    \foreach \xi/\xii in { 0.3/0.35 }
+      {
+        \draw[rounded ~ corners=0.163ex* \l_@@_scale_abs_tl ] 
+          (-\xi,0) -- (-\xii,0.5) -- (0,\xi)  (0,\xi) -- (\xii,0.5) -- (\xi,0);
+      }
+    \fill (-0.15,.15) circle [radius=0.05];
+    \fill (0.15,.15) circle [radius=0.05];
+    \foreach \x in { 0.1 , -0.1 }
+      \draw[rounded ~ corners=0.175ex* \l_@@_scale_abs_tl ,yshift=-0.12ex] 
+        (0,0) -- (0,-0.1) -- (\x,-0.095);
+    \draw[rounded ~ corners=.12ex* \l_@@_scale_abs_tl ,yshift=-.15ex,
+      line ~ width=0.03em*0.9* \l_@@_scale_abs_tl ] 
+      (-0.1,0.1) -- (0,0) -- (0.1,0.1) -- cycle ;
+    \foreach \a/\b/\c/\d in 
+      { 0.1/0.25/0.35/0.4 , -0.1/-0.25/-0.35/-0.4 }
+        \foreach \yi/\yii/\yiii in 
+          { 0/0/-0.05 , -0.01/-0.09/-0.14 , -0.045/-0.13/-0.23 }
+          {
+            \draw[line ~ width=0.035ex* \l_@@_scale_abs_tl ]
+              (\a,-0.05)..controls(\b,\yi)and(\c,\yii).. (\d,\yiii);           
+          }
+  }
+\cs_new:Npn \@@_Cat_unknown:n #1 
+  {
+    \draw (0,0) circle [radius=0.3];
+    \foreach \xi/\xii in { 0.3/0.35 }
+      {
+        \draw[rounded ~ corners=0.163ex* \l_@@_scale_abs_tl ] 
+          (-\xi,0) -- (-\xii,0.5) -- (0,\xi)  
+          (0,\xi) -- (\xii,0.5) -- (\xi,0);
+      }
+    \fill (0,-0.18)  circle [radius=0.04];
+    \draw
+      (0,0.06) arc[start ~angle=-90, end ~angle=180, radius=0.075]
+      (0,0.06) arc[start ~angle=90, end ~angle=360, radius=0.075];
+    \foreach \case in { 1,-1 }
+      \foreach \yi/\yii/\yiii in 
+        { 
+          -0.01/-0.05/-0.08 , 
+          -0.02/-0.12/-0.16 , 
+          -0.055/-0.15/-0.25 
+        }{
+          \draw[line ~ width=0.035ex* \l_@@_scale_abs_tl ]
+            ({0.1*\case},-0.05)..controls({\case*0.25},\yi)
+            and({0.35*\case},\yii).. ({0.4*\case},\yiii);           
+        }
+  }
+\cs_new:Npn \@@_Cat_dead:n #1 
+  {
+    \draw (0,0) circle [radius=0.3];
+    \foreach \case in { 1,-1 }
+      {
+        \draw[rounded ~ corners=0.163ex* \l_@@_scale_abs_tl ] 
+          ({\case*0.3},0) -- ({\case*0.35},0.5) -- (0,0.3);
+      }
+    \draw
+      \foreach \angle in { 45,135,225,315 }
+        {
+          (0.13,0.13) -- ({0.13+0.07*cos(\angle)},{0.13+0.07*sin(\angle)})
+          (-0.13,0.13) -- ({-0.13+0.07*cos(\angle)},{0.13+0.07*sin(\angle)})
+        }
+      ;
+    \foreach \case in { 1,-1 }
+      \draw[rounded ~ corners=0.175ex* \l_@@_scale_abs_tl ,yshift=-0.12ex] 
+        (0,0) -- (0,-0.08)   -- ({0.09*\case},-0.12);
+    \draw[rounded ~ corners=.12ex* \l_@@_scale_abs_tl ,yshift=-.15ex,
+      line ~ width=0.03em*0.9* \l_@@_scale_abs_tl ] 
+      (0,0) -- (0.1,0.07)  -- (0,0.1)-- (-0.1,0.07) -- cycle ;
+    \foreach \case in {-1,1}
+      \foreach \yi/\yii/\yiii in 
+        { 
+          -0.04/-0.09/-0.15 , 
+          -0.05/-0.18/-0.23,
+          -0.085/-0.22/-0.31
+        }{
+          \draw[line ~ width=0.035ex* \l_@@_scale_abs_tl ]
+            ({0.1*\case},-0.05) 
+            .. controls ({0.18*\case},\yi) and ({0.28*\case},\yii) .. 
+            ({0.33*\case},\yiii);           
+        }
+    \draw [transparent,line ~ width=0.035ex*\l_@@_scale_abs_tl] (-0.4,0) -- (0.4,0);
+  }
+%    \end{macrocode}
+% \end{macro}
 %
+%\begin{macro}{ \Cat }
+% It is a Ket! (sic!)
+%    \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Cat } { S }
+  {
+    \@@_provide_savebox_and_use:nT { Cat_#1 }
+      {
+        \@@_set_scale_abs_tl:n {#1}
+        \bool_if:NTF \g_@@_if_opt_draft_bool
+          {
+            \@@_create_draftbox:nn 
+              { 1.899ex * \l_@@_scale_abs_tl } 
+              { 1.957ex * \l_@@_scale_abs_tl } 
+          }{
+            \begin{tikzpicture}
+              [
+                /@@ ,
+                x=2.33ex,y=2.33ex, line ~ width=0.093ex* \l_@@_scale_abs_tl ,scale=#1
+              ]
+              \@@_Cat:n {#1}
+            \end{tikzpicture}%
+          }
+      }
+  }
+%    \end{macrocode}
+%\end{macro}
 %
 %
 %
-%\begin{macro}{ \Cat }
+%\begin{macro}{ \SchrodingersCat }
 % It is a Ket! (sic!)
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Cat } { O{1} }
+\@@_Declare_Document_Command:nnn { SchrodingersCat } { S m }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Cat_#1 }
+    \@@_provide_savebox_and_use:nT { SchrodingersCat_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4170,28 +4478,13 @@
                 /@@ ,
                 x=2.33ex,y=2.33ex, line ~ width=0.093ex* \l_@@_scale_abs_tl ,scale=#1
               ]
-              \draw (0,0) circle (0.3);
-              \foreach \xi/\xii in { 0.3/0.35 }
+              \int_case:nnF {#2}
                 {
-                  \draw[rounded ~ corners=0.163ex* \l_@@_scale_abs_tl ] 
-                    (-\xi,0) -- (-\xii,0.5) -- (0,\xi)  (0,\xi) -- (\xii,0.5) -- (\xi,0);
+                  { 1 } { \@@_Cat:n {#1} }
+                  { 0 } { \@@_Cat_unknown:n {#1} }
+                  { -1 } { \@@_Cat_dead:n {#1} }
                 }
-              \fill (-0.15,.15) circle (0.05);
-              \fill (0.15,.15) circle (0.05);
-              \foreach \x in { 0.1 , -0.1 }
-                \draw[rounded ~ corners=0.175ex* \l_@@_scale_abs_tl ,yshift=-0.12ex] 
-                   (0,0) -- (0,-0.1) -- (\x,-0.095);
-              \draw[rounded ~ corners=.12ex* \l_@@_scale_abs_tl ,yshift=-.15ex,
-                       line ~ width=0.03em*0.9* \l_@@_scale_abs_tl ] 
-                 (-0.1,0.1) -- (0,0) -- (0.1,0.1) -- cycle ;
-              \foreach \a/\b/\c/\d in 
-                { 0.1/0.25/0.35/0.4 , -0.1/-0.25/-0.35/-0.4 }
-                \foreach \yi/\yii/\yiii in 
-                  { 0/0/-0.05 , -0.01/-0.09/-0.14 , -0.045/-0.13/-0.23 }
-                  {
-                    \draw[line ~ width=0.035ex* \l_@@_scale_abs_tl ]
-                       (\a,-0.05)..controls(\b,\yi)and(\c,\yii).. (\d,\yiii);           
-                  }
+                { \msg_error:nnn { tikzsymbols } { SchrodingersCat } {#2} }
             \end{tikzpicture}%
           }
       }
@@ -4203,13 +4496,12 @@
 %
 %
 %
-%
 % \begin{macro}{ \Ninja }
 % It can hide.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Ninja } { O{1} O{black} O{red} O{white} }
+\@@_Declare_Document_Command:nnn { Ninja } { S O{black} O{red} O{white} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Ninja_#1_#2_#3_#4 }
+    \@@_provide_savebox_and_use:nT { Ninja_#1_#2_#3_#4 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4229,13 +4521,13 @@
                   }
               ]
               \tl_set:Nn \l_tmpa_tl {#2}
-              \fill[#2] (0,0) circle (0.33);
+              \fill[#2] (0,0) circle [radius=0.33];
               \fill[decoration={random ~ steps,segment ~ length=0.1ex* \l_@@_scale_abs_tl ,
                 amplitude=0.01ex* \l_@@_scale_abs_tl }, decorate,#3] 
               (-0.33,0) -- (0.33,0)  -- (0.23,0.23) -- (-0.23,0.23) -- cycle;
               \tl_if_eq:NNT \c_@@_black_tl \l_tmpa_tl 
                 {
-                  \draw[line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
+                  \draw[line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
                 }
               \fill[#3] (0,0.1) -- (-0.33,0) -- (-0.26,0.23);
               \fill[#3] (0.3465,0) arc [start ~ angle=0, end ~ angle=42, x ~ radius=0.34, y~ radius=0.345]  -- 
@@ -4256,7 +4548,7 @@
                 (0.26,0.21) -- \x;
               \tl_if_eq:NNF \c_@@_black_tl \l_tmpa_tl 
                 {
-                  \draw[line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle (0.33);
+                  \draw[line ~ width=0.08ex* \l_@@_scale_abs_tl ] (0,0) circle [radius=0.33];
                 }
             \end{tikzpicture}%
           }
@@ -4266,11 +4558,11 @@
 %\end{macro}
 %
 %
-%\begin{macro}{ \Ninja }
+%\begin{macro}{ \dNinja }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { dNinja } { O{1} O{black} O{red} O{white} }
+\@@_Declare_Document_Command:nnn { dNinja } { S O{black} O{red} O{white} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dNinja_#1_#2_#3_#4 }
+    \@@_provide_savebox_and_use:nT { dNinja_#1_#2_#3_#4 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4299,7 +4591,7 @@
                       } , decorate, #3!50!black
                   ] 
                   \coord -- (0.26,0.21);
-              \shade[ball ~ color=#2] (0,0) circle (0.347);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.347];
               \fill
                 [
                   decoration=
@@ -4329,14 +4621,136 @@
 %
 %
 %
+% \begin{macro}{ \Sleepey }
+% It is sleeping.
+%    \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Sleepey } { S O{none} O{none} O{black} }
+  {
+    \@@_provide_savebox_and_use:nT { Sleepey_#1_#2_#3_#4 }
+      {
+        \@@_set_scale_abs_tl:n {#1}
+        \bool_if:NTF \g_@@_if_opt_draft_bool
+          {
+            \@@_create_draftbox:nn 
+              { 2.084866ex * \l_@@_scale_abs_tl } 
+              { 1.5912ex * \l_@@_scale_abs_tl } 
+          }{
+            \begin{tikzpicture}
+              [
+                /@@ ,
+                x=2.04ex, y=2.04ex, line ~ width=0.102ex* \l_@@_scale_abs_tl ,
+                scale=#1
+              ]
+%              %% Hat
+              \filldraw [fill=#3]
+                (-0.33,0) arc[start~angle=180,end~angle=0,x~radius=0.45,y~radius=0.4] 
+                -- ++(0,-0.2) 
+                arc[start~angle=0,end~angle=130,x~radius=0.15,y~radius=0.24];
+%              %% face
+              \filldraw [fill=#2,rounded ~ corners=0.001ex * \l_@@_scale_abs_tl]
+                (0.33,0)  arc[start~angle=0, end~angle=-180, radius=0.33] -- cycle ;
+%              %% Pommel
+              \fill (0.55,-0.15) circle [radius=0.06];
+              \foreach \l_@@_angle_tl in {0,30,60,...,360}
+                {
+                  \draw ({0.55+0.06*cos(\l_@@_angle_tl)*1.2},
+                    {-0.15+0.06*sin(\l_@@_angle_tl)*1.2}) 
+                    circle[radius=0.02];
+                }
+%              %% Stars
+              \foreach \l_tmpa_tl/\l_tmpb_tl in { -0.14/0.12 , 0.19/0.12 , 0.05/0.26 , 0.40/0.16 }
+                {
+                  \draw [line~width=0.04ex*\l_@@_scale_abs_tl ,#4]
+                  \foreach \l_@@_angle_tl in { 0,45,90,...,360 }
+                    {
+                      (\l_tmpa_tl,\l_tmpb_tl) -- ({\l_tmpa_tl+0.07*cos(\l_@@_angle_tl)},
+                      {\l_tmpb_tl+0.07*sin(\l_@@_angle_tl)})
+                    }
+                  ;
+                }
+%              %% Mouth
+              \fill (0,-0.225) circle [radius=0.04];
+%              %% Eyes
+              \draw (-0.1,-0.09)  arc[start~angle=0, end~angle=-180,
+                x~radius=0.06,y~radius=0.08] ;
+              \draw (0.1,-0.09)  arc[start~angle=180, 
+                end~angle=360,x~radius=0.06,y~radius=0.08] ;
+            \end{tikzpicture}%
+          }
+      }
+  }
+%    \end{macrocode}
+%\end{macro}
 %
+% \begin{macro}{ \dSleepey }
+% It is sleeping.
+%    \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dSleepey } { S O{yellow} O{blue} O{black} }
+  {
+    \@@_provide_savebox_and_use:nT { dSleepey_#1_#2_#3_#4 }
+      {
+        \@@_set_scale_abs_tl:n {#1}
+        \bool_if:NTF \g_@@_if_opt_draft_bool
+          {
+            \@@_create_draftbox:nn 
+              { 2.033865ex * \l_@@_scale_abs_tl } 
+              { 1.489181ex * \l_@@_scale_abs_tl } 
+          }{
+            \begin{tikzpicture}
+              [
+                /@@ ,
+                x=2.04ex, y=2.04ex, line ~ width=0.102ex* \l_@@_scale_abs_tl ,
+                scale=#1
+              ]
+%              %% Hat
+              \shade [ball ~ color=#3]
+                (-0.33,0) arc[start~angle=180,end~angle=0,x~radius=0.45,y~radius=0.4] 
+                -- ++(0,-0.2) 
+                arc[start~angle=0,end~angle=130,x~radius=0.15,y~radius=0.24];
+%              %% face
+              \shade [ball ~ color=#2,rounded ~ corners=0.001ex * \l_@@_scale_abs_tl]
+                (0.33,0)  arc[start~angle=0, end~angle=-180, radius=0.33] -- cycle ;
+%              %% Pommel
+              \fill (0.55,-0.15) circle [radius=0.06];
+              \foreach \l_@@_angle_tl in {0,30,60,...,360}
+                {
+                  \draw ({0.55+0.06*cos(\l_@@_angle_tl)*1.2},
+                    {-0.15+0.06*sin(\l_@@_angle_tl)*1.2}) 
+                    circle[radius=0.02];
+                }
+%              %% Stars
+              \foreach \l_tmpa_tl/\l_tmpb_tl in { -0.14/0.12 , 0.19/0.12 , 0.05/0.26 , 0.40/0.16 }
+                {
+                  \draw [line~width=0.04ex* \l_@@_scale_abs_tl,#4]
+                  \foreach \l_@@_angle_tl in { 0,45,90,...,360 }
+                    {
+                      (\l_tmpa_tl,\l_tmpb_tl) -- ({\l_tmpa_tl+0.07*cos(\l_@@_angle_tl)},
+                      {\l_tmpb_tl+0.07*sin(\l_@@_angle_tl)})
+                    }
+                  ;
+                }
+%              %% Mouth
+              \fill (0,-0.225) circle [radius=0.04];
+%              %% Eyes
+              \draw (-0.1,-0.09)  arc[start~angle=0, end~angle=-180,
+                x~radius=0.06,y~radius=0.08] ;
+              \draw (0.1,-0.09)  arc[start~angle=180, 
+                end~angle=360,x~radius=0.06,y~radius=0.08] ;
+            \end{tikzpicture}%
+          }
+      }
+  }
+%    \end{macrocode}
+%\end{macro}
 %
+%
+%
 % \begin{macro}{ \NiceReapey }
 % I wasn't able to create a good Grim Reaper. Well.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { NiceReapey } { O{1} O{black!20!white} }
+\@@_Declare_Document_Command:nnn { NiceReapey } { S O{black!20!white} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { NiceReapey_#1_#2 }
+    \@@_provide_savebox_and_use:nT { NiceReapey_#1_#2 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4356,13 +4770,14 @@
                  arc [start ~ angle=260, end ~ angle=100, x ~ radius=-1.3, y ~ radius=-2] -- cycle;
               \filldraw[fill=#2] (3,-3) -- (3,3) .. controls (5,3) and 
                 (6,2) .. (7,1.5) -- (3,1.5) -- cycle;
-              \draw (0,-1.5) circle (1 ~ and ~ 0.5);
+              \draw (0,-1.5) circle [ x~radius=1 , y~radius= 0.5];
+              \draw (0,-1.5) circle [ x~radius=1 , y~radius= 0.5];
               \foreach  \x in { 0.2 , 0.6 }
                 \draw[line ~ width=0.04ex* \l_@@_scale_abs_tl ] 
                   (\x,-1) -- (\x,-2)  (-\x,-1) -- (-\x,-2)  ;
               \draw[line ~ width=0.04ex* \l_@@_scale_abs_tl ] (-1,-1.5) -- (1,-1.5);
-              \fill (1.25,1.25) circle ( 0.5 ~ and ~ 0.75);
-              \fill (-1.25,1.25) circle ( 0.5 ~ and ~ 0.75);
+              \fill (1.25,1.25) circle [ x~radius=0.5 , y~radius= 0.75];
+              \fill (-1.25,1.25) circle [ x~radius=0.5 , y~radius= 0.75];
             \end{tikzpicture}%
           }
       }
@@ -4370,10 +4785,6 @@
 %    \end{macrocode}
 %\end{macro}
 %
-%    \begin{macrocode}
-\clist_set_eq:NN \g_tikzsymbols_list_of_emoticons_commands_clist \l_@@_tmpa_clist
-\clist_clear:N \l_@@_tmpa_clist
-%    \end{macrocode}
 %
 %
 % \subsection{Other symbols(s)}
@@ -4421,9 +4832,9 @@
 %\begin{macro}{ \Strichmaxerl }
 %    \begin{macrocode}
 \@@_Declare_Document_Command:nnn { Strichmaxerl } 
-  { O{1} O{-22} O{22} O{27} O{-27} }
+  { S O{-22} O{22} O{27} O{-27} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT 
+    \@@_provide_savebox_and_use:nT 
       { Strichmaxerl_#1_#2_#3_#4_#5 }
       {
         \@@_set_scale_abs_tl:n {#1}
@@ -4552,7 +4963,7 @@
               \draw[rotate \space around={ #3 \token_to_str:N : ( 0.15 , 0.4) } ] (0.15,0.4) -- (0.42,0.4);
               \draw[rotate \space around={ #2 \token_to_str:N : ( 0.15 , 0.4) } ] (0.15,0.4) -- (-0.12,0.4);
               \draw (.15, .4) -- (.15, .53);
-              \draw (.15,.8) circle (0.18);
+              \draw (.15,.8) circle [radius=0.18];
             \end{tikzpicture}%
 %              }
           }
@@ -4565,7 +4976,7 @@
 %
 %\begin{macro}{ \Person }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Person } { O{1} O{-22} O{22} O{27} O{-27} }
+\@@_Declare_Document_Command:nnn { Person } { S O{-22} O{22} O{27} O{-27} }
   {
     \msg_error:nnnn 
       { tikzsymbols } 
@@ -4584,9 +4995,9 @@
 %
 %\begin{macro}{ \Candle }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Candle } { O{1} }
+\@@_Declare_Document_Command:nnn { Candle } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Candle_#1 }
+    \@@_provide_savebox_and_use:nT { Candle_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4620,9 +5031,9 @@
 %
 %\begin{macro}{ \Fire }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Fire } { O{1} }
+\@@_Declare_Document_Command:nnn { Fire } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Fire_#1 }
+    \@@_provide_savebox_and_use:nT { Fire_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4677,9 +5088,9 @@
 %    \begin{macrocode}
 \bool_if:NF \g_@@_if_opt_marvosym_bool
 {
-\@@_Declare_Document_Command:nnn { Coffeecup } { O{1} }
+\@@_Declare_Document_Command:nnn { Coffeecup } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Coffeecup_#1 }
+    \@@_provide_savebox_and_use:nT { Coffeecup_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4720,9 +5131,9 @@
 %
 %\begin{macro}{ \Chair }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Chair } { O{1} }
+\@@_Declare_Document_Command:nnn { Chair } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Chair_#1 }
+    \@@_provide_savebox_and_use:nT { Chair_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4759,9 +5170,9 @@
 %
 %\begin{macro}{ \Bed }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Bed } { O{1} }
+\@@_Declare_Document_Command:nnn { Bed } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Bed_#1 }
+    \@@_provide_savebox_and_use:nT { Bed_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4796,9 +5207,9 @@
 %\begin{macro}{ \Tribar }
 %    \begin{macrocode}
 \@@_Declare_Document_Command:nnn { Tribar } 
-  { O{1} O{opacity=0} O{opacity=0} O{opacity=0} }
+  { S O{opacity=0} O{opacity=0} O{opacity=0} }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Tribar_#1_#2_#3_#4 }
+    \@@_provide_savebox_and_use:nT { Tribar_#1_#2_#3_#4 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4840,9 +5251,9 @@
 %
 %\begin{macro}{ \Moai }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Moai } { O{1} }
+\@@_Declare_Document_Command:nnn { Moai } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Moai_#1 }
+    \@@_provide_savebox_and_use:nT { Moai_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \fp_compare:nTF { abs (#1) < 2 }
@@ -4901,9 +5312,9 @@
 % \begin{macro}{ \Snowman }
 % 
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Snowman } { O{1} }
+\@@_Declare_Document_Command:nnn { Snowman } { S }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Snowman_#1 }
+    \@@_provide_savebox_and_use:nT { Snowman_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -4935,13 +5346,13 @@
                 ]
                 (-0.2,1.19) arc  [start ~ angle=270, end ~ angle=90, radius=0.1];
               \foreach \y in { 0.78 , 0.63 , 0.48 }
-                \fill (0,\y) circle (0.04);
+                \fill (0,\y) circle [radius=0.04];
               \foreach \y in { 0.2 , 0 , -0.2 }
-                \fill (0,\y) circle (0.05);
-              \fill (-0.06,1.18) circle (0.045);
-              \fill (0.06,1.18) circle (0.045);
+                \fill (0,\y) circle [radius=0.05];
+              \fill (-0.06,1.18) circle [radius=0.045];
+              \fill (0.06,1.18) circle [radius=0.045];
               \foreach \x/\y in { 0.1/1.08 , 0.06/1.055 , 0.02/1.039}
-                \fill (\x,\y) circle (0.015)  (-\x,\y) circle (0.015) ;
+                \fill (\x,\y) circle [radius=0.015]  (-\x,\y) circle [radius=0.015] ;
               \draw (-0.3,0.7) -- (-0.6,0.8); 
               \draw (0.3,0.7) -- (0.6,0.8); 
               \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ] (-0.65,0) -- (-0.65,1);
@@ -4957,10 +5368,6 @@
 %\end{macro}
 %
 %
-%    \begin{macrocode}
-\clist_set_eq:NN \g_tikzsymbols_list_of_other_commands_clist \l_@@_tmpa_clist
-\clist_clear:N \l_@@_tmpa_clist
-%    \end{macrocode}
 %
 % \subsection{Trees}
 % Many great ideas are stolen.  Don't know who said that, but it's
@@ -4976,7 +5383,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_Basic_Tree:nnnnn #1#2#3#4#5
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT 
+    \@@_provide_savebox_and_use:nT 
       { BasicTree_#1_#2_#3_#4_#5 }
       {
         \tl_set:Nn \l_tmpa_tl {#5}
@@ -4998,7 +5405,7 @@
 % Well, thats the final \Makro{BasicTree} command.
 % More or less copy \& pasted from the \Package{tikz} manual.
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { BasicTree } { O{1} m m m m }
+\@@_Declare_Document_Command:nnn { BasicTree } { S m m m m }
   {
     \@@_Basic_Tree:nnnnn {#1} {#2} {#3} {#4} {#5}
   }
@@ -5012,9 +5419,9 @@
 %
 %\begin{macro}{ \WorstTree }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { WorstTree } { O{1}  }
+\@@_Declare_Document_Command:nnn { WorstTree } { S  }
   {
-    \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { WorstTree_#1 }
+    \@@_provide_savebox_and_use:nT { WorstTree_#1 }
       {
         \@@_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g_@@_if_opt_draft_bool
@@ -5041,9 +5448,9 @@
                  controls (-0.3, 1.6) and (-0.1,1.6) .. (0.1,1.5) .. 
                  controls (0.3,1.8) and (0.6,1.6) ..  (0.7,1.5) .. controls (1.1, 1.6) and (1,1.4) ..
                  (1,1.2) .. controls (1.2,1) and (1.2,0.7) .. (0.8,0.8) -- (0.486,0.8);
-              \fill[red] (0,1) circle (0.1);
-              \fill[red] (0.4,1.2) circle (0.1);
-              \fill[red] (0.8,1.1) circle (0.1);
+              \fill[red] (0,1) circle [radius=0.1];
+              \fill[red] (0.4,1.2) circle [radius=0.1];
+              \fill[red] (0.8,1.1) circle [radius=0.1];
             \end{tikzpicture}%
           }
       }
@@ -5059,7 +5466,7 @@
 %
 %\begin{macro}{ \Springtree }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Springtree } { O {1} }
+\@@_Declare_Document_Command:nnn { Springtree } { S }
   {
       \@@_Basic_Tree:nnnnn
       {#1}
@@ -5078,7 +5485,7 @@
 %
 %\begin{macro}{ \Summertree }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Summertree } { O {1} }
+\@@_Declare_Document_Command:nnn { Summertree } { S }
   {
       \@@_Basic_Tree:nnnnn
       {#1}
@@ -5097,7 +5504,7 @@
 %
 %\begin{macro}{ \Autumntree }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Autumntree } { O {1} }
+\@@_Declare_Document_Command:nnn { Autumntree } { S }
   {
       \@@_Basic_Tree:nnnnn
       {#1}
@@ -5116,7 +5523,7 @@
 %
 %\begin{macro}{ \Wintertree }
 %    \begin{macrocode}
-\@@_Declare_Document_Command:nnn { Wintertree } { O {1} }
+\@@_Declare_Document_Command:nnn { Wintertree } { S }
   {
       \@@_Basic_Tree:nnnnn
       {#1}
@@ -5130,7 +5537,6 @@
 %
 %
 %
-%
 % Checks if the Package \Package{marvosym} is loaded
 % if the \Option{marvosym} is set true.
 %    \begin{macrocode}
@@ -5172,15 +5578,25 @@
 %    \begin{macrocode}
 \NewDocumentCommand \tikzsymbolsset { m }
   {
-    \keys_set_groups:nnn { tikzsymbols } { document } {#1}
+    \keys_set_filter:nnnN { tikzsymbols } { package } {#1} \l_tmpa_tl
+    \tl_if_empty:NF \l_tmpa_tl
+      {
+        \keyval_parse:NNV 
+          \@@_tikzsymbolsset_msg_i:n 
+          \@@_tikzsymbolsset_msg_ii:nn 
+          \l_tmpa_tl
+      }
   }
-%\AtBeginDocument
-%  {
-%    \RenewDocumentCommand \tikzsymbolsset { }
-%      {
-%        \msg_error:nnn { tikzsymbols } { tikzsymbolsset }
-%      }
-%  }
+\cs_generate_variant:Nn \keyval_parse:NNn { NNV }
+\cs_new:Npn \@@_tikzsymbolsset_msg_i:n #1
+  {
+    \@@_tikzsymbolsset_msg_ii:nn {#1} { }
+  }
+\cs_new:Npn \@@_tikzsymbolsset_msg_ii:nn #1#2
+  {
+    \msg_error:nnn { tikzsymbols } { package-option } {#1}
+  }
+\exp_args:NV \tikzsymbolsset \l_@@_used_only_once_because_no_better_idea_tl
 %    \end{macrocode}
 %\end{macro}
 %
@@ -5195,7 +5611,7 @@
 \draw (0.05,0.4) -- (0.3,0.3) -- (0.1,0.1);
 \draw (0.3,0.8) -- (0.5,0.61);
 \draw (0.49,0.61) -- (0.8,0.65);
-\draw (0.65,0.9) circle (0.17);
+\draw (0.65,0.9) circle [radius=0.17];
 \end{tikzpicture}%
 \tikzsymbolsaftersymbolinput%
 }
@@ -5207,7 +5623,7 @@
 \draw (.15,.4) -- (.4,.5);% Rechter Arm
 \draw (.15,.4) -- (-0.1,.5);% Linker Arm
 \draw (.15, .4) -- (.15, .53);% Hals
-\draw (.15,.8) circle (0.18);% Kopf
+\draw (.15,.8) circle [radius=0.18];% Kopf
 \end{tikzpicture}%
 \tikzsymbolsaftersymbolinput%
 }

Modified: trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins	2017-09-05 17:56:45 UTC (rev 45221)
+++ trunk/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins	2017-09-05 21:56:28 UTC (rev 45222)
@@ -1,19 +1,17 @@
 %% 
-%% Copyright (C) 2013 by Ben Vitecek (current Maintainer)
+%% Copyright (C) 2013--2017 by Ben Vitecek (current Maintainer)
 %% 
-%% This file may be distributed and/or modified under the 
-%% conditions of the LaTeX Project Public License, either 
-%% version 1.3 of this license or (at your option) any later 
-%% version. The latest version of this license is in: 
-%% 
-%%	http://www.latex-project.org/lppl.txt 
-%% 
-%% and version 1.3c or later is part of all distributions of 
-%% LaTeX version 2008-05-04 or later. 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
 %%
 %% This work has the LPPL maintenance status `maintained'.
 %%
-%% This work consists of the files README, tikzsymbols.dtx and tikzsymbols.ins
+%% This work consists of the files README.md, tikzsymbols.dtx and tikzsymbols.ins
 %% and the derived file tikzsymbols.sty.
 
 \input l3docstrip.tex
@@ -26,21 +24,19 @@
 \preamble 
 This is a generated file. 
 
-Copyright (C) 2013 by Ben Vitecek (current Maintainer)
- 
-This file may be distributed and/or modified under the 
-conditions of the LaTeX Project Public License, either 
-version 1.3 of this license or (at your option) any later 
-version. The latest version of this license is in: 
- 
-	http://www.latex-project.org/lppl.txt 
- 
-and version 1.3c or later is part of all distributions of 
-LaTeX version 2008-05-04 or later. 
+Copyright (C) 2013--2017 by Ben Vitecek (current Maintainer)
 
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+  http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
 This work has the LPPL maintenance status `maintained'.
 
-This work consists of the files README, tikzsymbols.dtx and tikzsymbols.ins
+This work consists of the files README.md, tikzsymbols.dtx and tikzsymbols.ins
 and the derived file tikzsymbols.sty.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/tex/latex/tikzsymbols/tikzsymbols.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikzsymbols/tikzsymbols.sty	2017-09-05 17:56:45 UTC (rev 45221)
+++ trunk/Master/texmf-dist/tex/latex/tikzsymbols/tikzsymbols.sty	2017-09-05 21:56:28 UTC (rev 45222)
@@ -7,21 +7,19 @@
 %% tikzsymbols.dtx  (with options: `package')
 %% This is a generated file.
 %% 
-%% Copyright (C) 2013 by Ben Vitecek (current Maintainer)
+%% Copyright (C) 2013--2017 by Ben Vitecek (current Maintainer)
 %% 
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any later
-%% version. The latest version of this license is in:
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
 %% 
-%% http://www.latex-project.org/lppl.txt
-%% 
-%% and version 1.3c or later is part of all distributions of
-%% LaTeX version 2008-05-04 or later.
-%% 
 %% This work has the LPPL maintenance status `maintained'.
 %% 
-%% This work consists of the files README, tikzsymbols.dtx and tikzsymbols.ins
+%% This work consists of the files README.md, tikzsymbols.dtx and tikzsymbols.ins
 %% and the derived file tikzsymbols.sty.
 \@ifpackageloaded{xparse}{}{\RequirePackage{xparse}}
 \@ifpackageloaded{expl3}{}{\RequirePackage{expl3}}
@@ -38,8 +36,8 @@
   }
 \ProvidesExplPackage
   {tikzsymbols}
-  {2017/05/14}
-  {4.02}
+  {2017/09/05}
+  {4.07}
   {Some symbols created using tikz and LaTeX3.}
 \@ifpackageloaded { tikz } {} { \RequirePackage { tikz } }
 \@ifpackageloaded { xcolor } {} { \RequirePackage { xcolor } }
@@ -52,9 +50,7 @@
 \bool_new:N \g__tikzsymbols_if_opt_tree_print_bool
 \bool_new:N \g__tikzsymbols_if_opt_draft_bool
 \bool_new:N \g__tikzsymbols_if_opt_marvosym_bool
-\bool_new:N \g__tikzsymbols_if_opt_usebox_bool
 \bool_gset_true:N \g__tikzsymbols_if_opt_tree_print_bool
-\bool_gset_true:N \g__tikzsymbols_if_opt_usebox_bool
 \tl_clear_new:N \g__tikzsymbols_command_prefix_tl
 \tl_new:N \l__tikzsymbols_tikzsymbols_after_symbol_tl
 \tl_new:N \l__tikzsymbols_current_situation_tl
@@ -62,6 +58,9 @@
 \tl_const:Nn \c__tikzsymbols_leaf_tl { leaf }
 \tl_const:Nn \c__tikzsymbols_black_tl { black }
 \tl_gset:Nn \l__tikzsymbols_tikzsymbols_after_symbol_tl { \xspace }
+\tl_new:N \l__tikzsymbols_used_only_once_because_no_better_idea_tl
+\fp_new:N \l__tikzsymbols_global_scale_fp
+\fp_set:Nn \l__tikzsymbols_global_scale_fp { 1.0 }
 \fp_new:N \l__tikzsymbols_Strichmaxerl_x_LA_fp
 \fp_new:N \l__tikzsymbols_Strichmaxerl_x_RA_fp
 \fp_new:N \l__tikzsymbols_Strichmaxerl_x_LB_fp
@@ -73,19 +72,13 @@
 \fp_new:N \__tikzsymbols_Strichmaxerl_x_max_fp
 \fp_new:N \__tikzsymbols_Strichmaxerl_x_min_fp
 \dim_new:N \l__tikzsymbols_Moai_thickness_dim
-\clist_new:N \l__tikzsymbols_tmpa_clist
-\clist_new:N \g_tikzsymbols_list_of_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_english_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_cooking_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_emoticons_commands_clist
-\clist_new:N \g_tikzsymbols_list_of_other_commands_clist
 \clist_new:N \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist
+\prop_new:N \g__tikzsymbols_english_commands_prop
 \msg_new:nnnn { tikzsymbols } { obsolete-option }
   {
     Option \ '#1' \ is \ obsolete. \
     Please \ use \ '#2' \ instead.
-  }
-  {
+  }{
     The \ option \ you \ used \ is \ obsolete.
     \msg_see_documentation_text:n { tikzsymbols }
   }
@@ -93,8 +86,7 @@
   {
     Undefined \ Control \ sequence: \ '#1'. \
     Did \ you \ write \ the \ name \ correctly?
-  }
-  {
+  }{
     The \ command \ is \ not \ defined.
     \msg_see_documentation_text:n { tikzsymbols }
   }
@@ -153,12 +145,116 @@
     \exp_not:N\tikzsymbolsaftersymbolinput  is \ not \ supported \ anymore.
     \msg_see_documentation_text:n { tikzsymbols }
   }
-\cs_new:Npn \__tikzsymbols_Basic_Tree_aux:nnnnn {  }
+\msg_new:nnnn { tikzsymbols } { SchrodingersCat  }
+  {
+    \SchrodingersCat\ only \ accepts \ '-1' \ (dead), \ '0'\ (unknown)\ or \ '1'\
+    (alive) \ for \ its \ mandatroy \ argument. \ You \ have \ given \ '#1'.
+  }{
+    Your \ input \ number \ is \ not \ allowed.
+    \msg_see_documentation_text:n { tikzsymbols }
+  }
+\msg_new:nnnn { tikzsymbols } { internal-message  }
+  {
+    This \ is \ an \ internal \ message \ and \ means \ that \
+    I \ (the \ package \ author) \ fucked \ up. \ If \ you \
+    stumble \ across \ this, \ the \ description \ message \
+    is \ '#1'.
+  }{
+    I \ apologize \ for \ that.
+    \msg_see_documentation_text:n { tikzsymbols }
+  }
+\msg_new:nnnn { tikzsymbols } { package-option }
+  {
+    The \ option \ '#1' \ is \ only \ allowed \ as \ a \ package
+    \ option.
+  }{
+    This \ option \ is \ not \ allowed \ to \ be \ set \
+    using \ \tikzsymbolsset{}.
+    \msg_see_documentation_text:n { tikzsymbols }
+  }
+\msg_new:nnnn { tikzsymbols } { symbol-name-unknown }
+  {
+    The \ symbol \ '#1' \ is \ not \ available \ by \ this \ package.
+  }{
+    Perhaps \ you \ have \ misspelled it.
+    \msg_see_documentation_text:n { tikzsymbols }
+  }
+\cs_set:Npn \__tikzsymbols_Basic_Tree_aux:nnnnn
+  {
+    \bool_if:NTF \g__tikzsymbols_if_opt_tree_print_bool
+      { \__tikzsymbols_Basic_Tree_on:nnnnn }
+      { \__tikzsymbols_Basic_Tree_off:nnnnn }
+  }
+\cs_new:Npn \__tikzsymbols_symbol_scale_i:n #1
+  {
+    \__tikzsymbols_symbol_scale_ii:nn {#1} { 1.0 }
+  }
+\cs_new:Npn \__tikzsymbols_symbol_scale_ii:nn #1#2
+  {
+    \prop_get:NnNTF \g__tikzsymbols_english_commands_prop {#1} \l_tmpa_tl
+      {
+        \fp_set:cn { l__tikzsymbols_ \l_tmpa_tl _scale_fp } {#2}
+      }{
+        \fp_if_exist:cTF { l__tikzsymbols_#1_scale_fp }
+          { \fp_set:cn { l__tikzsymbols_#1_scale_fp } {#2} }
+          { \msg_error:nnn { tikzsymbols} { symbol-name-unknown } {#1} }
+      }
+  }
+\cs_new:Npn \__tikzsymbols_set_scale_abs_tl:n #1
+  {
+    \tl_set:Nx \l__tikzsymbols_scale_abs_tl { \fp_eval:n { abs (#1) } }
+  }
+\cs_new:Npn \__tikzsymbols_create_draftbox:nn #1#2
+  {
+    \group_begin:
+    \vbadness=\c_max_dim
+    \fp_set:Nn \l_tmpa_fp {#1}
+    \fp_set:Nn \l_tmpb_fp {#2}
+    \frame
+      {
+        \vbox_to_ht:nn { \fp_to_dim:N \l_tmpb_fp }
+          {
+            \hbox_to_wd:nn { \fp_to_dim:N \l_tmpa_fp } { }
+          }
+      }
+    \group_end:
+  }
+\cs_new:Npn \__tikzsymbols_create_squared_draftbox:n #1
+  {
+    \__tikzsymbols_create_draftbox:nn {#1} {#1}
+  }
+\cs_new:Npn \__tikzsymbols_if_savebox_undefined:nT #1#2
+  {
+    \tl_set:Nx \l__tikzsymbols_current_situation_tl
+      {
+        \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool { T } { F } _
+        \current at color _ \f at size
+      }
+    \box_if_exist:cF { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1  _box }
+      {
+        \box_new:c { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1  _box }
+        \exp_args:NNc \global \sbox
+           { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1 _box } {#2}
+      }
+  }
+\cs_new:Npn \__tikzsymbols_use_savebox:n #1
+  {
+    \exp_args:Nc \usebox
+      { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1 _box }
+  }
+\cs_new:Npn \__tikzsymbols_provide_savebox_and_use_aux:nT #1#2
+  {
+    \__tikzsymbols_if_savebox_undefined:nT {#1} {#2}
+    \__tikzsymbols_use_savebox:n {#1}
+  }
+\cs_set_eq:NN
+  \__tikzsymbols_provide_savebox_and_use:nT
+  \__tikzsymbols_provide_savebox_and_use_aux:nT
+\pgfkeys{ /__tikzsymbols/.style= { baseline=default } }
 \keys_define:nn { tikzsymbols }
   {
     final .bool_gset_inverse:N = \g__tikzsymbols_if_opt_draft_bool ,
     final .default:n = { true } ,
-    final .groups:n = { document } ,
     draft .choices:nn =
       { true , false , absolute }
       {
@@ -170,12 +266,11 @@
               {
                 \msg_error:nnnn { tikzsymbols } { obsolete-option }
                   { draft = absolute } { draft = true }
-                  \bool_gset_true:N \g__tikzsymbols_if_opt_draft_bool
+                \bool_gset_true:N \g__tikzsymbols_if_opt_draft_bool
               }
           }
       } ,
     draft .default:n= { false } ,
-    draft .groups:n = { document } ,
     draftabsolute .code:n =
       {
         \msg_error:nnnn { tikzsymbols } { obsolete-option }
@@ -182,13 +277,23 @@
           { draftabsolute } { draft = true }
         \bool_gset_true:N \g__tikzsymbols_if_opt_draft_bool
       } ,
-    draftabsolute .groups:n = { document } ,
     marvosym .bool_gset:N = \g__tikzsymbols_if_opt_marvosym_bool ,
     marvosym .default:n = { true } ,
     marvosym .groups:n = { package } ,
-    usebox .bool_gset:N = \g__tikzsymbols_if_opt_usebox_bool ,
+    usebox .choice: ,
+    usebox/true .code:n =
+      { 
+        \cs_set_eq:NN
+          \__tikzsymbols_provide_savebox_and_use:nT
+          \__tikzsymbols_provide_savebox_and_use_aux:nT
+      } ,
+    usebox/false .code:n =
+      { 
+        \cs_set_eq:NN
+          \__tikzsymbols_provide_savebox_and_use:nT
+          \use_ii:nn
+      } ,
     usebox .default:n = { true } ,
-    usebox .groups:n = { package } ,
     prefix .tl_gset:N =  \g__tikzsymbols_command_prefix_tl ,
     prefix .default:n = { tikzsymbols } ,
     prefix .groups:n = { package } ,
@@ -195,65 +300,34 @@
     tree .choices:nn =
       { true , on , false , off }
       {
-        \int_compare:nTF { \l_keys_choice_int <= 2 }
+        \int_compare:nNnTF { \l_keys_choice_int } < { 3 }
           { \bool_gset_true:N \g__tikzsymbols_if_opt_tree_print_bool }
           { \bool_gset_false:N \g__tikzsymbols_if_opt_tree_print_bool }
       } ,
     tree .default:n = { true } ,
-    tree .groups:n = { document } ,
     after-symbol .tl_set:N = \l__tikzsymbols_tikzsymbols_after_symbol_tl ,
     after-symbol .default:n= { \xspace } ,
-    after-symbol .groups:n = { document } ,
     baseline .choice: ,
-    baseline / true .code:n = { \pgfkeys{ /__tikzsymbols/.style={baseline=default} } } ,
+    baseline / true .code:n = { \pgfkeys{ /__tikzsymbols/.style={ baseline=default } } } ,
     baseline / false .code:n = { \pgfkeys{ /__tikzsymbols/.style={ } } } ,
     baseline .default:n = { true } ,
-  }
-\pgfkeys{ /__tikzsymbols/.style={baseline=default} }
-\ProcessKeysOptions { tikzsymbols }
-\cs_new:Npn \__tikzsymbols_set_scale_abs_tl:n #1
-  {
-    \tl_set:Nx \l__tikzsymbols_scale_abs_tl { \fp_to_tl:n { abs (#1) } }
-  }
-\cs_new:Npn \__tikzsymbols_create_draftbox:nn #1#2
-  {
-    \group_begin:
-    \vbadness=\c_max_dim
-    \fp_set:Nn \l_tmpa_fp {#1}
-    \fp_set:Nn \l_tmpb_fp {#2}
-    \frame
+    global-scale .fp_set:N = \l__tikzsymbols_global_scale_fp ,
+    global-scale .default:n = { 1 } ,
+    symbol-scale .code:n =
       {
-        \vbox_to_ht:nn { \fp_to_dim:N \l_tmpb_fp }
+        \tl_set:Nn \l__tikzsymbols_used_only_once_because_no_better_idea_tl
           {
-            \hbox_to_wd:nn { \fp_to_dim:N \l_tmpa_fp } { }
+            symbol-scale = {#1} ,
           }
-      }
-    \group_end:
+      } ,
+    symbol-scale .default:n = { } ,
   }
-\cs_new:Npn \__tikzsymbols_create_squared_draftbox:n #1
+\ProcessKeysOptions { tikzsymbols }
+\keys_define:nn { tikzsymbols }
   {
-    \__tikzsymbols_create_draftbox:nn {#1} {#1}
+    symbol-scale .code:n =
+      { \keyval_parse:NNn \__tikzsymbols_symbol_scale_i:n \__tikzsymbols_symbol_scale_ii:nn {#1} }
   }
-\cs_new:Npn \__tikzsymbols_if_savebox_undefined:nT #1#2
-  {
-    \tl_set:Nx \l__tikzsymbols_current_situation_tl { \current at color _ \f at size  }
-    \box_if_exist:cF { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1  _box }
-      {
-        \box_new:c { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1  _box }
-        \exp_args:NNc \global \sbox
-           { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1 _box } {#2}
-      }
-  }
-\cs_new:Npn \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT #1#2
-  {
-    \__tikzsymbols_if_savebox_undefined:nT {#1} {#2}
-    \__tikzsymbols_use_savebox:n {#1}
-  }
-\cs_new:Npn \__tikzsymbols_use_savebox:n #1
-  {
-    \exp_args:Nc \usebox
-      { g__tikzsymbols_savebox_ \l__tikzsymbols_current_situation_tl _ #1 _box }
-  }
 \cs_new:Npn \__tikzsymbols_if_empty:Tn #1#2
   {
     \tl_if_empty:nTF {#2}
@@ -260,10 +334,23 @@
       { \tl_set:Nn \ProcessedArgument {#1} }
       { \tl_set:Nn \ProcessedArgument {#2} }
   }
-\cs_new_protected:Npn \__tikzsymbols_parse_command_options:n #1
+\cs_new:Npn \__tikzsymbols_scale_if_empty:nTn #1#2#3
   {
+    \tl_set:Nx \ProcessedArgument
+      {
+        \fp_eval:n
+          {
+            \tl_if_empty:nTF {#3} {#2} {#3}
+            * \l__tikzsymbols_global_scale_fp
+            * \use:c { l__tikzsymbols_#1_scale_fp }
+          }
+      }
+  }
+\cs_new_protected:Npn \__tikzsymbols_parse_command_options:nn #1#2
+  {
     \clist_clear:N \l_tmpa_clist
-    \__tikzsymbols_parse_command_options:N #1
+    \tl_set:Nn \l_tmpa_tl {#1}
+    \__tikzsymbols_parse_command_options:N #2
       \q_recursion_tail \q_recursion_tail \q_recursion_tail \q_recursion_stop
   }
 \cs_new_protected:Npn \__tikzsymbols_parse_command_options:N #1
@@ -271,10 +358,19 @@
     \quark_if_recursion_tail_stop:N #1
     \tl_if_eq:NNTF #1 O
       { \__tikzsymbols_parse_option_type_O:w #1 }
-      { \__tikzsymbols_parse_option_type:w #1  }
+      {
+        \tl_if_eq:NNTF #1 S
+          { \__tikzsymbols_parse_option_type_S:Vw \l_tmpa_tl #1 }
+          { \__tikzsymbols_parse_option_type:w #1 }
+      }
   }
 \cs_new_protected:Npn \__tikzsymbols_parse_option_type:w #1
   {
+    \str_case:nnF {#1}
+      {
+        { m } { }
+      }
+      { \msg_error:nnn { tikzsymbols } { internal-message } { internal-parsing } }
     \clist_put_right:Nn \l_tmpa_clist {#1}
     \__tikzsymbols_parse_command_options:N
   }
@@ -283,11 +379,17 @@
     \clist_put_right:Nn \l_tmpa_clist { >{ \__tikzsymbols_if_empty:Tn {#2} } O{#2}  }
     \__tikzsymbols_parse_command_options:N
   }
+\cs_new_protected:Npn \__tikzsymbols_parse_option_type_S:nw #1#2
+  {
+    \clist_put_right:Nn \l_tmpa_clist { >{ \__tikzsymbols_scale_if_empty:nTn {#1} { 1 } } O{ 1 }  }
+    \__tikzsymbols_parse_command_options:N
+  }
+\cs_generate_variant:Nn \__tikzsymbols_parse_option_type_S:nw { Vw }
 \cs_new:Npn \__tikzsymbols_Declare_Document_Command:nnn #1#2#3
   {
-    \clist_put_right:Nn \g_tikzsymbols_list_of_commands_clist {#1}
-    \clist_put_right:Nn \l__tikzsymbols_tmpa_clist {#1}
-    \__tikzsymbols_parse_command_options:n {#2}
+    \fp_new:c { l__tikzsymbols_#1_scale_fp }
+    \fp_set:cn { l__tikzsymbols_#1_scale_fp } { 1.0 }
+    \__tikzsymbols_parse_command_options:nn {#1} {#2}
     \exp_args:Ncx \DeclareDocumentCommand
       { \g__tikzsymbols_command_prefix_tl #1 }
       { \clist_use:Nn \l_tmpa_clist {} }
@@ -300,14 +402,13 @@
        \tl_use:N \l__tikzsymbols_tikzsymbols_after_symbol_tl
       }
   }
-\prop_new:N \g__tikzsymbols_english_commands_prop
 \cs_new:Npn \__tikzsymbols_Declare_Document_Commands:nnnn #1#2#3#4
   {
     \clist_put_right:Nn
     \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist
-    {
-      \cs{#1} & \cs{#2} & \oarg{scale} & \tikzsymbolsuse{#1} \\
-    }
+      {
+        \cs{#1} & \cs{#2} & \oarg{scale} & \tikzsymbolsuse{#1} \\
+      }
     \prop_gput:Nnn \g__tikzsymbols_english_commands_prop {#2} {#1}
     \__tikzsymbols_Declare_Document_Command:nnn {#1} {#3} {#4}
     \__tikzsymbols_let:nn {#2} {#1}
@@ -314,25 +415,8 @@
   }
 \cs_new:Npn \__tikzsymbols_let:nn #1#2
   {
-    \clist_put_right:Nn \g_tikzsymbols_list_of_commands_clist {#1}
-    \clist_put_right:Nn \g_tikzsymbols_list_of_english_commands_clist {#1}
-    \clist_put_right:Nn \l__tikzsymbols_tmpa_clist {#1}
     \cs_set_eq:cc { \g__tikzsymbols_command_prefix_tl #1 } { \g__tikzsymbols_command_prefix_tl #2 }
   }
-\AtBeginDocument
-  {
-    \bool_if:NF \g__tikzsymbols_if_opt_usebox_bool
-      {
-        \cs_set_eq:NN \__tikzsymbols_if_savebox_undefined:nT \use_ii:nn
-        \cs_set_eq:NN \__tikzsymbols_use_savebox:n \use_none:n
-      }
-  }
-\cs_set:Npn \__tikzsymbols_Basic_Tree_aux:nnnnn
-  {
-    \bool_if:NTF \g__tikzsymbols_if_opt_tree_print_bool
-      { \__tikzsymbols_Basic_Tree_on:nnnnn }
-      { \__tikzsymbols_Basic_Tree_off:nnnnn }
-  }
 \tl_const:Nn \c__tikzsymbols_tikz_set_tl
   {
     \tikzset
@@ -439,9 +523,9 @@
       }
     \group_end:
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Kochtopf } { pot } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Kochtopf } { pot } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Kochtopf_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Kochtopf_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -460,20 +544,20 @@
               \draw[decorate, decoration=
                 { snake , amplitude=0.12ex*\l__tikzsymbols_scale_abs_tl , segment ~ length=0.93ex * \l__tikzsymbols_scale_abs_tl } ]
                 (0,0.35) -- (1,0.35);
-              \draw (0.45,0.1) circle (0.04);
-              \draw (0.7,0.11) circle (0.04);
-              \draw (0.13, 0.125) circle (0.04);
-              \draw (0.3,0.2) circle (0.04);
-              \draw (0.88,0.2) circle (0.04);
-              \draw (0.1,0.25) circle (0.04);
-              \draw (0.6,0.25) circle (0.04);
+              \draw (0.45,0.1) circle [radius=0.04];
+              \draw (0.7,0.11) circle [radius=0.04];
+              \draw (0.13, 0.125) circle [radius=0.04];
+              \draw (0.3,0.2) circle [radius=0.04];
+              \draw (0.88,0.2) circle [radius=0.04];
+              \draw (0.1,0.25) circle [radius=0.04];
+              \draw (0.6,0.25) circle [radius=0.04];
             \end{tikzpicture}
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Bratpfanne } { fryingpan } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Bratpfanne } { fryingpan } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Bratpfanne_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Bratpfanne_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -504,9 +588,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Schneebesen } { eggbeater } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Schneebesen } { eggbeater } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schneebesen_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Schneebesen_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -533,9 +617,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Sieb } { sieve } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Sieb } { sieve } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sieb_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Sieb_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -562,9 +646,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Purierstab } { blender } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Purierstab } { blender } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Purierstab_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Purierstab_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -587,9 +671,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Dreizack } { trident } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Dreizack } { trident } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Dreizack_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Dreizack_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -612,9 +696,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Backblech } { bakingplate } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Backblech } { bakingplate } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Backblech_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Backblech_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -634,14 +718,14 @@
                    (\xI,0) -- (\xII,0) -- (\xII,0.3) -- (\xI,0.3);
               \foreach \__tikzsymbols_BackblechlochX in { 0.007 , 0.293 }
                 \foreach \__tikzsymbols_BackblechlochY in { 0.007 , 0.293 }
-                  \fill[white] (\__tikzsymbols_BackblechlochX, \__tikzsymbols_BackblechlochY) circle (0.02ex);
+                  \fill[white] (\__tikzsymbols_BackblechlochX, \__tikzsymbols_BackblechlochY) circle [radius=0.02ex];
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Ofen } { oven } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Ofen } { oven } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Ofen_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Ofen_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -658,7 +742,7 @@
               \draw (0,0) rectangle (4,3);
               \draw (0.25,0.25) rectangle (3.75,2);
               \foreach \__tikzsymbols_Ofenschalter in {0.5,1.1,2.9,3.5}
-                \fill (\__tikzsymbols_Ofenschalter,2.5) circle (0.22);
+                \fill (\__tikzsymbols_Ofenschalter,2.5) circle [radius=0.22];
               \draw (1.5,2.28) rectangle  (2.5,2.72);
               \draw[line ~ width=0.05ex * \l__tikzsymbols_scale_abs_tl] (1,1.75) -- (3,1.75);
             \end{tikzpicture}%
@@ -665,9 +749,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Pfanne } { pan } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Pfanne } { pan } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Pfanne_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Pfanne_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -699,9 +783,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Herd } { cooker } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Herd } { cooker } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Herd_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Herd_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -717,17 +801,17 @@
               ]
               \draw[line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) rectangle (2,1.5);
               \foreach \y/\radius in { 0.45/0.35 , 0.45/0.2 , 1.15/0.21 }
-                \draw (0.5,\y) circle (\radius);
-              \draw (1.45,1.15) circle (0.15);
-              \draw (1.45,0.45) circle (0.3);
+                \draw (0.5,\y) circle [radius=\radius];
+              \draw (1.45,1.15) circle [radius=0.15];
+              \draw (1.45,0.45) circle [radius=0.3];
               \draw (1.05,0.95) rectangle (1.85,1.35);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Saftpresse } { squeezer } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Saftpresse } { squeezer } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Saftpresse_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Saftpresse_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -760,9 +844,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Schussel } { bowl } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Schussel } { bowl } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schussel_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Schussel_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -784,9 +868,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Schaler } { peeler } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Schaler } { peeler } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schaler_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Schaler_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -809,9 +893,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Reibe } { grater } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Reibe } { grater } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Reibe_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Reibe_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -829,14 +913,14 @@
               \draw[rounded ~ corners=0.04ex] (0.05,1.2) rectangle (0.95,1.5);
               \foreach\x in { 0.2, 0.4 , 0.6 , 0.8}
                 \foreach\y in { 0.2 , 0.4, 0.6 , 0.8, 1}
-                  \fill (\x,\y) circle (0.05ex);
+                  \fill (\x,\y) circle [radius=0.05ex];
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Flasche } { bottle } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Flasche } { bottle } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Flasche_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Flasche_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -858,9 +942,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Commands:nnnn { Nudelholz } { rollingpin } { O{1} }
+\__tikzsymbols_Declare_Document_Commands:nnnn { Nudelholz } { rollingpin } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Nudelholz_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Nudelholz_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -879,7 +963,8 @@
                 (3,0.75) -- (3.25,0.6) -- (3.75,0.7) -- (4.25,0.6)
                 (3,0.25) -- ( 3.25,0.4 ) -- (3.75,0.3) -- (4.25,0.4);
               \draw (4.25,0.5) ellipse [x ~ radius=0.01, y ~ radius=0.1];
-              \draw[rounded ~ corners=0.15ex*#1] (-0,0.75) -- (-0.25,0.6) -- (-0.75,0.7)
+              \draw[rounded ~ corners=0.15ex*\l__tikzsymbols_scale_abs_tl]
+                (-0,0.75) -- (-0.25,0.6) -- (-0.75,0.7)
                 -- (-1.25,0.6)
                 (-0,0.25) -- ( -0.25,0.4 ) -- (-0.75,0.3) -- (-1.25,0.4);
               \draw (-1.25,0.5) ellipse [x ~ radius=0.01, y ~ radius=0.1];
@@ -887,11 +972,9 @@
           }
       }
   }
-\clist_set_eq:NN \g_tikzsymbols_list_of_cooking_commands_clist \l__tikzsymbols_tmpa_clist
-\clist_clear:N \l__tikzsymbols_tmpa_clist
-\__tikzsymbols_Declare_Document_Command:nnn { Sadey } { O{1} O{none} }
+\__tikzsymbols_Declare_Document_Command:nnn { Sadey } { S O{none} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sadey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Sadey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -903,17 +986,17 @@
                 /__tikzsymbols ,
                 x=2.4ex , y=2.4ex, line ~ width=0.09ex * \l__tikzsymbols_scale_abs_tl , scale = #1
               ]
-              \filldraw[fill=#2, line ~ width=0.1ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
-              \fill (0.1,0.1) circle (0.05);
-              \fill (-0.1,0.1) circle (0.05);
+              \filldraw[fill=#2, line ~ width=0.1ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
+              \fill (0.1,0.1) circle [radius=0.05];
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
             \end{tikzpicture}
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dSadey } { O{1} O{yellow} }
+\__tikzsymbols_Declare_Document_Command:nnn { dSadey } { S O{yellow} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSadey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dSadey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -925,17 +1008,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex * \l__tikzsymbols_scale_abs_tl , scale = #1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Changey } { O{1} O{white} m }
+\__tikzsymbols_Declare_Document_Command:nnn { Changey } { S O{white} m }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Changey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Changey_#1_#2_#3 }
       {
         \fp_compare:nT { abs(#3) > 2 }
           { \msg_error:nnn { tikzsymbols } { Changey-number-too-large } {#3}  }
@@ -949,9 +1032,9 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#3  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#3 }
               \draw
@@ -963,9 +1046,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dChangey } { O{1} O{yellow} m }
+\__tikzsymbols_Declare_Document_Command:nnn { dChangey } { S O{yellow} m }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dChangey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dChangey_#1_#2_#3 }
       {
         \fp_compare:nT { abs(#3) > 2 }
           { \msg_error:nnn { tikzsymbols } { Changey-number-too-large } {#3}  }
@@ -979,9 +1062,9 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#3  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#3 }
               \draw[black]
@@ -1003,9 +1086,9 @@
     \filldraw[fill=#2!#1!#3]
   }
 \cs_generate_variant:Nn \__tikzsymbols_cChangey_aux:nnn { x }
-\__tikzsymbols_Declare_Document_Command:nnn { cChangey } { O{1} O{red} O{yellow} O{green} m }
+\__tikzsymbols_Declare_Document_Command:nnn { cChangey } { S O{red} O{yellow} O{green} m }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT
+    \__tikzsymbols_provide_savebox_and_use:nT
       { cChangey_#1_#2_#3_#4_#5 }
       {
         \fp_compare:nT { abs(#5) > 2 }
@@ -1023,19 +1106,19 @@
               \fp_compare:nNnT {#5} < { \c_zero }
                 {
                   \__tikzsymbols_cChangey:nnn {#5} {#2} {#3}
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} > { \c_zero }
                 {
                   \__tikzsymbols_cChangey:nnn {#5} {#4} {#3}
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} = { \c_zero }
                 {
-                  \filldraw [fill=#3] (0,0) circle (0.33);
+                  \filldraw [fill=#3] (0,0) circle [radius=0.33];
                 }
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#5  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#5 }
               \draw
@@ -1057,9 +1140,9 @@
     \shade [ball ~ color=#2!#1!#3]
   }
 \cs_generate_variant:Nn \__tikzsymbols_dcChangey_aux:nnn { x }
-\__tikzsymbols_Declare_Document_Command:nnn { dcChangey } { O{1} O{red} O{yellow} O{green} m }
+\__tikzsymbols_Declare_Document_Command:nnn { dcChangey } { S O{red} O{yellow} O{green} m }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT
+    \__tikzsymbols_provide_savebox_and_use:nT
       { dcChangey_#1_#2_#3_#4_#5 }
       {
         \fp_compare:nT { abs(#5) > 2 }
@@ -1077,19 +1160,19 @@
               \fp_compare:nNnT {#5} < { \c_zero }
                 {
                   \__tikzsymbols_dcChangey:nnn {#5} {#2} {#3}
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} > { \c_zero }
                 {
                   \__tikzsymbols_dcChangey:nnn {#5} {#4} {#3}
-                  (0,0) circle (0.33);
+                  (0,0) circle [radius=0.33];
                 }
               \fp_compare:nNnT {#5} = { \c_zero }
                 {
-                  \shade[ball ~ color=#3] (0,0) circle (0.33);
+                  \shade[ball ~ color=#3] (0,0) circle [radius=0.33];
                 }
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#5  }
               \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#5 }
               \draw[black]
@@ -1101,9 +1184,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Annoey } { O{1} O{none} }
+\__tikzsymbols_Declare_Document_Command:nnn { Annoey } { S O{none} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Annoey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Annoey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1115,7 +1198,7 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex * \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
+              \filldraw[fill=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
               \draw (0.08,0.1) -- (0.22,0.1);
               \draw (-0.08,0.1) -- (-0.22,0.1);
               \draw (-0.2,-0.1) -- (0.2,-0.1);
@@ -1123,9 +1206,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dAnnoey } { O{1} O{yellow} }
+\__tikzsymbols_Declare_Document_Command:nnn { dAnnoey } { S O{yellow} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dAnnoey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dAnnoey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1137,7 +1220,7 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.08,0.1) -- (0.22,0.1);
               \draw[black] (-0.08,0.1) -- (-0.22,0.1);
               \draw[black] (-0.2,-0.1) -- (0.2,-0.1);
@@ -1147,9 +1230,9 @@
   }
 \bool_if:NF \g__tikzsymbols_if_opt_marvosym_bool
   {
-    \__tikzsymbols_Declare_Document_Command:nnn { Smiley } { O{1} O{none} }
+    \__tikzsymbols_Declare_Document_Command:nnn { Smiley } { S O{none} }
       {
-        \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Smiley_#1_#2 }
+        \__tikzsymbols_provide_savebox_and_use:nT { Smiley_#1_#2 }
           {
             \__tikzsymbols_set_scale_abs_tl:n {#1}
             \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1161,9 +1244,9 @@
                     /__tikzsymbols ,
                     x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl , scale=#1
                   ]
-                  \filldraw[fill=#2] (0,0) circle (0.33);
-                  \fill (-0.1,0.1) circle (0.05);
-                  \fill (0.1,0.1) circle (0.05);
+                  \filldraw[fill=#2] (0,0) circle [radius=0.33];
+                  \fill (-0.1,0.1) circle [radius=0.05];
+                  \fill (0.1,0.1) circle [radius=0.05];
                   \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
                 \end{tikzpicture}%
               }
@@ -1170,9 +1253,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dSmiley } { O{1} O{yellow} }
+\__tikzsymbols_Declare_Document_Command:nnn { dSmiley } { S O{yellow} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSmiley_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dSmiley_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1184,17 +1267,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.1ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Laughey } { O{1} O{none} O{none} }
+\__tikzsymbols_Declare_Document_Command:nnn { Laughey } { S O{none} O{none} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Laughey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Laughey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1206,7 +1289,7 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2,line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
+              \filldraw[fill=#2,line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
               \draw (-0.09,0.06) .. controls (-0.11,0.16) and (-0.17,0.16) .. +(-0.1,0);
               \draw (0.09,0.06) .. controls (0.11,0.16) and (0.17,0.16) .. +(0.1,0);
               \filldraw[fill=#3,rounded ~ corners=0.1ex* \l__tikzsymbols_scale_abs_tl , yshift=-0.5]
@@ -1216,9 +1299,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dLaughey } { O{1} O{yellow} O{red} }
+\__tikzsymbols_Declare_Document_Command:nnn { dLaughey } { S O{yellow} O{red} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dLaughey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dLaughey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1231,7 +1314,7 @@
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1,
                 black
               ]
-              \fill[ball ~ color=#2,line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
+              \fill[ball ~ color=#2,line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
               \draw (-0.09,0.06) .. controls (-0.11,0.16) and (-0.17,0.16) .. +(-0.1,0);
               \draw (0.09,0.06) .. controls (0.11,0.16) and (0.17,0.16) .. +(0.1,0);
               \shade
@@ -1244,9 +1327,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Neutrey } { O{1} O{none}  }
+\__tikzsymbols_Declare_Document_Command:nnn { Neutrey } { S O{none}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Neutrey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Neutrey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1258,17 +1341,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2,line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
-              \fill (0.1,0.1) circle (0.05);
-              \fill (-0.1,0.1) circle (0.05);
+              \filldraw[fill=#2,line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
+              \fill (0.1,0.1) circle [radius=0.05];
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.1) -- (0.2,-0.1);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dNeutrey } { O{1} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dNeutrey } { S O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Neutrey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Neutrey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1280,17 +1363,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) -- (0.2,-0.1);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Winkey } { O{1} O{none}  }
+\__tikzsymbols_Declare_Document_Command:nnn { Winkey } { S O{none}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Winkey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Winkey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1302,17 +1385,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
               \draw(0.17,0.1) -- (0.05,0.1);
-              \fill (-0.1,0.1) circle (0.05);
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { oldWinkey } { O{1} O{none}  }
+\__tikzsymbols_Declare_Document_Command:nnn { oldWinkey } { S O{none}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { oldWinkey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { oldWinkey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1324,17 +1407,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
               \draw(0.17,0.1) -- (0.05,0.1);
-              \fill (-0.1,0.1) circle (0.05);
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dWinkey } { O{1} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dWinkey } { S O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dWinkey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dWinkey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1346,17 +1429,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.17,0.1) -- (0.05,0.1);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { olddWinkey } { O{1} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { olddWinkey } { S O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { olddWinkey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { olddWinkey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1368,17 +1451,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.17,0.1) -- (0.05,0.1);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
             \end{tikzpicture}
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Sey } { O{1} O{none}  }
+\__tikzsymbols_Declare_Document_Command:nnn { Sey } { S O{none}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Sey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1390,17 +1473,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
-              \fill (0.1,0.1) circle (0.05);
-              \fill (-0.1,0.1) circle (0.05);
+              \filldraw[fill=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
+              \fill (0.1,0.1) circle [radius=0.05];
+              \fill (-0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dSey } { O{1} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dSey } { S O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dSey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1412,17 +1495,17 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Xey } { O{1} O{none}  }
+\__tikzsymbols_Declare_Document_Command:nnn { Xey } { S O{none}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Xey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Xey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1434,7 +1517,7 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
+              \filldraw[fill=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
               \foreach \xi in { 0.05 , -0.15 }
                   \draw (\xi,0.05) -- ++ (0.1,0.1) (-\xi,0.05) -- ++ (-0.1,0.1);
               \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
@@ -1442,9 +1525,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dXey } { O{1} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dXey } { S O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dXey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dXey_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1458,7 +1541,7 @@
                 black
               ]
               \fill[ball ~ color=#2, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ]
-                (0,0) circle (0.33);
+                (0,0) circle [radius=0.33];
               \foreach \xi in { 0.05 , -0.15 }
                   \draw (\xi,0.05) -- ++ (0.1,0.1) (-\xi,0.05) -- ++ (-0.1,0.1);
               \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
@@ -1466,9 +1549,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Innocey } { O{1} O{none} O{yellow} }
+\__tikzsymbols_Declare_Document_Command:nnn { Innocey } { S O{none} O{yellow} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Innocey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Innocey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1482,9 +1565,9 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
               \draw[#3, line ~ width=0.095ex* \l__tikzsymbols_scale_abs_tl ]
                  (0.32,0.31) arc
@@ -1499,7 +1582,7 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { wInnocey } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { wInnocey } { S }
   {
     \group_begin:
     \tl_clear:N \l__tikzsymbols_tikzsymbols_after_symbol_tl
@@ -1506,9 +1589,9 @@
     \tikzsymbolsuse { Innocey } [#1] [none] [white]
     \group_end:
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dInnocey } { O{1} O{yellow} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dInnocey } { S O{yellow} O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dInnocey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dInnocey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1523,9 +1606,9 @@
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1,
                 black
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
               \draw[color=#3!97!black, line ~ width=0.1ex* \l__tikzsymbols_scale_abs_tl ]
                  (0.32,0.31) arc [start ~ angle=0, end ~ angle=360, x ~ radius = 0.32 , y ~ radius=0.1];
@@ -1537,9 +1620,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Cooley } { O{1} O{none}  }
+\__tikzsymbols_Declare_Document_Command:nnn { Cooley } { S O{none}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Cooley_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Cooley_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1551,7 +1634,7 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
               \foreach \xi/\xii in { 0.24/0.01 , -0.24/-0.01 }
                 \fill[rounded ~ corners=0.1ex* \l__tikzsymbols_scale_abs_tl ]
                    (\xi,0.15) -- (\xii,0.15) -- (\xii,0) -- (\xi,0) -- cycle;
@@ -1563,9 +1646,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dCooley } { O{1} O{yellow}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dCooley } { S O{yellow}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dCooley_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dCooley_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1577,7 +1660,7 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
               \draw[black] (0.02,0.1) -- (-0.02,0.1);
               \draw[black] (-0.2,0.1) -- (-0.295,0.146);
               \draw[black] (0.2,0.1) -- (0.295,0.146);
@@ -1589,9 +1672,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Tongey } { O{1} O{none} O{none} }
+\__tikzsymbols_Declare_Document_Command:nnn { Tongey } { S O{none} O{none} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Tongey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Tongey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1603,9 +1686,9 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \filldraw[fill=#2] (0,0) circle (0.33);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.33];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \filldraw
                 [
                   fill=#3, line ~ width=0.058ex* \l__tikzsymbols_scale_abs_tl ,
@@ -1618,9 +1701,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dTongey } { O{1} O{yellow} O{red} }
+\__tikzsymbols_Declare_Document_Command:nnn { dTongey } { S O{yellow} O{red} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dTongey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dTongey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1632,9 +1715,9 @@
                 /__tikzsymbols ,
                 x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.33);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.33];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \shadedraw
                 [
                   ball ~ color=#3, draw=black,line ~ width=0.058ex* \l__tikzsymbols_scale_abs_tl ,
@@ -1647,9 +1730,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Nursey } { O{1} O{none} O{none} O{} }
+\__tikzsymbols_Declare_Document_Command:nnn { Nursey } { S O{none} O{none} O{} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Nursey_#1_#2_#3_#4 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Nursey_#1_#2_#3_#4 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1665,9 +1748,9 @@
               ]
               \fill[fill=#3,rounded ~ corners=.023ex* \l__tikzsymbols_scale_abs_tl ]
                  (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0);
-              \filldraw[fill=#2] (0,0) circle (0.3);
-              \fill (-0.1,0.1) circle (0.05);
-              \fill (0.1,0.1) circle (0.05);
+              \filldraw[fill=#2] (0,0) circle [radius=0.3];
+              \fill (-0.1,0.1) circle [radius=0.05];
+              \fill (0.1,0.1) circle [radius=0.05];
               \draw[line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl , yshift=0.07ex]
                  (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
               \draw[rounded ~ corners=.023ex* \l__tikzsymbols_scale_abs_tl ]
@@ -1678,9 +1761,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dNursey } { O{1} O{yellow} O{white} O{red} }
+\__tikzsymbols_Declare_Document_Command:nnn { dNursey } { S O{yellow} O{white} O{red} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dNursey_#1_#2_#3_#4 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dNursey_#1_#2_#3_#4 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1694,9 +1777,9 @@
                 /__tikzsymbols ,
                 x=2.3ex, y=2.3ex, line ~ width=0.12ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \shade[ball ~ color=#2] (0,0) circle (0.3);
-              \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
-              \shade[ball ~ color=black] (0.1,0.1) circle (0.05);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.3];
+              \shade[ball ~ color=black] (-0.1,0.1) circle [radius=0.05];
+              \shade[ball ~ color=black] (0.1,0.1) circle [radius=0.05];
               \draw[black, line ~ width=0.09ex* \l__tikzsymbols_scale_abs_tl , yshift=0.07ex]
                  (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
               \shade
@@ -1714,9 +1797,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Vomey } { O{1} O{none} O{opacity=0} }
+\__tikzsymbols_Declare_Document_Command:nnn { Vomey } { S O{none} O{opacity=0} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Vomey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Vomey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1751,9 +1834,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dVomey } { O{1} O{yellow} O{brown!10!olive}  }
+\__tikzsymbols_Declare_Document_Command:nnn { dVomey } { S O{yellow} O{brown!10!olive}  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dVomey_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dVomey_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1790,9 +1873,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Walley } { O{1} O{none} O{none} }
+\__tikzsymbols_Declare_Document_Command:nnn { Walley } { S O{none} O{none} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Walley_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Walley_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1811,7 +1894,7 @@
                     amplitude=0.1ex* \l__tikzsymbols_scale_abs_tl
                   }
               ]
-              \filldraw[fill=#2, line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.28);
+              \filldraw[fill=#2, line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.28];
               \filldraw[fill=#3] (0.28,-0.33) rectangle (0.66,0.33);
               \draw[line ~ width=0.06ex* \l__tikzsymbols_scale_abs_tl ]
                 (0.28,0) --++(0.05,0.07) --++(0.03,0.02) --+
@@ -1831,9 +1914,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { rWalley } { O{1} O{none} O{none} }
+\__tikzsymbols_Declare_Document_Command:nnn { rWalley } { S O{none} O{none} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { rWalley_#1_#2_#3 }
+    \__tikzsymbols_provide_savebox_and_use:nT { rWalley_#1_#2_#3 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1852,7 +1935,7 @@
                     amplitude=0.1ex* \l__tikzsymbols_scale_abs_tl
                   }
               ]
-              \filldraw[fill=#2, line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.28);
+              \filldraw[fill=#2, line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.28];
               \filldraw[fill=#3] (0.28,-0.33) rectangle (0.66,0.33);
               \foreach \x/\y in { 0.5/0.25 , 0.6/0 , 0.5/-0.25 }
                 \draw[decorate, line ~ width=0.06ex* \l__tikzsymbols_scale_abs_tl ]
@@ -1864,9 +1947,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dWalley } { O{1} O{yellow} }
+\__tikzsymbols_Declare_Document_Command:nnn { dWalley } { S O{yellow} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dWalley_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dWalley_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1893,7 +1976,7 @@
                 (0.28,0) --++(0.03,-0.02)  --++(0.03,-0.07)  --++
                 (0.03,-0.01)  --++(0.01,-0.07)  --++
                 (0.06,0.01)  --++(0.03,-0.08)   -- (0.5,0.-0.25);
-              \shade[ball ~ color=#2] (-0.01,0) circle (0.31);
+              \shade[ball ~ color=#2] (-0.01,0) circle [radius=0.31];
               \draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
               \draw[rotate=-20] (0.283,-0.1) .. controls (0.2,-0.072)
                 and (0.1,-0.06) .. (0,-0.1);
@@ -1901,9 +1984,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { drWalley } { O{1} O{yellow} }
+\__tikzsymbols_Declare_Document_Command:nnn { drWalley } { S O{yellow} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { drWalley_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { drWalley_#1_#2 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1926,7 +2009,7 @@
               \foreach \x/\y in { 0.5/0.25 , 0.6/0 , 0.5/-0.25 }
                 \draw[decorate, line ~ width=0.06ex* \l__tikzsymbols_scale_abs_tl ]
                   (0.298,0) -- (\x,\y);
-              \shade[ball ~ color=#2] (-0.01,0) circle (0.31);
+              \shade[ball ~ color=#2] (-0.01,0) circle [radius=0.31];
               \draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
               \draw[rotate=-20] (0.283,-0.1) .. controls (0.2,-0.072)
                 and (0.1,-0.06) .. (0.,-0.1);
@@ -1934,10 +2017,95 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Cat } { O{1} }
+\cs_new:Npn \__tikzsymbols_Cat:n #1
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Cat_#1 }
+    \draw (0,0) circle [radius=0.3];
+    \foreach \xi/\xii in { 0.3/0.35 }
       {
+        \draw[rounded ~ corners=0.163ex* \l__tikzsymbols_scale_abs_tl ]
+          (-\xi,0) -- (-\xii,0.5) -- (0,\xi)  (0,\xi) -- (\xii,0.5) -- (\xi,0);
+      }
+    \fill (-0.15,.15) circle [radius=0.05];
+    \fill (0.15,.15) circle [radius=0.05];
+    \foreach \x in { 0.1 , -0.1 }
+      \draw[rounded ~ corners=0.175ex* \l__tikzsymbols_scale_abs_tl ,yshift=-0.12ex]
+        (0,0) -- (0,-0.1) -- (\x,-0.095);
+    \draw[rounded ~ corners=.12ex* \l__tikzsymbols_scale_abs_tl ,yshift=-.15ex,
+      line ~ width=0.03em*0.9* \l__tikzsymbols_scale_abs_tl ]
+      (-0.1,0.1) -- (0,0) -- (0.1,0.1) -- cycle ;
+    \foreach \a/\b/\c/\d in
+      { 0.1/0.25/0.35/0.4 , -0.1/-0.25/-0.35/-0.4 }
+        \foreach \yi/\yii/\yiii in
+          { 0/0/-0.05 , -0.01/-0.09/-0.14 , -0.045/-0.13/-0.23 }
+          {
+            \draw[line ~ width=0.035ex* \l__tikzsymbols_scale_abs_tl ]
+              (\a,-0.05)..controls(\b,\yi)and(\c,\yii).. (\d,\yiii);
+          }
+  }
+\cs_new:Npn \__tikzsymbols_Cat_unknown:n #1
+  {
+    \draw (0,0) circle [radius=0.3];
+    \foreach \xi/\xii in { 0.3/0.35 }
+      {
+        \draw[rounded ~ corners=0.163ex* \l__tikzsymbols_scale_abs_tl ]
+          (-\xi,0) -- (-\xii,0.5) -- (0,\xi)
+          (0,\xi) -- (\xii,0.5) -- (\xi,0);
+      }
+    \fill (0,-0.18)  circle [radius=0.04];
+    \draw
+      (0,0.06) arc[start ~angle=-90, end ~angle=180, radius=0.075]
+      (0,0.06) arc[start ~angle=90, end ~angle=360, radius=0.075];
+    \foreach \case in { 1,-1 }
+      \foreach \yi/\yii/\yiii in
+        {
+          -0.01/-0.05/-0.08 ,
+          -0.02/-0.12/-0.16 ,
+          -0.055/-0.15/-0.25
+        }{
+          \draw[line ~ width=0.035ex* \l__tikzsymbols_scale_abs_tl ]
+            ({0.1*\case},-0.05)..controls({\case*0.25},\yi)
+            and({0.35*\case},\yii).. ({0.4*\case},\yiii);
+        }
+  }
+\cs_new:Npn \__tikzsymbols_Cat_dead:n #1
+  {
+    \draw (0,0) circle [radius=0.3];
+    \foreach \case in { 1,-1 }
+      {
+        \draw[rounded ~ corners=0.163ex* \l__tikzsymbols_scale_abs_tl ]
+          ({\case*0.3},0) -- ({\case*0.35},0.5) -- (0,0.3);
+      }
+    \draw
+      \foreach \angle in { 45,135,225,315 }
+        {
+          (0.13,0.13) -- ({0.13+0.07*cos(\angle)},{0.13+0.07*sin(\angle)})
+          (-0.13,0.13) -- ({-0.13+0.07*cos(\angle)},{0.13+0.07*sin(\angle)})
+        }
+      ;
+    \foreach \case in { 1,-1 }
+      \draw[rounded ~ corners=0.175ex* \l__tikzsymbols_scale_abs_tl ,yshift=-0.12ex]
+        (0,0) -- (0,-0.08)   -- ({0.09*\case},-0.12);
+    \draw[rounded ~ corners=.12ex* \l__tikzsymbols_scale_abs_tl ,yshift=-.15ex,
+      line ~ width=0.03em*0.9* \l__tikzsymbols_scale_abs_tl ]
+      (0,0) -- (0.1,0.07)  -- (0,0.1)-- (-0.1,0.07) -- cycle ;
+    \foreach \case in {-1,1}
+      \foreach \yi/\yii/\yiii in
+        {
+          -0.04/-0.09/-0.15 ,
+          -0.05/-0.18/-0.23,
+          -0.085/-0.22/-0.31
+        }{
+          \draw[line ~ width=0.035ex* \l__tikzsymbols_scale_abs_tl ]
+            ({0.1*\case},-0.05)
+            .. controls ({0.18*\case},\yi) and ({0.28*\case},\yii) ..
+            ({0.33*\case},\yiii);
+        }
+    \draw [transparent,line ~ width=0.035ex*\l__tikzsymbols_scale_abs_tl] (-0.4,0) -- (0.4,0);
+  }
+\__tikzsymbols_Declare_Document_Command:nnn { Cat } { S }
+  {
+    \__tikzsymbols_provide_savebox_and_use:nT { Cat_#1 }
+      {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
           {
@@ -1950,35 +2118,41 @@
                 /__tikzsymbols ,
                 x=2.33ex,y=2.33ex, line ~ width=0.093ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
               ]
-              \draw (0,0) circle (0.3);
-              \foreach \xi/\xii in { 0.3/0.35 }
+              \__tikzsymbols_Cat:n {#1}
+            \end{tikzpicture}%
+          }
+      }
+  }
+\__tikzsymbols_Declare_Document_Command:nnn { SchrodingersCat } { S m }
+  {
+    \__tikzsymbols_provide_savebox_and_use:nT { SchrodingersCat_#1_#2 }
+      {
+        \__tikzsymbols_set_scale_abs_tl:n {#1}
+        \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
+          {
+            \__tikzsymbols_create_draftbox:nn
+              { 1.899ex * \l__tikzsymbols_scale_abs_tl }
+              { 1.957ex * \l__tikzsymbols_scale_abs_tl }
+          }{
+            \begin{tikzpicture}
+              [
+                /__tikzsymbols ,
+                x=2.33ex,y=2.33ex, line ~ width=0.093ex* \l__tikzsymbols_scale_abs_tl ,scale=#1
+              ]
+              \int_case:nnF {#2}
                 {
-                  \draw[rounded ~ corners=0.163ex* \l__tikzsymbols_scale_abs_tl ]
-                    (-\xi,0) -- (-\xii,0.5) -- (0,\xi)  (0,\xi) -- (\xii,0.5) -- (\xi,0);
+                  { 1 } { \__tikzsymbols_Cat:n {#1} }
+                  { 0 } { \__tikzsymbols_Cat_unknown:n {#1} }
+                  { -1 } { \__tikzsymbols_Cat_dead:n {#1} }
                 }
-              \fill (-0.15,.15) circle (0.05);
-              \fill (0.15,.15) circle (0.05);
-              \foreach \x in { 0.1 , -0.1 }
-                \draw[rounded ~ corners=0.175ex* \l__tikzsymbols_scale_abs_tl ,yshift=-0.12ex]
-                   (0,0) -- (0,-0.1) -- (\x,-0.095);
-              \draw[rounded ~ corners=.12ex* \l__tikzsymbols_scale_abs_tl ,yshift=-.15ex,
-                       line ~ width=0.03em*0.9* \l__tikzsymbols_scale_abs_tl ]
-                 (-0.1,0.1) -- (0,0) -- (0.1,0.1) -- cycle ;
-              \foreach \a/\b/\c/\d in
-                { 0.1/0.25/0.35/0.4 , -0.1/-0.25/-0.35/-0.4 }
-                \foreach \yi/\yii/\yiii in
-                  { 0/0/-0.05 , -0.01/-0.09/-0.14 , -0.045/-0.13/-0.23 }
-                  {
-                    \draw[line ~ width=0.035ex* \l__tikzsymbols_scale_abs_tl ]
-                       (\a,-0.05)..controls(\b,\yi)and(\c,\yii).. (\d,\yiii);
-                  }
+                { \msg_error:nnn { tikzsymbols } { SchrodingersCat } {#2} }
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Ninja } { O{1} O{black} O{red} O{white} }
+\__tikzsymbols_Declare_Document_Command:nnn { Ninja } { S O{black} O{red} O{white} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Ninja_#1_#2_#3_#4 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Ninja_#1_#2_#3_#4 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -1998,13 +2172,13 @@
                   }
               ]
               \tl_set:Nn \l_tmpa_tl {#2}
-              \fill[#2] (0,0) circle (0.33);
+              \fill[#2] (0,0) circle [radius=0.33];
               \fill[decoration={random ~ steps,segment ~ length=0.1ex* \l__tikzsymbols_scale_abs_tl ,
                 amplitude=0.01ex* \l__tikzsymbols_scale_abs_tl }, decorate,#3]
               (-0.33,0) -- (0.33,0)  -- (0.23,0.23) -- (-0.23,0.23) -- cycle;
               \tl_if_eq:NNT \c__tikzsymbols_black_tl \l_tmpa_tl
                 {
-                  \draw[line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
+                  \draw[line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
                 }
               \fill[#3] (0,0.1) -- (-0.33,0) -- (-0.26,0.23);
               \fill[#3] (0.3465,0) arc [start ~ angle=0, end ~ angle=42, x ~ radius=0.34, y~ radius=0.345]  --
@@ -2025,15 +2199,15 @@
                 (0.26,0.21) -- \x;
               \tl_if_eq:NNF \c__tikzsymbols_black_tl \l_tmpa_tl
                 {
-                  \draw[line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle (0.33);
+                  \draw[line ~ width=0.08ex* \l__tikzsymbols_scale_abs_tl ] (0,0) circle [radius=0.33];
                 }
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { dNinja } { O{1} O{black} O{red} O{white} }
+\__tikzsymbols_Declare_Document_Command:nnn { dNinja } { S O{black} O{red} O{white} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dNinja_#1_#2_#3_#4 }
+    \__tikzsymbols_provide_savebox_and_use:nT { dNinja_#1_#2_#3_#4 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2062,7 +2236,7 @@
                       } , decorate, #3!50!black
                   ]
                   \coord -- (0.26,0.21);
-              \shade[ball ~ color=#2] (0,0) circle (0.347);
+              \shade[ball ~ color=#2] (0,0) circle [radius=0.347];
               \fill
                 [
                   decoration=
@@ -2083,14 +2257,112 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { NiceReapey } { O{1} O{black!20!white} }
+\__tikzsymbols_Declare_Document_Command:nnn { Sleepey } { S O{none} O{none} O{black} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { NiceReapey_#1_#2 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Sleepey_#1_#2_#3_#4 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
           {
             \__tikzsymbols_create_draftbox:nn
+              { 2.084866ex * \l__tikzsymbols_scale_abs_tl }
+              { 1.5912ex * \l__tikzsymbols_scale_abs_tl }
+          }{
+            \begin{tikzpicture}
+              [
+                /__tikzsymbols ,
+                x=2.04ex, y=2.04ex, line ~ width=0.102ex* \l__tikzsymbols_scale_abs_tl ,
+                scale=#1
+              ]
+              \filldraw [fill=#3]
+                (-0.33,0) arc[start~angle=180,end~angle=0,x~radius=0.45,y~radius=0.4]
+                -- ++(0,-0.2)
+                arc[start~angle=0,end~angle=130,x~radius=0.15,y~radius=0.24];
+              \filldraw [fill=#2,rounded ~ corners=0.001ex * \l__tikzsymbols_scale_abs_tl]
+                (0.33,0)  arc[start~angle=0, end~angle=-180, radius=0.33] -- cycle ;
+              \fill (0.55,-0.15) circle [radius=0.06];
+              \foreach \l__tikzsymbols_angle_tl in {0,30,60,...,360}
+                {
+                  \draw ({0.55+0.06*cos(\l__tikzsymbols_angle_tl)*1.2},
+                    {-0.15+0.06*sin(\l__tikzsymbols_angle_tl)*1.2})
+                    circle[radius=0.02];
+                }
+              \foreach \l_tmpa_tl/\l_tmpb_tl in { -0.14/0.12 , 0.19/0.12 , 0.05/0.26 , 0.40/0.16 }
+                {
+                  \draw [line~width=0.04ex*\l__tikzsymbols_scale_abs_tl ,#4]
+                  \foreach \l__tikzsymbols_angle_tl in { 0,45,90,...,360 }
+                    {
+                      (\l_tmpa_tl,\l_tmpb_tl) -- ({\l_tmpa_tl+0.07*cos(\l__tikzsymbols_angle_tl)},
+                      {\l_tmpb_tl+0.07*sin(\l__tikzsymbols_angle_tl)})
+                    }
+                  ;
+                }
+              \fill (0,-0.225) circle [radius=0.04];
+              \draw (-0.1,-0.09)  arc[start~angle=0, end~angle=-180,
+                x~radius=0.06,y~radius=0.08] ;
+              \draw (0.1,-0.09)  arc[start~angle=180,
+                end~angle=360,x~radius=0.06,y~radius=0.08] ;
+            \end{tikzpicture}%
+          }
+      }
+  }
+\__tikzsymbols_Declare_Document_Command:nnn { dSleepey } { S O{yellow} O{blue} O{black} }
+  {
+    \__tikzsymbols_provide_savebox_and_use:nT { dSleepey_#1_#2_#3_#4 }
+      {
+        \__tikzsymbols_set_scale_abs_tl:n {#1}
+        \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
+          {
+            \__tikzsymbols_create_draftbox:nn
+              { 2.033865ex * \l__tikzsymbols_scale_abs_tl }
+              { 1.489181ex * \l__tikzsymbols_scale_abs_tl }
+          }{
+            \begin{tikzpicture}
+              [
+                /__tikzsymbols ,
+                x=2.04ex, y=2.04ex, line ~ width=0.102ex* \l__tikzsymbols_scale_abs_tl ,
+                scale=#1
+              ]
+              \shade [ball ~ color=#3]
+                (-0.33,0) arc[start~angle=180,end~angle=0,x~radius=0.45,y~radius=0.4]
+                -- ++(0,-0.2)
+                arc[start~angle=0,end~angle=130,x~radius=0.15,y~radius=0.24];
+              \shade [ball ~ color=#2,rounded ~ corners=0.001ex * \l__tikzsymbols_scale_abs_tl]
+                (0.33,0)  arc[start~angle=0, end~angle=-180, radius=0.33] -- cycle ;
+              \fill (0.55,-0.15) circle [radius=0.06];
+              \foreach \l__tikzsymbols_angle_tl in {0,30,60,...,360}
+                {
+                  \draw ({0.55+0.06*cos(\l__tikzsymbols_angle_tl)*1.2},
+                    {-0.15+0.06*sin(\l__tikzsymbols_angle_tl)*1.2})
+                    circle[radius=0.02];
+                }
+              \foreach \l_tmpa_tl/\l_tmpb_tl in { -0.14/0.12 , 0.19/0.12 , 0.05/0.26 , 0.40/0.16 }
+                {
+                  \draw [line~width=0.04ex* \l__tikzsymbols_scale_abs_tl,#4]
+                  \foreach \l__tikzsymbols_angle_tl in { 0,45,90,...,360 }
+                    {
+                      (\l_tmpa_tl,\l_tmpb_tl) -- ({\l_tmpa_tl+0.07*cos(\l__tikzsymbols_angle_tl)},
+                      {\l_tmpb_tl+0.07*sin(\l__tikzsymbols_angle_tl)})
+                    }
+                  ;
+                }
+              \fill (0,-0.225) circle [radius=0.04];
+              \draw (-0.1,-0.09)  arc[start~angle=0, end~angle=-180,
+                x~radius=0.06,y~radius=0.08] ;
+              \draw (0.1,-0.09)  arc[start~angle=180,
+                end~angle=360,x~radius=0.06,y~radius=0.08] ;
+            \end{tikzpicture}%
+          }
+      }
+  }
+\__tikzsymbols_Declare_Document_Command:nnn { NiceReapey } { S O{black!20!white} }
+  {
+    \__tikzsymbols_provide_savebox_and_use:nT { NiceReapey_#1_#2 }
+      {
+        \__tikzsymbols_set_scale_abs_tl:n {#1}
+        \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
+          {
+            \__tikzsymbols_create_draftbox:nn
               { (1.1067em+0.07ex) * \l__tikzsymbols_scale_abs_tl }
               { (0.693em+0.07ex) * \l__tikzsymbols_scale_abs_tl }
           }{
@@ -2105,19 +2377,18 @@
                  arc [start ~ angle=260, end ~ angle=100, x ~ radius=-1.3, y ~ radius=-2] -- cycle;
               \filldraw[fill=#2] (3,-3) -- (3,3) .. controls (5,3) and
                 (6,2) .. (7,1.5) -- (3,1.5) -- cycle;
-              \draw (0,-1.5) circle (1 ~ and ~ 0.5);
+              \draw (0,-1.5) circle [ x~radius=1 , y~radius= 0.5];
+              \draw (0,-1.5) circle [ x~radius=1 , y~radius= 0.5];
               \foreach  \x in { 0.2 , 0.6 }
                 \draw[line ~ width=0.04ex* \l__tikzsymbols_scale_abs_tl ]
                   (\x,-1) -- (\x,-2)  (-\x,-1) -- (-\x,-2)  ;
               \draw[line ~ width=0.04ex* \l__tikzsymbols_scale_abs_tl ] (-1,-1.5) -- (1,-1.5);
-              \fill (1.25,1.25) circle ( 0.5 ~ and ~ 0.75);
-              \fill (-1.25,1.25) circle ( 0.5 ~ and ~ 0.75);
+              \fill (1.25,1.25) circle [ x~radius=0.5 , y~radius= 0.75];
+              \fill (-1.25,1.25) circle [ x~radius=0.5 , y~radius= 0.75];
             \end{tikzpicture}%
           }
       }
   }
-\clist_set_eq:NN \g_tikzsymbols_list_of_emoticons_commands_clist \l__tikzsymbols_tmpa_clist
-\clist_clear:N \l__tikzsymbols_tmpa_clist
 \cs_new:Npn \__tikzsymbols_Strichmaxerl_x_check:N #1
   {
     \fp_compare:nTF { #1 > 0 }
@@ -2137,9 +2408,9 @@
     \fp_compare:nT { #1 < 0 } { \fp_zero:N #1 }
   }
 \__tikzsymbols_Declare_Document_Command:nnn { Strichmaxerl }
-  { O{1} O{-22} O{22} O{27} O{-27} }
+  { S O{-22} O{22} O{27} O{-27} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT
+    \__tikzsymbols_provide_savebox_and_use:nT
       { Strichmaxerl_#1_#2_#3_#4_#5 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
@@ -2209,12 +2480,12 @@
               \draw[rotate \space around={ #3 \token_to_str:N : ( 0.15 , 0.4) } ] (0.15,0.4) -- (0.42,0.4);
               \draw[rotate \space around={ #2 \token_to_str:N : ( 0.15 , 0.4) } ] (0.15,0.4) -- (-0.12,0.4);
               \draw (.15, .4) -- (.15, .53);
-              \draw (.15,.8) circle (0.18);
+              \draw (.15,.8) circle [radius=0.18];
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Person } { O{1} O{-22} O{22} O{27} O{-27} }
+\__tikzsymbols_Declare_Document_Command:nnn { Person } { S O{-22} O{22} O{27} O{-27} }
   {
     \msg_error:nnnn
       { tikzsymbols }
@@ -2223,9 +2494,9 @@
       { \Strichmaxerl }
     \tikzsymbolsuse { Strichmaxerl } [#1] [#2] [#3] [#4] [#5]
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Candle } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Candle } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Candle_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Candle_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2249,9 +2520,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Fire } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Fire } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Fire_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Fire_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2296,9 +2567,9 @@
   }
 \bool_if:NF \g__tikzsymbols_if_opt_marvosym_bool
 {
-\__tikzsymbols_Declare_Document_Command:nnn { Coffeecup } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Coffeecup } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Coffeecup_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Coffeecup_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2329,9 +2600,9 @@
       }
   }
 }
-\__tikzsymbols_Declare_Document_Command:nnn { Chair } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Chair } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Chair_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Chair_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2358,9 +2629,9 @@
         \bool_set_false:N \l__tikzsymbols_if_scale_negative_bool
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Bed } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Bed } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Bed_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Bed_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2385,9 +2656,9 @@
       }
   }
 \__tikzsymbols_Declare_Document_Command:nnn { Tribar }
-  { O{1} O{opacity=0} O{opacity=0} O{opacity=0} }
+  { S O{opacity=0} O{opacity=0} O{opacity=0} }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Tribar_#1_#2_#3_#4 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Tribar_#1_#2_#3_#4 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2419,9 +2690,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Moai } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Moai } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Moai_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Moai_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \fp_compare:nTF { abs (#1) < 2 }
@@ -2469,9 +2740,9 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Snowman } { O{1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Snowman } { S }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Snowman_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { Snowman_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2503,13 +2774,13 @@
                 ]
                 (-0.2,1.19) arc  [start ~ angle=270, end ~ angle=90, radius=0.1];
               \foreach \y in { 0.78 , 0.63 , 0.48 }
-                \fill (0,\y) circle (0.04);
+                \fill (0,\y) circle [radius=0.04];
               \foreach \y in { 0.2 , 0 , -0.2 }
-                \fill (0,\y) circle (0.05);
-              \fill (-0.06,1.18) circle (0.045);
-              \fill (0.06,1.18) circle (0.045);
+                \fill (0,\y) circle [radius=0.05];
+              \fill (-0.06,1.18) circle [radius=0.045];
+              \fill (0.06,1.18) circle [radius=0.045];
               \foreach \x/\y in { 0.1/1.08 , 0.06/1.055 , 0.02/1.039}
-                \fill (\x,\y) circle (0.015)  (-\x,\y) circle (0.015) ;
+                \fill (\x,\y) circle [radius=0.015]  (-\x,\y) circle [radius=0.015] ;
               \draw (-0.3,0.7) -- (-0.6,0.8);
               \draw (0.3,0.7) -- (0.6,0.8);
               \draw[line ~ width=0.06ex* \l__tikzsymbols_scale_abs_tl ] (-0.65,0) -- (-0.65,1);
@@ -2521,11 +2792,9 @@
           }
       }
   }
-\clist_set_eq:NN \g_tikzsymbols_list_of_other_commands_clist \l__tikzsymbols_tmpa_clist
-\clist_clear:N \l__tikzsymbols_tmpa_clist
 \cs_new:Npn \__tikzsymbols_Basic_Tree:nnnnn #1#2#3#4#5
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT
+    \__tikzsymbols_provide_savebox_and_use:nT
       { BasicTree_#1_#2_#3_#4_#5 }
       {
         \tl_set:Nn \l_tmpa_tl {#5}
@@ -2540,13 +2809,13 @@
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { BasicTree } { O{1} m m m m }
+\__tikzsymbols_Declare_Document_Command:nnn { BasicTree } { S m m m m }
   {
     \__tikzsymbols_Basic_Tree:nnnnn {#1} {#2} {#3} {#4} {#5}
   }
-\__tikzsymbols_Declare_Document_Command:nnn { WorstTree } { O{1}  }
+\__tikzsymbols_Declare_Document_Command:nnn { WorstTree } { S  }
   {
-    \__tikzsymbols_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { WorstTree_#1 }
+    \__tikzsymbols_provide_savebox_and_use:nT { WorstTree_#1 }
       {
         \__tikzsymbols_set_scale_abs_tl:n {#1}
         \bool_if:NTF \g__tikzsymbols_if_opt_draft_bool
@@ -2573,14 +2842,14 @@
                  controls (-0.3, 1.6) and (-0.1,1.6) .. (0.1,1.5) ..
                  controls (0.3,1.8) and (0.6,1.6) ..  (0.7,1.5) .. controls (1.1, 1.6) and (1,1.4) ..
                  (1,1.2) .. controls (1.2,1) and (1.2,0.7) .. (0.8,0.8) -- (0.486,0.8);
-              \fill[red] (0,1) circle (0.1);
-              \fill[red] (0.4,1.2) circle (0.1);
-              \fill[red] (0.8,1.1) circle (0.1);
+              \fill[red] (0,1) circle [radius=0.1];
+              \fill[red] (0.4,1.2) circle [radius=0.1];
+              \fill[red] (0.8,1.1) circle [radius=0.1];
             \end{tikzpicture}%
           }
       }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Springtree } { O {1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Springtree } { S }
   {
       \__tikzsymbols_Basic_Tree:nnnnn
       {#1}
@@ -2589,7 +2858,7 @@
       { green!80!black }
       { leaf }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Summertree } { O {1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Summertree } { S }
   {
       \__tikzsymbols_Basic_Tree:nnnnn
       {#1}
@@ -2598,7 +2867,7 @@
       { red!80!green }
       { leaf }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Autumntree } { O {1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Autumntree } { S }
   {
       \__tikzsymbols_Basic_Tree:nnnnn
       {#1}
@@ -2607,7 +2876,7 @@
       { orange }
       { leaf }
   }
-\__tikzsymbols_Declare_Document_Command:nnn { Wintertree } { O {1} }
+\__tikzsymbols_Declare_Document_Command:nnn { Wintertree } { S }
   {
       \__tikzsymbols_Basic_Tree:nnnnn
       {#1}
@@ -2639,8 +2908,25 @@
   }
 \NewDocumentCommand \tikzsymbolsset { m }
   {
-    \keys_set_groups:nnn { tikzsymbols } { document } {#1}
+    \keys_set_filter:nnnN { tikzsymbols } { package } {#1} \l_tmpa_tl
+    \tl_if_empty:NF \l_tmpa_tl
+      {
+        \keyval_parse:NNV
+          \__tikzsymbols_tikzsymbolsset_msg_i:n
+          \__tikzsymbols_tikzsymbolsset_msg_ii:nn
+          \l_tmpa_tl
+      }
   }
+\cs_generate_variant:Nn \keyval_parse:NNn { NNV }
+\cs_new:Npn \__tikzsymbols_tikzsymbolsset_msg_i:n #1
+  {
+    \__tikzsymbols_tikzsymbolsset_msg_ii:nn {#1} { }
+  }
+\cs_new:Npn \__tikzsymbols_tikzsymbolsset_msg_ii:nn #1#2
+  {
+    \msg_error:nnn { tikzsymbols } { package-option } {#1}
+  }
+\exp_args:NV \tikzsymbolsset \l__tikzsymbols_used_only_once_because_no_better_idea_tl
 \endinput
 %%
 %% End of file `tikzsymbols.sty'.



More information about the tex-live-commits mailing list