summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tikzsymbols
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-04 21:16:01 +0000
committerKarl Berry <karl@freefriends.org>2016-04-04 21:16:01 +0000
commit36a97343e705d797faf495299cf08caf177160f0 (patch)
tree79063550be9867a65de4077d22eccfb04cf8548a /Master/texmf-dist/source/latex/tikzsymbols
parent17a40eea99838f7f911c046cc779cbf84d5a368c (diff)
tikzsymbols (4apr16)
git-svn-id: svn://tug.org/texlive/trunk@40236 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tikzsymbols')
-rw-r--r--Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx6984
-rw-r--r--Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins7
2 files changed, 4188 insertions, 2803 deletions
diff --git a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
index 47c6890304a..145ef708177 100644
--- a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
+++ b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
@@ -1,78 +1,147 @@
% \iffalse meta-comment
-% !TEX encoding = MacOSRoman
+% !TEX encoding = UTF-8 Unicode
%: CheckSum
% \fi
-% \CheckSum{2305}
+%^^A \CheckSum{0}
%
% \iffalse meta-comment
%
-% Copyright (C) 2014 by Ben Vitecek (current Maintainer)
+% Copyright (C) 2016 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
+%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 and the derived file tikzsymbols.sty.
+% This work consists of the files README, tikzsymbols.dtx,
+% tikzsymbols.ins and the derived files tikzsymbols.sty.
%
% \fi
%
% \iffalse
%<*driver>
-\documentclass{ltxdoc}
-\usepackage{marvosym}
-\usepackage[english]{babel}
+\documentclass[onlydoc,12pt]{l3doc}
+
+\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
-\usepackage{array}
\usepackage{lmodern}
+\usepackage[english]{babel}
+\usepackage{marvosym}
\usepackage{microtype}
\usepackage{longtable}
\usepackage{booktabs}
-\usepackage{tikzsymbols}
-\usepackage{csquotes}
\usepackage{mathtools}
-%
-\usepackage[colorlinks=true, urlcolor=cyan]{hyperref}
+\newcommand\Packageload{tikzsymbols}
+\usepackage{tikzsymbols}
+\usepackage{xparse}
+\usepackage{marginnote}
+
+\usepackage{cleveref}
-\AtBeginDocument{\CodelineIndex\EnableCrossrefs\RecordChanges}
-\AtEndDocument{\PrintChanges \PrintIndex}
+
+\EnableCrossrefs
+%\CodelineIndex
+\RecordChanges
+\AtEndDocument { \PrintChanges \PrintIndex }
%: Ganz oben
+\ExplSyntaxOn
\makeatletter
-\DeclareRobustCommandx{\definedBasicTree}[5][1=1, usedefault]{{%
-\def\Basic@Tree{\Basic@Tree@off}%
-\Basic@Tree[#1]{#2}{#3}{#4}{#5}%
-}}
-\newcommand{\PlainVanilla}[1]{{{\tikzymbols@draftabsolutetrue#1[1.00001]}}}
-\newcommand{\PlainVanillaII}[1]{{{\tikzymbols@draftabsolutetrue#1}}}
-\newcommand{\da}[1]{#1}
-\newcommand{\de}[1]{#1}
-%
-%
-\DeclareRobustCommand\Package{\textsf}
-\DeclareRobustCommand\Option{\texttt}
-\let\Makro\cs
-%\newcommand{\Package}[1]{\textsf{#1}}
-%\newcommand{\Option}[1]{\texttt{#1}}
+
+
+\newcommand\tikzsymbols{\Package{tikzsymbols}}
+
+\NewDocumentCommand{\definedBasicTree} { O{1} m m m m }
+ {
+ \group_begin:
+% \str_if_eq:VnTF \Packageload { tikzsymbols }
+ \__tikzsymbols_Basic_Tree_off:nnnnn {#1} {#2} {#3} {#4} {#5}
+% { \tikzsymbols@Basic@Tree@off {#1} {#2} {#3} {#4} {#5} }
+ \group_end:
+ }
+\NewDocumentCommand \PlainVanilla { m }
+ {{{
+% \str_if_eq:VnTF \Packageload { tikzsymbols }
+ \bool_set_true:N \g__tikzsymbols_if_opt_draft_bool
+% { \@tikzsymbols@opt@drafttrue }
+ #1[1.00001]
+ }}}
+\NewDocumentCommand \PlainVanillaII { m }
+ {{{
+% \str_if_eq:VnTF \Packageload { tikzsymbols }
+ \bool_set_true:N \g__tikzsymbols_if_opt_draft_bool
+% { \@tikzsymbols@opt@drafttrue }
+ #1
+ }}}
+
+
+\newcommand{\Package}{\pkg}
+\newcommand{\Option}{\texttt}
+\newcommand{\Makro}{\cs}
+\newcommand{\makrouse}[1]{\use:c{#1}}
+\renewcommand{\arg}[1]{\texttt{<#1>}}
\newcommand{\Meta}[1]{\meta{#1}}
-%
-%
-%
+
+
+
\hfuzz=500pt
\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
+ {
+ \char_set_catcode_other:N \{
+ \char_set_catcode_other:N \}
+ }
+ {#2}
+ \Makro{#1\l_tmpa_tl} \space \use:c {#1}#2
+ }
+
+\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 { }
+ }
+
+\clist_set_eq:NN \printclist \g_tikzsymbols_list_of_printing_cooking_with_argument_commands_clist
+
+\clist_if_exist:NF \printclist { \clist_new:N \printclist }
+\newcommand{\loadtime}{\marginpar{load-time}}
+\newcommand{\preamble}{\marginpar{preamble}}
+\newcommand{\preload}{\marginpar{load-time and preamble}}
+
+
+\ExplSyntaxOff
\makeatother
-%
+
+
\begin{document}
\DocInput{tikzsymbols.dtx}
\end{document}
@@ -103,29 +172,7 @@
%: Changes
% \fi
%
-%\changes {v1.0} {2013/01/19} {Initial version}
-%\changes {v1.05} {2013/02/13} {Deleted a \enquote{t} in the BasicTree-code, shortened the trunk from the tree a bit, renamed some codes, made an index}
-%\changes {v1.6} {2013/02/14} {Now \enquote{Person} can be used in sections, etc.}
-%\changes {v1.6} {2013/02/14} {Now an error message is generated if the last parameter of \enquote{BasicTree} is neither \enquote{leaf} nor empty.}
-%\changes {v1.6} {2013/02/14} { New options: draft and final. If in documentclass the option \enquote{draft} is defined, the package recognizes it. Plus some warnings if you use class option draft/final with package option tree=on/off.}
-%\changes {v1.6} {2013/02/14} { Renamed \enquote{tikzsymbolsaftersymbolinput} to \enquote{tikzsymbolsaftersymbolinput}}
-%\changes {v1.61} {2013/02/17} {Made an invisible box in BasicTree.}
-%\changes {v1.65} {2013/02/17} {Improved BasicTree; New symbols \enquote{Schaler/peeler}, Laughey, Walley, Ninja; but didn't improve the source-description}
-%\changes {v1.7} {2013/02/28} {New symbols, etc.}
-%\changes {v2.0} {2013/03/07} {Fixed Bugs, improved BasicTree, new option \enquote{marvosym}, new symbol}
-%\changes {v2.2} {2013/03/23} {Now you can use negative scaling. Include \Makro{@ifpackageloaded}. Did something else, I can't remember}
-%\changes {v2.5} {2013/04/18} {New option: draftabsolute, changed the documentation a bit}
-%\changes {v3.0} {2013/07/21} {Changed the documentation}
-%\changes {v3.0} {2013/07/21} {Replaced \cs{let} by \cs{tikzsymbols@let}}
-% \changes{v3.0}{2013/07/21}{Changed symbol code}
-% \changes{v3.0}{2013/07/26}{Using \cs{changes{}{}{}} correctly (hopefully)}
-% \changes{v3.0}{2013/07/21}{Changed output of \enquote{absolute} option}
-% \changes{v3.0b}{2014/10/19}{Deleted non ASCII characters in der .sty file.}
-% \changes{v3.0d}{2014/10/29}{\cs{tkzsymblsscl} to \cs{tkzsymbls@scl}}
-% \changes{v3.0e}{2014/10/29}{\cs{tkzsymblsDeclareRobustCommand} to \cs{tkzsymbls@Declare@Robust@Command}}
-% \changes{v3.0f}{2014/10/29}{\cs{tksymblsbxPrmtrstore} to \cs{tksymbls@bx@Prmtrstore}}
-% \changes{v3.0g}{2015/10/01}{Deleted package \Package{calc}, using now \cs{pgfmathsetlength} instead of \cs{setlength}.}
-% \changes{v3.0h}{2015/10/13}{Added a missing \cs{fi} into the code. }
+%
%
%
% \GetFileInfo{tikzsymbols.sty}
@@ -140,1780 +187,3017 @@
%\DoNotIndex {\verb||}
%\DoNotIndex {\draw,\fill,\DeclareRobustCommand, \colorlet,\shade}
%\DoNotIndex {\xspace,\begin,\end}
-%\DoNotIndex {\fi,\filldraw,\else,\ifdim}
%
%
%
-% \iffalse meta-comment
-%: Titelpage
-% \fi
%
-%\title{\Package{tikzsymbols}\thanks{This document corresponds to \textsf{tikzsymbols}~\fileversion, dated~\filedate.}}
+% \begin{documentation}
+%
+% \title{The \Package{\jobname} package\thanks{This document corresponds to \textsf{\jobname}~\fileversion, dated~\filedate.}}
+%
%\author{Ben Vitecek \\ \href{mailto:b.vitecek@gmx.at}{b.vitecek@gmx.at}}
-%\maketitle
%
-%\begin{abstract}\centering
-%Just some symbols created using \Package{tikz}.
+% \date{April 4, 2016} ^^A 2016/03/20
%
-% English is not my native language. So there (still) might be some errors \Winkey
-%\end{abstract}
+% \maketitle{}
%
%
-%\tableofcontents
%
+% \begin{abstract} \centering
+% Some symbols created using \Package{tikz}.
%
+% For differences between the releases
+% 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.
+% \end{abstract}
+%
+% \tableofcontents
+%
+%
+% \section{Introduction}
+% \label{sec:intro}
+%
+% \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
+% 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
+% and wrote
+%
+% Well,
+% \end{comment}
%
-% \iffalse meta-comment
-%: sec: Short Introduction
-% \fi
%
-% \section{Short Introduction}
+% As far as I can remember this package is the result of me writing a
+% cooking book\footnote{Well, it's one result, the other one is a cooking book.}.
+% Back then I wasn't able to find the cooking symbols I wanted and
+% using time, \Package{tikz}, lot's of magic
+% (also known as \enquote{programming}, but only if the respective person
+% knows what's going on) and a documentation in bad grammar\footnote{Not that it' now any better.} I somehow ended up with this package.
%
-% There are about two emoticons available in \LaTeX{}: Smiley and Frowny.
-% But why aren't there more? Or why did nobody make cooking-symbols\footnote{Well, there are some, but not the one I wanted.}?
-% I thought about this questions and during a project I developed some (cooking)symbols.
-% Developing them was real fun and so I made some more, reworked them etc.
-%^^A And one day I had the idea \enquote{Why not uploading these symbols in CTAN?}
-%^^A Well, now I am here and writing this documentation about my first package.
-%^^A It's a strange feeling \dots
-% And here they are.
+% During time \LaTeX3 became known to me and I started experimenting
+% and programming in this (I would say due to its simplicity compared to \LaTeXe\
+% far superior) language. Well, long story short: I was impressed.
+% And so the idea of writing my package in \LaTeX3 was born.
+%
+% I finally took my time and started rewriting my code using \LaTeX3.
+% This process can be summarized as: \enquote{What \emph{does} this command?},
+% \enquote{Why did I define \emph{this} command?} and
+% more generally \enquote{\emph{What} have I done?!}
+% 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!
%
%
%
+% \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.
%
-% \iffalse meta-comment
-%: sec: Options
-% \fi
-% \section{Options} \label{Options}
-%^^A This package offers exactly \textbf{one} option (and I am extremely proud of this one option. Do you know why? Because it took almost two hours to produce it. There is no thing like a \enquote{easy} xkeyval syntax! Well, maybe it took so long because it was my first time producing something like that \dots{} However, I am extremely glad that this option works \dSmiley).
+% The option \Option{draft=absolute} is now
+% obsolete and replaced by the much simpler option \Option{draft=true}.
%
+% Furthermore 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.
%
+% And a new Emoticon: \Makro{Changey} (and \Makro{dChangey}).
%
+% \section{Options}
+% \label{sec:options}
%
+% ^^A All options but \Option{after-symbols} can be set as load-time
+% ^^A options and can be given inside the optional argument of
+% ^^A \Makro{usepackage}:
%
%
-% \iffalse meta-comment
-%: subsec: tree und draft
-% \fi
-%
-%\subsection[tree=on/true/off/false, draft=true/false]{tree=on/true/off/false, \\ draft=true/false}
+% Options can either be set as package options or using
+% \Makro{tikzsymbolsset}. Some options can only be set as package
+% options, those are described in \cref{sec:glob-opt}.
%
-%
-% These options are only relevant for the commands in the section
-% \enquote{Trees} (\ref{Trees}). The trees look pretty nice (at least
-% I think they do), but have one drawback: \LaTeX\ needs extremely
-% long to produce them. So these options come in handy: by setting
-% \Option{tree=off/false} or using \Option{draft=true} or simply
-% \Option{draft} the trees will be replaced by squares drawn by
-% \Package{tikz} (for examples see section \enquote{Trees}
-% \ref{Trees}).
-%
-% One drawback is that these options only change the \verb|\BasicTree|
-% command, but not the others. Also another drawback is that
-% \Package{tikz} is still used to draw, this means \LaTeX\ will be
-% slowed down if you use many symbols. ^^A if you use many symbols,
-%^^A \LaTeX\ will be slowed down. ^^A So you may look at the option
-% You may use \verb|draft=absolute|, which is -- I think -- more useful.
+% It is recommended to use the option \Option{draft=true} while
+% working on the document.
%
-%^^A To solve this problem I made another option: \verb|draft=absolute|,
-%^^A which is -- I think -- more useful (see \ref{draft=absolute}).
+% \begin{function}{\tikzsymbolsset}
+% \begin{syntax}
+% \Makro{tikzsymbolsset} \marg{keys \& values}
+% \end{syntax}
%
-% \iffalse meta-comment
-%: subsec: draft=absolute
-% \fi
-%\subsection{draft=absolute} \label{draft=absolute}
+% Most keys, except
+% for the load-time options (\cref{sec:glob-opt}), can be
+% set using this command.
%
-% {\color{blue}\textbf{Use this option if you use many symbols!}}
+%^^A This command can only be used in the preamble and most keys, except
+%^^A for the load-time options (\cref{sec:glob-opt}), can be
+%^^A set using this command.
+% \end{function}
%
-% This option replaces \emph{all} symbols by fast drawn plain vanilla
-% rectangles, which have (mostly) the exactly same proportions as the
-% tikzsymbols. For example, by setting \Option{draft=absolute}
-% \verb|\Smiley| will produce \PlainVanilla{\Smiley}, \verb|\Nursey|
-% \PlainVanilla{\Nursey},
-% \verb|\BasicTree{red}{red!50!black}{black}{leaf}|\PlainVanillaII{\BasicTree[1.000001]{red}{red!50!black}{black}{leaf}},
-% \verb|\Schussel|\PlainVanilla{\Schussel}, etc.
%
-% You see, they are \emph{very} plain and \emph{very} vanilla (but
-% \LaTeX\ needs no time to produce them).\footnote{The old option
-% \Option{draftabsolute} is still useable, but obsolete.}
%
+% \subsection{Load-time Options}
+% \label{sec:glob-opt}
%
-% \iffalse meta-comment
-%: subsec: final
-% \fi
-% \subsection{final=true/false}
-% This option is the opposite of \Option{draft=true/false}.
+% The following options \emph{cannot} be set using \Makro{tikzsymbolsset}.
+%
+% \subsubsection{marvosym (true/false)}
+% \label{sec:marvosym}
%
+% \begin{syntax}
+% marvosym = true / false
+% \end{syntax}
+%
+% Please load \tikzsymbols\
+% \emph{after} \Package{marvosym}.
+%
+% \Package{marvosym} also defines \Makro{Smiley} and
+% \Makro{Coffeecup}. If you prefer those symbols (\mvchr{169}, \mvchr{75}) over the
+% \tikzsymbols\ ones (\Smiley, \Coffeecup) you can use this option. If set to true
+% \Package{tikzsymbols} cancels the definition of its
+% \Makro{Smiley} and \Makro{Coffeecup}:
+%
+% \begin{center}
+% \begin{tabular}{ c c }
+% \toprule
+% Without option \enquote{marvosym}: \Smiley \Coffeecup & With
+% option \enquote{marvosym}: \mvchr{169} \mvchr{75}\\ \midrule
+% \verb|\usepackage{marvosym}| & \verb|\usepackage{marvosym}|\\
+% \verb|\usepackage{tikzsymbols}| &
+% \verb|\usepackage[marvosym]{tikzsymbols}| \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
%
-% \iffalse meta-comment
-%: subsec: marvosym
-% \fi
-% \subsection{marvosym=true/false}
+%
+% This option raises an error if set \Option{true} without loading package \Package{marvosym}.
+%
+% Can only be set as load-time option.
%
-% You can use this special option if you also use package
-% \Package{marvosym}. If you want the \Package{marvosym} Smiley
-% (\mvchr{169}) and Coffeecup (\mvchr{75}) instead of the
-% \Package{tikzsymbols} ones (\Smiley, \Coffeecup) you can use option
-% \Option{marvosym} resp. \Option{marvosym=true}. If you use this
-% option, \Package{tikzsymbols} will simply not define its Smiley and
-% Coffeecup.
+% You may also use the option \Option{prefix} (\cref{sec:prefix}).
%
-% Note: \emph{Always load \Package{tikzsymbols} after \Package{marvosym}.}
+% \subsubsection{usebox (true/false)}
+% \label{sec:usebox}
%
-%^^A Package \enquote{marvosym} defines partly the same commands as \enquote{tikzsymbols}.
-%^^A \emph{You should always load \enquote{tikzsymbols} after \enquote{marvosym}!!}
-%^^A If you do that, \enquote{tikzsymbols} redefines for example marvosyms \enquote{Smiley} and \enquote{Coffeecup}.
-%^^A But if you like marvosyms \verb|\Smiley| more than the \verb|\Smiley| from \enquote{tikzsymbols}, you should use the option \enquote{marvosym}:
+% 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}
%
-% \begin{longtable}{c|c}
-% Without option \enquote{marvosym}: \Smiley \Coffeecup & With
-% option \enquote{marvosym}: \mvchr{169}
-% \mvchr{75}\\\hline\vspace{-1.5ex} \endhead
-% \verb|\usepackage{marvosym}| & \verb|\usepackage{marvosym}|\\
-% \verb|\usepackage{tikzsymbols}| &
-% \verb|\usepackage{marvosym}{tikzsymbols}|
-% \end{longtable}
-% \normalsize
+% This option takes a string as value: \Option{prefix=\arg{string}} and
+% adds this prefix to every command defined by this package. So
+% setting \Option{prefix=<prefix>} adds \arg{prefix} to all commands of
+% this package: \Makro{<prefix>command}.
%
-% If you use option \Option{marvosym} without loading the package
-% \Package{marvosym}, \LaTeX{} will produce an error message.
+%\arg{prefix} should neither contain
+% any special characters (e.g., \"a, \"u, \ss, etc.) nor spaces.
%
-% This option is \emph{false} by default.
+% By default it is empty, so no prefix is given, if this option is given
+% without an argument \arg{prefix} is set to \Option{tikzsymbols}.
%
+% Can only be set as a load-time option.
%
+% For example:
%
+% \begin{center}
+% \Makro{usepackage[prefix=tikzsym]\{tikzsymbols\}}
+% \end{center}
%
+% defines \Makro{Smiley} as \Makro{tikzsymSmiley}, \Makro{Kochtopf} as
+% \Makro{tikzsymKochtopf}, \Makro{pot} as \Makro{tikzsympot}, etc.
%
-% \subsection{usebox=true/false}\label{usebox}
+% If you use this option or think about using this option the
+% following command may be handy:
%
-% Since v3.0 the symbols are stored inside a
-% \Makro{savebox}\footnote{Inside a \Makro{sbox} to be correctly.} and
-% are used with \Makro{usebox}. The advantage is that \LaTeX\ doesn't
-% need to recalculate the symbol again\footnote{I think.} (if you use the \emph{exactly}
-% same symbol, see section \ref{Symbols} for more information). This
-% option is \Option{true} by default.
+% \begin{function}{\tikzsymbolsuse}
+% \begin{syntax}
+% \Makro{tikzsymbolsuse}\marg{Symbolname}
+% \end{syntax}
+% This command takes the name of the symbol \emph{without}
+% backslash and prints the symbol (or raises an error if the symbol
+% is not defined). Using this command you don't have to worry about
+% a \arg{prefix}, just write the command name and this command adds
+% automatically the given prefix to the command name.
%
-% You can deactivate this storing-inside-saveboxes by setting
-% \Option{usebox=false}.
+% For example:
+% \Makro{tikzsymbolsuse\{Smiley\}[2]} \tikzsymbolsuse{Smiley}[2]
%
-% To activate it you can use \Option{usebox=true} or just
-% \Option{usebox}.
+% \Makro{tikzsymbolsuse\{BasicTree\}[1.2]\{black\}\{red!50!black\}\{red\}\{leaf\}}
+% \tikzsymbolsuse{BasicTree}[1.2]{black}{red!50!black}{red}{leaf}
%
-%
%
+% \Makro{tikzsymbolsuse\{Ofen\}} \tikzsymbolsuse{Ofen}
%
+% \Makro{tikzsymbolsuse\{Fire\}[-1.3]} \tikzsymbolsuse{Fire}[-1.3]
%
+% etc.
%
-% \iffalse meta-comment
-%: subsec: prefix
-% \fi
-% \subsection{prefix, prefix=\texttt{\Meta{prefix}}}
+%
+% \end{function}
%
-% If you use a package which collides with \Package{tikzsymbols}, but
-% want to use symbols of both packages, you can use this option. It
-% adds a \texttt{\Meta{prefix}} to all symbol commands provided by
-% \Package{tikzsymbols}. All commands will look like
-% \verb|\<prefix>command|, for example: \verb|\<prefix>Smiley|,
-% \verb|\<prefix>drWalley|, \verb|\<prefix>Springtree|, etc.
%
-% If you simply use option \verb|prefix|, \verb|<prefix>| will be
-% \enquote{tikzsymbols}: \verb|\Smiley| will change to
-% \verb|\tikzsymbolsSmiley|, \verb|\drWalley| to
-% \verb|\tikzsymbolsdrWalley|, \verb|\tikzsymbolsSpringtree|,
-% \verb|\tikzsymbolsBasicTree|, etc.
%
+% \subsection{Preamble Options}
+% \label{sec:pream-opt}
%
+% Most of these commands can be set either as package option or with
+% \Makro{tikzsymbolsset}.
%
-% If this prefix is too long for you, you can define your own prefix
-% via \Option{prefix=<prefix>}. \verb|<prefix>| should neither contain
-% any special characters (e.g., \"a, \"u, \ss, etc.) nor empty spaces.
-% For example (using \Option{prefix=T}): \verb|\Smiley| changes to
-% \verb|\TSmiley|, \verb|\Kochtopf| to \verb|\TKochtopf| (and
-% \verb|\pot| to \verb|\Tpot|), etc.
%
-% \DescribeMacro{\tikzsymbolsuse} If you change the \verb|prefix|
-% often or are not sure if you will change it in future, you may work
-% with \verb|\tikzsymbolsuse{}| to use the symbols without worrying
-% about the prefix. \verb|\tikzsymbolsuse{}| takes one mandatory
-% argument: the command-name of the symbol \emph{without}
-% backslash. Write the optional and mandatory parameters of the symbol
-% after the curly braces.
+% \subsubsection{final (true/false)}
+% \label{sec:final}
+%
+% \begin{function}{final}
+% \begin{syntax}
+% final= \arg{true/false}
+% \end{syntax}
%
-% \smallskip
+% This key has the opposite behavior of the option \Option{draft}.
%
-% For example:
-% \verb|\tikzsymbolsuse{Smiley}[2]|\tikzsymbolsuse{Smiley}[2]
+% It is a boolean key and therefore accepts only \Option{true} or
+% \Option{false} and is set to \Option{true} by default. Setting it to
+% \Option{true} prints all symbols normally. Setting it to
+% \Option{false} prints plain vanilla draft-boxes instead which speeds
+% up the compile-process.
%
-% \verb|\tikzsymbolsuse{BasicTree}[1.2]{black}{red!50!black}{red}{leaf}|\tikzsymbolsuse{BasicTree}[1.2]{black}{red!50!black}{red}{leaf}
+% \end{function}
%
+% \subsubsection{draft (true/false)}
+% \label{sec:draft}
+%
+% \begin{function}{draft}
+% \begin{syntax}
+% draft = \arg{true/false}
+% \end{syntax}
%
-% \verb|\tikzsymbolsuse{Ofen}| \tikzsymbolsuse{Ofen}
-% \verb|\tikzsymbolsuse{Fire}[-1.3]|\tikzsymbolsuse{Fire}[-1.3]
+% 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.
%
-% etc.
+% 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}
+%
+% \begin{function}{tree}
+% \begin{syntax}
+% tree= \arg{true/on/false/off}
+% \end{syntax}
%
-% \iffalse meta-comment
-%: sec: Symbols
-% \fi
-% \section{Symbols} \label{Symbols}
+% This key accepts \Option{true}, \Option{false} and furthermore
+% \Option{on} and \Option{off}. The latter do exactly the same as the
+% first ones.
%
-% In this section the symbols are introduced.
-% They \Kochtopf \tiny all \dInnocey \Huge change \Moai \small automatically \Wintertree \large with \oven \normalsize the text-size \Strichmaxerl.
+% This option has only an effect on the command \Makro{BasicTree}
+% and his derivates (\Makro{Springtree}, \Makro{Summertree},
+% \Makro{Autumntree} and \Makro{Wintertree}) and substitutes them with
+% \Package{tikz} drawn boxes.
+%
+% So while \Option{draft=true} replaces the output of \emph{all} commands with simple
+% black boxes, \Option{tree=true/on} only replaces the output of
+% \enquote{tree}-commands with boxes.
+%
+% It is recommended to use \Option{draft=true}, but if you want you
+% can use this option.
+%
+% \end{function}
%
%
-% Furthermore since v3.0 this package uses a savebox-usebox system.
-% That means the output of a symbol is saved inside a box\footnote{To
-% say the truth: I am (still) not sure what exactly happens while storing
-% commands inside \Makro{sbox} and using them via \Makro{usebox}\dots}
-% using \Makro{sbox} and every time you use the \emph{exactly} same
-% symbol, \LaTeX{} just can use the already calculated symbol (via
-% \Makro{usebox}).
%
-% What is \enquote{the \emph{exactly} same symbol}? Using a symbol
-% with the same optional parameter(s), the same script size and
-% text-color.
-%
-% For example: \Smiley and \Smiley and \Smiley were only calculated
-% once because they have the same optional parameter, script size and
-% text-color.
-%
-% \Sadey, {\color{red}\Sadey} and \Sadey would be calculated twice:
-% the first time for the black one , the second time for the red one
-% due to having a different text-color. The third Sadey is the same
-% as the first, so it doesn't have to be recalculated.
-%
-% \Annoey, {\color{blue}\Annoey}, {\footnotesize \Annoey} and
-% {\color{blue}\tiny \Annoey} have all to be calculated separately:
-% the first time for the normal, black one, the second time for the
-% blue one (due to text color), the third time for having a different
-% script size than the first one and the fourth time due to having a
-% different script size and a different text-color.
-%
-% Each symbol is stored in a separate box, but I think using
-% \Package{etex} with 32768 box registers is enough (and I don't think
-% that you are using so many symbols; if you managed somehow to use so
-% many boxes you can deactivate the storing of
-% \Package{tikzsymbols}-symbols inside boxes using
-% \Option{usebox=false} (see \ref{usebox})).
+%
+% \subsubsection{after-symbol (\arg{string or command})}
+% \label{sec:after-symbol}
+%
+% \begin{function}{after-symbol}
+% Is more stable if set using \Makro{tikzsymbolsset}.
+% \begin{syntax}
+% after-symbol = \marg{string or command}
+% \end{syntax}
+% The value of this key is inserted after every command of this
+% package. By default it is set to \Makro{xspace}.
+%^^A This command is more robust
+%^^A if used with \Makro{tikzsymbolsset}
+% \end{function}
%
-% There is a great advantage using this box-system: once calculated,
-% the symbol can be used again without any new
-% calculation\footnote{And hopefully no disadvantage\dots} (I know I
-% am repeating myself). This means, you can use for example
-% \verb|\Summertree| many times without having to wait till \LaTeX\
-% finished recalculating all of them (again, only if they are
-% \emph{exactly} the same): \Summertree \Summertree \Summertree
-% \Summertree \Summertree \Summertree \Summertree \Summertree
-% \Summertree \Summertree \Summertree \Summertree \Summertree
-% \Summertree \Summertree \Summertree \Summertree \Summertree
-% \Summertree \Summertree \Summertree \Summertree \Summertree
-% \Summertree \Summertree \Summertree \Summertree \Summertree
-% \Summertree \Summertree \Summertree \Summertree \Summertree. With
-% version $<3.0$ or option \Option{usebox=false} this would take
-% \emph{extremely} long.
-%
-% And again I will give you an advice: If you are using trees or many
-% symbols, you should use option \Option{draft=absolute}.
%
%
-% \iffalse meta-comment
-%: subsec: cooking-symbols
-% \fi
-% \subsection{cooking-symbols \texorpdfstring{\Kochtopf}{Kochtopf}}
%
-% At the following table the cooking-symbols are listed.
%
-% The first column shows the commands (at first the german at second
-% the english ones). In the second the optional parameter(s) are
-% shown. The optional parameter(s) are for both, the german and the
-% english commands the same.
%
-% \Meta{scale} can be a number between (not exactly) -1400 and (also
-% not exactly) $1400$\footnote{Since version 2.2 you can use negative
-% numbers as well (see examples)} , default is $1$.
%
-% Da Umlaute nicht angezeigt werden k\"onnen, werden die Umlaute \"o,
-% \"a, \"u durch: o, a, u ersetzt.
%
-% \begin{longtable}{llc@{~~}c}
+% \section {Symbols}
+%
+%
+% In this section the symbols are introduced.
+% { They \Kochtopf \tiny all \dInnocey \Huge change \Moai \small automatically \Wintertree \large with \oven \normalsize text-size \Strichmaxerl. }
+%
+%
+%
+%
+%
+%
+% \subsection{cooking-symbols \texorpdfstring{\Kochtopf}{Kochtopf}}
+%
+%
+% \begin{function}
+% {
+% \Kochtopf,
+% \pot,
+% \Bratpfanne,
+% \fryingpan,
+% \Schneebesen,
+% \eggbeater,
+% \Sieb,
+% \sieve,
+% \Purierstab,
+% \blender,
+% \Dreizack,
+% \trident,
+% \Backblech,
+% \bakingplate,
+% \Ofen,
+% \oven,
+% \Pfanne,
+% \pan,
+% \Herd,
+% \cooker,
+% \Saftpresse,
+% \squeezer,
+% \Schussel,
+% \bowl,
+% \Schaler,
+% \peeler,
+% \Reibe,
+% \grater,
+% \Flasche,
+% \bottle
+% }
+%
+% The following table shows all available cooking-symbols and their
+% respective commands.
+% The first column shows the command-names (german \& english),
+% the second the optional parameter(s).
+% The optional parameter(s) are for both the german and the
+% english commands the same.
+%
+% \Meta{scale} can be a number between (not exactly) $-1400$ and
+% (also not exactly) $1400$, default is $1$.
+%
+%
+% Da Umlaute nicht in Befehlsnamen vorkommen dürfen, werden die Umlaute
+% \"o, \"a, \"u durch o, a, u ersetzt.
+%
+% \begin{longtable}{l l c@{~~}c}
% \multicolumn{2}{l}{German \& English Commands} & Optional
% parameter(s) & Output \\\toprule\endhead
-%
-% \verb|\Kochtopf| & \verb|\pot| & \oarg{scale} & \da{\Kochtopf} \\
-% \verb|\Bratpfanne| & \verb|\fryingpan|& \oarg{scale} & \da{\Bratpfanne} \\
-% \verb|\Schneebesen| & \verb|\eggbeater| & \oarg{scale} & \da{\eggbeater}\\
-% \verb|\Sieb| & \verb|\sieve| & \oarg{scale} & \da{\sieve}\\
-% \verb|\Purierstab| & \verb|\blender|\footnote{I know that \enquote{P\"urierstab} should be translated as \enquote{immersion blender}, but I'm just using \enquote{blender}} & \oarg{scale} & \da{\blender}\\
-% \verb|\Dreizack| & \verb|\trident| & \oarg{scale} & \da{\Dreizack}\\
-% \verb|\Backblech| & \verb|\bakingplate| & \oarg{scale} & \da{\bakingplate}\\
-% \verb|\Ofen| & \verb|\oven| & \oarg{scale} & \da{\Ofen}\\
-% \verb|\Pfanne| & \verb|\pan| & \oarg{scale} & \da{\Pfanne} \\
-% \verb|\Herd| & \verb|\cooker| & \oarg{scale} & \da{\cooker} \\
-% \verb|\Saftpresse| & \verb|\squeezer| & \oarg{scale} & \da{\Saftpresse} \\
-% \verb|\Schussel| & \verb|\bowl| & \oarg{scale} & \da{\Schussel} \\
-% \verb|\Schaler| & \verb|\peeler| & \oarg{scale} & \da{\peeler} \\
-% \verb|\Reibe| & \verb|\grater| & \oarg{scale} & \da{\Reibe} \\
-% \verb|\Flasche| & \verb|\bottle| & \oarg{scale} & \da{\Flasche}
+% \\ \bottomrule \endfoot
+% \MapinTable \bottomrule
% \end{longtable}
%
+%
+%
+%
+%
+% \end{function}
+%
+%
%
-%
%
%
-% \iffalse meta-comment
-%: subsec: Emoticons
-% \fi
%\subsection{Emoticons \texorpdfstring{\Smiley}{Smiley}}
+%
%\subsubsection{\enquote{normal} Emoticons \texorpdfstring{\Cat}{Cat}}
%
-% First column shows the commands, the second the optional
-% parameter(s), the third the default-output.
+%
+%
+% \begin{function}
+% {
+% \Smiley,
+% \Sadey,
+% \Neutrey,
+% \Changey,
+% \Annoey,
+% \Laughey,
+% \Winkey,
+% \oldWinkey,
+% \Sey,
+% \Xey,
+% \Innocey,
+% \wInnocey,
+% \Cooley,
+% \Tongey,
+% \Nursey,
+% \Vomey,
+% \Walley,
+% \rWalley,
+% \Cat,
+% \Ninja,
+% \NiceReapey
+% }
+%
+% First column shows the commands, the second the (optional)
+% parameter(s), the third the default-output (the only command with
+% a mandatory argument is \Makro{Changey}).
%
% \Meta{scale} can be a number between (not exactly) $-2000$ and (not
-% exactly) $2000$\footnote{Do you even need so large symbols?},
+% exactly) $2000$, ^^A{Do you even need so large symbols?},
% default is $1$.
%
% \Meta{color} can be every defined color. Note: The color names
% shouldn't contain special characters like \ss, \"a, \"o, \dots
+%
+% \Makro{Changey}'s \Meta{mood} has to be between $-2$ and $2$
+% ($1$ equals \Makro{Smiley}, $-1$ \Makro{Sadey} and $0$ \Makro{Neutrey}).
%
-%
-% \begin{longtable}{l@{}c@{}c}
-% Commands & Optional parameter(s) & Output \\\toprule\endhead
-%
-% \verb|\Smiley| & \oarg{scale}\oarg{color} & \da{\Smiley} \\
-% \verb|\Sadey| & \oarg{scale}\oarg{color} & \da{\Sadey} \\
-% \verb|\Laughey| & \oarg{scale}\oarg{color}\oarg{mouth color} & \da{\Laughey} \\
-% \verb|\Annoey| & \oarg{scale}\oarg{color} & \da{\Annoey} \\
-% \verb|\Neutrey| & \oarg{scale}\oarg{color} & \da{\Neutrey} \\
-% \verb|\Winkey| & \oarg{scale}\oarg{color} & \da{\Winkey} \\
-% \verb|\oldWinkey| & \oarg{scale}\oarg{color} & \da{\oldWinkey} \\
-% \verb|\Sey| & \oarg{scale}\oarg{color} & \da{\Sey} \\
-% \verb|\Xey| & \oarg{scale}\oarg{color} & \da{\Xey} \\
-% \verb|\Innocey| & \oarg{scale}\oarg{color}\oarg{halo color} & \da{\Innocey} \\
-% \verb|\wInnocey| & \oarg{scale} & \da{\wInnocey} \\
-% \verb|\Cooley| & \oarg{scale}\oarg{color} & \da{\Cooley} \\
-% \verb|\Tongey|& \oarg{scale}\oarg{color}\oarg{tongue color} & \da{\Tongey} \\
-% \verb|\Nursey|& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} &\da{\Nursey} \\
-% \verb|\Vomey| & \oarg{scale}\oarg{color}\oarg{vomit color} & \da{\Vomey} \\
-% \verb|\Walley| & \oarg{scale}\oarg{color}\oarg{wall color} & \da{\Walley} \\
-% \verb|\rWalley|\footnote{\enquote{r} stands for \enquote{random} and means that the cracks in the wall are generated randomly, but it takes some time to generate them.} & \oarg{scale}\oarg{color}\oarg{wall color} & \da{\rWalley} \\
-% \verb|\Cat| & \oarg{scale} & \da{\Cat} \\
-% \verb|\Ninja|& \oarg{scale}\oarg{color}\oarg{headband color}\oarg{eye color} & \da{\Ninja} \\
-% \verb|\NiceReapey| & \oarg{scale} & \da{\NiceReapey}
+% \begin{longtable}{llc}
+% Commands & (Optional) parameter(s) & Output \\\toprule\endhead
+%
+% \bottomrule\endfoot
+%
%
+% \Makro{Smiley}& \oarg{scale}\oarg{color} & \Smiley \\
+% \Makro{Sadey}& \oarg{scale}\oarg{color} & \Sadey \\
+% \Makro{Neutrey}& \oarg{scale}\oarg{color} & \Neutrey \\
+% \Makro{Changey}& \oarg{scale}\oarg{color}\marg{mood} & \Changey{2} \\
+% \Makro{Annoey}& \oarg{scale}\oarg{color} & \Annoey \\
+% \Makro{Laughey}& \oarg{scale}\oarg{color}\oarg{mouth color} & \Laughey \\
+% \Makro{Winkey}& \oarg{scale}\oarg{color} & \Winkey \\
+% \Makro{oldWinkey}& \oarg{scale}\oarg{color} & \oldWinkey \\
+% \Makro{Sey}& \oarg{scale}\oarg{color} & \Sey \\
+% \Makro{Xey}& \oarg{scale}\oarg{color} & \Xey \\
+% \Makro{Innocey}& \oarg{scale}\oarg{color}\oarg{halo color} & \Innocey \\
+% \Makro{wInnocey}& \oarg{scale} & \wInnocey \\
+% \Makro{Cooley}& \oarg{scale}\oarg{color} & \Cooley \\
+% \Makro{Tongey}& \oarg{scale}\oarg{color}\oarg{tongue color} & \Tongey \\
+% \Makro{Nursey}& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} &\Nursey \\
+% \Makro{Vomey}& \oarg{scale}\oarg{color}\oarg{vomit color} & \Vomey \\
+% \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{Ninja}& \oarg{scale}\oarg{color}\oarg{headband color}\oarg{eye color}& \Ninja \\
+% \Makro{NiceReapey} & \oarg{scale} & \NiceReapey \\
+% \bottomrule
% \end{longtable}
+%
+%
+%
+%
+% \end{function}
+%
+% Examples: \CreateExample{Sadey}{[][red]}
+%
+% \CreateExample{Cooley} {[-3][cyan]}
%
-% Examples: \verb|\Sadey[][red]|\Sadey[][red]
-% \quad\verb|\Cooley[-3][cyan]|\Cooley[-3][cyan]
-%
-% \verb|\Vomey[1.5][green!80!black][olive]|\Vomey[1.5][green!80!black][olive].
+% \CreateExample{Vomey}{[1.5][green!80!black][olive]}
%
-% \verb|\Nursey[][yellow][blue][red]|\Nursey[1][yellow][blue][red].
+% \CreateExample{Nursey}{[][yellow][blue][red]}.
%
-% \verb|\Ninja[1.3][][violet][red]|\Ninja[1.3][][violet][red].
+% \CreateExample{Ninja}{[1.3][][violet][red]}.
%
% \verb|\colorbox{yellow}{\Winkey \Annoey[-1]\Neutrey}|\colorbox{yellow}{\Winkey \Annoey [-1]\Neutrey}
%
-% \verb|{\color{blue}\Sey}| {\color{blue}\Sey}
-%
-%
-%
-%
-%
-%
-% \iffalse meta-comment
-%: subsec: 3D Emoticons
-% \fi
+% \verb|\textcolor{blue}{\Sey}| \textcolor{blue}{\Sey}
+%
+% \CreateExample{Changey} {{-2}}
+% \CreateExample{Changey} {{-1.367}}
+% \CreateExample{Changey} {{-1}}
+% \CreateExample{Changey} {{0}}
+% \CreateExample{Changey} {{1}}
+% \CreateExample{Changey} {{1.41}}
+% \CreateExample{Changey} {{2}}
+%
+%
+%
% \subsubsection{\enquote{3D} Emoticons \texorpdfstring{\dSmiley\dSadey[-1]}{dSmiley dSadey}}
+%
+%
+% \begin{function}
+% {
+% \dSmiley,
+% \dSadey,
+% \dNeutrey,
+% \dChangey,
+% \dAnnoey,
+% \dLaughey,
+% \dWinkey,
+% \dSey,
+% \dXey,
+% \dInnocey,
+% \dCooley,
+% \dNinja,
+% \drWalley,
+% \dWalley,
+% \dVomey,
+% \dNursey,
+% \dTongey,
+% \olddWinkey
+% }
+%
+%
+%
% First column shows the commands (note: the \enquote{3D} Emoticons
-% begin with \verb|\d...|), the second shows the optional
-% parameter(s), the third shows the default-output.
+% begin with \Makro{d\dots}), the second shows the (optional)
+% parameter(s), the third shows the default-output (the only command
+% with a mandatory argument is \Makro{dChangey}).
%
-% \Meta{scale} can be a number between a small number\footnote{under
-% $-500$ for sure} and a large number\footnote{over 500 for sure},
+% \Meta{scale} can be a number between a small number (under
+% $-500$ for sure) and a large number (over 500 for sure),
% default is $1$.
%
% \Meta{color} can be every defined color (see examples below). Note:
% The color names shouldn't contain special characters like \ss, \"a,
% \"o, \dots
-%
-%
-%
-% \begin{longtable}{l@{}c@{}c}
+%
+% \Makro{Changey}'s \meta{mood} has to be between $-2$ and $2$
+% ($1$ equals \Makro{dSmiley}, $-1$ \Makro{dSadey} and $0$ \Makro{dNeutrey}).
+%
+% \begin{longtable}{llc}
% Commands & Optional parameter(s) & Output \\\toprule\endhead
+%
+% \bottomrule\endfoot
%
-% \verb|\dSadey| & \oarg{scale}\oarg{color} & \da{\dSadey} \\
-% \verb|\dSmiley| & \oarg{scale}\oarg{color} & \da{\dSmiley} \\
-% \verb|\dLaughey| & \oarg{scale}\oarg{color}\oarg{mouth color} & \da{\dLaughey} \\
-% \verb|\dAnnoey| & \oarg{scale}\oarg{color} & \da{\dAnnoey} \\
-% \verb|\dNeutrey| & \oarg{scale}\oarg{color} & \da{\dNeutrey} \\
-% \verb|\dWinkey| & \oarg{scale}\oarg{color} & \da{\dWinkey} \\
-% \verb|\olddWinkey| & \oarg{scale}\oarg{color} & \da{\olddWinkey} \\
-% \verb|\dSey| & \oarg{scale}\oarg{color} & \da{\dSey} \\
-% \verb|\dXey| & \oarg{scale}\oarg{color} & \da{\dXey} \\
-% \verb|\dInnocey| & \oarg{scale}\oarg{color}\oarg{halo color} & \da{\dInnocey} \\
-% \verb|\dCooley| & \oarg{scale}\oarg{color} & \da{\dCooley} \\
-% \verb|\dTongey| & \oarg{scale}\oarg{color}\oarg{tongue color} & \da{\dTongey} \\
-% \verb|\dNursey|& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} & \da{\dNursey} \\
-% \verb|\dVomey| & \oarg{scale}\oarg{color}\oarg{vomit color} & \da{\dVomey} \\
-% \verb|\dWalley| & \oarg{scale}\oarg{color}\oarg{wall color} & \da{\dWalley} \\
-% \verb|\drWalley|\footnote{\enquote{r} stands for \enquote{random} and means that the cracks in the wall are generated randomly, but it takes some time.} & \oarg{scale}\oarg{color}\oarg{wall color}& \da{\drWalley} \\
-% \verb|\dNinja| & \oarg{scale}\oarg{color}\oarg{headband color}\oarg{eye color} & \da{\dNinja} \\
+% \Makro{dSmiley}& \oarg{scale}\oarg{color} & \dSmiley \\
+% \Makro{dSadey}& \oarg{scale}\oarg{color} & \dSadey \\
+% \Makro{dNeutrey}& \oarg{scale}\oarg{color} & \dNeutrey \\
+% \Makro{dChangey}& \oarg{scale}\oarg{color}\marg{mood} & \dChangey{2} \\
+% \Makro{dLaughey}& \oarg{scale}\oarg{color}\oarg{mouth color} & \dLaughey \\
+% \Makro{dAnnoey}& \oarg{scale}\oarg{color} & \dAnnoey \\
+% \Makro{dWinkey}& \oarg{scale}\oarg{color} & \dWinkey \\
+% \Makro{olddWinkey}& \oarg{scale}\oarg{color} & \olddWinkey \\
+% \Makro{dSey}& \oarg{scale}\oarg{color} & \dSey \\
+% \Makro{dXey}& \oarg{scale}\oarg{color} & \dXey \\
+% \Makro{dInnocey}& \oarg{scale}\oarg{color}\oarg{halo color} & \dInnocey \\
+% \Makro{dCooley}& \oarg{scale}\oarg{color} & \dCooley \\
+% \Makro{dTongey}& \oarg{scale}\oarg{color}\oarg{tongue color} & \dTongey \\
+% \Makro{dNursey}& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} & \dNursey \\
+% \Makro{dVomey}& \oarg{scale}\oarg{color}\oarg{vomit color} & \dVomey \\
+% \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 \\
+% \bottomrule
% \end{longtable}
-%
+%
+% \end{function}
+%
+%
% Examples:
-% \verb|\dSadey[][red]|\dSadey[][red]\quad\verb|\dCooley[-3][cyan]|\dCooley[-3][cyan]
-%
-% \verb|\dVomey[1.5][green!70!black][olive]|\dVomey[1.5][green!80!black][olive].
+% \CreateExample{dSadey}{[][red]}
+%
+% \CreateExample{dCooley}{[-3][cyan]}
%
-% \verb|\dNursey[][yellow][blue][red]|\dNursey[1][yellow][blue][red].
+% \CreateExample{dVomey}{[1.5][green!70!black][olive]}
%
-% \verb|\dNinja[1.3][][violet][red]|\dNinja[1.3][][violet][red].
+% \CreateExample{dNursey}{[][yellow][blue][red]}.
%
-% \subsection{other Symbol(s) \texorpdfstring{\Moai}{Moai}}
+% \CreateExample{dNinja}{[1.3][][violet][red]}.
+%
+% \CreateExample{dChangey} {{-2}}
+% \CreateExample{dChangey} {{-1.367}}
+% \CreateExample{dChangey} {{-1}}
+% \CreateExample{dChangey} {{0}}
+% \CreateExample{dChangey} {{1}}
+% \CreateExample{dChangey} {{1.41}}
+% \CreateExample{dChangey} {{2}}
+%
+%
+%
%
-% \verb|\Strichmaxerl|'s optional parameters 2--5 (\Meta{left arm} to
+%
+% \subsection{other Symbols \texorpdfstring{\Moai}{Moai}}
+%
+% \begin{function}
+% {
+% \Strichmaxerl,
+%^^A \Person,
+% \Candle,
+% \Fire,
+% \Coffeecup,
+% \Chair,
+% \Bed,
+% \Tribar,
+% \Moai,
+% \Snowman
+% }
+%
+% \Makro{Strichmaxerl}'s optional parameters 2--5 (\Meta{left arm} to
% \Meta{right leg}) can be a number
-% between %-360% and $360$\footnote{Of course the number can be even
-% greater or less, but it doesn't make sense.}. These parameters are
+% between $-360$ and $360$ (of course the number can be even
+% greater or even smaller.). The parameters are
% the angles between the body and the separate parts of
-% \verb|\Strichmaxerl| (see examples).
+% \Makro{Strichmaxerl} (see examples).
%
-% \Meta{scale} can be a very great and a very small number (but I
+% \Meta{scale} can be a very great and a very small negative number (but I
% don't think, that you need so large symbols).
%
% \Meta{color} can be every defined color. Note: The color names
% shouldn't contain special characters like \ss, \"a, \"o, \dots.
-%
-%
-% \begin{longtable}{l@{~}c@{~}c}
+%
+% \begin{longtable}{llc}
% Commands & Optional parameter(s) & Output \\\toprule\endhead
-% \verb|\Strichmaxerl| & \oarg{scale}\oarg{left arm}\oarg{right arm}\oarg{left leg}\oarg{right leg} &\da{\Strichmaxerl}\\
-% \verb|\Candle| & \oarg{scale} & \da{\Candle}\\
-% \verb|\Fire| & \oarg{scale} & \da{\Fire}\\
-% \verb|\Coffeecup| & \oarg{scale} & \da{\Coffeecup}\\
-% \verb|\Chair| & \oarg{scale} & \da{\Chair}\\
-% \verb|\Bed| & \oarg{scale} & \da{\Bed}\\
-% \verb|\Moai| & \oarg{scale} & \da{\Moai}\\
-% \verb|\Tribar| &\oarg{scale}\oarg{color 1}\oarg{color 2}\oarg{color 3} & \da{\Tribar}\\
-% \verb|\Snowman| &\oarg{scale} & \da{\Snowman}\\
+%
+% \bottomrule\endfoot
+%
+% \Makro{Strichmaxerl} & \oarg{scale}\oarg{left arm}\oarg{right arm}\oarg{left leg}\oarg{right leg} &\Strichmaxerl\\
+% \Makro{Candle} & \oarg{scale} & \Candle\\
+% \Makro{Fire} & \oarg{scale} & \Fire\\
+% \Makro{Coffeecup} & \oarg{scale} & \Coffeecup\\
+% \Makro{Chair} & \oarg{scale} & \Chair\\
+% \Makro{Bed} & \oarg{scale} & \Bed\\
+% \Makro{Moai} & \oarg{scale} & \Moai\\
+% \Makro{Tribar} &\oarg{scale}\oarg{color 1}\oarg{color 2}\oarg{color 3} & \Tribar\\
+% \Makro{Snowman} &\oarg{scale} & \Snowman\\
+% \bottomrule
% \end{longtable}
%
-% \Tribar[-10][blue][red][green]\verb|\Tribar[-10][blue][red][green]|\par
-% \Tribar[2.1][blue][blue!50][blue!20] \verb|\Tribar[2.1][blue][blue!50][blue!20]|
-%
-% \vspace{1ex}
-%
-% \verb|\Strichmaxerl[1][10][30][40][4]|\Strichmaxerl[1][10][30][40][4],
-% \verb|\Strichmaxerl[1.4][210][310][10][90]|\Strichmaxerl[1.4][210][310][10][90],
-%
-% \verb|\Strichmaxerl[2][510][110][190][990]|\Strichmaxerl[2][510][110][190][990],
-% \verb|\Strichmaxerl[0.9][54][28][95][16]|\Strichmaxerl[0.9][54][28][95][16]
%
+% \end{function}
+%
+% \CreateExample{Tribar}{[-10][blue][red][green]}
%
+% \CreateExample{Tribar}{[2.1][blue][blue!50][blue!20]}
%
+% \vspace{1ex}
%
+% \CreateExample{Strichmaxerl}{[1][10][30][40][4]} ,
+%
+% \CreateExample{Strichmaxerl}{[1.4][210][310][10][90]} ,
%
-%\iffalse meta-comment
-%: subsec: Trees
-%\fi
+% \CreateExample{Strichmaxerl}{[2][510][110][190][990]} ,
+%
+% \CreateExample{Strichmaxerl}{[0.9][54][28][95][16]}
+%
+% \CreateExample{Strichmaxerl}{[][54][28]}
+%
+%
+%
+% \begin{function}
+% {
+% \BasicTree ,
+% \Springtree ,
+% \Summertree ,
+% \Wintertree ,
+% \WorstTree ,
+% }
+%
% \subsection{Trees \texorpdfstring{\BasicTree{blue!60!black}{red}{green}{leaf}}{BasicTree}}\label{Trees}
-% \enquote{Hey, these trees look exactly like the ones in the
-% tikzmanual} -- \enquote{NO! Not \enquote{exactly}, they look pretty
-% a like\dots{} Well I changed them a bit\dots{} \dots{} Hey! The best
-% ideas are stolen \dots}
-%
+%
% \Meta{scale} can be a number between (not exactly) $-900$ and (again
-% not exactly) $900$\footnote{if it is larger (or less) it uses too
-% much of \LaTeX{} memory and an error message appears.}, default is
+% not exactly) $900$, default is
% $1$.
%
% \Meta{color} can be every defined color (see examples below). Note:
% The color names shouldn't contain special characters like \ss, \"a,
% \"o, \dots.
%
-% \verb|{|\emph{leaf}\verb|}| uses the colors of \marg{leaf color a}
+% \marg{leaf} uses the colors of \marg{leaf color a}
% and \marg{leaf color b}, you can leave this one empty if you don't
% want leaves (\verb|\Wintertree| is without \emph{leaf}, see examples
% below).
%
% If you are using those trees, \LaTeX{} needs longer to produce the
% output. So you may use the package option \Option{tree=off},
-% \Option{draft} or (better) \Option{draft=absolute} (see section
-% \ref{Options}) to make \LaTeX{} faster.
+% or (better) \Option{draft=true} (see section
+% \cref{sec:draft} and \cref{sec:tree}) to make \LaTeX{} faster.
%
-% \small
-% \begin{longtable}{@{}lcc@{}}
-% Commands & Optional/Needed parameter(s) & Output
-% \\\toprule\endhead
-% \verb|\BasicTree| & \oarg{scale}\marg{trunk color}\marg{leaf color a}\marg{leaf color b}\verb|{|\emph{leaf}\verb|}| & see below \\
-%
-% \verb|\Springtree| & \oarg{scale} & \da{\Springtree} \\
-% \verb|\Summertree| & \oarg{scale} & \da{\Summertree} \\
-% \verb|\Autumntree| & \oarg{scale} & \da{\Autumntree} \\
-% \verb|\Wintertree| & \oarg{scale} & \da{\Wintertree} \\
-% \verb|\WorstTree| & \oarg{scale} & \da{\WorstTree}
-% \end{longtable}
-% \normalsize
+% Furthermore this trees are pretty much stolen from the
+% \Package{tikz} manual. I regret nothing.
%
-% \noindent\verb|\BasicTree| examples (normal trees):
-%
-% \verb|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}
-%
-% \verb|\BasicTree[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}|\BasicTree[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}
-%
-% \verb|\BasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}|\BasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}
+% \begin{center}
+% \begin{tabular}{@{}llc@{}}
+% Commands & Optional/Needed parameter(s) & Output
+% \\\toprule
+%
%
+% \Makro{BasicTree} & \oarg{scale}\marg{trunk color}\marg{leaf color a}\marg{leaf color b}\marg{leaf} & see below \\
%
-% \verb|\BasicTree[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}|\BasicTree[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}
+% \Makro{Springtree} & \oarg{scale} & \Springtree \\
+% \Makro{Summertree} & \oarg{scale} & \Summertree \\
+% \Makro{Autumntree} & \oarg{scale} & \Autumntree \\
+% \Makro{Wintertree} & \oarg{scale} & \Wintertree \\
+% \Makro{WorstTree} & \oarg{scale} & \WorstTree \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
%
-% \verb|\colorbox{black}{\BasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}|\colorbox{black}{\BasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}
+% \end{function}
%
-% \bigskip
+% \paragraph{\Makro{BasicTree} examples} Some \enquote{normal} trees:
%
-% \noindent \dots and using the same trees with \Option{tree=off/false} or \Option{draft}(\Option{=true}):
+% \verb|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}
%
-% \indent\verb|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}|\colorbox{green}{\definedBasicTree{red}{orange}{yellow}{leaf}}
+% \CreateExample{BasicTree}{[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}}
+%
+% \CreateExample{BasicTree}{[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}}
%
+% \CreateExample{BasicTree}{[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}}
%
-% \verb|\BasicTree[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}|\definedBasicTree[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}
+% \verb|\colorbox{black}{\BasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}|
+% \colorbox{black}{\BasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}
+%
+% \paragraph{draftbox \Makro{BasicTree} examples} Some \enquote{draftbox} trees:
%
-% \verb|\BasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}|\definedBasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}
+% \dots and using the same trees with \Option{tree=off/false} or \Option{draft}(\Option{=true}):
%
-% \verb|\BasicTree[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}|\definedBasicTree[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}
+% \verb|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}|
+% \colorbox{green}{\definedBasicTree{red}{orange}{yellow}{leaf}}
+%
+% \verb|\BasicTree[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}|
+% \definedBasicTree[5]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}
+%
+% \verb|\BasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}|
+% \definedBasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}
+%
+% \verb|\BasicTree[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}|
+% \definedBasicTree[-1.54]{green!20!black}{green!50!black}{green!70!black}{leaf}
+%
+% \verb|\colorbox{black}{\BasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}| \colorbox{black}{\definedBasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}
%
-% \verb|\colorbox{black}{\BasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}|\colorbox{black}{\definedBasicTree[3.75]{gray!80}{gray!50}{gray!40}{leaf}}
-% \\[1ex]
-% I think it's better if you define your own tree using \verb|\newcommand| and \verb|\BasicTree|:
+% \bigskip
+%
+% I think it's better if you define your own trees using \verb|\newcommand| and \verb|\BasicTree|:
%\begin{verbatim}
% \newcommand{\Myicetree}[1][1]{%
-% \BasicTree[#1]{blue!65!white}{cyan!50!white}{cyan!50!white}{}}
+% \BasicTree[#1]{blue!65!white}{cyan!50!white}{cyan!50!white}{}}
% \end{verbatim}
-%
-%
-%
-% \iffalse meta-comment
-%: subsec: Something to redefine
-% \fi
-% \subsection{Something to redefine}
-%
-% At the end of each symbol \verb|\tikzsymbolsaftersymbolinput| is inserted.
-% By default it is defined to contain \Makro{xspace}:
-% \begin{quote}
-%\verb|\newcommand{\tikzsymbolsaftersymbolinput}{\xspace}|
-%\end{quote}
-%
-% You can redefine this macro.
-% If you don't want \verb|\xspace| just say:
-% \begin{quote}
-% \verb|\renewcommand{\tikzsymbolsaftersymbolinput}{}|
-%\end{quote}
-%
%
%
-% \iffalse meta-comment
-%: subsec: Warning and Errors
-% \fi
-% \section{Warnings and Errors}
%
-% \iffalse meta-comment
-%: subsec: Warnings
-% \fi
-% \subsection{Warnings \dots}
-% You can use this symbols in chapters, sections, subsections, etc.
-% But the log file will print a warning, something like:
-% \begin{quotation}
-% \noindent Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
-% (hyperref) removing `\verb|\Smiley|' on input line 137.
-% \end{quotation}
-%
-% You can avoid those messages by putting the symbol into this command:
-%
-% \verb|\texorpdfstring{\Smiley}{Smiley}|
-%
-% For example you may use something like that:
-%
-% \verb|\subsubsection{\enquote{3D} Emoticons \texorpdfstring{\dSmiley}{dSmiley}}| or
-%
-% \verb|\subsection{Emoticons \texorpdfstring{\Smiley}{Smiley}}| \\or
-%
-% \verb|\subsubsection{\enquote{normal} Emoticons \texorpdfstring{\Cat}{Cat}}|
-%
-%
-%
-%\iffalse meta-comment
-%: subsec: and errors
-%\fi
-% \subsection{\dots and errors}
+% \section{Known errors}
% Make sure you load \Package{marvosym} \emph{before}
% \Package{tikzsymbols} because both packages define \verb|\Smiley|,
-% \Package{marvosym} via \verb|\newcommand| \Package{tikzsymbols} via
-% \verb|\DeclareRobustCommand|.
+% \Package{marvosym} via \verb|\newcommand| \tikzsymbols\ via
+% \Makro{DeclareDocumentCommand}.
%
-% If you load \Package{marvosym} \emph{after} \Package{tikzsymbols},
+% If you load \Package{marvosym} \emph{after} \tikzsymbols,
% \LaTeX{} generates an error-message because \verb|\Smiley| has
% already been defined.
%
-% If you load \Package{marvosym} \emph{before} \Package{tikzsymbols},
-% \Package{tikzsymbols} will overwrite \Package{marvosym}'s Smiley and no
+% If you load \Package{marvosym} \emph{before} \tikzsymbols,
+% \Package{tikzsymbols} will overwrite \Package{marvosym}'s Smiley (and Coffeecup) and no
% error-message is generated (if you like the \verb|\Smiley| from
-% marvosym more, use the \Package{tikzsymbols} option \verb|marvosym|
+% marvosym more, use the \tikzsymbols{} option \verb|marvosym|
% or \Option{prefix}).
%
%
-%
-%
-% \iffalse meta-comment
-%: subsec: Nobody is perfect
-% \fi
% \section{Nobody is perfect}
%
-% If you find a bug, please send me a mail
-% involving a \emph{minimal example} which
-% shows the bug and a short description. Please mention
-% the \Package{tikzsymbols} in the header, \enquote{gmx} has
-% a habit of putting mails in the spam-folder
+% If you find a bug please send me a mail
+% involving a \emph{minimal example}
+% showing the bug and a short description. Please mention
+% \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.
% This can also be the reason why I may need some time to answer
% the mail.
%
+% Suggestions are also welcome.
+%
+%^^A \section{making suggestions}
+%
+%^^A Not only bug reports but also suggestions are most welcome.
+%
+%
+%
+%
+% \section{Danksagung}
+%
+% I would like to thank all users for providing bug reports
+% and helping to improve this package.
+%
+% Furthermore many thanks to my brother helping me improving
+% the symbols.
+%
%
%
%
+% \end{documentation}
+% \begin{implementation}
+%
% \iffalse meta-comment
%: subsec: Code
% \fi
-% \section[Code]{Code (do you really need this section?)}
%
% There is not much to see, all this symbols were created with \Package{tikz}.
% But it may helps you (somehow).
+%
+% PS. Enter at own risk, bad code and grammar up ahead.
%
+%
+%
+%
%
-%
-% \StopEventually{Well then, happy \TeX ing!}
%
+% \section{\LaTeX3 code}
+%
+%\iffalse
+% !TEX root = tikzsymbols.dtx
+% !TEX encoding = UTF-8 Unicode
+%\fi
+%
+%
+% \begin{macrocode}
+%<@@=tikzsymbols>
+% \end{macrocode}
+%
+% \changes{v3.01alpha}{2015/10/03}{Started from new using \LaTeX3}
+%
+% \changes{v3.38}{2015/10/03}{Nearly finished translating the code to
+% \LaTeX3. Himmel! Das war einfach nur zach! Muss aber noch den
+% \LaTeXe\ Code löschen.}
+%
+% \changes{v3.40}{2015/10/03}{Now everything is written in \LaTeX3.}
+%
+% \changes{v3.50}{2015/10/03}{Now it compiles without error (without
+% using any command or options.)}
+%
+% \changes{v3.58}{2015/10/04}{Fixed every error occurring while using
+% the symbols without optional arguments and package
+% options. Something is still wrong with \cs{@@_Basic_Tree_off:nnnnn}}
%
+% \changes{v3.60}{2015/10/05}{Fixed \cs{@@_Basic_Tree_off:nnnnn}}
%
-% The first lines are always the same: what do I need, how is the
-% package named:
+% \changes{v3.70}{2015/10/05}{Now every draftbox has the correct
+% size.}
+%
+% \changes{v3.75}{2015/10/05}{\cs{tikzsymbolsuse} works now.}
+%
+% \changes{v3.9}{2015/10/8}{Various fixes, new command \Makro{tikzsymbolsuse} and started to write a new documentation.}
+% \changes{v3.95}{2016/03/20}{Removed the only-preambility of \Makro{tikzsymbolsset}.}
+% \changes{v3.95}{2016/03/20}{Changed name of key-group from 'preamble' to
+% 'document'.}
+%
+% \changes{v3.9}{2016/04/04}{Added \Makro{@ifackagelater}.}
+% \changes{v3.99}{2016/04/04}{As advised undid my version-resetting.}
+% \changes{v4.0}{2016/03/20}{Finished reworking the code.}
+%
+% The first lines are always the same: What do I need, what is the
+% package named.
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesPackage{tikzsymbols}
-[2015/10/13 v3.0h Some symbols created using tikz.]
-\@ifpackageloaded{tikz}{}{\RequirePackage{tikz}}
-\@ifpackageloaded{xargs}{}{\RequirePackage{xargs}}
-\@ifpackageloaded{xcolor}{}{\RequirePackage{xcolor}}
-\@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}}
-\@ifpackageloaded{xspace}{}{\RequirePackage{xspace}}
+\@ifpackageloaded{xparse}{}{\RequirePackage{xparse}}
+\@ifpackageloaded{expl3}{}{\RequirePackage{expl3}}
+\@ifpackagelater{expl3}{2016/03/28}
+ {}
+ {%
+ \PackageError { tikzsymbols }{ Support~package~expl3~too~old }
+ {%
+ You~need~to~update~your~installation~of~the~bundles~'l3kernel'~and~
+ 'l3packages'.\MessageBreak
+ Loading~tikzsymbols~will~abort!
+ }%
+ \endinput
+ }
+\ProvidesExplPackage
+ {tikzsymbols}
+ {2016/04/04}
+ {4.0}
+ {Some symbols created using tikz and LaTeX3.}
+\@ifpackageloaded { tikz } {} { \RequirePackage { tikz } }
+\@ifpackageloaded { xcolor } {} { \RequirePackage { xcolor } }
+\@ifpackageloaded { xspace } {} { \RequirePackage { xspace } }
+\@ifpackageloaded { l3keys2e } {} { \RequirePackage { l3keys2e } }
% \end{macrocode}
%
-% Furthermore we need to load some libraries from \Package{tikz}:
+% Furthermore we need to load some libraries from \Package{tikz}, I
+% hope these \Makro{ExplSyntax...} don't break anything.
+% \begin{macrocode}
+\ExplSyntaxOff
+\usetikzlibrary {arrows,decorations.pathmorphing,trees}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+%
+% \begin{macro}{
+% \l_@@_if_scale_negative_bool ,
+% \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
+% (like \verb|\Chair|). The other booleans are used for the package
+% options and are therefor globally.
+% \begin{macrocode}
+\bool_new:N \l_@@_if_scale_negative_bool
+\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}
+%
+% Setting some of them to true by default.
% \begin{macrocode}
- \usetikzlibrary{arrows,decorations.pathmorphing,trees}
+\bool_gset_true:N \g_@@_if_opt_tree_print_bool
+\bool_gset_true:N \g_@@_if_opt_usebox_bool
% \end{macrocode}
%
%
-%\begin{macro}{\if@tkzssmbls@neg}
-%\begin{macro}{\iftikzymbols@draftabsolute}
-% \changes{v3.0}{2013/07/21}{New \cs{newif}}
%
-% We need \verb|\if@tkzssmbls@neg| (\texttt{=negative}), well \dots if
-% something is negative (\verb|\chair| needs this).
%
-% \verb|\iftikzymbols@draftabsolute| is needed for option
-% \Option{draft=absolute}.
+% \begin{macro}{
+% \g_@@_command_prefix_tl ,
+% \l_@@_tikzsymbols_after_symbol_tl ,
+% \g_@@_current_situation_tl ,
+% \g_@@_scale_abs_tl ,
+% \c_@@_leaf_tl ,
+% \c_@@_black_tl ,
+% }
+%
+% I think the names speak for themselves,
+% \cs{g_@@_command_prefix_tl} is used in the option \Option{prefix}
+% and adds its content to the command names as a prefix, by default
+% it is empty.
+%
+% \Makro{g_tikzsymbols_after_symbol_tl} adds its content to the
+% document after the symbol is used.
+%
+% In \Makro{l_@@_current_situation} is a storage for the
+% current font-size and color-configurations which is needed when
+% defining boxes.
+%
+% \Makro{l_@@_scale_abs_tl} safes absolute scaling of a symbol;
+% could have used \Makro{l_tmpa_tl}. It is a \texttt{tl} because
+% using a \texttt{fp} would have required me to use
+% \Makro{fp_use:N} every time. I'm lazy, I know.
+%
+% The last two are constants and are used to check user specific
+% input at some commands (\Makro{BasicTree} and \Makro{Ninja} I believe).
% \begin{macrocode}
-\newif\if@tkzssmbls@neg
-\newif\iftikzymbols@draftabsolute
+\tl_clear_new:N \g_@@_command_prefix_tl
+\tl_new:N \l_@@_tikzsymbols_after_symbol_tl
+\tl_new:N \l_@@_current_situation_tl
+\tl_new:N \l_@@_scale_abs_tl
+\tl_const:Nn \c_@@_leaf_tl { leaf }
+\tl_const:Nn \c_@@_black_tl { black }
+% \end{macrocode}
+% \end{macro}
+%
+% Setting the default value and yes, I know that you maybe should not
+% use \Makro{xspace}, but I do it anyway:
+% \begin{macrocode}
+\tl_gset:Nn \l_@@_tikzsymbols_after_symbol_tl { \xspace }
% \end{macrocode}
-%\end{macro}
-%\end{macro}
%
-%\begin{macro}{\Basic@Tree}
-% \changes{v3.0}{2013/07/21}{has now the default definition \cs{Basic@Tree@on}}
%
-% Now we define our \verb|\Basic@Tree|. We will need it later for our
-% package option. Furthermore if no option is given this will be the
-% default definition of \verb|\Basic@Tree| inside the document.
+%
+%
+% \begin{macro}{\tikzsymbolsaftersymbolinput}
+% An obsolete macro. Is not defined anymore.
% \begin{macrocode}
-\newcommand{\Basic@Tree}{\Basic@Tree@on}
+%\cs_set_eq:NN \tikzsymbolsaftersymbolinput {}
% \end{macrocode}
-%\end{macro}
+% \end{macro}
+%
+% \begin{macro}{
+% \l_@@_Strichmaxerl_x_LA_fp ,
+% \l_@@_Strichmaxerl_x_RA_fp,
+% \l_@@_Strichmaxerl_x_LB_fp,
+% \l_@@_Strichmaxerl_x_RB_fp,
+% \l_@@_Strichmaxerl_y_LA_fp,
+% \l_@@_Strichmaxerl_y_RA_fp,
+% \l_@@_Strichmaxerl_y_LB_fp,
+% \l_@@_Strichmaxerl_y_RB_fp,
+% \@@_Strichmaxerl_x_max_fp,
+% \@@_Strichmaxerl_x_min_fp,
+% }
+%
+% Needed for the plain vanilla boxes of \Makro{Strichmaxerl} for
+% the length (\texttt{x}) and height (\texttt{y}).
+% \begin{macrocode}
+\fp_new:N \l_@@_Strichmaxerl_x_LA_fp
+\fp_new:N \l_@@_Strichmaxerl_x_RA_fp
+\fp_new:N \l_@@_Strichmaxerl_x_LB_fp
+\fp_new:N \l_@@_Strichmaxerl_x_RB_fp
+% \end{macrocode}
+% \begin{macrocode}
+\fp_new:N \l_@@_Strichmaxerl_y_LA_fp
+\fp_new:N \l_@@_Strichmaxerl_y_RA_fp
+\fp_new:N \l_@@_Strichmaxerl_y_LB_fp
+\fp_new:N \l_@@_Strichmaxerl_y_RB_fp
+% \end{macrocode}
+% \begin{macrocode}
+\fp_new:N \@@_Strichmaxerl_x_max_fp
+\fp_new:N \@@_Strichmaxerl_x_min_fp
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
%
-%\begin{macro}{final}
-% \changes{v3.0}{2013/07/21}{using \Package{xkeaval}'s choicekey}
-% \changes{v3.0}{2013/07/21}{using \Package{xkeaval}'s boolkey}
+% \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
+% its value (bad explained, please just look at the code).
%
-% If final is false, \verb|\Basic@Tree| will show squares drawn by
-% \Package{tikz}. If it is true, it will show trees.
% \begin{macrocode}
-\define@boolkey{tikzsymbols}{final}[true]{%
- \ifKV@tikzsymbols@final
- \def\Basic@Tree{\Basic@Tree@on}% final=true => final
- \else
- \def\Basic@Tree{\Basic@Tree@off}% = false => draft
- \fi
-}
+\dim_new:N \l_@@_Moai_thickness_dim
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
-%\begin{macro}{draft}
-% \changes{v3.0}{2013/07/21}{using \Package{xkeaval}'s choicekey. Furthermore new option absolute is available}
+% \begin{macro}
+% {
+% \g_tikzsymbols_list_of_commands_clist ,
+% \g_tikzsymbols_list_of_english_commands_clist ,
+% }
%
-% If option \Option{draft} or \Option{draft=true} is set, then squares
-% drawn by \Package{tikz} are typed instead of trees.
+% 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}
%
-% If option \Option{draft=absolute} is set, we set
-% \verb|\iftikzymbols@draftabsolute| to \Option{true} and \emph{all}
-% symbols are replaced by plain vanilla rectangles drawn by \LaTeX.
+%
+% \subsection{Messages}
+%
+% Nothing special happens in this subsection.
+%
+% \begin{macro}{ obsolete-option }
+% Message for obsolete options.
% \begin{macrocode}
-\define@choicekey*{tikzsymbols}{draft}%
-[\tikzsymbols@draft@val\tikzsymbols@draft@nr]{false,true,absolute}[true]{%
- \ifcase\tikzsymbols@draft@nr\relax
- \def\Basic@Tree{\Basic@Tree@on}% draft=false => final
- \or
- \def\Basic@Tree{\Basic@Tree@off}% = true => draft
- \or
- \def\Basic@Tree{\Basic@Tree@off}\tikzymbols@draftabsolutetrue% =absolute
- \fi
-}
+\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 }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
-%\begin{macro}{draftabsolute}
-% \changes{v3.0}{2013/07/21}{is obsolete}
+% \begin{macro}{undefined-command}
+% Message for undefined commands used by \Makro{tikzsymbolsuse}.
+% \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { undefined-command }
+ {
+ Undefined \ Control \ sequence: \ '#1'. \
+ Did \ you \ write \ the \ name \ correctly?
+ }
+ {
+ The \ command \ is \ not \ defined.
+ \msg_see_documentation_text:n { tikzsymbols }
+ }
+% \end{macrocode}
+% \end{macro}
%
-% Obsolete Option \Option{draftabsolute}. You can still use it, but it
-% gives a warning.
+% \begin{macro}{ obsolete-command }
+% Message for obsolete commands (\Makro{Person}, etc.)
% \begin{macrocode}
-\define@key{tikzsymbols}{draftabsolute}{%
-\typeout{----------------------------}%
-\PackageWarningNoLine{tikzsymbols}{Option '\CurrentOption' is obsolete!
-\MessageBreak Please use 'draft=absolute' instead!}
-\typeout{----------------------------}%
-\tikzymbols@draftabsolutetrue}
+\msg_new:nnnn { tikzsymbols } { obsolete-command }
+ {
+ Command \ '#1' \ is \ obsolete. \
+ Please \ use \ '#2' \ instead.
+ }
+ {
+ The \ command \ you \ used \ is \ obsolete.
+ \msg_see_documentation_text:n { tikzsymbols }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
+% \begin{macro}{ tree }
+% Error message for \Makro{BasicTree}. I hope the text is understandable.
+% \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { tree }
+ {
+ Parameter \ '#1' \ cannot \ be \ used. \
+ The \ last \ parameter \ has \ either \ to \ be \
+ 'leaf' \ or \ has \ to \ be \ empty.
+ }
+ {
+ The \ fourth \ mandatory \ argument \ of \ '\protect\BasicTree' \
+ has \ either \ to \ be \ leaf \ or \ empty.
+ \msg_see_documentation_text:n { tikzsymbols }
+ }
+% \end{macrocode}
+% \end{macro}
%
-%\begin{macro}{marvosym}
-% \changes{v3.0}{2013/07/21}{using \Package{xkeaval}'s boolkey}
+% \begin{macro}{ marvosym }
+% Message if option \Option{marvosym} is used, but the package not
+% loaded at all.
+% \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { marvosym }
+ {
+ Use \ option \ 'marvosym' \ only\
+ if \ you \ load \ package \ 'marvosym'. \
+ }{
+ Either \ load \ package \ 'marvosym' \ or \
+ delete \ the \ tikzsymbols \ option \ 'marvosym'. \
+ \msg_see_documentation_text:n { tikzsymbols }
+ }
+% \end{macrocode}
+% \end{macro}
%
-% Now I define the boolean option \Option{marvosym}: you may use it,
-% if you load the package \Package{marvosym}.
+% \begin{macro}{ tikzsymbolsset }
% \begin{macrocode}
-\define@boolkey{tikzsymbols}{marvosym}[true]{}
+%\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}
+% \end{macro}
+%
+% \begin{macro}{ Changey-number-to-large }
+% \changes{v3.95}{2016/03/20}{New}
+% \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { Changey-number-to-large }
+ {
+ Changey's \ mood \ has \ to \ be \ between \
+ -2 \ and \ 2 \ (currently:\ '#1' ).
+ }{
+ Given \ number \ is \ too \ large \ (small), \ please
+ \ use \ an \ number \ between \ -2 \ and \ 2.
+ \msg_see_documentation_text:n { tikzsymbols }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{ tikzsymbolsaftersymbolinput }
+% \changes{v3.95}{2016/03/20}{New}
+% \begin{macrocode}
+\msg_new:nnnn { tikzsymbols } { tikzsymbolsaftersymbolinput }
+ {
+ The \ command \ \exp_not:N\tikzsymbolsaftersymbolinput is \
+ obsolete. \ Please \ use \ the \ option \ 'after-symbol' \ instead.
+ }{
+ \exp_not:N\tikzsymbolsaftersymbolinput is \ not \ supported \ anymore.
+ \msg_see_documentation_text:n { tikzsymbols }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
%
%
%
-%\begin{macro}{usebox}
-% \changes{v3.0}{2013/07/21}{New option}
%
-% If it is true, the savebox-usebox-system is used. If it is false,
-% then the system is turned off.
+%
+%
+%
+%
+% \begin{macro}{ \@@_Basic_Tree_aux:nnnnn }
+% I am still using a similar construction as in the \LaTeXe\
+% code. Inside this command is safed either
+% \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 { }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsection{Keys}
+% \label{sec:keys}
%
-% Furthermore it is true by default
-% (\verb|\KV@tikzsymbols@useboxtrue|)
+% Now let's define the keys for this package. Using \LaTeX3 makes the
+% whole thing a bit easier. All keys (or most) are in a group. I may
+% delete it because it may be not necessary.
% \begin{macrocode}
-\define@boolkey{tikzsymbols}{usebox}[true]{}
-\KV@tikzsymbols@useboxtrue
+\keys_define:nn { tikzsymbols }
+ {
% \end{macrocode}
-%\end{macro}
%
+% \begin{macro}{ final }
+% Its the final option, deddepi, deedidbtutp. Nothing special.
+% \begin{macrocode}
+ final .bool_gset_inverse:N = \g_@@_if_opt_draft_bool ,
+ final .default:n = { true } ,
+ final .groups:n = { document } ,
+% \end{macrocode}
+% \end{macro}
%
-% \begin{macro}{prefix}
-% \changes{v3.0}{2013/07/21}{New option. Sets all commands to
-% \cs{<prefix>macro}}
-%\begin{macro}{\cmdKV@tikzsymbols@prefix}
-% \changes{v3.0}{2013/07/23}{New macro.}
%
-% Option \Option{prefix} changes all commands to
-% \verb|\<prefix>command|. If only \Option{prefix} is set,
-% \verb|<prefix>| will be \enquote{tikzsymbols}, but you can define
-% your own prefix via \verb|prefix=<prefix>|
+% \begin{macro}{ draft }
+% This option can be set to three values: true, false and absolute. I
+% decided that \Option{draft=absolute} is obsolete and that
+% \Option{draft=true} replaces this option. Of course, the 'absolute' is
+% still available, but gives a warning when used.
+% \begin{macrocode}
+ draft .choices:nn =
+ { true , false , absolute }
+ {
+ \int_case:nn { \l_keys_choice_int }
+ {
+ { 1 } { \bool_gset_true:N \g_@@_if_opt_draft_bool }
+ { 2 } { \bool_gset_false:N \g_@@_if_opt_draft_bool }
+ { 3 }
+ {
+ \msg_error:nnnn { tikzsymbols } { obsolete-option }
+ { draft = absolute } { draft = true }
+ \bool_gset_true:N \g_@@_if_opt_draft_bool
+ }
+ }
+ } ,
+ draft .default:n= { false } ,
+ draft .groups:n = { document } ,
+% \end{macrocode}
+% \end{macro}
%
-% If this option is not used inside a document,
-% \verb|\cmdKV@tikzsymbols@prefix| wouldn't be defined. So we define
-% it and let it empty.
+% \begin{macro}{ draftabsolute }
+% Obsolete option. Old name for \Option{draft=absolute} which is
+% itself an old name for \Option{draft=true}. Don't use this option.
% \begin{macrocode}
-\newcommand{\cmdKV@tikzsymbols@prefix}{}
-\define@cmdkey{tikzsymbols}{prefix}[tikzsymbols]{}
+ draftabsolute .code:n =
+ {
+ \msg_error:nnnn { tikzsymbols } { obsolete-option }
+ { draftabsolute } { draft = true }
+ \bool_gset_true:N \g_@@_if_opt_draft_bool
+ } ,
+ draftabsolute .groups:n = { document } ,
% \end{macrocode}
-%\end{macro}
-%\end{macro}
+% \end{macro}
+%
+% \begin{macro}{ marvosym }
+% Sets the marvosym-boolean to it respective value.
+% \begin{macrocode}
+ marvosym .bool_gset:N = \g_@@_if_opt_marvosym_bool ,
+ marvosym .default:n = { true } ,
+ marvosym .groups:n = { package } ,
+% \end{macrocode}
+% \end{macro}
%
-%\begin{macro}{tree}
-% \changes{v3.0}{2013/07/21}{Using \Package{xkeyval}'s choicekey. Can
-% be set: on/true, off/false}
-%
-% Now we declare the name of our option: \Option{tree} (I could have
-% named it stone, or wood, etc., but I used \enquote{tree}). I am
-% using \Package{xkeyval} now more than before and \Option{tree} can
-% now be set to \Option{on/true} resp. \Option{off/false}.
-% \begin{macrocode}
-\define@choicekey{tikzsymbols}{tree}%
-[\tikzsymbols@tree@val\tikzsymbols@tree@nr]{true,on,false,off}[on]{%
- \ifcase\tikzsymbols@tree@nr\relax
- \def\Basic@Tree{\Basic@Tree@on}% tree=true
- \or
- \def\Basic@Tree{\Basic@Tree@on}% tree=on
- \or
- \def\Basic@Tree{\Basic@Tree@off}% tree=false
- \or
- \def\Basic@Tree{\Basic@Tree@off}% tree=false
- \fi
-}
+% \begin{macro}{ usebox }
+% 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 .default:n = { true } ,
+ usebox .groups:n = { package } ,
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
+% \begin{macro}{ prefix }
+% Sets the prefix of the commands. If for example \Option{prefix} is
+% set to \Option{tikz} this prefix is added to the command
+% names. \Makro{Sieb} will be \Makro{tikzSieb}.
+% \begin{macrocode}
+ prefix .tl_gset:N = \g_@@_command_prefix_tl ,
+ prefix .default:n = { tikzsymbols } ,
+ prefix .groups:n = { package } ,
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{ tree }
+% An old option, you should use \Option{draft=true} instead, but it
+% is not obsolete. For historic reasons this key still accepts 'on'
+% and 'off'.
+% \begin{macrocode}
+ tree .choices:nn =
+ { true , on , false , off }
+ {
+ \int_compare:nTF { \l_keys_choice_int <= 2 }
+ { \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}
%
-%\begin{macro}{\ProcessOptionsX*}
-% We process all options. What is \verb|\relax| doing?
+%
+% \begin{macro}{ after-symbol }
+% Available as package option, but should be used
+% using \Makro{tikzsymbolsuse}.
% \begin{macrocode}
-\ProcessOptionsX*<tikzsymbols>\relax
+ after-symbol .tl_set:N = \l_@@_tikzsymbols_after_symbol_tl ,
+ after-symbol .default:n= { \xspace } ,
+ after-symbol .groups:n = { document } ,
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
-%\begin{macro}{\tikzsymbolsaftersymbolinput}
-% Now we define this strange named macro. This macro is inserted
-% after the tikz-code, and is defined as \verb|\xspace|. If you
-% don't want \verb|\xspace| to be inserted, you can redefine this
-% command.
+% Now we end the key definitions.
% \begin{macrocode}
- \newcommand*{\tikzsymbolsaftersymbolinput}{\xspace}
+ }
% \end{macrocode}
-%\end{macro}
%
%
-%\begin{macro}{\tikzsymbols@leaf@is@leaf}
-% \changes{v3.0g}{2015/10/01}{Renamed \cs{@leaf@ist@leaf}}
-% We need this command for creating an error-message if the last
-% parameter of BasicTree is neither \enquote{leaf} nor empty.
+% We process all options.
+% \begin{macro}{ ProcessKeyOptions }
% \begin{macrocode}
- \newcommand*{\tikzsymbols@leaf@is@leaf}{leaf}
+\ProcessKeysOptions { tikzsymbols }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
-%\begin{macro}{\tkzsymbls@scl}
-% The \oarg{scale} parameter of the commands is stored inside
-% \verb|\tkzsymbls@scl|.
-%
-% \verb|\set@tkzsymblsscl| is a short version of
-% \verb|\setlength{\tkzsymbls@scl}{#1pt}|. I defined it to write
-% less.
+%<*ignore>
+% \begin{macro}{ after-symbol }
% \begin{macrocode}
-\newlength{\tkzsymbls@scl}
-\newcommand*{\set@tkzsymblsscl}[1]{\pgfmathsetlength{\tkzsymbls@scl}{#1pt}}
+\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}
+% \end{macro}
+%</ignore>
%
-%\begin{macro}{\tikzsymbols@draftboxlength}
-% \changes{v3.0}{2013/07/21}{New length}
-%\begin{macro}{\tikzsymbols@draftboxheight}
-% \changes{v3.0}{2013/07/21}{New length}
%
-% The length and the height of the plain vanilla rectangle are stored
-% inside these lengths.
+% \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}
-\newlength{\tikzsymbols@draftboxlength}
-\newlength{\tikzsymbols@draftboxheight}
+\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}
-%\end{macro}
+% \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}{\tikzsymbols@draftbox}
-% \changes{v3.0}{2013/07/21}{New macro. Draw a plain vanilla
-% rectangle if draft is absolute}
+% \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: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 { \current@color _ \f@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}
%
-% Our plain vanilla rectangle. Using
-% \verb|\tikzsymbols@draftboxlength| and
-% \verb|\tikzsymbols@draftboxheight| to calculate the length and the
-% height of the box.
%
-% The box is drawn using \verb|\frame| and a \verb|\vbox|,
-% \verb|\hbox| construction. \verb|\vbadness=\maxdimen| is needed
-% because otherwise there would be many overfull v-box errors.
+% \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{macrocode}
-\newcommand*{\tikzsymbols@draftbox}[2]{%
- \pgfmathsetlength{\tikzsymbols@draftboxlength}{#1}%
- \pgfmathsetlength{\tikzsymbols@draftboxheight}{#2}%
- \frame{%
- {\vbadness=\maxdimen%
- \frame{\vbox to \tikzsymbols@draftboxheight{%
- \hbox to \tikzsymbols@draftboxlength{}}}}%
- }%
-}
+\cs_new:Npn \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT #1#2
+ {
+ \@@_if_savebox_undefined:nT {#1} {#2}
+ \@@_use_savebox:n {#1}
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
-%\begin{macro}{\tikzsymbols@draftQbox}
-% \changes{v3.0}{2013/07/21}{New macro. Short form of
-% \cs{tikzsymbols@draftbox}}
%
-% Short form of \verb|\tikzsymbols@draftbox|. \enquote{Q} means
-% \enquote{Quadrat}(\emph{square}) and just means that height and
-% length of the box are the same.
+% \begin{macro}{ \@@_use_savebox:n }
+% Use the defined \Makro{sbox}-box.
% \begin{macrocode}
-\newcommand*{\tikzsymbols@draftQbox}[1]{\tikzsymbols@draftbox{#1}{#1}}
+\cs_new:Npn \@@_use_savebox:n #1
+ {
+ \exp_args:Nc \usebox
+ { g_@@_savebox_ \l_@@_current_situation_tl _ #1 _box }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{DeclareDocumentCommand Helpers}
+% \label{sec:declaredocumenthelpers}
+%
+% I define my own \Makro{DeclareDocumentCommand} (well, I am still
+% using \Makro{DeclareDocumentCommand}, but I am wrapping some other
+% commands around) to be able to add a prefix to the command-name and to
+% 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:nn }
+% This command is used in \Makro{DeclareDocumentCommand} to help
+% setting the options with \verb|>{ \@@_if_empty:nn } O{1}|. If the
+% brackets are empty the value of the option is inserted. Example:
+% The option has been defined by 'O{none}', so the value inserted if
+% no brackets are given is 'none'. If empty brackets are given,
+% normally nothing is inserted (and not 'none'). Using this command
+% if empty brackets are given 'none' is inserted automatically. This
+% safes some error messages. \Makro{ProcessedArgument} is defined in
+% the manual of \Package{xparse}.
+% \begin{macrocode}
+\cs_new:Npn \@@_if_empty:nn #1#2
+ {
+ \tl_if_empty:nTF {#2}
+ { \tl_set:Nn \ProcessedArgument {#1} }
+ { \tl_set:Nn \ProcessedArgument {#2} }
+ }
+% \end{macrocode}
+% \end{macro}
%
-%\begin{macro}{\tkzsymbls@Prmtr}
-% \changes{v3.0}{2013/07/21}{New macro. Needed for the plain vanilla
-% rectangles}
-%\begin{macro}{\tksymbls@bx@Prmtrstore}
-% \changes{v3.0}{2013/07/21}
-% {New macro. Makes \cs{tkzsymblsPrmtr} positive (if it is negative)}
-% \changes{v3.0c}{2014/10/25}{Added a @ sign.}
-%
-% \verb|\tikzsymbols@draftbox| doesn't like negative numbers. So to
-% be sure that only positive numbers are used,
-% \verb|\tksymbls@bx@Prmtrstore| changes \verb|\tkzsymbls@Prmtr| to be
-% positive (if it is negative). I am using \verb|\tkzsymbls@Prmtr|
-% instead of \verb|#1| (scaling) in \verb|\tikzsymbols@draftbox|
-% \begin{macrocode}
-\newcommand*\tkzsymbls@Prmtr{}
-\newcommand*\tksymbls@bx@Prmtrstore[1]{%
- \edef\tkzsymbls@Prmtr{\ifdim\tkzsymbls@scl<0pt-\fi#1}%
-}
+% \begin{macro}{ \@@_parse_command_options:n }
+% This command helps setting the default value if empty brackets are
+% given. The code is copied from the \Package{xparse} package and
+% 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
+ {
+ \clist_clear:N \l_tmpa_clist
+ \@@_parse_command_options:N #1
+ \q_recursion_tail \q_recursion_tail \q_recursion_tail \q_recursion_stop
+ }
% \end{macrocode}
-%\end{macro}\end{macro}
+% \end{macro}
%
-%\begin{macro}{\current@tikzsymbols}
-% \changes{v3.0}{2013/07/21}{New macro. Current script size and text
-% color is stored inside}
+% \begin{macro}{ \@@_parse_command_options:N }
+% This command (also copied) goes through the option-definitions (in
+% my case only 'm' and 'O\{...\}') character for character. If 'O'
+% is found a (somehow) special command is used.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_parse_command_options:N #1
+ {
+ \quark_if_recursion_tail_stop:N #1
+ \tl_if_eq:NNTF #1 O
+ { \@@_parse_option_type_O:w #1 }
+ { \@@_parse_option_type:w #1 }
+ }
+% \end{macrocode}
+% \end{macro}
%
-% The \verb|\sbox| and \verb|\usebox| system I am using now has one
-% drawback: If the symbol was used inside e.g. \verb|\color{red}| all
-% other symbols of the same type are red, even if they are in normal
-% text, or even inside another color.
-%
-% The same with e.g. \verb|\small|. If a symbol was used the first
-% time inside e.g. \verb|\small| all other symbols of the same type
-% are as small as the first one.
+% \begin{macro}{ \@@_parse_option_type:w }
+% Just saves the input in a clist. Does nothing more.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_parse_option_type:w #1
+ {
+ \clist_put_right:Nn \l_tmpa_clist {#1}
+ \@@_parse_command_options:N
+ }
+% \end{macrocode}
+% \end{macro}
%
-% To overcome this problem, the save-boxes name depends of the
-% current color and the current script size. These things are stored
-% inside \verb|\current@tikzsymbols|.
+% \begin{macro}{ \@@_parse_option_type_O:w }
+% Used if an optional argument is found. Saves the default value of
+% the optional argument in \Makro{@@_if_empty:nn}.
% \begin{macrocode}
-\newcommand*{\current@tikzsymbols}{}
+\cs_new_protected:Npn \@@_parse_option_type_O:w #1#2
+ {
+ \clist_put_right:Nn \l_tmpa_clist { >{ \@@_if_empty:nn {#2} } O{#2} }
+ \@@_parse_command_options:N
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
-%\begin{macro}{\tikzsymbols@ifsaveboxundefined}
-% \changes{v3.0}{2013/07/21}{New macro. Checks if save-box is
-% undefined, if true: does nothing; if false: defined new box.}
-%
-% For every symbol we define a box (using \Makro{sbox}). If a symbol
-% of the same type is used again, it doesn't have to be
-% recalculated. We simply use the same output as the first symbol. If
-% the symbol has another input, a new save-box is defined.
-%
-% For example:
-% \verb|\Summertree[1]|\verb|\Summertree[1]|\verb|\Summertree[1]| is
-% only calculated once because they are alike:
-% \Summertree[1]\Summertree[1]\Summertree[1]. \verb|\Summertree[1.3]|
-% will be saved in an own save-box because it is different then the
-% others.
-%
-% \begin{macrocode}
-\newcommand*{\tikzsymbols@ifsaveboxundefined}[2]{%
- \edef\current@tikzsymbols{\current@color\f@size}%
- \expandafter\ifcsname\current@tikzsymbols tikzsymbols@savebox@#1\endcsname%
- \relax%
- \else%
- \expandafter\expandafter\expandafter\newsavebox%
- \expandafter\expandafter\expandafter{%
- \csname\current@tikzsymbols tikzsymbols@savebox@#1\endcsname}%
- \expandafter\expandafter\expandafter\global%
- \expandafter\expandafter\expandafter\sbox%
- \expandafter\expandafter\expandafter{%
- \csname\current@tikzsymbols tikzsymbols@savebox@#1\endcsname}{#2}%
- \fi%
-}
+%
+% \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
+% arguments in a \verb|\l_tmpa_clist| and adds
+% \verb|>{ \@@_if_empty:nn {#2} }| if an optional argument is
+% found. Yeah. I think the rest is self-explaining.
+% \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}
+ \exp_args:Ncx \DeclareDocumentCommand
+ { \g_@@_command_prefix_tl #1 }
+ { \clist_use:Nn \l_tmpa_clist {} }
+ {
+ \cs_if_exist:NT \tikzsymbolsaftersymbolinput
+ {
+ \msg_error:nn { tikzsymbols } { tikzsymbolsaftersymbolinput }
+ }
+ #3
+ \tl_use:N \l_@@_tikzsymbols_after_symbol_tl
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
-%\begin{macro}{\tikzsymbols@use@box}
-% \changes{v3.0}{2013/07/21}{New macro. Prints the savebox}
-% \Package{tikzsymbols} version of \Makro{usebox}.
+% \begin{macro}{ \@@_Declare_Document_Commands:nnnn }
+% Needed for cooking-symbols. Automatically defines the english name
+% given in the second argument.
% \begin{macrocode}
-\newcommand*\tikzsymbols@use@box[1]{%
- \expandafter\expandafter\expandafter\usebox%
- \expandafter\expandafter\expandafter{%
- \csname\current@tikzsymbols tikzsymbols@savebox@#1\endcsname}%
-}
+\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} \\
+ }
+ \prop_gput:Nnn \g_@@_english_commands_prop {#2} {#1}
+ \@@_Declare_Document_Command:nnn {#1} {#3} {#4}
+ \@@_let:nn {#2} {#1}
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
+%
+%
+%
+%
+%
+%
%
%
-%\begin{macro}{\ifKV@tikzsymbols@usebox = true}
-% If option \Option{usebox} is \Option{false}, then
-% \verb|\tikzsymbols@ifsaveboxundefined| and
-% \verb|\tikzsymbols@use@box| will be redefined so that they don't
-% store the input inside a save-box.
+%
+% \begin{macro}{ \@@_let:nn }
+% Used to define the english commands. It's a simple
+% \Makro{cs_set_eq:cc} adding the prefix to the command-name.
% \begin{macrocode}
-\ifKV@tikzsymbols@usebox
- \relax% if true
- \else
- \renewcommand{\tikzsymbols@ifsaveboxundefined}[2]{\@secondoftwo{#1}{#2}}%
- \renewcommand{\tikzsymbols@use@box}[1]{\@gobble{#1}}%
-\fi
+\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}
-%\end{macro}
+% \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}
+%
+%
+%
+%\subsection{Tree commands}
+%\label{sec:tree-commands}
+%
+%
+%
+% \begin{macro}{ \c_@@_tikz_set_tl }
+% First I define \verb|\c_@@_tikz_set_tl|, it contains the setup for
+% the tree. This definition is pretty much the definition from the
+% \Package{tikz} package.
+% \begin{macrocode}
+\tl_const:Nn \c_@@_tikz_set_tl
+ {
+ \tikzset
+ {
+ @@_ld/.style={ level ~ distance=#1ex },
+ @@_lw/.style={ line ~ width=#1ex },
+ level ~ 1/.style={ @@_ld=0.60, @@_trunk, @@_lw=0.1 ,sibling ~ angle=60 },
+ level ~ 2/.style={ @@_ld=0.20, @@_trunk!80!@@_leaf ~ a, @@_lw=.073,sibling ~ angle=70 },
+ level ~ 3/.style={ @@_ld=0.25, @@_trunk!60!@@_leaf ~ a, @@_lw=.05,sibling ~ angle=70 },
+ level ~ 4/.style={ @@_ld=0.10, @@_trunk!40!@@_leaf ~ a, @@_lw=.025,sibling ~ angle=60 },
+ level ~ 5/.style={ @@_ld=0.15, @@_trunk!20!@@_leaf ~ a, @@_lw=.02,sibling ~ angle=60 },
+ level ~ 6/.style={ @@_ld=0.08, @@_leaf ~ a, @@_lw=.021,sibling ~ angle=60 },
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \begin{macro}{ \@@_Basic_Tree_off:nnnnn }
+% This command creates not inly the plain vanilla draftbox, but also a box
+% drawn by \Package{tikz} using the colors of the tree to color the
+% lines. If the last argument is 'leaf', the box has a bottom line, if
+% it is empty the bottom line disappears.
+% \begin{macrocode}
+\cs_new:Npn \@@_Basic_Tree_off:nnnnn #1#2#3#4#5
+ {
+ \group_begin:
+ \@@_set_scale_abs_tl:n {#1}
+ \dim_set:Nn \l_tmpa_dim { \fp_to_dim:n { abs( #1 + 0.02 ex ) } }
+ \tl_set:Nn \l_tmpa_tl {#5}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \tl_if_eq:NNTF \c_@@_leaf_tl \l_tmpa_tl
+ {
+ \@@_create_draftbox:nn
+ { (1.6772ex+0.4pt) * \l_tmpa_dim }
+ { (1.42ex-0.2pt+0.4pt) * \l_tmpa_dim }
+ }{
+ \@@_create_draftbox:nn
+ { (1.3996ex+0.4pt) * \l_tmpa_dim }
+ { (1.28ex-0.2pt+0.4pt) * \l_tmpa_dim }
+ }
+ }{
+ \begin{tikzpicture}[scale=#1+0.02ex,x=1ex,y=1ex, line ~ width=0.4pt * \l_tmpa_dim]
+ \tl_if_eq:NNTF \c_@@_leaf_tl \l_tmpa_tl
+ {
+ \draw[#2] (-0.8386,0+0.2pt) -- (-0.8386,1.42);
+ \draw[#3] (-0.8386,1.42) -- (0.8386,1.42);
+ \draw[#4] (0.8386,1.42) -- (0.8386,0+0.2pt);
+ \draw[#3] (0.8386,0+0.2pt) -- (0,0+0.2pt);
+ \draw[#4] (0,0+0.2pt) -- (-0.8386,0+0.2pt);
+ }{
+ \draw[#2] (-0.6998,0+0.2pt) -- (-0.6998,0.68+0.6);
+ \draw[#3] (-0.6998,0.68+0.6) -- (0.6998,0.68+0.6);
+ \draw[#4] (0.6998,0.68+0.6) -- (0.6998,0+0.2pt);
+ }
+ \end{tikzpicture}%
+ }
+ \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{ \@@_Basic_Tree_on:nnnnn }
+% Prints the tree in all its glory. Again, this code is more or less
+% \Makro{l_@@_scale_negative_bool} is used in here.
+% copy and pasted from the \Package{tikz} manual.
+% \begin{macrocode}
+\cs_new:Npn \@@_Basic_Tree_on:nnnnn #1#2#3#4#5
+ {
+ \group_begin:
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ { \@@_Basic_Tree_off:nnnnn {#1} {#2} {#3} {#4} {#5} }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \fp_compare:nT { #1 < 0 } { \bool_set_true:N \l_@@_scale_negative_bool }
+ \tl_set:Nn \l_tmpa_tl {#5}
+ \tl_use:N \c_@@_tikz_set_tl
+ \colorlet { @@_trunk } {#2}
+ \colorlet { @@_leaf ~ a } {#3}
+ \colorlet { @@_leaf ~ b } {#4}
+ \begin{tikzpicture}[ x=1ex , y=1ex , line ~ width=0.07ex]
+ \pgfarrowsdeclare{leaf}{leaf}
+ { \pgfarrowsleftextend { -0.1ex } \pgfarrowsrightextend { -0.05ex } }
+ {
+ \pgfpathmoveto { \pgfpoint { -0.01ex } { 0ex } }
+ \pgfpatharc { 150 } { 30 } { 0.08ex }
+ \pgfpatharc {-30} {-150} { 0.08ex }
+ \pgfusepathqfill
+ }
+ \tl_if_eq:NNTF \c_@@_leaf_tl \l_tmpa_tl
+ {
+ \draw[transparent , scale=#1+0.02ex , line ~ width=0.4pt* \l_@@_scale_abs_tl ]
+ (-0.8386,0+0.2pt) rectangle (0.8386, 1.42);
+ }{
+ \draw[transparent , scale=#1+0.02ex , line ~ width=0.4pt* \l_@@_scale_abs_tl ]
+ (-0.6998,0+0.2pt) rectangle (0.6998,0.68+0.6);
+ }
+ \pgflowlevel { \pgftransformscale { #1 + 0.02ex } }
+ {
+ \coordinate (root) [grow ~ cyclic , rotate=90] child
+ {
+ child [line ~ cap=round] foreach \a in { 0 , 1 , 2 }
+ {
+ child ~ foreach \b in { 0 , 1 }
+ {
+ child ~ foreach \c in { 0 , 1 , 2 }
+ { child ~ foreach \d in { 0 , 1 }
+ {
+ child ~ foreach ~ \leafcolor in { @@_leaf ~ a , @@_leaf ~ b }
+ { edge ~ from ~ parent ~ [color=\leafcolor,-#5]}
+ }
+ }
+ }
+ }
+ edge ~ from ~ parent [shorten ~ >=-0.05ex, serif ~ cm- , line ~ cap=butt]
+ };
+ }
+ \end{tikzpicture}
+ \bool_set_false:N \l_@@_scale_negative_bool
+ }
+ \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% Thats the end of our tree drawing commands. \Makro{BasicTree}
+% itself is defined later.
+%
+% \subsection{cooking utensils}
+%
+% Now let's define the cooking utensils (or cooking tools,
+% whatever).
+%
+% \begin{macro}{ \Kochtopf , \pot }
+% I think this was my first cooking utensil I made. It's a pot
+% containing boiling water. To create the german and english command
+% at the same time I use \Makro{@@_Declare_Document_Commands:nnnn}.
+% The buildup of this commands, as you saw ob subsection above, is
+% alway the same. First is the definition of the savebox. Inside the
+% absolute scaling value is safed and then checked if the plain
+% vanilla draft-boxes or the tool itself should be printed. The
+% draftbox is created via \Makro{@@_create_draftbox:nn} and contains
+% the necessary dimensions so that the output of the surroundings of
+% 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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Kochtopf_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.47ex * \l_@@_scale_abs_tl }
+ { 1.577ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}[x=2ex,y=2.2ex, line ~ width=0.07ex *
+ \l_@@_scale_abs_tl , scale=#1 ]
+% \end{macrocode}
+% Let's draw the pot.
+% \begin{macrocode}
+ \draw[rounded ~ corners=0.2ex * \l_@@_scale_abs_tl] (0,0.5) -- (0,0) -- (1,0) -- (1,0.5);
+ \draw (0,0.4) arc [start ~ angle=90, end ~ angle=270, radius=0.1];
+ \draw (1,0.4) arc [start ~ angle=90, end ~ angle=-90, radius=0.1];
+ \draw (0,0.5) -- (1,0.5) .. controls (1,0.6) and (0,0.6) .. (0,0.5);
+ \draw (0.6,0.585) arc [start ~ angle=0, end ~ angle=180, radius=0.1];
+% \end{macrocode}
+% Let's draw the water.
+% \begin{macrocode}
+ \draw[decorate, decoration=
+ { snake , amplitude=0.12ex*\l_@@_scale_abs_tl , segment ~ length=0.93ex * \l_@@_scale_abs_tl } ]
+ (0,0.35) -- (1,0.35);
+% \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);
+ \end{tikzpicture}
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{ \Bratpfanne , \fryingpan }
+% 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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Bratpfanne_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 3.5535ex * \l_@@_scale_abs_tl }
+ { 1.4525ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.7ex , y=1.4ex , line ~ width=0.07ex * \l_@@_scale_abs_tl,
+ scale=#1 , decoration=
+ {
+ snake , amplitude = 0.05ex * \l_@@_scale_abs_tl ,
+ segment ~ length = 0.408ex * \l_@@_scale_abs_tl
+ }
+ ]
+% \end{macrocode}
+% Drawing the actual fryingpan.
+% \begin{macrocode}
+ \draw[rounded ~ corners = 0.07ex * \l_@@_scale_abs_tl]
+ (-1,0) -- (1,0) -- (1.5,0.4) -- (-1.5,0.4) -- cycle;
+ \draw[line ~ width = 0.037ex * \l_@@_scale_abs_tl , rounded ~ corners=0.023ex * \l_@@_scale_abs_tl]
+ (-1.4,0.3) -- (-3.5,0.3) -- (-3.5,0.25) -- (-1.3,0.25);
+ \draw[line ~ width=0.023ex * \l_@@_scale_abs_tl ]
+ (-1.1,0.1) -- (1.1,0.1);
+% \end{macrocode}
+% The following code prints the \dots\ ahm \dots\ Hitzwellen die aus
+% der Pfanne aufsteigen (oder so).
+% \begin{macrocode}
+ \foreach \l_tmpa_tl in { -0.3, 0.3, -1 , 1 }
+ \draw[line ~ width=0.035ex * \l_@@_scale_abs_tl, decorate] ( \l_tmpa_tl , 0.5 ) -- ( \l_tmpa_tl , 1 );
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \begin{macro}{ \Schneebesen , \eggbeater }
+% \begin{macrocode}
+\@@_Declare_Document_Commands:nnnn { Schneebesen } { eggbeater } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schneebesen_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 0.5697ex * \l_@@_scale_abs_tl }
+ { 1.57985ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ y=2.1ex,x=1.4ex, scale=#1,
+ line ~ width = 0.01ex * \l_@@_scale_abs_tl * 0.97
+ ]
+ \foreach \l_tmpa_fp in { -0.2 , -0.15, -0.1, -0.05, 0, 0.05, 0.1, 0.15, 0.2 }
+ \draw (0,0) .. controls ( \l_tmpa_fp , 0.0) and ( \l_tmpa_fp ,0.2) .. (0,0.4);
+ \fill
+ [
+ line ~ width = 0.05ex * \l_@@_scale_abs_tl ,
+ rounded ~ corners=0.07ex* \l_@@_scale_abs_tl
+ ]
+ (-0.05,0.37) -- (0.05,0.37) -- (0.05,0.75) -- (-0.05,0.75) -- cycle;
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
%
-%\begin{macro}{\tkzsymbls@Declare@Robust@Command}
-% \changes{v3.0}{2013/07/21}{New macro. Is needed for option prefix}
%
-% To make use of the \Option{prefix} option (and to write less), I am
-% using these commands. If \verb|<prefix>| is empty, the commands
-% will be \enquote{normal}: \verb|\Smiley| will be \verb|\Smiley|,
-% etc.
+%
+%
+% \begin{macro}{ \Sieb , \sieve }
+% A sieve, now the lines are not drawn manually, but using the power
+% 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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sieb_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 3.478ex * \l_@@_scale_abs_tl }
+ { 1.175ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.8ex, y=2.8ex,line ~ width=0.02ex * \l_@@_scale_abs_tl , scale=#1
+ ]
+% \end{macrocode}
+% Drawing a simple line to hold the sieve.
+% \begin{macrocode}
+ \draw[line ~ width=0.09ex* \l_@@_scale_abs_tl ] (-0.2,0) -- (1.01,0);
+% \end{macrocode}
+% Drawing halved circles with decreasing radius.
+% \begin{macrocode}
+ \foreach \l_tmpa_fp in { 0.2 , 0.25 , ... , 0.551 }
+ \draw (\l_tmpa_fp,0) arc [start ~ angle=180, end ~ angle=360, radius=0.6-\l_tmpa_fp];
+% \end{macrocode}
+% Drawing the vertical lines of the sieve. Ahm, I may should explain
+% how this code works. \Makro{l_tmpa_fp} (again misused I think)
+% contains the starting point of the lines which will go from top to
+% bottom.
+%
+% Our sieve is looking like this at the moment:
+%
+%\begin{center}
+%\begin{tikzpicture}[scale=5]
+% \draw[very thick]
+% (-0.2,0) node [ anchor=east ]{-0.2} -- (1.01,0) node [ anchor=west ]{1.01};
+% \draw[dashed] (0.6,-0.5) -- (0.6,0.1);
+% \draw (0.6,0) node [anchor=south west] {0.6};
+% \foreach \x in { 0.2 , 0.25 , ... , 0.551 }
+% \draw (\x,0) arc [start angle=180, end angle=360, radius=0.6-\x];
+%\end{tikzpicture}
+%\end{center}
%
-% If \verb|<prefix>| is not empty the commands will be defined as
-% \verb|\<prefix>command| e.g. \verb|\<prefix>Smiley| , etc.
+% The largest circle end at the coordinate (1,0) and so its radius is $r=0.4$.
+% Now we want to draw a line from the beginning of a smaller circle
+% to the largest circle. We take for example the next smaller circle:
+%
+% \begin{center}
+%\begin{tikzpicture}[scale=5]
+% \draw[very thick] (-0.2,0) node [ anchor=east ]{-0.2} -- (1.01,0) node [ anchor=west ]{1.01};
+% \draw[dashed] (0.6,-0.5) -- (0.6,0.1);
+% \draw (0.6,0) node [anchor=south west] {0.6};
+% \draw[dashed] (0.2,0) arc [start angle=180, end angle=360, radius=0.4];
+% \draw (0.3,0) node[above=1pt]{0.3} arc [start angle=180, end angle=360, radius=0.6-0.3] node [above]{0.9};
+% \draw[brown,dashed,->] (0.6,0) -- node[right]{0.4} ( {0.6 - cos ( 45 ) *0.4 },{ sin ( -45 )*0.4 });
+%\end{tikzpicture}
+% \end{center}
+%
+% The dashed line shows the largest circle. The only things we know are
+% the length $l$ from the middle of the circle (0.6 , 0) to the starting point (0.9 , 0):
+% $l=0.9-0.6$ and we know the radius of the circle: $r=0.4$. The next picture \dots
+% pictures this:
+%
+% \begin{center}
+%\begin{tikzpicture}[scale=5]
+% \draw[thick] (-0.2,0) -- (1.01,0) ;
+% \draw[dashed] (0.6,-0.5) -- (0.6,0.1);
+% \draw[dashed] (0.2,0) arc [start angle=180, end angle=360, radius=0.4];
+% \draw (0.3,0) arc [start angle=180, end angle=360, radius=0.6-0.3] ;
+% \draw[green,very thick] (0.6,0) -- node [above,fill=white] {$l= 0.9-0.6=0.3$} (0.9,0);
+% \draw[red,very thick] (0.9,0) -- node [right,fill=white] {$h=?$} ( 0.9, { -0.4 * sin( acos( ( 0.9 - 0.6 ) /0.4) ) } );
+% \draw[brown] (0.6,0) -- node [left=8pt,fill=white] {$r=0.4$} ( 0.9, { -0.4 * sin( acos( ( 0.9 - 0.6 ) /0.4) ) } );
+% \draw[orange,very thick] (0.8,0) node [anchor=north east] {$\alpha$} arc [start angle=0, end angle={-acos( ( 0.9 - 0.6 ) /0.4)}, radius=0.2];
+%\end{tikzpicture}
+% \end{center}
+%
+% We have the length and the radius and need the height $h$. The easiest way would
+% be the use of the sinus: $\sin(\alpha)=\frac{h}{r}$, but we don't have $\alpha$,
+% so we have to make an extra calculation:
+%
+%\begin{align}
+% \cos(\alpha) &= \frac{ l }{ r } = \frac{0.9-0.6}{0.4} && / \arccos(...) \\
+% \alpha &= \arccos\bigg( \frac{0.9-0.6}{0.4} \bigg)
+%\end{align}
+%
+% Now we have the angle $\alpha$ and can calculate the height $h$:
+%
+%\begin{align}
+% -\sin(\alpha) &= \frac { h } { 0.4 } && / \cdot 0.4 \\
+% h &= -0.4 \cdot \sin(\alpha) && / \alpha = ... \\
+% h &= -0.4 \cdot \sin\bigg[\arccos\bigg( \frac{0.9-0.6}{0.4} \bigg)\bigg]
+%\end{align}
+%
+% And to use it as a overall formula:
+%
+%\begin{equation}
+% h = -0.4 \cdot \sin\bigg[\arccos\bigg( \frac{ \backslash l\_tmpa\_fp -0.6 }{0.4} \bigg)\bigg]
+%\end{equation}
+%
+% Using this formula we can draw the line (\textbackslash l\_tmpa\_fp,0) -{}- (\textbackslash l\_tmpa\_fp,h):
+%
+% Something similar is used for the horizontal lines.
%
-% Furthermore a new command is defined. \verb|tikzsymbolsuse| needs
-% this command to specify wherever the input is a symbol of
-% \Package{tikzsymbols} or not.
% \begin{macrocode}
-\newcommand{\tkzsymbls@Declare@Robust@Command}[1]{%
- \expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
- \expandafter\DeclareRobustCommand%
- \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
-}
+ \foreach \l_tmpa_fp in { 0.95,0.9,...,0.249 }
+ \draw (\l_tmpa_fp,0) --
+ ( \l_tmpa_fp, { -0.4 * sin( acos( ( \l_tmpa_fp - 0.6 ) /0.4) ) } );
+ \foreach \y in { -0.05 , -0.1 , ... , -0.351 }
+ \pgfmathsetmacro{\x}{0.4*cos( asin( \y /0.4 ) )}
+ \draw ({0.6 - \x },\y) -- ({ 0.6 +\x},\y);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% I hope I was able to explain it.
+% \end{macro}
+%
%
-%\begin{macro}{\tkzsymbls@Declare@Robust@Commandx}
-% \changes{v3.0}{2013/07/21}{New macro. Is needed for option prefix}
-% Same as before
+%
+%
+% \begin{macro}{ \Purierstab , \blender }
+% Ein P\"urierstab \dots\ ja.
% \begin{macrocode}
-\newcommand{\tkzsymbls@Declare@Robust@Commandx}[1]{%
- \expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
- \expandafter\DeclareRobustCommandx%
- \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
-}
+\@@_Declare_Document_Commands:nnnn { Purierstab } { blender } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Purierstab_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 0.76ex * \l_@@_scale_abs_tl }
+ { 1.575ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.3ex , y=2.2ex, line ~ width=0.07ex * \l_@@_scale_abs_tl ,scale = #1
+ ]
+ \draw[rounded ~ corners=0.07ex* \l_@@_scale_abs_tl ]
+ (0,0) -- (0.3,0) -- (0.15,0.1) --cycle;
+ \fill[rounded ~ corners=0.07ex* \l_@@_scale_abs_tl ]
+ (0.15,0.3) -- (0.24,0.4) -- (0.24,0.7) -- (0.06,0.7) -- (0.06,0.4) -- cycle;
+ \draw (0.15,0.4) -- (0.15,0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
+%
+%
+%
%
-%\begin{macro}{\tkzsymblsnewcommand}
-% \changes{v3.0}{2013/07/21}{New macro. Is needed for option prefix}
-% Same as before
+% \begin{macro}{ \Dreizack , \trident }
+% A trident, an important tool to check if potatoes are cooked enough.
% \begin{macrocode}
-\newcommand{\tkzsymblsnewcommand}[1]{%
- \expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
- \expandafter\newcommand%
- \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
-}
+\@@_Declare_Document_Commands:nnnn { Dreizack } { trident } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Dreizack_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 0.265ex * \l_@@_scale_abs_tl }
+ { 1.575ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.3ex , y=2.2ex , line ~ width=0.035ex * \l_@@_scale_abs_tl , scale = #1
+ ]
+ \fill[ rounded ~ corners=0.07ex * \l_@@_scale_abs_tl * 0.99 ]
+ (0,0) -- (0,0.4) -- (0.1,0.4) -- (0.1,0.0) -- cycle;
+ \draw (0.05,0) -- (0.05,0.7);
+ \draw[rounded ~ corners=0.07ex * \l_@@_scale_abs_tl *( 1 - \l_@@_scale_abs_tl /50 ]
+ (0,0.7) -- (0,0.55) -- (0.05,0.55) -- (0.1,0.55) -- (0.1,0.7);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
%
-%\begin{macro}{\tikzsymbolsuse}
-% \changes{v3.0}{2013/07/21}{New macro. Using symbols without
-% carrying about the prefix}
%
-% To be able to don't have to care about the prefix, I made this
-% command. Simply write the name of the symbols inside without
-% backslash. If the symbol is not defined, there will be an error
-% message.
+% \begin{macro}{ \Backblech , \bakingplate }
+% With holes.
% \begin{macrocode}
-\newcommand{\tikzsymbolsuse}[1]{%
- \ifcsname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname%
- \relax\else\PackageError{tikzsymbols}{\MessageBreak%
- Undefined Control sequence: '#1'}{Did you write the name correctly?}\fi%
- \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
-}
+\@@_Declare_Document_Commands:nnnn { Backblech } { bakingplate } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Backblech_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.3155ex * \l_@@_scale_abs_tl }
+ { 1.57ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=6.53ex , y=5ex , line ~ width=0.07ex * \l_@@_scale_abs_tl , scale = #1
+ ]
+ \filldraw[rounded ~ corners=0.09ex * \l_@@_scale_abs_tl ] (0,0) rectangle (0.3,0.3);
+ \foreach \xI/\xII in { 0.1/-0.025 , 0.2/0.325 }
+ \draw[rounded ~ corners=0.07ex * \l_@@_scale_abs_tl , line ~ width=0.03ex* \l_@@_scale_abs_tl ]
+ (\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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
-%\begin{macro}{\tikzsymbols@let}
-% \changes{v3.0}{2013/07/21}{New macro. \cs{let} with prefix}
-% \verb|\eggbeater| is the same as \verb|\Schneebesen|
-% (\verb|\let\eggbeater\Schneebesen|). To make the prefix also for
-% the \verb|\let| commands, I defined my own let-command
-% \begin{macrocode}
-\newcommand{\tikzsymbols@let}[2]{%
- \expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
- \expandafter\expandafter\expandafter\let%
- \expandafter\csname\expandafter\cmdKV@tikzsymbols@prefix%
- \expandafter#1\expandafter\endcsname%
- \csname\cmdKV@tikzsymbols@prefix#2\endcsname%
-}
+%
+%
+%
+% \begin{macro}{ \Ofen , \oven }
+% Ein Ofen. Sieht eigentlich so aus wie der zu Hause.
+% \begin{macrocode}
+\@@_Declare_Document_Commands:nnnn { Ofen } { oven } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Ofen_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.07ex * \l_@@_scale_abs_tl }
+ { 1.57ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.50ex , y=0.5ex , line ~ width=0.07ex * \l_@@_scale_abs_tl , scale=#1
+ ]
+ \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);
+ \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}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
%
%
-%\begin{macro}{\@Tree@SetUp}
-% First we define our \verb|\@Tree@SetUp| (how the trees will look
-% like) (I used the code from the \Package{tikz} manual and changed
-% it a little bit):
+% \begin{macro}{ \Pfanne , \pan }
+% A pan with a wave-decoration. Resembles the one at home.
% \begin{macrocode}
-\def\@Tree@SetUp{\tikzset{%
- ld/.style={level distance=##1ex},lw/.style={line width=##1ex},%
- level 1/.style={ld=0.60, trunk, lw=0.1 ,sibling angle=60},%
- level 2/.style={ld=0.20, trunk!80!leaf a, lw=.073,sibling angle=70},%
- level 3/.style={ld=0.25, trunk!60!leaf a, lw=.05,sibling angle=70}, %
- level 4/.style={ld=0.10, trunk!40!leaf a, lw=.025,sibling angle=60},%
- level 5/.style={ld=0.15, trunk!20!leaf a, lw=.02,sibling angle=60},%
- level 6/.style={ld=0.08, leaf a, lw=.021,sibling angle=60},%
-}}%
+\@@_Declare_Document_Commands:nnnn { Pfanne } { pan } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Pfanne_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 3.034ex * \l_@@_scale_abs_tl }
+ { 0.78ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.3ex , y=2.3ex , line ~ width=0.09ex * \l_@@_scale_abs_tl , scale=#1
+ ]
+ \draw [rounded ~ corners = 0.023ex * \l_@@_scale_abs_tl ]
+ (0,0) -- (0.9,0) -- (1,0.3) -- (-0.1,0.3) -- cycle;
+ \draw (-0.2,0.22) -- (-0.08,0.22);
+ \draw (0.97,0.22) -- (1.08,0.22);
+ \draw
+ [
+ decorate , decoration=
+ {
+ snake,amplitude =.046ex* \l_@@_scale_abs_tl ,
+ segment ~ length = 0.82ex* \l_@@_scale_abs_tl
+ },
+ line ~ width=0.05ex* \l_@@_scale_abs_tl
+ ]
+ (-0.05,0.1) -- (0.95,0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
+%
+%
%
%
-%\begin{macro}{\Basic@Tree}
-% \verb|\Basic@Tree@off| and \verb|\Basic@Tree@on| are necessary for
-% option \Option{tree}, \Option{draft} and \Option{final}.
-%
-%
-%\begin{macro}{\Basic@Tree@ff}
-% \changes{v3.0}{2013/07/21}{Draft rectangle same size as normal
-% tree. Changed parts of the code} \verb|\Basic@Tree@off| is used
-% when trees are turned off.
-% \begin{macrocode}
-\DeclareRobustCommandx{\Basic@Tree@off}[5][1=1, usedefault]{{%
- \set@tkzsymblsscl{#1}%
- \pgfmathsetmacro\tikzsymbols@Tree@absolute@scale{#1+0.02ex}%
- \edef\tkzsymbls@Prmtr{\ifdim\tkzsymbls@scl<0pt-\fi\tikzsymbols@Tree@absolute@scale}%
- \ifdim\tkzsymbls@scl<0pt \set@tkzsymblsscl{-#1}\fi%
- \def\tikzsymbols@leaf@or@not@leaf{#5}%
- \iftikzymbols@draftabsolute%
- \ifx\tikzsymbols@leaf@or@not@leaf\tikzsymbols@leaf@is@leaf%
- \tikzsymbols@draftbox{(1.6772ex+0.4pt)*\tkzsymbls@Prmtr}
- {(1.42ex-0.2pt+0.4pt)*\tkzsymbls@Prmtr}%
- \else
- \tikzsymbols@draftbox{(1.3996ex+0.4pt)*\tkzsymbls@Prmtr}
- {(1.28ex-0.2pt+0.4pt)*\tkzsymbls@Prmtr}%
- \fi
- \else%
- \begin{tikzpicture}[scale=#1+0.02ex,x=1ex,y=1ex, line width=0.4pt*\tkzsymbls@scl]
- \ifx\tikzsymbols@leaf@or@not@leaf\tikzsymbols@leaf@is@leaf%
- \draw[#2] (-0.8386,0+0.2pt) -- (-0.8386,1.42);
- \draw[#3] (-0.8386,1.42) -- (0.8386,1.42);
- \draw[#4] (0.8386,1.42) -- (0.8386,0+0.2pt);
- \draw[#3] (0.8386,0+0.2pt) -- (0,0+0.2pt);
- \draw[#4] (0,0+0.2pt) -- (-0.8386,0+0.2pt);
- \else
- \draw[#2] (-0.6998,0+0.2pt) -- (-0.6998,0.68+0.6);
- \draw[#3] (-0.6998,0.68+0.6) -- (0.6998,0.68+0.6);
- \draw[#4] (0.6998,0.68+0.6) -- (0.6998,0+0.2pt);
- \fi%
- \end{tikzpicture}%
- \fi%
-}}
+% \begin{macro}{ \Herd , \cooker }
+% Needed to cook things. Is pretty much looks exactly like the one
+% at home.
+% \begin{macrocode}
+\@@_Declare_Document_Commands:nnnn { Herd } { cooker } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Herd_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.08ex * \l_@@_scale_abs_tl }
+ { 1.58ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex , y=1ex , line ~ width= 0.04ex * \l_@@_scale_abs_tl , scale = #1
+ ]
+ \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 (1.05,0.95) rectangle (1.85,1.35);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
-%\begin{macro}{\Basic@Tree@on}
-% \changes{v3.0}{2013/07/21}{Same here}
-% \changes{v3.0b}{2014/10/19}{Transfered \cs{pgfarrowsdeclare} inside
-% the tikzpicture environment. It seems this command produces an
-% unwanted space.}
-%
-% \verb|\Basic@Tree@on| is used when trees are turned on.
-% \begin{macrocode}
-\DeclareRobustCommandx{\Basic@Tree@on}[5][1=1, usedefault]{{%
- \iftikzymbols@draftabsolute%
- \Basic@Tree@off[#1]{#2}{#3}{#4}{#5}%
- \else%
- \set@tkzsymblsscl{#1}%
- \ifdim\tkzsymbls@scl<0pt \set@tkzsymblsscl{-#1}\@tkzssmbls@negtrue\fi%
- \def\tikzsymbols@leaf@or@not@leaf{#5}%
- \@Tree@SetUp%
- \colorlet{trunk}{#2}%
- \colorlet{leaf a}{#3}%
- \colorlet{leaf b}{#4}%
- \begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex]%
- \pgfarrowsdeclare{leaf}{leaf}%
- {\pgfarrowsleftextend{-.1ex}\pgfarrowsrightextend{-0.05ex}}%
- {%
- \pgfpathmoveto{\pgfpoint{-.01ex}{0ex}}%
- \pgfpatharc{150}{30}{0.08ex}%
- \pgfpatharc{-30}{-150}{0.08ex}%
- \pgfusepathqfill%
- }%
- \ifx\tikzsymbols@leaf@or@not@leaf\tikzsymbols@leaf@is@leaf%
- \draw[transparent,scale=#1+0.02ex, line width=0.4pt*\tkzsymbls@scl]
- (-0.8386,0+0.2pt) rectangle
- (0.8386, 1.42);
- \else %
- \draw[transparent,scale=#1+0.02ex, line width=0.4pt*\tkzsymbls@scl]
- (-0.6998,0+0.2pt) rectangle (0.6998,0.68+0.6);
- \fi
- \pgflowlevel{\pgftransformscale{#1+0.02ex}}{%
- \coordinate (root) [grow cyclic,rotate=90] child {
- child [line cap=round] foreach \a in {0,1, 2} { child foreach \b in {0,1} {
- child foreach \c in {0,1,2} { child foreach \d in {0,1} {
- child foreach \leafcolor in {leaf a,leaf b} { edge from parent [color=\leafcolor,-#5]}
- }}}} edge from parent [shorten >=-0.05ex,serif cm-,line cap=butt]
- };}%
- \end{tikzpicture}%
- \@tkzssmbls@negfalse%
- \fi%
-}}
+%
+%
+%
+% \begin{macro}{ \Saftpresse , \squeezer }
+% We have one of these, I still think its useful.
+% \begin{macrocode}
+\@@_Declare_Document_Commands:nnnn { Saftpresse } { squeezer } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Saftpresse_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.87ex * \l_@@_scale_abs_tl }
+ { 1.62ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1.2ex , y=1ex, line ~ width=0.07ex * \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \draw[rounded ~ corners=0.1ex * \l_@@_scale_abs_tl ]
+ (0,0) rectangle (1.5,0.85) -- cycle;
+ \draw (0,0.7) -- (1.5,0.7);
+ \foreach \xi/\xii in { 0.3/1.2 , 0.45/1.05 , 0.65/0.85 }
+ \draw[rounded ~ corners=0.1ex* \l_@@_scale_abs_tl ]
+ (\xi,0.7) -- (0.75,1.55) -- (\xii,0.7);
+ \draw
+ [
+ line ~ width=0.05ex* \l_@@_scale_abs_tl , decorate,
+ decoration=
+ {
+ snake,amplitude=0.05ex * \l_@@_scale_abs_tl ,
+ segment ~ length=0.48ex * \l_@@_scale_abs_tl
+ }
+ ] (0,0.3) -- (1.5,0.3);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
-%\end{macro}
+% \end{macro}
%
%
-% \subsection{Cookingsymbolcode}
-%
-%\begin{macro}{\Kochtopf,\pot}
-% I am using \verb|\DefineRobustCommand| so that the symbols can be
-% used inside \verb|\section{}|, \verb|\footnote|, \verb|\index{}|,
-% etc. It may would have worked with \Makro{newcommand} too.
-%
-% You can either use the german commands or the english ones:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Kochtopf}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Kochtopf#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.47ex*\tkzsymbls@Prmtr}{1.577ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2ex,y=2.2ex, line width=0.07ex*\tkzsymbls@scl,scale=#1]
- \draw[rounded corners=0.2ex*\tkzsymbls@scl] (0,0.5) -- (0,0) -- (1,0) -- (1,0.5);
- \draw (0,0.4) arc (90:270:0.1);
- \draw (1,0.4) arc (90:-90:0.1);
- \draw (0,0.5) -- (1,0.5) .. controls (1,0.6) and (0,0.6) .. (0,0.5);
- \draw (0.6,0.585) arc (0:180:0.1);
- \draw[decorate,
- decoration={snake,amplitude=.12ex*\tkzsymbls@scl,segment length=0.93ex*\tkzsymbls@scl}]
- (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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Kochtopf#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{pot}{Kochtopf}
+%
+%
+% \begin{macro}{ \Schussel , \bowl }
+% 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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schussel_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.32ex * \l_@@_scale_abs_tl }
+ { 1.47ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex , y=1ex , line ~ width=0.07ex * \l_@@_scale_abs_tl , scale=#1
+ ]
+ \draw[rounded ~ corners=0.5ex* \l_@@_scale_abs_tl ]
+ (-0.02,1.4) -- (0,1.4) -- (0,0.05) -- (1.5,0.05) -- (1.5,1.4) -- (1.52,1.4);
+ \draw (0.35,0) -- (1.15,0);
+ \draw[transparent] (-0.4,0) -- (1.85,0);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
-%\begin{macro}{\Bratpfanne,\fryingpan}
-%
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-%
-%^^A You may wonder why I am writing something like: \verb|amplitude=.12ex*#1|.
-%^^A Well it's hard to explain in english, but I try my best:
-%^^A After being scaled the symbols would not look so good without \verb|*#1|.
-%^^A The lines would be too thin, the corners not rounded enough, etc.
-%^^A To prevent too thin lines due to scaling I am multiplying the line width and the corners etc. so that they look the same, no matter how you scale it.
-%
-% If you wonder why I am using \verb|line width=0.07ex*\tkzsymbls@scl|
-% instead of \verb|line width=0.07ex*#1| I will try to explain it.
-%
-% After being multiplied by a negative number, the line widths would
-% be too thin for the size of the symbol. So it is necessary that the
-% line width is always scaled with a positive number. Thus I am using
-% \verb|\tkzsymbls@scl| because it is always positive.
-%
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Bratpfanne}[1][1]{%
- \tikzsymbols@ifsaveboxundefined{Bratpfanne#1}{%
- \set@tkzsymblsscl{#1}%
- \iftikzymbols@draftabsolute%
- \tksymbls@bx@Prmtrstore{#1}%
- \tikzsymbols@draftbox{3.5535ex*\tkzsymbls@Prmtr}{1.4525ex*\tkzsymbls@Prmtr}%
- \else%
- \ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
- \begin{tikzpicture}[x=0.7ex,y=1.4ex, line width=0.07ex*\tkzsymbls@scl, scale=#1,
- decoration={snake,amplitude=.05ex*\tkzsymbls@scl,
- segment length=0.408ex*\tkzsymbls@scl}]
- \draw[rounded corners=0.07ex*\tkzsymbls@scl]
- (-1,0) -- (1,0) -- (1.5,0.4) -- (-1.5,0.4) -- cycle;
- \draw[line width=0.037ex*\tkzsymbls@scl, rounded corners=0.023ex*\tkzsymbls@scl]
- (-1.4,0.3) -- (-3.5,0.3) -- (-3.5,0.25) -- (-1.3,0.25);
- \draw[line width=0.023ex*\tkzsymbls@scl] (-1.1,0.1) -- (1.1,0.1);
- \foreach \tikzsymbols@x in { -0.3, 0.3, -1 , 1 }
- \draw[line width=0.035ex*\tkzsymbls@scl, decorate] (\tikzsymbols@x,0.5) -- (\tikzsymbols@x,1);
- \end{tikzpicture}%
- \fi%
- }%
-\tikzsymbols@use@box{Bratpfanne#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{fryingpan}{Bratpfanne}
+%
+%
+% \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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Schaler_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.15ex * \l_@@_scale_abs_tl }
+ { 1.565ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.7ex , y=2.3ex , line ~ width=0.07ex * \l_@@_scale_abs_tl , scale=#1
+ ]
+ \draw[rounded ~ corners=0.07ex* \l_@@_scale_abs_tl ]
+ (0,0.4) -- (0,0.1) arc [start ~ angle=0, end ~ angle=180, radius=-0.1] -- (0.2,0.4) --
+ (0.3,0.5) -- (0.3,0.65) -- (0.2,0.65) -- (0.2,0.5) -- (0,0.5) -- (0,0.65) --
+ (-0.1,0.65) -- (-0.1,0.5) -- cycle;
+ \draw[line ~ width=0.03ex* \l_@@_scale_abs_tl ] (0,0.58) rectangle (0.2,0.6);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
-%\begin{macro}{\Schneebesen,\eggbeater}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% The next one:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Schneebesen}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Schneebesen#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{0.5697ex*\tkzsymbls@Prmtr}{1.57985ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[y=2.1ex,x=1.4ex, scale=#1,
- line width=0.01ex*\tkzsymbls@scl*0.97]
- \foreach \x in { -0.2 , -0.15, -0.1, -0.05, 0, 0.05, 0.1, 0.15, 0.2 }
- \draw (0,0) .. controls (\x,0.0) and (\x,0.2) .. (0,0.4);
-\fill[line width=0.05ex*\tkzsymbls@scl, rounded corners=0.07ex*\tkzsymbls@scl]
- (-0.05,0.37) -- (0.05,0.37) -- (0.05,0.75) -- (-0.05,0.75) -- cycle;
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Schneebesen#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{eggbeater}{Schneebesen}
+%
+%
+% \begin{macro}{ \Reibe , \grater }
+% I get out of ideas to write.
+% \begin{macrocode}
+\@@_Declare_Document_Commands:nnnn { Reibe } { grater } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Reibe_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.08ex * \l_@@_scale_abs_tl }
+ { 1.58ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex , y=1ex , line ~ width=0.08ex * \l_@@_scale_abs_tl , scale=#1
+ ]
+ \draw (0,0) rectangle (1,1.2);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
-%\end{macro}
+% \end{macro}
%
%
%
-%\begin{macro}{\Sieb,\sieve}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% Now a long one;
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Sieb}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Sieb#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{3.478ex*\tkzsymbls@Prmtr}{1.175ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.8ex, y=2.8ex,line width=0.02ex*\tkzsymbls@scl ,scale=#1]
-\draw[line width=0.09ex*\tkzsymbls@scl] (-0.2,0) -- (1.01,0);
-\foreach \pos in { 0.2,0.25,...,0.551 }
- \draw (\pos,0) arc [start angle=180, end angle=360, radius=0.6-\pos];
-\foreach \x in { 0.95,0.9,...,0.249 }
- \draw (\x,0) -- (\x,{ -0.4*sin(acos(( \x - 0.6 ) /0.4))});
-\foreach \y in { -0.05,-0.1,...,-0.351 }
- \pgfmathsetmacro{\x}{0.4*cos( asin( \y /0.4 ) )}
- \draw ({0.6 - \x },\y) -- ({ 0.6 +\x},\y);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Sieb#1}%
-\tikzsymbolsaftersymbolinput%
-}\tikzsymbols@let{sieve}{Sieb}
+%
+% \begin{macro}{ \Flasche , \bottle }
+% It's a bottle. Uhhhh\dots
+% \begin{macrocode}
+\@@_Declare_Document_Commands:nnnn { Flasche } { bottle } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Flasche_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 0.78ex * \l_@@_scale_abs_tl }
+ { 1.58ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex,y=1ex, line ~ width=0.08ex* \l_@@_scale_abs_tl ,
+ rounded ~ corners=0.08ex* \l_@@_scale_abs_tl , scale=#1
+ ]
+ \draw (0, 1.5) -- (0,1.2) -- (-0.15,0.8) -- (-0.15,0) --++
+ (0.6,0) --++ (0,0.8) --++ (-0.15,0.4) --++ (0,0.3) -- cycle;
+% \draw (-0.15,0.8) -- (0.45,0.8);
+% \draw (-0.15,0.3) -- (0.45,0.3);
+ \draw[transparent] (-0.2,0) --++ (0.7,0);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \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}
+%
+%
+%
+%
+%
+%
+% \subsection{Emoticonscode}
+%
+% Now the emoticons are coded.
+%
+%
+%
+%
+% \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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sadey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
+ \end{tikzpicture}
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{ \dSadey }
+% Coding the \enquote{3D} Sadey. Again, nothing special.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dSadey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSadey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw[black] (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\begin{macro}{ \Changey }
+% \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 }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Changey_#1_#2_#3 }
+ {
+ \fp_compare:nT { abs(#3) > 2 }
+ { \msg_error:nnn { tikzsymbols } { Changey-number-to-large } {#3} }
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#3 }
+ \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#3 }
+ \draw
+ ( -0.2 , \l_tmpa_tl ) .. controls
+ ( -0.1 , \l_tmpb_tl ) and
+ ( 0.1 , \l_tmpb_tl ) ..
+ ( 0.2 , \l_tmpa_tl ) ;
+ \end{tikzpicture}
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{ \dChangey }
+% \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 }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dChangey_#1_#2_#3 }
+ {
+ \fp_compare:nT { abs(#3) > 2 }
+ { \msg_error:nnn { tikzsymbols } { Changey-number-to-large } {#3} }
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \pgfmathsetmacro \l_tmpa_tl { -0.125 + 0.025*#3 }
+ \pgfmathsetmacro \l_tmpb_tl { \l_tmpa_tl - 0.1*#3 }
+ \draw[black]
+ ( -0.2 , \l_tmpa_tl ) .. controls
+ ( -0.1 , \l_tmpb_tl ) and
+ ( 0.1 , \l_tmpb_tl ) ..
+ ( 0.2 , \l_tmpa_tl ) ;
+ \end{tikzpicture}
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
-%\begin{macro}{\Purierstab,\blender}
-% Da es keine Umlaute gibt, werden \"a, \"u, \"o einfach zu: a, u, o.
-% This symbol is far from perfect. And I know that the correct
-% translation of \enquote{P\"urierstab} would be \enquote{immersion
-% blender}, but I am just using \enquote{blender}:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Purierstab}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Purierstab#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{0.76ex*\tkzsymbls@Prmtr}{1.575ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.3ex, y=2.2ex, line width=0.07ex*\tkzsymbls@scl,scale=#1]
-\draw[rounded corners=0.07ex*\tkzsymbls@scl] (0,0) -- (0.3,0) -- (0.15,0.1) --cycle;
-\fill[rounded corners=0.07ex*\tkzsymbls@scl] (0.15,0.3) -- (0.24,0.4) -- (0.24,0.7) --
- (0.06,0.7) -- (0.06,0.4) -- cycle;
-\draw (0.15,0.4) -- (0.15,0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Purierstab#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{blender}{Purierstab}
+%
+%
+%
+%
+%\begin{macro}{ \Annoey }
+% An annoyed Smiley. It's annoyed.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Annoey } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Annoey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Dreizack,\trident}
-% Important cooking-tool for cooking:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Dreizack}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Dreizack#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{0.265ex*\tkzsymbls@Prmtr}{1.575ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.3ex, y=2.2ex, line width=0.035ex*\tkzsymbls@scl,scale=#1]
-\fill[rounded corners=0.07ex*(\tkzsymbls@scl-\tkzsymbls@scl/100)]
-(0,0) -- (0,0.4) -- (0.1,0.4) -- (0.1,0.0) -- cycle;
-\draw (0.05,0) -- (0.05,0.7);
-\draw[rounded corners=0.07ex*(\tkzsymbls@scl-\tkzsymbls@scl/100*\tkzsymbls@scl*2]
-(0,0.7) -- (0,0.55) -- (0.05,0.55) -- (0.1,0.55) -- (0.1,0.7);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Dreizack#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{trident}{Dreizack}
+%
+%\begin{macro}{ \dAnnoey }
+% It's annoyed about 3D.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dAnnoey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dAnnoey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Backblech,\bakingplate}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% I may have too many strange named commands:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Backblech}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Backblech#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.3155ex*\tkzsymbls@Prmtr}{1.57ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=6.53ex,y=5ex, line width=0.07ex*\tkzsymbls@scl,scale=#1]
-\filldraw[rounded corners=0.09ex*\tkzsymbls@scl] (0,0) rectangle (0.3,0.3);
-\foreach \xI/\xII in { 0.1/-0.025 , 0.2/0.325 }
- \draw[rounded corners=0.07ex*\tkzsymbls@scl, line width=0.03ex*\tkzsymbls@scl]
- (\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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Backblech#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{bakingplate}{Backblech}
+%
+%
+%
+%
+% \begin{macro}{ \Smiley }
+% This command is not defined if the option \Option{marvosym}
+% is set to true.
+% \begin{macrocode}
+\bool_if:NF \g_@@_if_opt_marvosym_bool
+ {
+ \@@_Declare_Document_Command:nnn { Smiley } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Smiley_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Ofen = \oven}
-% I may have again too many strange named commands:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Ofen}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Ofen#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.07ex*\tkzsymbls@Prmtr}{1.57ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.50ex,y=0.5ex, line width=0.07ex*\tkzsymbls@scl,scale=#1]
-\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);
-\draw (1.5,2.28) rectangle (2.5,2.72);
-\draw[line width=0.05ex*\tkzsymbls@scl] (1,1.75) -- (3,1.75);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Ofen#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{oven}{Ofen}
+%\begin{macro}{ \dSmiley }
+% Again in \enquote{3D}.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dSmiley } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSmiley_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Pfanne,\pan}
-% A pan \dots What did you expect?
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Pfanne}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Pfanne#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{3.034ex*\tkzsymbls@Prmtr}{0.78ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.3ex,y=2.3ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\draw [rounded corners=0.023ex*\tkzsymbls@scl]
- (0,0) -- (0.9,0) -- (1,0.3) -- (-0.1,0.3) -- cycle;
-\draw (-0.2,0.22) -- (-0.08,0.22);
-\draw (0.97,0.22) -- (1.08,0.22);
-\draw[decorate,decoration={snake,amplitude=.046ex*\tkzsymbls@scl,
- segment length=0.82ex*\tkzsymbls@scl},line width=0.05ex*\tkzsymbls@scl]
- (-0.05,0.1) -- (0.95,0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Pfanne#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{pan}{Pfanne}
+%
+%
+%
+%
+% \begin{macro}{ \Laughey }
+% It's laughing.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Laughey } { O{1} O{none} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Laughey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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]
+ (-0.22,-0.0) .. controls (-0.13,-0.23) and (0.13,-0.23) .. (0.22,-0.0) -- cycle;
+
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Herd,\cooker}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% I hope it's the right translation:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Herd}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Herd#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.08ex*\tkzsymbls@Prmtr}{1.58ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex,line width=0.04ex*\tkzsymbls@scl,scale=#1]
-\draw[line width=0.08ex*\tkzsymbls@scl] (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 (1.05,0.95) rectangle (1.85,1.35);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Herd#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{cooker}{Herd}
+%\begin{macro}{ \dLaughey }
+% Also in \emph{3D}!
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dLaughey } { O{1} O{yellow} O{red} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dLaughey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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
+ [
+ ball ~ color=#3, rounded ~ corners=0.1ex* \l_@@_scale_abs_tl ,
+ yshift=-0.3
+ ]
+ (-0.25,-0.0) .. controls (-0.13,-0.26) and (0.13,-0.26) .. (0.25,-0.0) -- cycle;
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Saftpresse,\squeezer}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% It's an old squeezer:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Saftpresse}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Saftpresse#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.87ex*\tkzsymbls@Prmtr}{1.62ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1.2ex,y=1ex,line width=0.07ex*\tkzsymbls@scl,scale=#1]
-\draw[rounded corners=0.1ex*\tkzsymbls@scl]
- (0,0) rectangle (1.5,0.85) -- cycle;
-\draw (0,0.7) -- (1.5,0.7);
-\foreach \xi/\xii in { 0.3/1.2 , 0.45/1.05 , 0.65/0.85 }
- \draw[rounded corners=0.1ex*\tkzsymbls@scl]
- (\xi,0.7) -- (0.75,1.55) -- (\xii,0.7);
-\draw[line width=0.05ex*\tkzsymbls@scl, decorate,
- decoration={snake,amplitude=0.05ex*\tkzsymbls@scl,
- segment length=0.48ex*\tkzsymbls@scl}] (0,0.3) -- (1.5,0.3);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Saftpresse#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{squeezer}{Saftpresse}
+%
+%
+%
+%
+%\begin{macro}{ \Neutrey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Neutrey } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Neutrey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw (-0.2,-0.1) -- (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Schussel,\bowl}
-% It may looks a bit weird, but I like it. Wieder dasselbe mit den
-% Umlauten: \"u=u.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Schussel}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Schussel#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.32ex*\tkzsymbls@Prmtr}{1.47ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex*\tkzsymbls@scl, scale=#1]
-\draw[rounded corners=0.5ex*\tkzsymbls@scl]
- (-0.02,1.4) -- (0,1.4) -- (0,0.05) -- (1.5,0.05) -- (1.5,1.4) -- (1.52,1.4);
-\draw (0.35,0) -- (1.15,0);
-\draw[transparent] (-0.4,0) -- (1.85,0);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Schussel#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{bowl}{Schussel}
+%\begin{macro}{ \dNeutrey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dNeutrey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Neutrey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw[black] (-0.2,-0.1) -- (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
%
-%\begin{macro}{\Schaler,\peeler}
-% I cannot believe I forgot this command. I made it and forgot to
-% copy and paste it inside this document! Jedenfalls wieder \"a=a:
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Schaler}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Schaler#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.15ex*\tkzsymbls@Prmtr}{1.565ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.7ex,y=2.3ex, line width=0.07ex*\tkzsymbls@scl,scale=#1]
-\draw[rounded corners=0.07ex*\tkzsymbls@scl]
- (0,0.4) -- (0,0.1) arc (0:180:-0.1) -- (0.2,0.4)
- -- (0.3,0.5) -- (0.3,0.65) -- (0.2,0.65) -- (0.2,0.5) -- (0,0.5) -- (0,0.65) --
- (-0.1,0.65) -- (-0.1,0.5) -- cycle;
-\draw[line width=0.03ex*\tkzsymbls@scl] (0,0.58) rectangle (0.2,0.6);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Schaler#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{peeler}{Schaler}
+%
+%
+%
+%\begin{macro}{ \Winkey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Winkey } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Winkey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \filldraw[fill=#2] (0,0) circle (0.33);
+ \draw(0.17,0.1) -- (0.05,0.1);
+ \fill (-0.1,0.1) circle (0.05);
+ \draw (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Reibe,\grater}
-% \changes {v3.0a} {2013/08/06} {new command: \Makro{Reibe}} Text
-% hinschreiben\marginpar{Text hinschreiben}
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Reibe}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Reibe#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.08ex*\tkzsymbls@Prmtr}{1.58ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex, line width=0.08ex*\tkzsymbls@scl, scale=#1]%
-\draw (0,0) rectangle (1,1.2);
-\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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Reibe#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{grater}{Reibe}
+%\begin{macro}{ \oldWinkey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { oldWinkey } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { oldWinkey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \filldraw[fill=#2] (0,0) circle (0.33);
+ \draw(0.17,0.1) -- (0.05,0.1);
+ \fill (-0.1,0.1) circle (0.05);
+ \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Flasche,\bottle}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{transparent}.}
-% \changes {v3.0a} {2013/08/14} {new command: \Makro{Flasche}} Text
-% hinschreiben
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Flasche}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Flasche#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{0.78ex*\tkzsymbls@Prmtr}{1.58ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex, line width=0.08ex*\tkzsymbls@scl,
-rounded corners=0.08ex*\tkzsymbls@scl, scale=#1]
-\draw (0, 1.5) -- (0,1.2) -- (-0.15,0.8) -- (-0.15,0) --++ (0.6,0) --++ (0,0.8) --++ (-0.15,0.4) --++ (0,0.3) -- cycle;
-%\draw (-0.15,0.8) -- (0.45,0.8);
-%\draw (-0.15,0.3) -- (0.45,0.3);
-\draw[transparent] (-0.2,0) --++ (0.7,0);
-\end{tikzpicture}\fi%
-}%
-\tikzsymbols@use@box{Flasche#1}%
-\tikzsymbolsaftersymbolinput%
-}
-\tikzsymbols@let{bottle}{Flasche}
+%\begin{macro}{ \dWinkey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dWinkey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dWinkey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw[black] (0.17,0.1) -- (0.05,0.1);
+ \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+ \draw[black] (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{ \olddWinkey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { olddWinkey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { olddWinkey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw[black] (0.17,0.1) -- (0.05,0.1);
+ \shade[ball ~ color=black] (-0.1,0.1) circle (0.05);
+ \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
+ \end{tikzpicture}
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
%
%
%
%
%
-% \subsection{Emoticonscode}
+%\begin{macro}{ \Sey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Sey } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Sey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
-%\begin{macro}{\Sadey \dSadey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% Another name of Sadey is Frowny, but I named it Sadey because there
-% are enough Frownys in the world. All \enquote{3D} Emoticons start
-% with \verb|\d...|, and all Emoticons end with an \enquote{ey}
-% (exception: \enquote{Cat}, \enquote{Ninja}, and else). The
-% \enquote{default color} of the 2D Emoticons is \verb|none|,
-% it's useful for \verb|\colorbox{yellow}{\Sadey}| which leads to
-% \colorbox{yellow}{\Sadey} instead of
-% \colorbox{yellow}{\Sadey[][white]} (with default=white).
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Sadey}[2][1=1, 2={none}, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Sadey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2, line width=0.1ex*\tkzsymbls@scl] (0,0) circle (0.33);
-\fill (0.1,0.1) circle (0.05);
-\fill (-0.1,0.1) circle (0.05);
-\draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Sadey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dSadey}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dSadey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,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);
-\draw[black] (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dSadey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%\begin{macro}{ \dSey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dSey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dSey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \draw[black] (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
@@ -1921,1038 +3205,920 @@ rounded corners=0.08ex*\tkzsymbls@scl, scale=#1]
%
%
%
-%\begin{macro}{\Annoey \dAnnoey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
%
-% An annoyed Smiley -\_-
+%\begin{macro}{ \Xey }
% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Annoey}[2][1=1,2={none},usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Annoey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2, line width=0.12ex*\tkzsymbls@scl] (0,0) circle (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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Annoey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dAnnoey}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dAnnoey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\shade[ball color=#2] (0,0) circle (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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dAnnoey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+\@@_Declare_Document_Command:nnn { Xey } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Xey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%
-%\begin{macro}{\Smiley \dSmiley}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-% A normal Smiley
-% \begin{macrocode}
-\ifKV@tikzsymbols@marvosym\relax\else%
- \tkzsymbls@Declare@Robust@Commandx{Smiley}[2][1=1,2={none} ,usedefault]{%
- \tikzsymbols@ifsaveboxundefined{Smiley#1#2}{%
- \set@tkzsymblsscl{#1}%
- \iftikzymbols@draftabsolute%
- \tksymbls@bx@Prmtrstore{#1}%
- \tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
- \ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
- \begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl, 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);
- \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
- \end{tikzpicture}%
- \fi%
- }%
- \tikzsymbols@use@box{Smiley#1#2}%
- \tikzsymbolsaftersymbolinput%
- }%
-\fi
-% \end{macrocode}
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{dSmiley}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dSmiley#1#2}{%
-\set@tkzsymblsscl{#1}%
- \iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
- \begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.1ex*\tkzsymbls@scl,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);
-\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dSmiley#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \dXey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dXey } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dXey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Laughey \dLaughey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-% A laughing Smiley
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Laughey}[3][1=1,2={none},3={none} ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Laughey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2,line width=0.12ex*\tkzsymbls@scl] (0,0) circle (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*\tkzsymbls@scl, yshift=-0.5]
-(-0.22,-0.0) .. controls (-0.13,-0.23) and (0.13,-0.23) .. (0.22,-0.0) -- cycle;
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Laughey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dLaughey}[3][1=1,2=yellow, 3=red ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dLaughey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\fill[ball color=#2,line width=0.12ex*\tkzsymbls@scl] (0,0) circle (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[ball color=#3, rounded corners=0.1ex*\tkzsymbls@scl, yshift=-0.3]
- (-0.25,-0.0) .. controls (-0.13,-0.26) and (0.13,-0.26) .. (0.25,-0.0) -- cycle;
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dLaughey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%\begin{macro}{ \Innocey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Innocey } { O{1} O{none} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Innocey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.73ex * \l_@@_scale_abs_tl }
+ { 1.909ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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
+% lines surrounding the colored line and completing the halo.
+% \begin{macrocode}
+ \draw[#3, line ~ width=0.095ex* \l_@@_scale_abs_tl ]
+ (0.32,0.31) arc
+ [start ~ angle=0, end ~ angle=360, x ~ radius = 0.32 , y ~ radius=0.1];
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ]
+ (0.3,0.31) arc
+ [start ~ angle=0, end ~ angle=360, x ~ radius = 0.3 , y ~ radius=0.07];
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ]
+ (0.35,0.31) arc
+ [start ~ angle=0, end ~ angle=360, x ~ radius = 0.35 , y ~ radius=0.12];
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
+% \begin{macro}{ \wInnocey }
+% A white one. I clear \Makro{g_@@_tikzsymbols_after_symbol_tl}
+% because otherwise the input of \Option{after-symbol}
+% is inserted twice.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { wInnocey } { O{1} }
+ {
+ \group_begin:
+ \tl_clear:N \l_@@_tikzsymbols_after_symbol_tl
+ \tikzsymbolsuse { Innocey } [#1] [none] [white]
+ \group_end:
+ }
+% \end{macrocode}
+%\end{macro}
%
%
-%
-%\begin{macro}{\Neutrey \dNeutrey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-% neutral Smiley \verb+:|+
+%\begin{macro}{ \dInnocey }
% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Neutrey}[2][1=1, 2={none}, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Neutrey#1#2}{%
- \set@tkzsymblsscl{#1}%
- \iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2,line width=0.12ex*\tkzsymbls@scl] (0,0) circle (0.33);
-\fill (0.1,0.1) circle (0.05);
-\fill (-0.1,0.1) circle (0.05);
-\draw (-0.2,-0.1) -- (0.2,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Neutrey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dNeutrey}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dNeutrey#1#2}{%
- \set@tkzsymblsscl{#1}%
- \iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,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);
-\draw[black] (-0.2,-0.1) -- (0.2,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dNeutrey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+\@@_Declare_Document_Command:nnn { dInnocey } { O{1} O{yellow} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dInnocey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.73ex * \l_@@_scale_abs_tl }
+ { 1.849ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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).
+% \begin{macrocode}
+ \draw[color=#3!97!black, line ~ width=0.1ex* \l_@@_scale_abs_tl ]
+ (0.32,0.31) arc [start ~ angle=0, end ~ angle=360, x ~ radius = 0.32 , y ~ radius=0.1];
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ]
+ (0.3,0.31) arc [start ~ angle=0, end ~ angle=360, x ~ radius = 0.3 , y ~ radius=0.07];
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ]
+ (0.35,0.31) arc [start ~ angle=0, end ~ angle=360, x ~ radius = 0.35 , y ~ radius=0.12];
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
%
%
-%\begin{macro}{\Winkey \dWinkey}
-% \changes{v3.0}{2013/07/27}{Changed the smile. Old Winkey available
-% as \Makro{oldWinkey} and \Makro{olddWinkey}}
-%\begin{macro}{\oldWinkey \olddWinkey}
-%\changes{v3.0}{2013/07/27}{Old Winkey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
%
-% ;)
+%
+%\begin{macro}{ \Cooley }
+% It's the coolest Smiley around.
% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Winkey}[2][1=1,2={none} ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Winkey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2] (0,0) circle (0.33);
-\draw(0.17,0.1) -- (0.05,0.1);
-\fill (-0.1,0.1) circle (0.05);
-\draw (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Winkey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{oldWinkey}[2][1=1,2={none} ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{oldWinkey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2] (0,0) circle (0.33);
-\draw(0.17,0.1) -- (0.05,0.1);
-\fill (-0.1,0.1) circle (0.05);
-\draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{oldWinkey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dWinkey}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dWinkey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\shade[ball color=#2] (0,0) circle (0.33);
-\draw[black] (0.17,0.1) -- (0.05,0.1);
-\shade[ball color=black] (-0.1,0.1) circle (0.05);
-\draw[black] (-0.15,-0.15) .. controls (-0.05,-0.2) and (0.15,-0.2) .. (0.19,0);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dWinkey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{olddWinkey}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{olddWinkey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\shade[ball color=#2] (0,0) circle (0.33);
-\draw(0.17,0.1) -- (0.05,0.1);
-\shade[ball color=black] (-0.1,0.1) circle (0.05);
-\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{olddWinkey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+\@@_Declare_Document_Command:nnn { Cooley } { O{1} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Cooley_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \filldraw[fill=#2] (0,0) circle (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;
+ \draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+ \draw (0.02,0.1) -- (-0.02,0.1);
+ \draw (-0.2,0.1) -- (-0.3,0.13);
+ \draw (0.2,0.1) -- (0.3,0.13);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
+%
+%
+%\begin{macro}{ \dCooley }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dCooley } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dCooley_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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);
+ \foreach \xi/\xii in { 0.24/0.01 , -0.24/-0.01 }
+ \shade[ball ~ color=black,rounded ~ corners=0.1ex* \l_@@_scale_abs_tl ]
+ (\xi,0.15) -- (\xii,0.15) -- (\xii,0) -- (\xi,0) -- cycle;
+ \draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
%\end{macro}
%
%
%
%
-%\begin{macro}{\Sey \dSey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
%
-% I can't think of a better name \verb|:S|
+%
+%\begin{macro}{ \Tongey }
+% Habe mir vorgenommen das hier zu verbessern, wird aber wohl noch
+% etwas brauchen.
% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Sey}[2][1=1,2={none} ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Sey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2, line width=0.12ex*\tkzsymbls@scl] (0,0) circle (0.33);
-\fill (0.1,0.1) circle (0.05);
-\fill (-0.1,0.1) circle (0.05);
-\draw (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Sey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dSey}[2][1=1,2=yellow ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dSey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,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);
-\draw[black] (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dSey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+\@@_Declare_Document_Command:nnn { Tongey } { O{1} O{none} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Tongey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.704ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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=#3, line ~ width=0.058ex* \l_@@_scale_abs_tl ,
+ rounded ~ corners=0.12ex* \l_@@_scale_abs_tl
+ ]
+ (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
+ \draw[line ~ width=0.07ex* \l_@@_scale_abs_tl , yshift=0.21ex]
+ (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Xey \dXey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% I can't think of a better name again.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Xey}[2][1=1, 2={none}, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Xey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2, line width=0.12ex*\tkzsymbls@scl] (0,0) circle (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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Xey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dXey}[2][1=1, 2={yellow}, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dXey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\fill[ball color=#2, line width=0.12ex*\tkzsymbls@scl] (0,0) circle (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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dXey#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \dTongey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dTongey } { O{1} O{yellow} O{red} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dTongey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_squared_draftbox:n { 1.584ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \shadedraw
+ [
+ ball ~ color=#3, draw=black,line ~ width=0.058ex* \l_@@_scale_abs_tl ,
+ rounded ~ corners=0.12ex* \l_@@_scale_abs_tl
+ ]
+ (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
+ \draw[black, line ~ width=0.07ex* \l_@@_scale_abs_tl , yshift=0.21ex]
+ (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
%
-%\begin{macro}{\Innocey \dInnocey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% An innocent Smiley
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Innocey}[3][1=1,2={none},3=yellow ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Innocey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.73ex*\tkzsymbls@Prmtr}{1.909ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,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);
-\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*\tkzsymbls@scl] (0.32,0.31) arc (0:360:0.32 and 0.1);
-\draw[line width=0.05ex*\tkzsymbls@scl] (0.3,0.31) arc (0:360:0.3 and 0.07);
-\draw[line width=0.05ex*\tkzsymbls@scl] (0.35,0.31) arc (0:360:0.35 and 0.12);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Innocey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Command{wInnocey}[1][1]{\Innocey[#1][none][white]}
-\tkzsymbls@Declare@Robust@Commandx{dInnocey}[3][1=1,2=yellow,3=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dInnocey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.73ex*\tkzsymbls@Prmtr}{1.849ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,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);
-\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*\tkzsymbls@scl]
- (0.32,0.31) arc (0:360:0.32 and 0.1);
-\draw[line width=0.05ex*\tkzsymbls@scl] (0.3,0.31) arc (0:360:0.3 and 0.07);
-\draw[line width=0.05ex*\tkzsymbls@scl] (0.35,0.31) arc (0:360:0.35 and 0.12);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dInnocey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%\begin{macro}{ \Nursey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Nursey } { O{1} O{none} O{none} O{} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Nursey_#1_#2_#3_#4 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.5ex * \l_@@_scale_abs_tl }
+ { 2.19ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.3ex, y=2.3ex, line ~ width=0.12ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \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);
+ \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 ]
+ (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0);
+ \draw[#4,line ~ width=.046ex* \l_@@_scale_abs_tl ]
+ (0,0.35) -- (0,0.5) (-0.05,0.45) -- (0.05,0.45) ;
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
+%\begin{macro}{ \dNursey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dNursey } { O{1} O{yellow} O{white} O{red} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dNursey_#1_#2_#3_#4 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.38ex * \l_@@_scale_abs_tl }
+ { 1.98ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ 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);
+ \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
+ [
+ ball ~ color=#3, rounded ~ corners=.023ex* \l_@@_scale_abs_tl ,
+ yshift=-0.09ex
+ ]
+ (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) --
+ (0.3,0) arc [start ~ angle=0, end ~ angle=180, radius=0.3];
+ \shade[ball ~ color=#4,line ~ width=.046ex* \l_@@_scale_abs_tl ]
+ (-0.01,0.31) -- (-0.01,0.46) -- (0.01,0.46) -- (0.01,0.31)--cycle;
+ \shade[ball ~ color=#4,line ~ width=.046ex* \l_@@_scale_abs_tl ]
+ (-0.05,0.4) -- (0.05,0.4) -- (0.05,0.42) -- (-0.05,0.42) -- cycle;
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
%
-%\begin{macro}{\Cooley \dCooley}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% Don't know what I shall write here.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Cooley}[2][1=1,2={none} ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Cooley#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2] (0,0) circle (0.33);
-\foreach \xi/\xii in { 0.24/0.01 , -0.24/-0.01 }
-\fill[rounded corners=0.1ex*\tkzsymbls@scl]
- (\xi,0.15) -- (\xii,0.15) -- (\xii,0) -- (\xi,0) -- cycle;
-\draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
-\draw (0.02,0.1) -- (-0.02,0.1);
-\draw (-0.2,0.1) -- (-0.3,0.13);
-\draw (0.2,0.1) -- (0.3,0.13);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Cooley#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dCooley}[2][1=1,2=yellow,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dCooley#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\shade[ball color=#2] (0,0) circle (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);
-\foreach \xi/\xii in { 0.24/0.01 , -0.24/-0.01 }
- \shade[ball color=black,rounded corners=0.1ex*\tkzsymbls@scl]
- (\xi,0.15) -- (\xii,0.15) -- (\xii,0) -- (\xi,0) -- cycle;
-\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dCooley#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%\begin{macro}{ \Vomey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Vomey } { O{1} O{none} O{opacity=0} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Vomey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 3.0335ex * \l_@@_scale_abs_tl }
+ { 1.743ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.58ex,y=0.58ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \filldraw[fill=#2,rounded ~ corners=0.05ex* \l_@@_scale_abs_tl ]
+ (0,0) arc [start ~ angle=15, end ~ angle=330, radius=1] -- (-0.6,-0.3) -- cycle;
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ] (-0.5,0.3) -- (-0.3,0.1);
+ \fill (-0.45,0.27) arc [start ~ angle=100, end ~ angle=350, radius=0.1];
+ \fill[#3] (1.8,-0.5) .. controls (2.5,-0.3) and (2.8,-0.7) .. (2.5,-1) ..
+ controls (3,-1) and (3,-1.7) .. (2,-1.5) ..
+ controls (1.7,-2) and (1,-2) .. (1,-1.5) ..
+ controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
+ \fill[#3] (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1) ..
+ controls (1.7,-1.2) and (1.3,-1.2) .. (1,-1) ..
+ controls (0.8,-0.7) and (0.5,-0.5) .. (0,-0.4);
+% \draw (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1);
+% \draw (0,-0.4) .. controls (0.5,-0.5) and (0.8,-0.7) .. (1,-1);
+ \draw[rounded ~ corners=0.1ex* \l_@@_scale_abs_tl ]
+ (1,-1) .. controls (0.8,-0.7) and (0.5,-0.5) ..
+ (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1);
+ \draw (1.8,-0.5) .. controls (2.5,-0.3) and (2.8,-0.7) .. (2.5,-1) ..
+ controls (3,-1) and (3,-1.7) .. (2,-1.5) .. controls (1.7,-2)
+ and (1,-2) .. (1,-1.5) .. controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{ \dVomey }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dVomey } { O{1} O{yellow} O{brown!10!olive} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dVomey_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 3.2435ex * \l_@@_scale_abs_tl }
+ { 1.653ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.58ex,y=0.58ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \shade
+ [
+ ball ~ color=#2!90!brown,
+ rounded ~ corners=0.03ex * \l_@@_scale_abs_tl ,
+ ]
+ (0,0) arc [start ~ angle=15, end ~ angle=330, radius=1] -- (-0.6,-0.3) -- cycle;
+ \draw[black, line ~ width=0.05ex* \l_@@_scale_abs_tl ]
+ (-0.5,0.3) -- (-0.3,0.1);
+ \shade[ball ~ color=black]
+ (-0.45,0.27) arc [start ~ angle=100, end ~ angle=350, radius=0.1];
+ \shade[ball ~ color=#3]
+ (1.8,-0.5) .. controls (2.5,-0.3) and (2.8,-0.7) .. (2.5,-1) ..
+ controls (3,-1) and (3,-1.7) .. (2,-1.5) ..
+ controls (1.7,-2) and (1,-2) .. (1,-1.5) ..
+ controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
+ \shade[ball ~ color=#3]
+ (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1) .. controls
+ (1.7,-1.2) and (1.3,-1.2) .. (1,-1) .. controls
+ (0.8,-0.7) and (0.5,-0.5) .. (0,-0.4);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
%
-%\begin{macro}{\Tongey \dTongey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% :P
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Tongey}[3][1=1,2={none},3={none} ,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Tongey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.704ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,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=#3,line width=0.058ex*\tkzsymbls@scl, rounded corners=0.12ex*\tkzsymbls@scl]
- (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
-\draw[line width=0.07ex*\tkzsymbls@scl, yshift=0.21ex]
- (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Tongey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dTongey}[3][1=1,2=yellow,3=red,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dTongey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftQbox{1.584ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymbls@scl,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);
-\shadedraw[ball color=#3, draw=black,line width=0.058ex*\tkzsymbls@scl, rounded corners=0.12ex*\tkzsymbls@scl]
- (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
-\draw[black, line width=0.07ex*\tkzsymbls@scl, yshift=0.21ex]
- (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dTongey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%\begin{macro}{ \Walley }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Walley } { O{1} O{none} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Walley_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.341ex * \l_@@_scale_abs_tl }
+ { 1.674ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1,
+ decoration=
+ {
+% random ~ steps,
+ segment ~ length=0.15ex* \l_@@_scale_abs_tl ,
+ 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=#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) --+
+ +(0.03,-0.02) --++(0.03,0.1) --++(0.03,0.02) -- (0.5,0.25);
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ]
+ (0.28,0) --++(0.06,-0.02) --++(0.04,0.06) --++
+ (0.0,-0.08) --++(0.08,0.06) --++(0.03,-0.02) --+
+ (0.08,0.02) -- (0.6,0.0);
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ]
+ (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);
+ \draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
+ \draw[rotate=-20] (0.27,-0.1) .. controls (0.2,-0.072)
+ and (0.1,-0.06) .. (0.,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{ \rWalley }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { rWalley } { O{1} O{none} O{none} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { rWalley_#1_#2_#3 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.341ex * \l_@@_scale_abs_tl }
+ { 1.674ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1,
+ decoration=
+ {
+ random ~ steps, segment ~ length=0.15ex* \l_@@_scale_abs_tl ,
+ 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=#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 ]
+ (0.28,0) -- (\x,\y);
+ \draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
+ \draw[rotate=-20] (0.27,-0.1) .. controls (0.2,-0.072)
+ and (0.1,-0.06) .. (0.,-0.1);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
+%\begin{macro}{ \dWalley }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dWalley } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dWalley_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.4288ex * \l_@@_scale_abs_tl }
+ { 1.6008ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,scale=#1,
+ black
+ ]
+ \shade[ball ~ color=orange!80!black] (0.298,-0.33) rectangle (0.692,0.337);
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ]
+ (0.28,0) --++(0.05,0.07) --++(0.03,0.02) --+
+ +(0.03,-0.02) --++(0.03,0.1) --++(0.03,0.02) -- (0.5,0.25);
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ]
+ (0.28,0) --++(0.06,-0.02) --++(0.04,0.06) --++
+ (0.0,-0.08) --++(0.08,0.06) --++(0.03,-0.02) --+
+ (0.08,0.02) -- (0.6,0.0);
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ]
+ (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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
%
-%\begin{macro}{\Nursey \dNursey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% a Nurse.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Nursey}
-[4][1=1,2={none},3={none},4={},usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Nursey#1#2#3#4}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.5ex*\tkzsymbls@Prmtr}{2.19ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.3ex, y=2.3ex, line width=0.12ex*\tkzsymbls@scl,scale=#1]
-\fill[fill=#3,rounded corners=.023ex*\tkzsymbls@scl]
- (-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);
-\draw[line width=0.09ex*\tkzsymbls@scl, 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*\tkzsymbls@scl]
- (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0);
-\draw[#4,line width=.046ex*\tkzsymbls@scl] (0,0.35) -- (0,0.5) (-0.05,0.45) -- (0.05,0.45) ;
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Nursey#1#2#3#4}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dNursey}[4][1=1,2=yellow,3=white,4=red,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dNursey#1#2#3#4}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.38ex*\tkzsymbls@Prmtr}{1.98ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.3ex, y=2.3ex, line width=0.12ex*\tkzsymbls@scl,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);
-\draw[black, line width=0.09ex*\tkzsymbls@scl, yshift=0.07ex]
- (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
-\shade[ball color=#3, rounded corners=.023ex*\tkzsymbls@scl,yshift=-0.09ex]
- (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0) arc (0:180:0.3);
-\shade[ball color=#4,line width=.046ex*\tkzsymbls@scl]
- (-0.01,0.31) -- (-0.01,0.46) -- (0.01,0.46) -- (0.01,0.31)--cycle;
-\shade[ball color=#4,line width=.046ex*\tkzsymbls@scl]
- (-0.05,0.4) -- (0.05,0.4) -- (0.05,0.42) -- (-0.05,0.42) -- cycle;
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dNursey#1#2#3#4}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \drWalley }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { drWalley } { O{1} O{yellow} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { drWalley_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.4288ex * \l_@@_scale_abs_tl }
+ { 1.6008ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,
+ scale=#1, black, decoration=
+ {
+ random ~ steps,segment ~ length=0.15ex* \l_@@_scale_abs_tl ,
+ amplitude=0.1ex* \l_@@_scale_abs_tl
+ }
+ ]
+ \shade[ball ~ color=orange!80!black] (0.298,-0.33) rectangle (0.692,0.337);
+ \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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
%
%
-%\begin{macro}{\Vomey \dVomey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% *Bl\"a\"argh*
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Vomey}[3][1=1,2={none},3={opacity=0},usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Vomey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{3.0335ex*\tkzsymbls@Prmtr}{1.743ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.58ex,y=0.58ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\filldraw[fill=#2,rounded corners=0.05ex*\tkzsymbls@scl] (0,0) arc (15:330:1) -- (-0.6,-0.3) -- cycle;
-\draw[line width=0.05ex*\tkzsymbls@scl] (-0.5,0.3) -- (-0.3,0.1);
-\fill (-0.45,0.27) arc (100:350:0.1);
-\fill[#3] (1.8,-0.5) .. controls (2.5,-0.3) and (2.8,-0.7) .. (2.5,-1) ..
- controls (3,-1) and (3,-1.7) .. (2,-1.5) .. controls (1.7,-2) and (1,-2) .. (1,-1.5) ..
- controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
-\fill[#3] (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1) ..
- controls (1.7,-1.2) and (1.3,-1.2) .. (1,-1) ..
- controls (0.8,-0.7) and (0.5,-0.5) .. (0,-0.4);
-%\draw (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1);
-%\draw (0,-0.4) .. controls (0.5,-0.5) and (0.8,-0.7) .. (1,-1);
-\draw[rounded corners=0.1ex*\tkzsymbls@scl] (1,-1) .. controls (0.8,-0.7) and (0.5,-0.5) .. (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1);
-\draw (1.8,-0.5) .. controls (2.5,-0.3) and (2.8,-0.7) .. (2.5,-1) ..
- controls (3,-1) and (3,-1.7) .. (2,-1.5) .. controls (1.7,-2)
- and (1,-2) .. (1,-1.5) .. controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Vomey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dVomey}[3][1=1,2=yellow,3={brown!10!olive},usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dVomey#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{3.2435ex*\tkzsymbls@Prmtr}{1.653ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.58ex,y=0.58ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\shade[ball color=#2!90!brown,rounded corners=0.03ex*\tkzsymbls@scl]
- (0,0) arc (15:330:1) -- (-0.6,-0.3) -- cycle;
-\draw[black, line width=0.05ex*\tkzsymbls@scl] (-0.5,0.3) -- (-0.3,0.1);
-\shade[ball color=black] (-0.45,0.27) arc (100:350:0.1);
-\shade[ball color=#3] (1.8,-0.5) .. controls (2.5,-0.3) and (2.8,-0.7) .. (2.5,-1) ..
- controls (3,-1) and (3,-1.7) .. (2,-1.5) .. controls (1.7,-2) and (1,-2) .. (1,-1.5) ..
- controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
-\shade[ball color=#3] (0,-0.4) .. controls (1,0) and (2,-1) .. (2,-1) .. controls
- (1.7,-1.2) and (1.3,-1.2) .. (1,-1) .. controls (0.8,-0.7) and (0.5,-0.5) .. (0,-0.4);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dVomey#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-% \end{macrocode}
-%\end{macro}
%
%
-%\begin{macro}{\Walley \dWalley, \rWalley, \drWalley}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-% \changes{v3.0g}{2015/10/01}{Using option \Option{none}}
-%
-% Well \dots{} this Emoticon should be the visualization of the
-% german saying \enquote{Gegen eine Wand rennen}, which means
-% something like: Not being able to solve a problem.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Walley}[3][1=1, 2={none},3={none}, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Walley#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.341ex*\tkzsymbls@Prmtr}{1.674ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1,
-decoration={random steps,segment length=0.15ex*\tkzsymbls@scl, amplitude=0.1ex*\tkzsymbls@scl}]
-\filldraw[fill=#2, line width=0.08ex*\tkzsymbls@scl] (0,0) circle (0.28);
-\filldraw[fill=#3] (0.28,-0.33) rectangle (0.66,0.33);
-\draw[line width=0.06ex*\tkzsymbls@scl] (0.28,0) --++(0.05,0.07) --++(0.03,0.02) --+
- +(0.03,-0.02) --++(0.03,0.1) --++(0.03,0.02) -- (0.5,0.25);
-\draw[line width=0.06ex*\tkzsymbls@scl]
- (0.28,0) --++(0.06,-0.02) --++(0.04,0.06) --+
- +(0.0,-0.08) --++(0.08,0.06) --++(0.03,-0.02) --+(0.08,0.02) -- (0.6,0.0);
-\draw[line width=0.06ex*\tkzsymbls@scl]
- (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);
-\draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
-\draw[rotate=-20] (0.27,-0.1) .. controls (0.2,-0.072) and (0.1,-0.06) .. (0.,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Walley#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{rWalley}[3][1=1, 2={none},3={none}, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{rWalley#1#2#3}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.341ex*\tkzsymbls@Prmtr}{1.674ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1,
-decoration={random steps,segment length=0.15ex*\tkzsymbls@scl, amplitude=0.1ex*\tkzsymbls@scl}]
-\filldraw[fill=#2, line width=0.08ex*\tkzsymbls@scl] (0,0) circle (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*\tkzsymbls@scl] (0.28,0) -- (\x,\y);
-\draw[rotate=-20] (0.12,0.1) -- (0.2,0.05);
-\draw[rotate=-20] (0.27,-0.1) .. controls (0.2,-0.072) and (0.1,-0.06) .. (0.,-0.1);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{rWalley#1#2#3}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dWalley}[2][1=1, 2=yellow, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dWalley#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.4288ex*\tkzsymbls@Prmtr}{1.6008ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1]
-\shade[ball color=orange!80!black] (0.298,-0.33) rectangle (0.692,0.337);
-\draw[line width=0.06ex*\tkzsymbls@scl]
-(0.28,0) --++(0.05,0.07) --++(0.03,0.02) --+
-+(0.03,-0.02) --++(0.03,0.1) --++(0.03,0.02) -- (0.5,0.25);
-\draw[line width=0.06ex*\tkzsymbls@scl]
-(0.28,0) --++(0.06,-0.02) --++(0.04,0.06) --+
-+(0.0,-0.08) --++(0.08,0.06) --++(0.03,-0.02) --+(0.08,0.02) -- (0.6,0.0);
-\draw[line width=0.06ex*\tkzsymbls@scl]
-(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);
-\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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dWalley#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{drWalley}[2][1=1, 2=yellow, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{drWalley#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.4288ex*\tkzsymbls@Prmtr}{1.6008ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1,
-decoration={random steps,segment length=0.15ex*\tkzsymbls@scl, amplitude=0.1ex*\tkzsymbls@scl}]
-\shade[ball color=orange!80!black] (0.298,-0.33) rectangle (0.692,0.337);
-\foreach \x/\y in { 0.5/0.25 , 0.6/0 , 0.5/-0.25 }
- \draw[decorate, line width=0.06ex*\tkzsymbls@scl] (0.298,0) -- (\x,\y);
-\shade[ball color=#2] (-0.01,0) circle (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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{drWalley#1#2}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \Cat }
+% It is a Ket! (sic!)
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Cat } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards: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
+ ]
+ \draw (0,0) circle (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 (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);
+ }
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
%
-%\begin{macro}{\Cat}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-%
-% *Miau*
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Cat}[1][1=1,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Cat#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.899ex*\tkzsymbls@Prmtr}{1.957ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.33ex,y=2.33ex, line width=0.093ex*\tkzsymbls@scl,scale=#1]
-\draw (0,0) circle (0.3);
-\foreach \xi/\xii in { 0.3/0.35 }
- {
- \draw[rounded corners=0.163ex*\tkzsymbls@scl]
- (-\xi,0) -- (-\xii,0.5) -- (0,\xi) (0,\xi) -- (\xii,0.5) -- (\xi,0);
- }
-\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*\tkzsymbls@scl,yshift=-0.12ex]
- (0,0) -- (0,-0.1) -- (\x,-0.095);
-\draw[rounded corners=.12ex*\tkzsymbls@scl,yshift=-.15ex,
- line width=0.03em*0.9*\tkzsymbls@scl]
- (-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*\tkzsymbls@scl]
- (\a,-0.05)..controls(\b,\yi)and(\c,\yii).. (\d,\yiii);
- }
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Cat#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+% \begin{macro}{ \Ninja }
+% It can hide.
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Ninja } { O{1} O{black} O{red} O{white} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Ninja_#1_#2_#3_#4 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.149ex * \l_@@_scale_abs_tl }
+ { 1.717ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,
+ scale=#1, decoration=
+ {
+ random ~ steps,segment ~ length=0.1ex* \l_@@_scale_abs_tl ,
+ amplitude=0.1ex* \l_@@_scale_abs_tl
+ }
+ ]
+ \tl_set:Nn \l_tmpa_tl {#2}
+ \fill[#2] (0,0) circle (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);
+ }
+ \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] --
+ (0.2,0.23)-- (0.31,0.0) -- cycle;
+ \fill[#3] (-0.3465,0) arc [start ~ angle=0, end ~ angle=-42, x ~ radius=-0.34, y~ radius=-0.345] --
+ (-0.2,0.23)-- (-0.31,0.0) -- cycle;
+ \fill[#4] (0.129,0.1425) arc [start ~ angle=55, end ~ angle=-180, radius=0.05];
+ \fill[#4] (-0.129,0.1425) arc [start ~ angle=-55, end ~ angle=180, radius=-0.05];
+ \foreach \x in { (0.5,0.35) , (0.53,0.1) }
+ \draw
+ [
+ decorate,decoration=
+ {
+ snake,amplitude=.1ex* \l_@@_scale_abs_tl ,
+ segment ~ length=0.55ex* \l_@@_scale_abs_tl
+ } , #3
+ ]
+ (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);
+ }
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Ninja \dNinja}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-%
-% A Ninja.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Ninja}[4][1=1, 2=black, 3=red, 4=white, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Ninja#1#2#3#4}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.149ex*\tkzsymbls@Prmtr}{1.717ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\def\Black@is@Black{black}%
-\def\Black@or@not@Black{#2}%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1,
-decoration={random steps,segment length=0.1ex*\tkzsymbls@scl, amplitude=0.1ex*\tkzsymbls@scl}]
-\fill[#2] (0,0) circle (0.33);
-\fill[decoration={random steps,segment length=0.1ex*\tkzsymbls@scl,
- amplitude=0.01ex*\tkzsymbls@scl}, decorate,#3]
-(-0.33,0) -- (0.33,0) -- (0.23,0.23) -- (-0.23,0.23) -- cycle;
-\ifx\Black@or@not@Black\Black@is@Black
- \draw[line width=0.08ex*\tkzsymbls@scl] (0,0) circle (0.33);\fi
-\fill[#3] (0,0.1) -- (-0.33,0) -- (-0.26,0.23);
-\fill[#3] (0.3465,0) arc (0:42:0.34 and 0.345) -- (0.2,0.23)-- (0.31,0.0) -- cycle;
-\fill[#3] (-0.3465,0) arc (0:-42:-0.34 and -0.345) -- (-0.2,0.23)-- (-0.31,0.0) -- cycle;
-\fill[#4] (0.129,0.1425) arc (55:-180:.05);
-\fill[#4] (-0.129,0.1425) arc (-55:180:-.05);
-\foreach \x in { (0.5,0.35) , (0.53,0.1) }
-\draw[decorate,decoration={snake,amplitude=.1ex*\tkzsymbls@scl,
- segment length=0.55ex*\tkzsymbls@scl}, #3]
- (0.26,0.21) -- \x;
-\ifx\Black@or@not@Black\Black@is@Black
-\else\draw[line width=0.08ex*\tkzsymbls@scl] (0,0) circle (0.33);\fi
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Ninja#1#2#3#4}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Commandx{dNinja}[4][1=1, 2=black, 3=red, 4=white, usedefault]{%
-\tikzsymbols@ifsaveboxundefined{dNinja#1#2#3#4}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{2.1498ex*\tkzsymbls@Prmtr}{1.7178ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\def\Black@is@Black{black}%
-\def\Black@or@not@Black{#2}%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymbls@scl,scale=#1,
-decoration={random steps,segment length=0.1ex*\tkzsymbls@scl, amplitude=0.1ex*\tkzsymbls@scl}]
-\foreach \length/\coord in { 0.55/{(0.5,0.35)} , 0.5/{(0.53,0.1)} }
- \draw[decorate,decoration={snake,amplitude=.1ex*\tkzsymbls@scl,
- segment length=\length ex*\tkzsymbls@scl},decorate, #3!50!black]
- \coord -- (0.26,0.21);
-\shade[ball color=#2] (0,0) circle (0.347);
-\fill[decoration={random steps,segment length=0.1ex*\tkzsymbls@scl,
- amplitude=0.01ex*\tkzsymbls@scl},ball color=#3]
-decorate {(-0.33,0) -- (0.3465,0) }
- {arc (0:42:0.34 and 0.345)}
-decorate {-- (-0.25,0.24)}
- { arc (-42:0:-0.375 and -0.345)};
-\shade[ball color=#4] (0.129,0.1425) arc (55:-180:.05);
-\shade[ball color=#4] (-0.129,0.1425) arc (-55:180:-.05);
-\shade[top color=#4!80!black, bottom color=#4] (0.129,0.1425) arc (55:-180:.05);
-\shade[top color=#4!80!black, bottom color=#4] (-0.129,0.1425) arc (-55:180:-.05);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{dNinja#1#2#3#4}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \Ninja }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { dNinja } { O{1} O{black} O{red} O{white} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { dNinja_#1_#2_#3_#4 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 2.1498ex * \l_@@_scale_abs_tl }
+ { 1.7178ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=2.4ex, y=2.4ex, line ~ width=0.09ex* \l_@@_scale_abs_tl ,
+ scale=#1, decoration=
+ {
+ random ~ steps,segment ~ length=0.1ex* \l_@@_scale_abs_tl ,
+ amplitude=0.1ex* \l_@@_scale_abs_tl
+ }
+ ]
+ \foreach \length/\coord in { 0.55/{(0.5,0.35)} , 0.5/{(0.53,0.1)} }
+ \draw
+ [
+ decorate,decoration=
+ {
+ snake,amplitude=.1ex* \l_@@_scale_abs_tl ,
+ segment ~ length=\length ex* \l_@@_scale_abs_tl
+ } , decorate, #3!50!black
+ ]
+ \coord -- (0.26,0.21);
+ \shade[ball ~ color=#2] (0,0) circle (0.347);
+ \fill
+ [
+ decoration=
+ {
+ random ~ steps,segment ~ length=0.1ex* \l_@@_scale_abs_tl ,
+ amplitude=0.01ex* \l_@@_scale_abs_tl
+ } , ball ~ color=#3
+ ]
+ decorate {(-0.33,0) -- (0.3465,0) }
+ {arc [start ~ angle=0, end ~ angle=42, x ~ radius=0.34,y~ radius=0.345]}
+ decorate {-- (-0.25,0.24)}
+ { arc [start ~ angle=-42, end ~ angle=0, x ~ radius=-0.375,y~ radius=-0.345]};
+% Frag mich nicht, was das macht.
+% \shade[ball ~ color=#4] (0.129,0.1425) arc [start ~ angle=55, end ~ angle=-180, radius=0.05];
+% \shade[ball ~ color=#4] (-0.129,0.1425) arc [start ~ angle=-55, end ~ angle=180, radius=-0.05];
+ \shade[top ~ color=#4!80!black, bottom ~ color=#4]
+ (0.129,0.1425) arc [start ~ angle=55, end ~ angle=-180, radius=0.05];
+ \shade[top ~ color=#4!80!black, bottom ~ color=#4]
+ (-0.129,0.1425) arc [start ~ angle=-55, end ~ angle=180, radius=-0.05];
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
%
%
-%\begin{macro}{\NiceReapey}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{filldraw} to the code.}
-%
-% Not very well made. But it's better than nothing
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{NiceReapey}[2][1=1,2={black!20!white},usedefault]{%
-\tikzsymbols@ifsaveboxundefined{NiceReapey#1#2}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{(1.1067em+0.07ex)*\tkzsymbls@Prmtr}
- {(0.693em+0.07ex)*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.11em,y=0.11em, line width=0.07ex*\tkzsymbls@scl,scale=#1]
-\draw[] (1.7,-1) arc (360:180:1.7 and 2)
- arc (260:110:1.5 and 2) .. controls (-1,3.3) and (1,3.3) .. (1.9,2.97)
- arc (260:100:-1.3 and -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);
-\foreach \x in { 0.2 , 0.6 }
- \draw[line width=0.04ex*\tkzsymbls@scl]
- (\x,-1) -- (\x,-2) (-\x,-1) -- (-\x,-2) ;
-\draw[line width=0.04ex*\tkzsymbls@scl] (-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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{NiceReapey#1#2}
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+% \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} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { NiceReapey_#1_#2 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { (1.1067em+0.07ex) * \l_@@_scale_abs_tl }
+ { (0.693em+0.07ex) * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.11em,y=0.11em, line ~ width=0.07ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \draw[] (1.7,-1) arc [start ~ angle=360, end ~ angle=180, x ~ radius=1.7, y ~ radius=2]
+ arc [start ~ angle=260, end ~ angle=110, x ~ radius=1.5,y ~ radius=2]
+ .. controls (-1,3.3) and (1,3.3) .. (1.9,2.97)
+ 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);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \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)}
%
-%\begin{macro}{\tikzsymbols@Strichmaxerl@XCheck}
-% \changes{v3.0}{2013/07/21}{New macro. Is needed for
-% \cs{Strichmaxerl}}
-%
-% This macro is needed for \verb|\Strichmaxerl|. It's not easy to
-% explain why it does what it does, but \dots uhm \dots it has
-% something to do with mathematics and why the plain vanilla rectangle
-% has always the correct proportions.
-%
-% It is important for having \Makro{Strichmaxerl}'s plain vanilla
-% rectangle the correct size. Well, at first this macro checks if
-% \verb|#1| is greater than 0. If it is, it checks if \verb|#1| is
-% smaller than $0.18$ (radius of the Strichmaxerl's head). If it is,
-% it sets \verb|#1| to $0$ (it is smaller than the head-radius and is
-% therefore not needed). If it is not, it subtracts $0.18$ from
-% \verb|#1| (we only want the length which overhangs the head). Else
-% \dots
-% \begin{macrocode}
-\newcommand{\tikzsymbols@Strichmaxerl@XCheck}[1]{%
-\ifdim #1 pt > 0pt%
- \ifdim #1 pt < 0.18pt%
- \pgfmathsetmacro{#1}{0}%
- \else%
- \pgfmathsetmacro{#1}{#1-0.18}%
- \fi%
- \else%
- \ifdim #1 pt >-0.18pt%
- \pgfmathsetmacro{#1}{0}%
- \else%
- \pgfmathsetmacro{#1}{#1+0.18}%
- \fi%
-\fi%
-}
+%\begin{macro}{ \@@_Strichmaxerl_x_check:N }
+% A helper command.
+% \begin{macrocode}
+\cs_new:Npn \@@_Strichmaxerl_x_check:N #1
+ {
+ \fp_compare:nTF { #1 > 0 }
+ {
+ \fp_compare:nTF { #1 < 0.18 }
+ { \fp_zero:N #1 }
+ { \fp_set:Nn #1 { #1 - 0.18 } }
+ }
+ {
+ \fp_compare:nTF { #1 > - 0.18 }
+ { \fp_zero:N #1 }
+ { \fp_set:Nn #1 { #1 + 0.18 } }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\tikzsymbols@Strichmaxerl@ifSmallerZero}
-% \changes{v3.0}{2013/07/21}{New macro. Is needed for
-% \cs{Strichmaxerl}. Checks if something is smaller than 0}
%
-% Checks if something is smaller than zero ($<0$).
+%
+%
+%
+%
+%\begin{macro}{ \@@_Strichmaxerl_if_smaller_zero_set_zero:N }
+% Again to write less.
% \begin{macrocode}
-\newcommand{\tikzsymbols@Strichmaxerl@ifSmallerZero}[1]{%
-\ifdim #1 pt < 0pt%
- \pgfmathsetmacro{#1}{0}%
-\fi%
-}
+\cs_new:Npn \@@_Strichmaxerl_if_smaller_zero_set_zero:N #1
+ {
+ \fp_compare:nT { #1 < 0 } { \fp_zero:N #1 }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Strichmaxerl}
-% \changes{v3.0}{2013/07/21}{Renamed \cs{Person} to \cs{Strichmaxerl}
-% and added great parts of code}
%
-% My first symbol: a Strichmaxerl. And one of the most complex
-% symbols in this package.
+%
+%
+%
+%\begin{macro}{ \Strichmaxerl }
% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Strichmaxerl}[5][1=1,2=-22,3=22,4=27,5=-27,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Strichmaxerl#1#2#3#4#5}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
+\@@_Declare_Document_Command:nnn { Strichmaxerl }
+ { O{1} O{-22} O{22} O{27} O{-27} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT
+ { Strichmaxerl_#1_#2_#3_#4_#5 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
% \end{macrocode}
%
% Now we have to calculate the length and the height of the separate
@@ -2964,10 +4130,10 @@ decorate {-- (-0.25,0.24)}
% \verb|LB| for \enquote{linkes Bein} (\emph{left leg}). \par
% \verb|RB| for \enquote{rechtes Bein} (\emph{right leg}). \par
% \begin{macrocode}
-\pgfmathsetmacro{\tikzsymbols@x@LA}{-0.27*cos(#2)}%
-\pgfmathsetmacro{\tikzsymbols@x@RA}{0.27*cos(#3)}%
-\pgfmathsetmacro{\tikzsymbols@x@LB}{0.34*sin(#4)}%
-\pgfmathsetmacro{\tikzsymbols@x@RB}{0.34*sin(#5)}%
+ \fp_set:Nn \l_@@_Strichmaxerl_x_LA_fp { -0.27 * cosd (#2) }
+ \fp_set:Nn \l_@@_Strichmaxerl_x_RA_fp { 0.27 * cosd (#3) }
+ \fp_set:Nn \l_@@_Strichmaxerl_x_LB_fp { 0.34 * sind (#4) }
+ \fp_set:Nn \l_@@_Strichmaxerl_x_RB_fp { 0.34 * sind (#5) }
% \end{macrocode}
%
% Now the height (\verb|y|): \par
@@ -2976,34 +4142,44 @@ decorate {-- (-0.25,0.24)}
% \verb|LB| for \enquote{linkes Bein} (\emph{left leg}). \par
% \verb|RB| for \enquote{rechtes Bein} (\emph{right leg}). \par
% \begin{macrocode}
-\pgfmathsetmacro{\tikzsymbols@y@LA}{0.27*sin(#2)}%
-\pgfmathsetmacro{\tikzsymbols@y@RA}{-0.27*sin(#3)}%
-\pgfmathsetmacro{\tikzsymbols@y@LB}{0.34*cos(#4)}%
-\pgfmathsetmacro{\tikzsymbols@y@RB}{0.34*cos(#5)}%
+ \fp_set:Nn \l_@@_Strichmaxerl_y_LA_fp { 0.27 * sind (#2) }
+ \fp_set:Nn \l_@@_Strichmaxerl_y_RA_fp { -0.27 * sind (#3) }
+ \fp_set:Nn \l_@@_Strichmaxerl_y_LB_fp { 0.34 * cosd (#4) }
+ \fp_set:Nn \l_@@_Strichmaxerl_y_RB_fp { 0.34 * cosd (#5) }
% \end{macrocode}
% Well then, lets start our calculations. Firstly the length.
%
%^^A X
%
-% We use the \verb|\tikzsymbols@Strichmaxerl@XCheck| to check if \dots
-% (see above).
% \begin{macrocode}
-\tikzsymbols@Strichmaxerl@XCheck{\tikzsymbols@x@LA}%
-\tikzsymbols@Strichmaxerl@XCheck{\tikzsymbols@x@RA}%
-\tikzsymbols@Strichmaxerl@XCheck{\tikzsymbols@x@LB}%
-\tikzsymbols@Strichmaxerl@XCheck{\tikzsymbols@x@RB}%
+ \@@_Strichmaxerl_x_check:N \l_@@_Strichmaxerl_x_LA_fp
+ \@@_Strichmaxerl_x_check:N \l_@@_Strichmaxerl_x_RA_fp
+ \@@_Strichmaxerl_x_check:N \l_@@_Strichmaxerl_x_LB_fp
+ \@@_Strichmaxerl_x_check:N \l_@@_Strichmaxerl_x_RB_fp
% \end{macrocode}
-% We want the greatest and the smallest length for our rectangle. To
-% evaluate them, we define \verb|\tikzsymbols@x@max| and
-% \verb|\tikzsymbols@x@min| using \Package{tikz} \verb|max()| and
-% \verb|min()|. The 0 is very important: if for example all lengths
-% are negative, the greatest number is 0. (Sorry, I don't want to
-% explain it, it has something to do with math).
+%
+%
+%
+%
+%
+%
% \begin{macrocode}
-\pgfmathsetmacro{\tikzsymbols@x@max}
- {max(0,\tikzsymbols@x@LA,\tikzsymbols@x@RA,\tikzsymbols@x@LB,\tikzsymbols@x@RB)}%
-\pgfmathsetmacro{\tikzsymbols@x@min}
- {min(0,\tikzsymbols@x@LA,\tikzsymbols@x@RA,\tikzsymbols@x@LB,\tikzsymbols@x@RB)}%
+ \fp_set:Nn \@@_Strichmaxerl_x_max_fp
+ {
+ max
+ (
+ 0 , \l_@@_Strichmaxerl_x_LA_fp , \l_@@_Strichmaxerl_x_RA_fp,
+ \l_@@_Strichmaxerl_x_LB_fp , \l_@@_Strichmaxerl_x_RB_fp
+ )
+ }
+ \fp_set:Nn \@@_Strichmaxerl_x_min_fp
+ {
+ min
+ (
+ 0 , \l_@@_Strichmaxerl_x_LA_fp , \l_@@_Strichmaxerl_x_RA_fp,
+ \l_@@_Strichmaxerl_x_LB_fp , \l_@@_Strichmaxerl_x_RB_fp
+ )
+ }
% \end{macrocode}
%
%^^A Y
@@ -3014,353 +4190,459 @@ decorate {-- (-0.25,0.24)}
% Arms: First we subtract $0.2$ (= adding $-0.2$) (torso length)
%
% \begin{macrocode}
- \pgfmathsetmacro{\tikzsymbols@y@LA}{\tikzsymbols@y@LA-0.2}%
- \pgfmathsetmacro{\tikzsymbols@y@RA}{\tikzsymbols@y@RA-0.2}%
+ \fp_set:Nn \l_@@_Strichmaxerl_y_LA_fp { \l_@@_Strichmaxerl_y_LA_fp - 0.2 }
+ \fp_set:Nn \l_@@_Strichmaxerl_y_RA_fp { \l_@@_Strichmaxerl_y_RA_fp - 0.2 }
% \end{macrocode}
% Arms and Legs: if they are smaller than $0$, make them $0$.
% \begin{macrocode}
-\tikzsymbols@Strichmaxerl@ifSmallerZero{\tikzsymbols@y@LA}%
-\tikzsymbols@Strichmaxerl@ifSmallerZero{\tikzsymbols@y@RA}%
-\tikzsymbols@Strichmaxerl@ifSmallerZero{\tikzsymbols@y@LB}%
-\tikzsymbols@Strichmaxerl@ifSmallerZero{\tikzsymbols@y@RB}%
+ \@@_Strichmaxerl_if_smaller_zero_set_zero:N \l_@@_Strichmaxerl_y_LA_fp
+ \@@_Strichmaxerl_if_smaller_zero_set_zero:N \l_@@_Strichmaxerl_y_RA_fp
+ \@@_Strichmaxerl_if_smaller_zero_set_zero:N \l_@@_Strichmaxerl_y_LB_fp
+ \@@_Strichmaxerl_if_smaller_zero_set_zero:N \l_@@_Strichmaxerl_y_RB_fp
% \end{macrocode}
%
% And find the greatest number.
% \begin{macrocode}
-\pgfmathsetmacro{\tikzsymbols@y@max}
-{max(\tikzsymbols@y@LA,\tikzsymbols@y@RA,\tikzsymbols@y@LB,\tikzsymbols@y@RB)}%
+ \fp_set:Nn \@@_Strichmaxerl_y_max
+ {
+ max
+ (
+ 0 , \l_@@_Strichmaxerl_y_LA_fp , \l_@@_Strichmaxerl_y_RA_fp,
+ \l_@@_Strichmaxerl_y_LB_fp , \l_@@_Strichmaxerl_y_RB_fp
+ )
+ }
% \end{macrocode}
-% For the box-length we calculate:
-%\begin{equation}
-%(0.606ex + 1.35ex(\text{x=1.35ex})*\text{(greatest (positive) length)} - 1.35*\text{(smallest (negative) length})) * \text{scale}
-%\end{equation}
-%For the height:
-%\begin{equation}
-%(1.173ex+1.35ex*\text{greatest height})*\text{scale}
-%\end{equation}
-% \begin{macrocode}
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{(0.606ex+1.35ex*\tikzsymbols@x@max
- -1.35ex*\tikzsymbols@x@min)*\tkzsymbls@Prmtr}%
-{(1.173ex+1.35ex*\tikzsymbols@y@max)*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
- \begin{tikzpicture}[line width=0.12ex*\tkzsymbls@scl, scale=#1, x=1.35ex, y=1.35ex]
- \draw[rotate around={#5:(0.15,0.2)}] (0.15,0.2) -- (0.15,-0.14);
- \draw[rotate around={#4:(0.15,0.2)}] (0.15,0.2) -- (0.15,-0.14);
- \draw (.15,.2) -- (.15,.4);
- \draw[rotate around={#3:(.15,.4)}] (0.15,0.4) -- (0.42,0.4);
- \draw[rotate around={#2:(.15,.4)}] (0.15,0.4) -- (-0.12,0.4);
- \draw (.15, .4) -- (.15, .53);
- \draw (.15,.8) circle (0.18);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Strichmaxerl#1#2#3#4#5}%
-\tikzsymbolsaftersymbolinput%
-}
-\tkzsymbls@Declare@Robust@Command{Person}{%
-\PackageWarning{tikzsymbols}{Command '\protect\Person' is obsolete,
-\MessageBreak Please use '\protect\Strichmaxerl' instead.\MessageBreak}%
-\Strichmaxerl%
-}
+%
+%
+%
+%
+%
+%
+% \begin{macrocode}
+ \@@_create_draftbox:nn
+ {
+ (
+ 0.606ex+1.35ex * \@@_Strichmaxerl_x_max_fp
+ -1.35ex * \@@_Strichmaxerl_x_min_fp
+ ) * \l_@@_scale_abs_tl
+ }
+ {
+ ( 1.173ex + 1.35ex * \@@_Strichmaxerl_y_max) * \l_@@_scale_abs_tl
+ }
+ }{
+ {
+ \begin{tikzpicture}
+ [
+ line ~ width=0.12ex* \l_@@_scale_abs_tl , scale=#1, x=1.35ex, y=1.35ex
+ ]
+ \char_set_catcode_other:N :
+ \draw[rotate \space around= { #5 \token_to_str:N : ( 0.15 , 0.2 ) } ] (0.15,0.2) -- (0.15,-0.14);
+ \draw[rotate \space around= { #4 \token_to_str:N : ( 0.15 , 0.2 ) } ] (0.15,0.2) -- (0.15,-0.14);
+ \draw (.15,.2) -- (.15,.4);
+ \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);
+ \end{tikzpicture}%
+ }
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\Candle}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-%
-% A burning candle
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Candle}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Candle#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{0.64ex*\tkzsymbls@Prmtr}{(1.255ex+2.2pt)*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex, y=1ex, scale=#1, line width=0.07ex*\tkzsymbls@scl]
-\draw[rounded corners=0.04ex*\tkzsymbls@scl] (0,0) -- (0.2,0) -- +(0,1) -- (0,1) -- cycle;
-\draw[line width=0.05ex*\tkzsymbls@scl] (0.1,1) -- (0.1,1.2);
-\foreach \x in { -0.4 , 0.2 }
- \draw[xshift=0.95, yshift=2.2, line width=0.04ex*\tkzsymbls@scl]
- (-0.1,0.6) .. controls (\x,0.8) and (-0.1,1) .. (-0.1,1.2);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Candle#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%\begin{macro}{ \Person }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Person } { O{1} O{-22} O{22} O{27} O{-27} }
+ {
+ \msg_error:nnnn
+ { tikzsymbols }
+ { obsolete-command }
+ { \Person }
+ { \Strichmaxerl }
+ \tikzsymbolsuse { Strichmaxerl } [#1] [#2] [#3] [#4] [#5]
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Fire}
-% Just a fire.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Fire}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Fire#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.576ex*\tkzsymbls@Prmtr}{1.639ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex, line width=0.07ex*\tkzsymbls@scl,rotate=45, scale=#1]
-\fill (-0.05,0) -- (0.05,0) -- (0.05,0.95) -- (-0.05,0.95) -- cycle;
-\fill (-0.74,0.7) -- (0.19,0.7) -- (0.19,0.8) -- (-0.74,0.8) -- cycle;
-\fill[rotate=-20, xshift=-1.3, yshift=-0.1]
- (-0.05,0.07) -- (0.05,0.07) -- (0.05,0.9) -- (-0.05,0.9) -- cycle;
-\fill[rotate=-70, xshift=-3.3, yshift=-2.3]
- (-0.05,0.07) -- (0.05,0.07) -- (0.05,0.9) -- (-0.05,0.9) -- cycle;
-\fill[rotate=135, xshift=2.5, yshift=-3.8]
- (-0.05,0.07) -- (0.05,0.07) -- (0.05,0.9) -- (-0.05,0.9) -- cycle;
-\draw[rotate=-45, xshift=-2.6, yshift=1.5,line width=0.04ex*\tkzsymbls@scl, x=0.5ex, y=0.5ex]
-(-0.1,0.29) .. controls (-0.7,0.6) and (0,1.2) .. (0.05,1.7);
-\draw[rotate=-45, xshift=-2.1,yshift=1.5,line width=0.04ex*\tkzsymbls@scl, x=0.5ex, y=0.5ex]
-(-0.1,0.29) .. controls (0.7,0.6) and (-0.1,1.2) .. (-0.15,1.7);
-\draw[rotate=-45, xshift=-2.5] (-0.1,0.29) .. controls (-0.7,0.6) and (0,1.2) .. (0,1.5);
-\draw[rotate=-45, xshift=-2] (-0.1,0.29) .. controls (0.7,0.6) and (-0.1,1.2) .. (-0.1,1.5);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Fire#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%\begin{macro}{ \Candle }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Candle } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Candle_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 0.64ex * \l_@@_scale_abs_tl }
+ { (1.255ex+2.2pt) * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex, y=1ex, scale=#1, line ~ width=0.07ex* \l_@@_scale_abs_tl
+ ]
+ \draw[rounded ~ corners=0.04ex* \l_@@_scale_abs_tl ]
+ (0,0) -- (0.2,0) -- +(0,1) -- (0,1) -- cycle;
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ] (0.1,1) -- (0.1,1.2);
+ \foreach \x in { -0.4 , 0.2 }
+ \draw[xshift=0.95, yshift=2.2, line ~ width=0.04ex* \l_@@_scale_abs_tl ]
+ (-0.1,0.6) .. controls (\x,0.8) and (-0.1,1) .. (-0.1,1.2);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Cofeecup}
-% \changes{v3.0}{2013/07/21}{Changed angle of arc a bit. Changed a
-% length.}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-%
-% Just a cup of coffee.
-% \begin{macrocode}
-\ifKV@tikzsymbols@marvosym \else%
- \tkzsymbls@Declare@Robust@Command{Coffeecup}[1][1]{%
- \tikzsymbols@ifsaveboxundefined{Coffeecup#1}{%
- \set@tkzsymblsscl{#1}%
- \iftikzymbols@draftabsolute%
- \tksymbls@bx@Prmtrstore{#1}%
- \tikzsymbols@draftbox{1.82ex*\tkzsymbls@Prmtr}{1.705ex*\tkzsymbls@Prmtr}%
-\else%
- \ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
- \begin{tikzpicture}[x=0.7ex,y=0.7ex, scale=#1, line width=0.07ex*\tkzsymbls@scl,
- decoration={snake,amplitude=.05ex*\tkzsymbls@scl,segment length=0.408ex*\tkzsymbls@scl}]
- \draw (0,0) arc (180:270:0.8 and 1) -- ++(0.5,0) arc (270:360:0.8 and 1) -- cycle;
- \draw (2.1,-0.15) -- (2.2,-0.15) arc (90:-90:0.3) -- (1.85, -0.75);
- \foreach \x in {0.4,1,1.6}
- \draw[line width=0.05ex*\tkzsymbls@scl, decorate]
- (\x,0.3) -- +(0,1);
- \draw (0,-1.05) -- (2.1,-1.05);
- \end{tikzpicture}%
- \fi%
- }%
- \tikzsymbols@use@box{Coffeecup#1}%
- \tikzsymbolsaftersymbolinput%
- }%
-\fi
+%
+%
+%
+%
+%\begin{macro}{ \Fire }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Fire } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Fire_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.576ex * \l_@@_scale_abs_tl }
+ { 1.639ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex, y=1ex, scale=#1, line ~ width=0.07ex* \l_@@_scale_abs_tl ,
+ rotate=45,
+ ]
+ \fill (-0.05,0) -- (0.05,0) -- (0.05,0.95) -- (-0.05,0.95) -- cycle;
+ \fill (-0.74,0.7) -- (0.19,0.7) -- (0.19,0.8) -- (-0.74,0.8) -- cycle;
+ \fill[rotate=-20, xshift=-1.3, yshift=-0.1]
+ (-0.05,0.07) -- (0.05,0.07) -- (0.05,0.9) -- (-0.05,0.9) -- cycle;
+ \fill[rotate=-70, xshift=-3.3, yshift=-2.3]
+ (-0.05,0.07) -- (0.05,0.07) -- (0.05,0.9) -- (-0.05,0.9) -- cycle;
+ \fill[rotate=135, xshift=2.5, yshift=-3.8]
+ (-0.05,0.07) -- (0.05,0.07) -- (0.05,0.9) -- (-0.05,0.9) -- cycle;
+ \draw
+ [
+ rotate=-45, xshift=-2.6, yshift=1.5,
+ line ~ width=0.04ex* \l_@@_scale_abs_tl , x=0.5ex, y=0.5ex
+ ]
+ (-0.1,0.29) .. controls (-0.7,0.6) and (0,1.2) .. (0.05,1.7);
+ \draw
+ [
+ rotate=-45, xshift=-2.1,yshift=1.5,
+ line ~ width=0.04ex* \l_@@_scale_abs_tl , x=0.5ex, y=0.5ex
+ ]
+ (-0.1,0.29) .. controls (0.7,0.6) and (-0.1,1.2) .. (-0.15,1.7);
+ \draw[rotate=-45, xshift=-2.5] (-0.1,0.29) .. controls
+ (-0.7,0.6) and (0,1.2) .. (0,1.5);
+ \draw[rotate=-45, xshift=-2] (-0.1,0.29) .. controls
+ (0.7,0.6) and (-0.1,1.2) .. (-0.1,1.5);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\Chair}
-% A chair.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Chair}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Chair#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{0.97ex*\tkzsymbls@Prmtr}{1.69ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\@tkzssmbls@negtrue\fi%
-\begin{tikzpicture}[x=0.9ex,y=0.9ex, scale=#1, line width=0.07ex*\tkzsymbls@scl]
-\draw (0,-0.5) -- (0,0.7) -- (0.5,1) -- (0.5,0.25);
-\draw[line width=0.06ex*\tkzsymbls@scl] (0,0.4) -- (0.5,0.7);
-\draw (0,0) -- (0.5,0.3) -- (1,0) --(1,-0.5);
-\if@tkzssmbls@neg\draw (0.5,0.3) -- +(0,-0.5);\fi%
-\draw (0.5,-0.3) -- (0.5,-0.8);
-\draw (1,0) -- (0.5,-0.3) -- (0,0);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Chair#1}%
-\@tkzssmbls@negfalse%
-\tikzsymbolsaftersymbolinput%
+%
+%
+%
+%
+%
+%\begin{macro}{ \Coffeecup }
+% \begin{macrocode}
+\bool_if:NF \g_@@_if_opt_marvosym_bool
+{
+\@@_Declare_Document_Command:nnn { Coffeecup } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Coffeecup_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.82ex * \l_@@_scale_abs_tl }
+ { 1.705ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.7ex,y=0.7ex, scale=#1,
+ line ~ width=0.07ex* \l_@@_scale_abs_tl , decoration=
+ {
+ snake,amplitude=.05ex* \l_@@_scale_abs_tl ,
+ segment ~ length=0.408ex* \l_@@_scale_abs_tl
+ }
+ ]
+ \draw (0,0) arc [start ~ angle=180, end ~ angle=270, x ~ radius=0.8,y ~ radius=1] --++
+ (0.5,0) arc [start ~ angle=270, end ~ angle=360, x ~ radius=0.8,y ~ radius=1] -- cycle;
+ \draw (2.1,-0.15) -- (2.2,-0.15) arc [start ~ angle=90, end ~ angle=-90, radius=0.3] -- (1.85, -0.75);
+ \foreach \x in {0.4,1,1.6}
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl , decorate]
+ (\x,0.3) -- +(0,1);
+ \draw (0,-1.05) -- (2.1,-1.05);
+ \end{tikzpicture}%
+ }
+ }
+ }
}
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\Bed}
-% A bed.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Bed}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Bed#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{3.08ex*\tkzsymbls@Prmtr}{1.68ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex, scale=#1, line width=0.08ex*\tkzsymbls@scl]
-\draw (0,0) -- (0,1.6);
-\draw (3,0) -- (3,1.2);
-\draw (0,0.5) -- (3,0.5);
-\draw (0,0.35) -- (3,0.35);
-\draw (0.7,0.5) arc (0:90:0.7);
-\draw (0.7,0.5) arc(180:30:1.231 and 0.6);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Bed#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%
+%\begin{macro}{ \Chair }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Chair } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Chair_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 0.97ex * \l_@@_scale_abs_tl }
+ { 1.69ex * \l_@@_scale_abs_tl }
+ }{
+ \fp_compare:nT { #1 < 0 } { \bool_set_true:N \l_@@_if_scale_negative_bool }
+ \begin{tikzpicture}
+ [
+ x=0.9ex,y=0.9ex, scale=#1, line ~ width=0.07ex* \l_@@_scale_abs_tl
+ ]
+ \draw (0,-0.5) -- (0,0.7) -- (0.5,1) -- (0.5,0.25);
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ] (0,0.4) -- (0.5,0.7);
+ \draw (0,0) -- (0.5,0.3) -- (1,0) --(1,-0.5);
+ \bool_if:NT \l_@@_if_scale_negative_bool
+ { \draw (0.5,0.3) -- +(0,-0.5); }
+ \draw (0.5,-0.3) -- (0.5,-0.8);
+ \draw (1,0) -- (0.5,-0.3) -- (0,0);
+ \end{tikzpicture}%
+ }
+ \bool_set_false:N \l_@@_if_scale_negative_bool
+ }
+ }
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\Tribar}
-% Also called Penrose-Triangle.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Tribar}[4]
-[1=1,2={opacity=0},3={opacity=0},4={opacity=0},usedefault]
-{%
-\tikzsymbols@ifsaveboxundefined{Tribar#1#2#3#4}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.7175ex*\tkzsymbls@Prmtr}{1.685ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.65ex,y=0.65ex,scale=#1,
- rounded corners=0.03ex*\tkzsymbls@scl, line width=0.06ex*\tkzsymbls@scl]
-\fill[#2] (0.15,0.3) -- (-0.15,-0.3) -- (1.75,-0.3) -- ++ (-0.15,-0.3)
- -- (-0.65,-0.6) -- (0.35,1.3) -- +(0.15,-0.3);
-\fill[#3] (0,0) -- (1.3,0) -- (0.35,1.9) -- (0.65,1.9) -- (1.75,-0.3) -- (-0.1,-0.3);
-\fill[#4] (1,0) -- (0.35,1.3) -- (-0.65,-0.6) -- ++ (-0.15,0.3) -- (0.35,1.9) -- (1.3,0);
-\draw (0,0) -- (1,0) -- (0.5,1) -- cycle;
-\draw (0.15,0.3) -- (-0.15,-0.3) -- (1.75,-0.3) -- ++ (-0.15,-0.3)
- -- (-0.65,-0.6) -- (0.35,1.3) -- (0.8,.4);
-\draw (0.9,0) -- (1.3,0) -- (0.35,1.9) -- (0.65,1.9) -- (1.75,-0.3) -- +(-0.05,-0.1);
-\draw (-0.6,-0.6) -- (-0.65,-0.6) -- ++ (-0.15,0.3) -- (0.35,1.9) -- (0.4,1.9);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Tribar#1#2#3#4}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%
+%\begin{macro}{ \Bed }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Bed } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Bed_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 3.08ex * \l_@@_scale_abs_tl }
+ { 1.68ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex , y=1ex , scale=#1 , line ~ width=0.08ex*\l_@@_scale_abs_tl
+ ]
+ \draw (0,0) -- (0,1.6);
+ \draw (3,0) -- (3,1.2);
+ \draw (0,0.5) -- (3,0.5);
+ \draw (0,0.35) -- (3,0.35);
+ \draw (0.7,0.5) arc [start ~ angle=0, end ~ angle=90, radius=0.7];
+ \draw (0.7,0.5) arc [start ~ angle=180, end ~ angle=30, x ~ radius=1.231,y ~ radius=0.6];
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\tikzsymbolsMoaithickness}
-% You may already thought it: the line width of the \verb|\Moai|.
+%
+%
+%
+%
+%\begin{macro}{ \Tribar }
% \begin{macrocode}
-\newcommand{\tikzsymbolsMoaithickness}{}
+\@@_Declare_Document_Command:nnn { Tribar }
+ { O{1} O{opacity=0} O{opacity=0} O{opacity=0} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Tribar_#1_#2_#3_#4 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.7175ex * \l_@@_scale_abs_tl }
+ { 1.685ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.65ex,y=0.65ex,scale=#1,
+ rounded ~ corners=0.03ex* \l_@@_scale_abs_tl ,
+ line ~ width=0.06ex* \l_@@_scale_abs_tl
+ ]
+ \fill[#2] (0.15,0.3) -- (-0.15,-0.3) -- (1.75,-0.3) -- ++ (-0.15,-0.3)
+ -- (-0.65,-0.6) -- (0.35,1.3) -- +(0.15,-0.3);
+ \fill[#3] (0,0) -- (1.3,0) -- (0.35,1.9) -- (0.65,1.9) --
+ (1.75,-0.3) -- (-0.1,-0.3);
+ \fill[#4] (1,0) -- (0.35,1.3) -- (-0.65,-0.6) -- ++
+ (-0.15,0.3) -- (0.35,1.9) -- (1.3,0);
+ \draw (0,0) -- (1,0) -- (0.5,1) -- cycle;
+ \draw (0.15,0.3) -- (-0.15,-0.3) -- (1.75,-0.3) -- ++ (-0.15,-0.3)
+ -- (-0.65,-0.6) -- (0.35,1.3) -- (0.8,.4);
+ \draw (0.9,0) -- (1.3,0) -- (0.35,1.9) -- (0.65,1.9) --
+ (1.75,-0.3) -- +(-0.05,-0.1);
+ \draw (-0.6,-0.6) -- (-0.65,-0.6) -- ++ (-0.15,0.3) -- (0.35,1.9) -- (0.4,1.9);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
%
-%\begin{macro}{\Moai}
-% From the Easter Island: a Moai.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Moai}[1][1=1,usedefault]{%
-\tikzsymbols@ifsaveboxundefined{Moai#1}{%
-\set@tkzsymblsscl{#1}%
-\tksymbls@bx@Prmtrstore{#1}%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\ifdim \tkzsymbls@scl<2pt%
-\def\tikzsymbolsMoaithickness{0.05ex}%
-\else%
-\ifdim \tkzsymbls@scl<5pt%
-\def\tikzsymbolsMoaithickness{0.035ex}%
-\else%
-\def\tikzsymbolsMoaithickness{0.03ex}%
-\fi\fi%
-\iftikzymbols@draftabsolute%
-\tikzsymbols@draftbox{(1.001ex+\tikzsymbolsMoaithickness)*\tkzsymbls@Prmtr}
- {(1.664ex+\tikzsymbolsMoaithickness)*\tkzsymbls@Prmtr}%
-\else%
-\begin{tikzpicture}[x=.13ex, y=.13ex, rounded corners=0.01ex*\tkzsymbls@scl, scale=#1,
- line width=\tikzsymbolsMoaithickness*\tkzsymbls@scl]
-\draw (-2.6,-4.25) -- (-2.5,-5.8)
-..controls (-2,-6.8) and (1.5,-6.8) .. (2.2,-5.8) -- (2.4,-3.95);
-\draw(-2.5,2.5) .. controls (-2.9,4.6) and (2,5) .. (3.3,2.5) -- (2.9,-3.4)
-.. controls (2,-5) and (-4,-5) .. (-3.1,-3) -- cycle;
-\draw (-2.5,3) -- (-2,5) .. controls (0,6) and (2,5.8) .. (3.1,4.7) -- (3.3,2.5);
-\draw[line width=0.02ex*\tkzsymbls@scl]
- (-2.2,-1.8) .. controls (-1,-1.3) and (0,-1.7) .. (1,-2);
-\draw[line width=0.02ex*\tkzsymbls@scl]
- (-2.2,-1.8) .. controls (-1,-1) and (0,-1.4) .. (1,-2);
-\draw[line width=0.02ex*\tkzsymbls@scl]
- (-2.2,-1.8) .. controls (-1,-2) and (0,-2) .. (1,-2);
-\draw (-0.8,4) .. controls (-0.8,3) and (-0.8,2) .. (-1.6,0.5) -- (-1.8,-0.4)
- .. controls (-1,0.2) and (0,0.2) .. (0.6,-0.4) -- (0.7,0.4)
- .. controls (0,1) and (0,2) .. (0.8,4);
-\draw (-1.8,-0.36) .. controls (-0.5,-0.5) and (0,-0.5) .. (0.6,-0.36);
-\draw (3.2,3.5) -- (3.7,3.5) .. controls (3.5,2) and (3.5,2) .. (3.6,-1.5) -- (3,-1.9);
-\draw (-2.5,3) .. controls (-2.7,2) and (-3,1) .. (-2.88,-1);
-\draw (-2.5,2.8) .. controls (-2,2.5) and (-1,3) .. (-0.8,3.1);
-\draw (0.5,3.3) .. controls (1,3) and (1,2.5) .. (3.3,2.4);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Moai#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%\begin{macro}{ \Moai }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Moai } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Moai_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \fp_compare:nTF { abs (#1) < 2 }
+ {
+ \dim_set:Nn \l_@@_Moai_thickness_dim { 0.05ex }
+ }{
+ \fp_compare:nTF { abs (#1) < 5 }
+ { \dim_set:Nn \l_@@_Moai_thickness_dim { 0.035ex } }
+ { \dim_set:Nn \l_@@_Moai_thickness_dim { 0.03ex } }
+ }
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { ( 1.001ex + \l_@@_Moai_thickness_dim ) * \l_@@_scale_abs_tl }
+ { ( 1.664ex + \l_@@_Moai_thickness_dim ) * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=.13ex, y=.13ex, rounded ~ corners=0.01ex* \l_@@_scale_abs_tl ,
+ scale=#1,
+ line ~ width= \dim_use:N \l_@@_Moai_thickness_dim * \l_@@_scale_abs_tl
+ ]
+ \draw (-2.6,-4.25) -- (-2.5,-5.8)
+ ..controls (-2,-6.8) and (1.5,-6.8) .. (2.2,-5.8) -- (2.4,-3.95);
+ \draw (-2.5,2.5) .. controls (-2.9,4.6) and (2,5) .. (3.3,2.5) -- (2.9,-3.4)
+ .. controls (2,-5) and (-4,-5) .. (-3.1,-3) -- cycle;
+ \draw (-2.5,3) -- (-2,5) .. controls (0,6) and (2,5.8) .. (3.1,4.7) -- (3.3,2.5);
+ \draw[line ~ width=0.02ex* \l_@@_scale_abs_tl ]
+ (-2.2,-1.8) .. controls (-1,-1.3) and (0,-1.7) .. (1,-2);
+ \draw[line ~ width=0.02ex* \l_@@_scale_abs_tl ]
+ (-2.2,-1.8) .. controls (-1,-1) and (0,-1.4) .. (1,-2);
+ \draw[line ~ width=0.02ex* \l_@@_scale_abs_tl ]
+ (-2.2,-1.8) .. controls (-1,-2) and (0,-2) .. (1,-2);
+ \draw (-0.8,4) .. controls (-0.8,3) and (-0.8,2) .. (-1.6,0.5) -- (-1.8,-0.4)
+ .. controls (-1,0.2) and (0,0.2) .. (0.6,-0.4) -- (0.7,0.4)
+ .. controls (0,1) and (0,2) .. (0.8,4);
+ \draw (-1.8,-0.36) .. controls (-0.5,-0.5) and (0,-0.5) .. (0.6,-0.36);
+ \draw (3.2,3.5) -- (3.7,3.5) .. controls (3.5,2)
+ and (3.5,2) .. (3.6,-1.5) -- (3,-1.9);
+ \draw (-2.5,3) .. controls (-2.7,2) and (-3,1) .. (-2.88,-1);
+ \draw (-2.5,2.8) .. controls (-2,2.5) and (-1,3) .. (-0.8,3.1);
+ \draw (0.5,3.3) .. controls (1,3) and (1,2.5) .. (3.3,2.4);
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\Snowman}
-% \changes{v3.0g}{2015/10/01}{Added \cs{foreach} to the code.}
-%
-% A snowman. I think the smile is scary.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{Snowman}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{Snowman#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.545ex*\tkzsymbls@Prmtr}{1.772ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.9ex,y=0.9ex,line width=0.07ex*\tkzsymbls@scl, scale=#1]
-\draw (0,0) circle (0.4 and 0.35);
-\draw[line width=0.06ex*\tkzsymbls@scl] (0,0.64) circle (0.3 and 0.28);
-\draw[line width=0.05ex*\tkzsymbls@scl] (0,1.14) circle (0.2 and 0.2);
-\draw[rounded corners=0.1ex*\tkzsymbls@scl,line width=0.05ex*\tkzsymbls@scl,
- rotate around={-30:(0,1.14)}]
- (-0.2,1.15) -- ++(0,0.35) -- +(0.4,0) -- (0.2,1.14);
-\draw[rounded corners=0.07ex*\tkzsymbls@scl,line width=0.05ex*\tkzsymbls@scl,
- rotate around={-30:(0,1.14)}]
- (-0.2,1.19) arc (270:90:0.1);
-\foreach \y in { 0.78 , 0.63 , 0.48 }
- \fill (0,\y) circle (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);
-\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) ;
-\draw (-0.3,0.7) -- (-0.6,0.8);
-\draw (0.3,0.7) -- (0.6,0.8);
-\draw[line width=0.06ex*\tkzsymbls@scl] (-0.65,0) -- (-0.65,1);
-\foreach\x in {-0.85, -0.75,-0.65,-0.55,-0.45}
-\draw[line width=0.05ex*\tkzsymbls@scl] (-0.65,1) -- (\x,1.3);
-\foreach \y/\x/\z in { 0.7/0.75 , 0.9/0.8 , 1/0.6/0.55 }
- \draw (0.6,0.8) -- (\x,\y) (-0.6,0.8) -- (-\z,\y) ;
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{Snowman#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%
+%
+%
+%
+%
+% \begin{macro}{ \Snowman }
+%
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Snowman } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { Snowman_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.545ex * \l_@@_scale_abs_tl }
+ { 1.772ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=0.9ex,y=0.9ex,line ~ width=0.07ex* \l_@@_scale_abs_tl , scale=#1
+ ]
+ \draw (0,0) circle [x ~ radius = 0.4 , y~radius=0.35];
+ \draw[line ~ width=0.06ex* \l_@@_scale_abs_tl ] (0,0.64) circle [x ~ radius = 0.3 , y~radius=0.28];
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ] (0,1.14) circle [x ~ radius = 0.2 , y~radius=0.2];
+ \draw
+ [
+ rounded ~ corners=0.1ex* \l_@@_scale_abs_tl ,
+ line ~ width=0.05ex* \l_@@_scale_abs_tl ,
+ rotate ~ around={-30 \token_to_str:N : (0,1.14)} ,
+ ]
+ (-0.2,1.15) -- ++(0,0.35) -- +(0.4,0) -- (0.2,1.14);
+ \draw
+ [
+ rounded ~ corners=0.07ex * \l_@@_scale_abs_tl ,
+ line ~ width=0.05ex * \l_@@_scale_abs_tl ,
+ rotate ~ around={-30 \token_to_str:N : (0,1.14)} ,
+ ]
+ (-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);
+ \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);
+ \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) ;
+ \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);
+ \foreach\x in {-0.85, -0.75,-0.65,-0.55,-0.45}
+ \draw[line ~ width=0.05ex* \l_@@_scale_abs_tl ] (-0.65,1) -- (\x,1.3);
+ \foreach \y/\x/\z in { 0.7/0.75 , 0.9/0.8 , 1/0.6/0.55 }
+ \draw (0.6,0.8) -- (\x,\y) (-0.6,0.8) -- (-\z,\y) ;
+ \end{tikzpicture}%
+ }
+ }
+ }
% \end{macrocode}
%\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
@@ -3368,65 +4650,40 @@ decorate {-- (-0.25,0.24)}
%
%
%
-%\begin{macro}{\BasicTree}
-% We define our \verb|\BasicTree|. We check if the last parameter is
-% \enquote{leaf}, if not we check if the last parameter is empty, if
-% not: we generate an error message:
-% \begin{macrocode}
-\tkzsymblsnewcommand{BasicTree}[5][1]{%
-\tikzsymbols@ifsaveboxundefined{BasicTree#1#2#3#4#5}{%
-\def\tikzsymbols@leaf@or@not@leaf{#5}%
-\ifx\tikzsymbols@leaf@or@not@leaf\tikzsymbols@leaf@is@leaf%
-\Basic@Tree[#1]{#2}{#3}{#4}{#5}%
-\else%
-\ifx\\#5\\%
-\Basic@Tree[#1]{#2}{#3}{#4}{#5}%
-\else%
-\PackageError{tikzsymbols}{The last\MessageBreak parameter has either to be \MessageBreak
-'leaf' or has to be empty}{See the tikzsymbols documentation. Section 'Trees'.}%
-\fi\fi%
-}%
-\tikzsymbols@use@box{BasicTree#1#2#3#4#5}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \@@_Basic_Tree:nnnnn }
+% Let's define the \Makro{@@_Basic_Tree:nnnnn} command.
+% Like every symbol it also is saved inside a box.
+% If the fifth argument is neither empty nor \enquote{leaf}
+% it \dots\ does (?) an error message.
+% \begin{macrocode}
+\cs_new:Npn \@@_Basic_Tree:nnnnn #1#2#3#4#5
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT
+ { BasicTree_#1_#2_#3_#4_#5 }
+ {
+ \tl_set:Nn \l_tmpa_tl {#5}
+ \bool_if:nTF
+ {
+ \tl_if_eq_p:NN \l_tmpa_tl \c_@@_leaf_tl ||
+ \tl_if_empty_p:n {#5}
+ }{
+ \@@_Basic_Tree_aux:nnnnn {#1} {#2} {#3} {#4} {#5}
+ }{
+ \msg_error:nnn { tikzsymbols } { tree } {#5}
+ }
+ }
+ }
% \end{macrocode}
%\end{macro}
%
-%
-%\begin{macro}{\WorstTree}
-% It's not that bad.
-% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Command{WorstTree}[1][1]{%
-\tikzsymbols@ifsaveboxundefined{WorstTree#1}{%
-\set@tkzsymblsscl{#1}%
-\iftikzymbols@draftabsolute%
-\tksymbls@bx@Prmtrstore{#1}%
-\tikzsymbols@draftbox{1.64ex*\tkzsymbls@Prmtr}{1.84ex*\tkzsymbls@Prmtr}%
-\else%
-\ifdim\tkzsymbls@scl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=1ex,y=1ex, line width=0.04ex*\tkzsymbls@scl,scale=#1]
-\fill[brown] (-0.3,0) .. controls (0.2,0.3) and (0.2,0.7) .. (0.2,1) -- (0.5,1) ..
- controls (0.5,0.7) and (0.5,0.3) .. (1,0);
-\draw (-0.3,0) .. controls (0.2,0.3) and (0.2,0.7) .. (0.2,1) -- (0.5,1) ..
- controls (0.5,0.7) and (0.5,0.3) .. (1,0) ;
-\fill[green] (0.2,0.8) -- (0,0.8) .. controls (-0.4,0.7) and (-0.4,1) .. (-0.3,1.2) ..
- 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.5,0.8);
-\draw (0.214,0.8) -- (0,0.8) .. controls (-0.4,0.7) and (-0.4,1) .. (-0.3,1.2) ..
- 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);
-\end{tikzpicture}%
-\fi%
-}%
-\tikzsymbols@use@box{WorstTree#1}%
-\tikzsymbolsaftersymbolinput%
-}
+%\begin{macro}{ \BasicTree }
+% 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 }
+ {
+ \@@_Basic_Tree:nnnnn {#1} {#2} {#3} {#4} {#5}
+ }
% \end{macrocode}
%\end{macro}
%
@@ -3435,52 +4692,176 @@ decorate {-- (-0.25,0.24)}
%
%
%
-%\begin{macro}{\Springtree}
-% \changes{v3.0}{2013/07/21}{Replaced \cs{BasicTree} by
-% \cs{tikzsymbolsuse\{BasicTree\}} }
-%\begin{macro}{\Summertree}
-% \changes{v3.0}{2013/07/21}{Replaced \cs{BasicTree} by
-% \cs{tikzsymbolsuse\{BasicTree\}} }
-%\begin{macro}{\Autumntree}
-% \changes{v3.0}{2013/07/21}{Replaced \cs{BasicTree} by
-% \cs{tikzsymbolsuse\{BasicTree\}} }
-%\begin{macro}{\Wintertree}
-% \changes{v3.0}{2013/07/21}{Replaced \cs{BasicTree} by
-% \cs{tikzsymbolsuse\{BasicTree\}} }
+%\begin{macro}{ \WorstTree }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { WorstTree } { O{1} }
+ {
+ \@@_if_savebox_undefined_define_fi_and_use_it_afterwards:nT { WorstTree_#1 }
+ {
+ \@@_set_scale_abs_tl:n {#1}
+ \bool_if:NTF \g_@@_if_opt_draft_bool
+ {
+ \@@_create_draftbox:nn
+ { 1.64ex * \l_@@_scale_abs_tl }
+ { 1.84ex * \l_@@_scale_abs_tl }
+ }{
+ \begin{tikzpicture}
+ [
+ x=1ex,y=1ex, line ~ width=0.04ex* \l_@@_scale_abs_tl ,scale=#1
+ ]
+ \fill[brown] (-0.3,0) .. controls (0.2,0.3) and (0.2,0.7) .. (0.2,1) -- (0.5,1) ..
+ controls (0.5,0.7) and (0.5,0.3) .. (1,0);
+ \draw (-0.3,0) .. controls (0.2,0.3) and (0.2,0.7) .. (0.2,1) -- (0.5,1) ..
+ controls (0.5,0.7) and (0.5,0.3) .. (1,0) ;
+ \fill[green] (0.2,0.8) -- (0,0.8) .. controls (-0.4,0.7) and (-0.4,1) .. (-0.3,1.2) ..
+ 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.5,0.8);
+ \draw (0.214,0.8) -- (0,0.8) .. controls (-0.4,0.7) and (-0.4,1) .. (-0.3,1.2) ..
+ 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);
+ \end{tikzpicture}%
+ }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%
%
-% Some predefined Trees.
%
-% \enquote{Hey that look like the trees in the \dots} --
-% \enquote{Yes, Yes, I know!}.
%
-% We don't need \verb|\tikzsymbolsaftersymbolinput| because it is
-% already used in \verb|\BasicTree|.
+%\begin{macro}{ \Springtree }
% \begin{macrocode}
-\tkzsymbls@Declare@Robust@Commandx{Springtree}[1][1=1, usedefault]%
- {\tikzsymbolsuse{BasicTree}[#1]{brown!70!black}{green!90!black}{green!80!black}{leaf}}
-\tkzsymbls@Declare@Robust@Commandx{Summertree}[1][1=1, usedefault]%
- {\tikzsymbolsuse{BasicTree}[#1]{brown!50!black}{green!80!black}{red!80!green}{leaf}}
-\tkzsymbls@Declare@Robust@Commandx{Autumntree}[1][1=1, usedefault]%
- {\tikzsymbolsuse{BasicTree}[#1]{red!30!black}{red!75!black}{orange}{leaf}}
-\tkzsymbls@Declare@Robust@Commandx{Wintertree}[1][1=1, usedefault]%
- {\tikzsymbolsuse{BasicTree}[#1]{black!80!}{black!50}{black!25}{}}
+\@@_Declare_Document_Command:nnn { Springtree } { O {1} }
+ {
+ \@@_Basic_Tree:nnnnn
+ {#1}
+ { brown!70!black }
+ { green!90!black }
+ { green!80!black }
+ { leaf }
+ }
% \end{macrocode}
%\end{macro}
-%\end{macro}\end{macro}\end{macro}
-%
-%\begin{macro}{Error Message}
-% If option \Option{marvosym} is active, but the package not loaded,
-% there will be an error message.
-% \begin{macrocode}
-\AtBeginDocument{%
-\ifKV@tikzsymbols@marvosym
-\@ifpackageloaded{marvosym}{}{%
-\PackageError{tikzsymbols}{Use option 'marvosym' only\MessageBreak
-if you load package 'marvosym'}
-{Either load package 'marvosym' or\MessageBreak
-delete the tikzsymbols option 'marvosym'}}
-\fi
-}
+%
+%
+%
+%
+%
+%
+%\begin{macro}{ \Summertree }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Summertree } { O {1} }
+ {
+ \@@_Basic_Tree:nnnnn
+ {#1}
+ { brown!50!black }
+ { green!80!black }
+ { red!80!green }
+ { leaf }
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%
+%
+%
+%\begin{macro}{ \Autumntree }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Autumntree } { O {1} }
+ {
+ \@@_Basic_Tree:nnnnn
+ {#1}
+ { red!30!black }
+ { red!75!black }
+ { orange }
+ { leaf }
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%
+%
+%
+%\begin{macro}{ \Wintertree }
+% \begin{macrocode}
+\@@_Declare_Document_Command:nnn { Wintertree } { O {1} }
+ {
+ \@@_Basic_Tree:nnnnn
+ {#1}
+ { black!80!white }
+ { black!50 }
+ { black!25 }
+ { }
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%
+% Checks if the Package \Package{marvosym} is loaded
+% if the \Option{marvosym} is set true.
+% \begin{macrocode}
+\AtBeginDocument
+ {
+ \bool_if:NT \g_@@_if_opt_marvosym_bool
+ {
+ \@ifpackageloaded { marvosym } { }
+ {
+ \msg_error:nn { tikzsymbols } { marvosym }
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \begin{macro}{ \tikzsymbolsuse }
+% If the english command name is used, the german one
+% is inserted, don't exactly know why.
+% \begin{macrocode}
+\NewDocumentCommand \tikzsymbolsuse { m }
+ {
+ \prop_get:NnNTF \g_@@_english_commands_prop {#1} \l_tmpa_tl
+ {
+ \use:c { \g_@@_command_prefix_tl \l_tmpa_tl }
+ }{
+ \cs_if_exist:cTF { \g_@@_command_prefix_tl #1 }
+ { \use:c { \g_@@_command_prefix_tl #1 } }
+ { \msg_error:nnn { tikzsymbols } { undefined-command } {#1} }
+ }
+ }
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%
+%\begin{macro}{ \tikzsymbolsset }
+% \begin{macrocode}
+\NewDocumentCommand \tikzsymbolsset { m }
+ {
+ \keys_set_groups:nnn { tikzsymbols } { document } {#1}
+ }
+%\AtBeginDocument
+% {
+% \RenewDocumentCommand \tikzsymbolsset { }
+% {
+% \msg_error:nnn { tikzsymbols } { tikzsymbolsset }
+% }
+% }
% \end{macrocode}
%\end{macro}
%
@@ -3488,10 +4869,10 @@ delete the tikzsymbols option 'marvosym'}}
%\iffalse
%<*ignore>
\tkzsymbls@Declare@Robust@Command{@@@@@@@@Keep@Cool@@@@I}{%
-\begin{tikzpicture}[x=1em, y=1em, line width=0.03em]
-\fill[decorate,decoration={snake,amplitude=.02em,segment length=0.4em},cyan!20!]
+\begin{tikzpicture}[x=1em, y=1em, line ~ width=0.03em]
+\fill[decorate,decoration={snake,amplitude=.02em,segment ~ length=0.4em},cyan!20!]
(0,0) -- (0,1) -- (1,1) -- (1,0) -- cycle;
-\draw (0.3,0.3) -- (0.55,0.7);% Kšrper
+\draw (0.3,0.3) -- (0.55,0.7);% Körper
\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);
@@ -3501,9 +4882,9 @@ delete the tikzsymbols option 'marvosym'}}
}
\tkzsymbls@Declare@Robust@Command{@@@@@@@@@@@Keep@Cool@@@@@II}{%
\begin{tikzpicture}[x=1em,y=1em]
-\fill[decorate,decoration={snake,amplitude=.02em,segment length=0.6em},cyan!20!] (-0.3,-0.3) rectangle (0.5,1);
+\fill[decorate,decoration={snake,amplitude=.02em,segment ~ length=0.6em},cyan!20!] (-0.3,-0.3) rectangle (0.5,1);
\draw (0,-0.1) -- (0.15,0.2) -- (0.3,-0.1);% Beine
-\draw (.15,.2) -- (.15,.4);% Kšrper
+\draw (.15,.2) -- (.15,.4);% Körper
\draw (.15,.4) -- (.4,.5);% Rechter Arm
\draw (.15,.4) -- (-0.1,.5);% Linker Arm
\draw (.15, .4) -- (.15, .53);% Hals
@@ -3516,14 +4897,15 @@ delete the tikzsymbols option 'marvosym'}}
%
%
%
-%
-%
-%
%
-%
-%\Finale
+% \end{implementation}
%
% \iffalse meta-comment
%: Final
+%
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:
% \fi
-% \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
index c0305eb4ccd..09e2365befb 100644
--- a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
+++ b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
@@ -16,7 +16,7 @@
%% This work consists of the files README, tikzsymbols.dtx and tikzsymbols.ins
%% and the derived file tikzsymbols.sty.
-\input docstrip.tex
+\input l3docstrip.tex
\askforoverwritefalse
%\keepsilent
@@ -44,6 +44,9 @@ This work consists of the files README, tikzsymbols.dtx and tikzsymbols.ins
and the derived file tikzsymbols.sty.
\endpreamble
-\generate{\file{tikzsymbols.sty}{\from{tikzsymbols.dtx}{package}}}
+\generate
+ {
+ \file{tikzsymbols.sty}{\from{tikzsymbols.dtx}{package}}
+ }
\endbatchfile \ No newline at end of file