summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-02-15 23:57:49 +0000
committerKarl Berry <karl@freefriends.org>2013-02-15 23:57:49 +0000
commitdcd3dfee2f53020c529e9289c438d3b8c661650e (patch)
tree8742739a6e64afddcfce67e058e6a412b822ff9a /Master/texmf-dist/source
parent48b5afbdb8ac32395dcc769f5398201f12d6ed72 (diff)
tikzsymbols (15feb13)
git-svn-id: svn://tug.org/texlive/trunk@29127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx1417
-rw-r--r--Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins35
2 files changed, 1452 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
new file mode 100644
index 00000000000..5c953163316
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
@@ -0,0 +1,1417 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2013 by Ben Vitecek
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any later
+% version. The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2008-05-04 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{tikzsymbols}
+\usepackage[english]{babel}
+\usepackage[T1]{fontenc}
+\usepackage{array}
+\usepackage{longtable}
+\usepackage[colorlinks=true]{hyperref}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\makeatletter
+\newcommand{\definedBasicTree}[5][1]{%
+\def\leaf@or@not@leaf{#5}%
+\def\@leaf@is@leaf{leaf}%
+\begin{tikzpicture}[scale=#1,x=1.3ex,y=1.3ex]
+\draw[#2] (0,0) -- (0,1);
+\draw[#3] (0,1) -- (1,1);
+\draw[#4] (1,1) -- (1,0);
+\ifx\leaf@or@not@leaf\@leaf@is@leaf%
+\draw[#3] (1,0) -- (0.5,0);
+\draw[#4] (0.5,0) -- (0,0);
+\fi%
+\end{tikzpicture}%
+}\makeatother
+\newcommand{\mysec}[1]{\noindent\bfseries\large #1 \par}
+
+\begin{document}
+\DocInput{tikzsymbols.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+%
+%
+%\changes {v1.0} {2013/01/19} {Initial version}
+%\changes {v1.05} {2013/02/13} {Deleted a ``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 ``Person'' can be used in sections, etc.}
+%\changes {v1.6} {2013/02/14} {Now an error message is generated if the last parameter of ``BasicTree'' is neither ``leaf'' nor empty.}
+%\changes {v1.6} {2013/02/14} { New options: draft and final. If in documentclass the option ``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 ``tikzsymbolsaftersymbolinput'' to ``tikzsymbolsaftersymbolinput''}
+%
+%
+%
+%
+% \GetFileInfo{tikzsymbols.sty}
+%
+%\DoNotIndex {\begin{tikzpicture},\end{tikzpicture}}
+%\DoNotIndex {\verb, \DeclareRobustCommandx}
+%\DoNotIndex {=\verb}
+%\DoNotIndex {\verb||}
+%\DoNotIndex {\draw,\fill,\DeclareRobustCommand, \colorlet,\shade}
+%\DoNotIndex {\xspace,\begin,\end}
+%
+%
+%
+%
+%
+%
+%
+%\title{\textsf{tikzsymbols}\thanks{This document corresponds to \textsf{tikzsymbols}~\fileversion, dated~\filedate.}}
+%\author{Ben Vitecek \\ \texttt{b.vitecek@gmx.at}}
+%\maketitle
+%
+%\begin{abstract}\centering
+%Just some symbols created with ``tikz''.
+%
+% English is not my native language. So there might be some errors \Winkey
+%\end{abstract}
+%
+%
+%\tableofcontents
+%
+%
+%
+% \section{Short Introduction}
+%
+% There are about two emoticons available in \LaTeX{}: Smiley and Frowny.
+% But why aren't there more? Or why did nobody make cooking-symbols?
+% 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 some etc.
+% And one day I had the idea ``Why not uploading these symbols in CTAN?''
+% Well, now I am here and writing this documentation about my first package.
+% It's a strange feeling \dots
+%
+% \section{Options} \label{Options}
+%^^A This package offers exactly \textbf{one} option (and I am extremly proud of this one option. Do you know why? Because it took almost two hours to produce it. There is no thing like a ``easy'' keyval 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).
+%
+% These options are for the commands in the section ``Trees'' \ref{Trees}.
+% The trees look pretty nice, but have one drawback: \LaTeX{} needs extremely long to produce them.
+% So these options come in handy: by turning \verb|tree=off| or using \verb|draft| the trees will be replaced by squares (for an example see section ``Trees'' \ref{Trees}).
+% Those squares are fast produced by \LaTeX{} and have almost the same size as the trees, they are ``spacefillers''.
+% In your final document you can turn \verb|tree=on|, delete it or write \verb|final| and the trees will be produced.
+%
+%^^A Since version 1.6 this package offers some new options:
+%
+%^^A The option \verb|tree| can be turned on/off using the xkeyval package.
+%
+%^^A Instead of \verb|tree=off| you can also write \verb|draft|; instead of \verb|tree=on| you can just write \verb|final|.
+%
+%^^A And if you are using the class option \verb|draft| or \verb|final|, you can write.
+%^^A\vspace{1ex}
+%
+%
+%
+% \begin{longtable}{c|c}
+% Options to produce normal trees: \BasicTree{black!60!}{black!40!white}{black!30!white}{leaf} & Options for ``spacefillers'': \definedBasicTree{black!60!}{black!40!white}{black!30!white}{leaf}\\\hline\vspace{-1.5ex} \endhead
+% \verb|\usepackage{tikzsymbols}| \\[1ex]
+%\verb|\usepackage{tree=on}{tikzsymbols}| & \verb|\usepackage{tree=off}{tikzsymbols}| \\[1ex]
+% \verb|\usepackage{final}{tikzsymbols}|&\verb|\usepackage{draft}{tikzsymbols}| \\[1ex]
+% \verb|\documentclass[final]{class}| & \verb|\documentclass[draft]{class}| \\
+% \verb|\usepackage{tikzsymbols}| & \verb|\usepackage{tikzsymbols}|
+% \end{longtable}
+%
+%
+%
+% Note: you shouldn't use both, \verb|tree=on/off| and class-option \verb|draft|.
+% It's just unnecessary.
+%
+% While working on this document I used the \verb|draft| syntax and in the final output I deleted it.
+%
+% But there are no warnings, if you misspell something e.g. \verb|tree=onf|.
+% You will see what happens.
+%
+%
+% \section{Symbols}
+% In this section the symbols are introduced.
+% They \Smiley \tiny all \dInnocey \Huge change \Kochtopf \small automaticly \Wintertree \large with \oven \normalsize the textsize \Person.
+%
+%
+% \subsection{cooking-symbols \Kochtopf}
+% At the following table the cooking-symbols are listed.
+%
+% The first column shows the Command (at first the german at second the english).
+% The second are the optional keys.
+%
+%<scale> can be a number between 0 and $\infty$\footnote{Infinite; every positve number}, default is $1$.
+% The optional parameter(s) are for both, the german and the english commands the same.
+%
+% Da Umlaute nicht angezeigt werden k\"onnen, werden die Umlaute \"o, \"a, \"u ersetzt durch: o, a, u.
+%
+% \begin{longtable}{llcc}
+% \multicolumn{2}{l}{German \& English Commands} & Optional parameter(s) & Output (defaultsize) \\\hline\vspace{-1.5ex}\endhead
+%
+% \verb|\Kochtopf| & \verb|\pot| & \oarg{scale} & \Kochtopf \\
+% \verb|\Bratpfanne| & \verb|\fryingpan|& \oarg{scale} & \Bratpfanne \\
+% \verb|\Schneebesen| & \verb|\eggbeater| & \oarg{scale} & \eggbeater\\
+% \verb|\Sieb| & \verb|\sieve| & \oarg{scale} & \sieve\\
+% \verb|\Purierstab| & \verb|\blender|\footnote{I know that ``P\"urierstab'' should be translated as ``immersion blender'', but I'm just using ``blender''} & \oarg{scale} & \blender\\
+% \verb|\Dreizack| & \verb|\trident| & \oarg{scale} & \Dreizack\\
+% \verb|\Backblech| & \verb|\bakingplate| & \oarg{scale} & \bakingplate\\
+% \verb|\Ofen| & \verb|\oven| & \oarg{scale} & \Ofen\\
+% \verb|\Pfanne| & \verb|\pan| & \oarg{scale} & \Pfanne \\
+% \verb|\Herd| & \verb|\cooker| & \oarg{scale} & \cooker \\
+% \verb|\Saftpresse| & \verb|\squeezer| & \oarg{scale} & \Saftpresse \\
+% \verb|\Schussel| & \verb|\bowl| & \oarg{scale} & \Schussel \\
+% \end{longtable}
+%
+% \Kochtopf[0]
+%
+%
+%
+%
+%\subsection{Emoticons \texorpdfstring{\Smiley}{Smiley}}
+%\subsubsection{``normal'' Emoticons \texorpdfstring{\Cat}{Cat}}
+%
+% First column shows the commands, the second the optional paramter(s), the third the default-output.
+%
+% <scale> can be a number between 0 and $\infty$\footnote{Infinite; every positve number}, default is $1$.
+%
+% <color> can be every defined color.
+%
+%
+%\begin{longtable}{lcc}
+% Commands & Optional parameter(s) & Output (default) \\\hline\vspace{-1.5ex}\endhead
+%
+% \verb|\Sadey| & \oarg{scale}\oarg{color} & \Sadey \\
+% \verb|\Smiley| & \oarg{scale}\oarg{color} & \Smiley \\
+% \verb|\Annoey| & \oarg{scale}\oarg{color} & \Annoey \\
+% \verb|\Neutrey| & \oarg{scale}\oarg{color} & \Neutrey \\
+% \verb|\Winkey| & \oarg{scale}\oarg{color} & \Winkey \\
+% \verb|\Sey| & \oarg{scale}\oarg{color} & \Sey \\
+% \verb|\Innocey| & \oarg{scale}\oarg{color}\oarg{halo color} & \Innocey \\
+% \verb|\wInnocey| & \oarg{scale} & \wInnocey \\
+% \verb|\Cooley| & \oarg{scale}\oarg{color} & \Cooley \\
+% \verb|\Tongey| & \oarg{scale}\oarg{color} & \Tongey \\
+% \verb|\Nursey|\footnote{\label{Kreuz}The cross has nothing to do with religion meanings.}& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} &\Nursey \\
+% \verb|\Vomey| & \oarg{scale}\oarg{color}\oarg{vomit color} & \Vomey \\
+% \verb|\Cat| & \oarg{scale} & \Cat \\
+% \verb|\NiceReapey| & \oarg{scale} & \NiceReapey
+%
+%\end{longtable}
+%
+%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].
+%
+%\verb|\Nursey[][yellow][blue][red]|\Nursey[1][yellow][blue][red].
+%
+% \verb|\colorbox{yellow}{\Winkey \Annoey \Neutrey}|\colorbox{yellow}{\Winkey \Annoey \Neutrey}
+%
+%\verb|{\color{blue}\Sey}| {\color{blue}\Sey}
+%
+%\subsubsection{``3D'' Emoticons \texorpdfstring{\dSmiley}{dSmiley}}
+% First column shows the commands (note: the ``3D'' Emoticons begin with \verb|\d...|), the second the optional paramter(s), the third the default-output.
+%
+% <scale> can be a number between 0 and $\infty$\footnote{Infinite; every positve number}, default is $1$.
+% <color> can be every defined color (see examples below).
+%
+%
+%\begin{longtable}{lcc}
+% Commands & Optional parameter(s) & Output (default) \\\hline\vspace{-1.5ex}\endhead
+%
+% \verb|\dSadey| & \oarg{scale}\oarg{color} & \dSadey \\
+% \verb|\dSmiley| & \oarg{scale}\oarg{color} & \dSmiley \\
+% \verb|\dAnnoey| & \oarg{scale}\oarg{color} & \dAnnoey \\
+% \verb|\dNeutrey| & \oarg{scale}\oarg{color} & \dNeutrey \\
+% \verb|\dWinkey| & \oarg{scale}\oarg{color} & \dWinkey \\
+% \verb|\dSey| & \oarg{scale}\oarg{color} & \dSey \\
+% \verb|\dInnocey| & \oarg{scale}\oarg{color}\oarg{halo color} & \dInnocey \\
+% \verb|\dCooley| & \oarg{scale}\oarg{color} & \dCooley \\
+% \verb|\dTongey| & \oarg{scale}\oarg{color}\oarg{tongue color} & \dTongey \\
+% \verb|\dNursey|$^{\ref{Kreuz}}$& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} & \dNursey \\
+% \verb|\dVomey| & \oarg{scale}\oarg{color}\oarg{vomit color} & \dVomey
+%
+%\end{longtable}
+%
+% 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].
+%
+%\verb|\dNursey[][yellow][blue][red]|\dNursey[1][yellow][blue][red].
+%
+%
+% \subsection{other Symbol(s) \Person}
+% \begin{longtable}{lcc}
+% Commands & Optional parameter(s) & Output (default) \\\hline\vspace{-1.5ex}\endhead
+%\verb|\Person| & \oarg{scale} & \Person
+%\end{longtable}
+
+%
+%\subsection{Trees \BasicTree{blue!60!black}{red}{green}{leaf}}\label{Trees}
+% ``Hey, these trees look exactly like the ones in the tikzmanual'' -- ``NO! Not ``exatcly'', they look pretty a like\dots{} Well I changed them a bit\dots{} \dots{} Hey! The best ideas are stolen \dots''
+%
+% <scale> can be a number between 0 and $\infty$\footnote{Infinite; every positve number}, default is $1$.
+%
+% <color> can be every defined color.
+%
+% \verb|{|\emph{leaf}\verb|}| 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{leave}, see examples below).
+%
+% If you are using those trees, \LaTeX{} needs longer to produce the pdf.
+% So you may use the package option \verb|tree=off| (see section \ref{Options}) to make \LaTeX{} faster.
+%
+% \begin{longtable}{lcc}
+% Commands & Optional/Needed parameter(s) & Output \\\hline\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} & \Springtree \\
+% \verb|\Summertree| & \oarg{scale} & \Summertree \\
+% \verb|\Autumntree| & \oarg{scale} & \Autumntree \\
+% \verb|\Wintertree| & \oarg{scale} & \Wintertree \\
+% \verb|\WorstTree| & \oarg{scale} & \WorstTree
+% \end{longtable}
+%
+%
+%\noindent\verb|\BasicTree| examples:
+%
+% \verb|\BasicTree{red}{orange}{yellow}{leaf}|\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}{}
+%\\[5ex]
+% \verb|\BasicTree| example with option \verb|tree=off| (see section \ref{Options}):
+%
+%
+% \verb|\BasicTree{red}{orange}{yellow}{leaf}|\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}{}
+%\\[1ex]
+% I think it's best if you define your own tree using \verb|\newcommand| and \verb|\BasicTree| (don't forget \verb|\xspace|):
+%\begin{verbatim}
+% \newcommand{\Myicetree}[1][1]{%
+% \BasicTree[#1]{blue!65!white}{cyan!50!white}{cyan!50!white}{}\xspace}
+%\end{verbatim}
+%
+%
+% \subsection{Something to redefine}
+%
+% At the end of the code I am using the command:\\
+% \verb|\newcommand{\tikzsymbolsaftersymbolinput}{\xspace}|
+%
+% You may change this (for some reasons I don't know).
+% If you want ``\dots'' after every symbol you can define:
+% \verb|\renewcommand{\tikzsymbolsaftersymbolinput}{\dots}|
+% \renewcommand{\tikzsymbolsaftersymbolinput}{\dots}
+% which will lead to: \Smiley \Summertree \Schneebesen
+%
+% Well that's it.
+% \renewcommand{\tikzsymbolsaftersymbolinput}{\xspace}
+%
+%
+% \section{Warnings and Errors}
+%
+% 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{``3D'' Emoticons \texorpdfstring{\dSmiley}{dSmiley}}| or
+%
+%\verb|\subsection{Emoticons \texorpdfstring{\Smiley}{Smiley}]}| \\or
+%
+%\verb|\subsubsection{``normal'' Emoticons \texorpdfstring{\Cat}{Cat}}|
+%\\[1ex]
+% If you misspell \verb|tree=on| or \verb|tree=off| the ouptut will be something like: ``1redorangeyellowleaf''. If that happens, you misspelled something (``on'' or ``off'').
+% I have no idea how I can solve this (it was hard enough to make an option that works).
+%
+% \section[Code]{Code (do you really need this section?)}
+% There is not much to see, all this symbols were created with ``tikz''.
+% But it may helps you (somehow).
+
+%The first lines are always the same: what do I need, how is the package named:
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\ProvidesPackage{tikzsymbols}
+[2013/02/14 v1.6 Some symbols created using tikz.]
+\RequirePackage{xargs}
+\RequirePackage{tikz}
+\RequirePackage{xcolor}
+\RequirePackage{xspace}
+\RequirePackage{xkeyval}
+% \end{macrocode}
+% Furthermore we need to load some libraries from tikz:
+
+% \begin{macrocode}
+ \usetikzlibrary{arrows,decorations.pathmorphing,trees}
+% \end{macrocode}
+
+%\begin{macro}{\tikzsymbolsaftersymbolinput}
+% Now we define this strange named macro.
+% This macro is inserted after the tikz-code, and is defined as \verb|\xspace| (there may be some changes in future, and to write less I define this macro)
+% \begin{macrocode}
+\newcommand{\tikzsymbolsaftersymbolinput}{\xspace}
+% \end{macrocode}
+%\end{macro}
+
+% \subsection{Cookingsymbolcode}
+%\begin{macro}{\Person}
+% The first symbol: a person.
+% In german it would be called ``Strichmaxerl''.
+% I am using \verb|\DefineRobustCommand| so that the symbols can be used in \verb|\section{}|, \verb|\footnote|, \verb|\index{}|, etc.
+% \begin{macrocode}
+\DeclareRobustCommand{\Person}[1][1]{%
+ \begin{tikzpicture}[line width=0.12ex*#1,scale=#1,x=1.35ex,y=1.35ex]%
+ \draw (0,-0.1) -- (0.15,0.2) -- (0.3,-0.1);
+ \draw (.15,.2) -- (.15,.4);
+ \draw (.15,.4) -- (.4,.5);
+ \draw (.15,.4) -- (-0.1,.5);
+ \draw (.15, .4) -- (.15, .53);
+ \draw (.15,.8) circle (0.18);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\Kochtopf = \pot}
+% You can either use the german commands or the english ones:
+% \begin{macrocode}
+\DeclareRobustCommand{\Kochtopf}[1][1]{%
+\begin{tikzpicture}[x=2ex,y=2.2ex, line width=0.07ex*#1,scale=#1]
+\draw[rounded corners=0.2ex*#1] (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*#1,segment length=0.93ex*#1}]
+(0,0.35) -- (1,0.35);
+\draw (0.1,0.25) circle (0.04);
+\draw (0.3,0.2) circle (0.04);
+\draw (0.13, 0.125) circle (0.04);
+\draw (0.6,0.25) circle (0.04);
+\draw (0.45,0.1) circle (0.04);
+\draw (0.88,0.2) circle (0.04);
+\draw (0.7,0.11) circle (0.04);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\pot\Kochtopf
+% \end{macrocode}
+%\end{macro}
+%
+
+%\begin{macro}{\Bratpfanne = \fryingpan}
+% You may wonder why I am writing something like: \verb|amplitude=.12ex*#1|.
+% Well it' hard to explain in english, but I try my best:
+% After being scaled these symbols would look not so good without \verb|*#1|.
+% The lines would be too thin, the corners not rounded enough , etc.
+% To prevent too thin lines due to scaling I am multiplying the line width and the corners etc. so that they look with scale=5 a like with scale=1.
+% \begin{macrocode}
+\DeclareRobustCommand{\Bratpfanne}[1][1]{%
+\begin{tikzpicture}[x=0.7ex,y=1.4ex, line width=0.07ex*#1, scale=#1]
+\draw[rounded corners=0.07ex*#1] (-1,0) -- (1,0) -- (1.5,0.4) -- (-1.5,0.4) -- cycle;
+\draw[ line width=0.037ex*#1, rounded corners=0.023ex*#1]
+(-1.4,0.3) -- (-3.5,0.3) -- (-3.5,0.25) -- (-1.3,0.25);
+\draw[line width=0.023ex*#1] (-1.1,0.1) -- (1.1,0.1);
+\draw[line width=0.035ex*#1, decorate,
+ decoration={snake,amplitude=.05ex*#1,segment length=0.408ex*#1}]
+(-0.3,0.5) -- (-0.3,1);
+\draw[line width=0.035ex*#1, decorate,
+ decoration={snake,amplitude=.05ex*#1,segment length=0.408ex*#1}]
+ (0.3,0.5) -- (0.3,1);
+\draw[line width=0.035ex*#1, decorate,
+ decoration={snake,amplitude=.05ex*#1,segment length=0.408ex*#1}]
+(-1,0.5) -- (-1,1);
+\draw[line width=0.035ex*#1, decorate,
+ decoration={snake,amplitude=.05ex*#1,segment length=0.408ex*#1}]
+ (1,0.5) -- (1,1);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\fryingpan\Bratpfanne
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\Schneebesen = \eggbeater}
+% The next one:
+% \begin{macrocode}
+\DeclareRobustCommand{\Schneebesen}[1][1]{%
+\begin{tikzpicture}[y=2.1ex,x=1.4ex, scale=#1]
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (0.2,0.0) and (0.2,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (-0.2,0.0) and (-0.2,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (-0.1,0.0) and (-0.1,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (0.1,0.0) and (0.1,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (-0.15,0.0) and (-0.15,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (0.15,0.0) and (0.15,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (-0.05,0.0) and (-0.05,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) .. controls (0.05,0.0) and (0.05,0.2) .. (0,0.4);
+\draw[line width=0.01ex*(#1-.#1*3)]
+ (0,0) --(0,0.4);
+\fill[line width=0.05ex*#1, rounded corners=0.07ex*#1]
+ (-0.05,0.37) -- (0.05,0.37) -- (0.05,0.75) -- (-0.05,0.75) -- cycle;
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\eggbeater\Schneebesen
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\Sieb = \sieve}
+% Now a long one;
+% \begin{macrocode}
+\DeclareRobustCommand{\Sieb}[1][1]{%
+\begin{tikzpicture}[x=2.8ex, y=2.8ex,line width=0.02ex*#1 ,scale=#1]
+\draw[line width=0.09ex*#1] (-0.2,0) -- (1.01,0);
+\draw (0.2,0) arc (180:360:0.4);
+\draw(0.25,0) arc (180:360:0.35);
+\draw (0.3,0) arc (180:360:0.3);
+\draw (0.35,0) arc (180:360:0.25);
+\draw (0.4,0) arc (180:360:0.2);
+\draw (0.45,0) arc (180:360:0.15);
+\draw (0.5,0) arc (180:360:0.1);
+\draw (0.55,0) arc (180:360:0.05);
+\draw (.95,0) -- (0.95,-0.194);
+\draw (.9,0) -- (0.9,-0.265);
+\draw (.85,0) -- (0.85,-0.313);
+\draw (.8,0) -- (0.8,-0.345);
+\draw (.75,0) -- (0.75,-0.37);
+\draw (.7,0) -- (0.7,-0.39);
+\draw (.65,0) -- (0.65,-0.4);
+\draw (.6,0) -- (0.6,-0.4);
+\draw (.55,0) -- (0.55,-0.4);
+\draw (.5,0) -- (0.5,-0.39);
+\draw (.45,0) -- (0.45,-0.37);
+\draw (.4,0) -- (0.4,-0.348);
+\draw (.35,0) -- (0.35,-0.314);
+\draw (.3,0) -- (0.3,-0.265);
+\draw (.25,0) -- (0.25,-0.194);
+\draw (0.2,-0.05) -- (1,-0.05);
+\draw (0.21,-0.1) -- (0.99,-0.1);
+\draw (0.23,-0.15) -- (0.97,-0.15);
+\draw (0.255,-0.2) -- (0.945,-0.2);
+\draw (0.289,-0.25) -- (0.911,-0.25);
+\draw (0.335,-0.3) -- (0.865,-0.3);
+\draw (0.406,-0.35) -- (0.794,-0.35);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\sieve\Sieb
+% \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 ``P\"urierstab'' would be ``immersion blender'', but I am just using ``blender'':
+% \begin{macrocode}
+\DeclareRobustCommand{\Purierstab}[1][1]{%
+\begin{tikzpicture}[x=2.3ex, y=2.2ex, line width=0.07ex*#1,scale=#1]
+\draw[rounded corners=0.07ex*#1] (0,0) -- (0.3,0) -- (0.15,0.1) --cycle;
+\fill[rounded corners=0.07ex*#1] (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\blender\Purierstab
+% \end{macrocode}
+%\end{macro}
+%
+
+%\begin{macro}{\Dreizack = \trident}
+% Important for cooking:
+% \begin{macrocode}
+\DeclareRobustCommand{\Dreizack}[1][1]{%
+\begin{tikzpicture}[x=2.3ex, y=2.2ex, line width=0.035ex*#1,scale=#1]
+\fill[rounded corners=0.07ex*(#1-.#1)] (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*(#1-.#1*#1*2] (0,0.7) -- (0,0.55)
+ -- (0.05,0.55) -- (0.1,0.55) -- (0.1,0.7);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\trident\Dreizack
+% \end{macrocode}
+%\end{macro}
+%
+
+%\begin{macro}{\Backblech = \bakingplate}
+% I may overdo it a little bit \dots:
+% \begin{macrocode}
+\DeclareRobustCommand{\Backblech}[1][1]{%
+\begin{tikzpicture}[x=6.53ex,y=5.ex, line width=0.07ex*#1,scale=#1]
+\filldraw[rounded corners=0.09ex*#1] (0,0) rectangle (0.3,0.3);
+\draw[rounded corners=0.07ex*#1, line width=0.03ex*#1]
+ (0.1,0) -- (-0.025,0) -- (-0.025,0.3) -- (0.1,0.3);
+\draw[rounded corners=0.07ex*#1, line width=0.03ex*#1]
+ (0.2,0) -- (.325,0) -- (.325,0.3) -- (0.2,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}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\bakingplate\Backblech
+% \end{macrocode}
+%\end{macro}
+%
+
+%\begin{macro}{\Ofen = \oven}
+% I may overdo it a little bit 2:
+% \begin{macrocode}
+\DeclareRobustCommand{\Ofen}[1][1]{%
+\begin{tikzpicture}[x=0.50ex,y=.5ex, line width=0.07ex*#1,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*#1] (1,1.75) -- (3,1.75);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\oven\Ofen
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\Pfanne = \pan}
+% I can't think of a better word \dots:
+% \begin{macrocode}
+\DeclareRobustCommand{\Pfanne}[1][1]{%
+\begin{tikzpicture}[x=2.3ex,y=2.3ex, line width=0.09ex*#1,scale=#1]
+\draw [rounded corners=0.023ex*#1](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*#1,
+ segment length=0.82ex*#1},line width=0.05ex*#1] (-0.05,0.1) -- (0.95,0.1);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\pan\Pfanne
+% \end{macrocode}
+%\end{macro}
+%
+
+%\begin{macro}{\Herd = \cooker}
+% I hope it' the right translation:
+% \begin{macrocode}
+\DeclareRobustCommand{\Herd}[1][1]{%
+\begin{tikzpicture}[x=1ex,y=1ex,line width=0.04ex*#1,scale=#1]
+\draw[line width=0.08ex*#1] (0,0) rectangle (2,1.5);
+\draw (0.5,0.45) circle (0.35);
+\draw (0.5,0.45) circle (0.2);
+\draw (1.45,0.45) circle (0.3);
+\draw (0.5,1.15) circle (0.21);
+\draw (1.05,0.95) rectangle (1.85,1.35);
+\draw (1.45,1.15) circle (0.15);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\cooker\Herd
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\Saftpresse = \squeezer}
+% It's an old squeezer:
+% \begin{macrocode}
+\DeclareRobustCommand{\Saftpresse}[1][1]{%
+\begin{tikzpicture}[x=1.2ex,y=1ex,line width=0.07ex*#1,scale=#1]
+\draw[rounded corners=0.1ex*#1] (0,0.85) -- (0,0) -- (1.5,0) -- (1.5,0.85) -- cycle;
+\draw (0,0.7) -- (1.5,0.7);
+\draw[rounded corners=0.1ex*#1] (0.3,0.7) -- (0.75,1.55) -- (1.2,0.7);
+\draw[rounded corners=0.1ex*#1] (0.45,0.7) -- (0.75,1.55) -- (1.05,0.7);
+\draw[rounded corners=0.1ex*#1] (0.65,0.7) -- (0.75,1.55) -- (0.85,0.7);
+\draw[line width=0.05ex*#1, decorate,
+ decoration={snake,amplitude=.05ex*#1,segment length=0.48ex*#1}] (0,0.3) -- (1.5,0.3);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\let\squeezer\Saftpresse
+% \end{macrocode}
+%\end{macro}
+%
+
+%\begin{macro}{\Schussel = \bowl}
+% It may looks a bit queery, but I like it.
+% Wieder dasselbe mit den Umlauten: \"u=u.
+% \begin{macrocode}
+\DeclareRobustCommand{\Schussel}[1][1]{%
+\begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex*#1, scale=#1]
+\draw[rounded corners=0.5ex*#1]
+ (-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);
+\end{tikzpicture}
+\tikzsymbolsaftersymbolinput%
+}
+\let\bowl\Schussel
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%
+%\iffalse
+%<package>%%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+%\fi
+%
+%
+%
+%
+% \subsection{Emoticonscode}
+%
+%\begin{macro}{\Sadey \dSadey}
+% An other name of Sadey is Frowny, but I named it Sadey because there are enough Frownys in the world.
+% All ``3D'' Emoticons start with \verb|\d...|, and all Emoticons end with an ``ey'' (exception: ``Cat'').
+% The ``default color'' of the 2D Emoticons is \verb|opacity=0|, with that default option, 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}
+\DeclareRobustCommandx{\Sadey}[2][1=1, 2={opacity=0}, usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,scale=#1]
+\fill[#2, line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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.11) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.11);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dSadey}[2][1=1,2=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,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.11) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.11);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%
+%
+%\begin{macro}{\Annoey \dAnnoey}
+% An annoyed Smiley -\_-
+% \begin{macrocode}
+\DeclareRobustCommandx{\Annoey}[2][1=1,2={opacity=0},usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,scale=#1]
+\fill[#2, line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dAnnoey}[2][1=1,2=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%
+
+%\begin{macro}{\Smiley \dSmiley}
+% A normal Smiley
+% \begin{macrocode}
+\DeclareRobustCommandx{\Smiley}[2][1=1,2={opacity=0} ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,scale=#1]
+\fill[#2,line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dSmiley}[3][1=1,2=yellow,3=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%
+%\begin{macro}{\Neutrey \dNeutrey}
+% neutral Smiley \verb+:|+
+% \begin{macrocode}
+\DeclareRobustCommandx{\Neutrey}[2][1=1, 2={opacity=0}, usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,scale=#1]
+\fill[#2,line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dNeutrey}[2][1=1,2=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+
+%\begin{macro}{\Winkey \dWinkey}
+% ;)
+% \begin{macrocode}
+\DeclareRobustCommandx{\Winkey}[2][1=1,2={opacity=0} ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,scale=#1]
+\fill[#2, line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dWinkey}[2][1=1,2=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+
+
+%\begin{macro}{\Sey \dSey}
+% I can't think of a better name \verb|:S|
+% \begin{macrocode}
+\DeclareRobustCommandx{\Sey}[2][1=1,2={opacity=0} ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,scale=#1]
+\fill[#2, line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dSey}[2][1=1,2=yellow ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*#1,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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%\begin{macro}{\Innocey \dInnocey}
+% An innocent Smiley
+% \begin{macrocode}
+\DeclareRobustCommandx{\Innocey}[3][1=1,2={opacity=0},3=yellow ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,scale=#1]
+\fill[#2,line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (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*#1] (0.32,0.31) arc (0:360:0.32 and 0.1);
+\draw[line width=0.05ex*#1] (0.3,0.31) arc (0:360:0.3 and 0.07);
+\draw[line width=0.05ex*#1] (0.35,0.31) arc (0:360:0.35 and 0.12);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommand{\wInnocey}[1][1]{\Innocey[#1][opacity=0][white]}
+\DeclareRobustCommandx{\dInnocey}[3][1=1,2=yellow,3=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,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.09ex*#1] (0.32,0.31) arc (0:360:0.32 and 0.1);
+\draw[line width=0.05ex*#1] (0.3,0.31) arc (0:360:0.3 and 0.07);
+\draw[line width=0.05ex*#1] (0.35,0.31) arc (0:360:0.35 and 0.12);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+
+%\begin{macro}{\Cooley \dCooley}
+% Cool
+% \begin{macrocode}
+\DeclareRobustCommandx{\Cooley}[2][1=1,2={opacity=0} ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,scale=#1]
+\fill[#2,line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (0,0) circle (0.33);
+\fill[rounded corners=0.1ex*#1]
+ (0.24,0.15) -- (0.01,0.15) -- (0.01,0) -- (0.24,0) -- cycle;
+\fill[rounded corners=0.1ex*#1]
+ (-0.24,0.15) -- (-0.01,0.15) -- (-0.01,0) -- (-0.24,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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dCooley}[2][1=1,2=yellow,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,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);
+\shade[ball color=black,rounded corners=0.1ex*#1]
+ (0.24,0.15) -- (0.01,0.15) -- (0.01,0) -- (0.24,0) -- cycle;
+\shade[ball color=black,rounded corners=0.1ex*#1]
+ (-0.24,0.15) -- (-0.01,0.15) -- (-0.01,0) -- (-0.24,0) -- cycle;
+\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%\begin{macro}{\Tongey \dTongey}
+% :P
+% \begin{macrocode}
+\DeclareRobustCommandx{\Tongey}[3][1=1,2={opacity=0},3=red ,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,scale=#1]
+\fill[#2,line width=0.12ex*#1] (0,0) circle (0.33);
+\draw[line width=0.12ex*#1] (0,0) circle (0.33);
+\fill (-0.1,0.1) circle (0.05);
+\fill (0.1,0.1) circle (0.05);
+\fill[#3,line width=0.058ex*#1, rounded corners=0.12ex*#1]
+ (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
+\draw[line width=0.07ex*#1, yshift=0.21ex]
+ (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+\draw[line width=0.058ex*#1, rounded corners=0.11ex*#1]
+ (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dTongey}[3][1=1,2=yellow,3=red,usedefault]{%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*#1,scale=#1]
+\shade[ball color=#2] (0,0) circle (0.33);
+\shade[ball color=black] (-0.1,0.1) circle (0.05);
+\shade[ball color=black] (0.1,0.1) circle (0.05);
+\shade[ball color=#3,line width=0.058ex*#1, rounded corners=0.12ex*#1]
+ (0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
+\draw[black, line width=0.058ex*#1, rounded corners=0.12ex*#1]
+ (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*#1, yshift=0.21ex]
+ (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%\begin{macro}{\Nursey \dNursey}
+% a Nurse (the cross has nothing to do with religion).
+% \begin{macrocode}
+\DeclareRobustCommandx{\Nursey}[4][1=1,2={opacity=0},3={opacity=0},4=black,usedefault]{%
+\begin{tikzpicture}[x=2.3ex, y=2.3ex, line width=0.12ex*#1,scale=#1]
+\fill[#3,rounded corners=.023ex*#1]
+ (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0);
+\fill[#2,line width=0.12ex*#1] (0,0) circle (0.3);
+\draw[line width=0.12ex*#1] (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*#1, 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*#1]
+ (-0.3,0) -- (-0.3,0.3) -- (0,0.6) -- (0.3,0.3) -- (0.3,0);
+\draw[#4,line width=.046ex*#1] (0,0.35) -- (0,0.5);
+\draw[#4,line width=.046ex*#1] (-0.05,0.45) -- (0.05,0.45);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dNursey}[4][1=1,2=yellow,3=white,4=red,usedefault]{%
+\begin{tikzpicture}[x=2.3ex, y=2.3ex, line width=0.12ex*#1,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*#1, 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*#1,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*#1]
+ (-0.01,0.31) -- (-0.01,0.46) -- (0.01,0.46) -- (0.01,0.31)--cycle;
+\shade[ball color=#4,line width=.046ex*#1]
+ (-0.05,0.4) -- (0.05,0.4) -- (0.05,0.42)--(-0.05,0.42) -- cycle;
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+
+%\begin{macro}{\Vomey \dVomey}
+% *Bl\"a\"argh*
+% \begin{macrocode}
+\DeclareRobustCommandx{\Vomey}[3][1=1,2={opacity=0},3={opacity=0},usedefault]{%
+\begin{tikzpicture}[x=0.58ex,y=0.58ex, line width=0.09ex*#1,scale=#1]
+\fill[#2,rounded corners=0.05ex*#1] (0,0) arc (15:330:1) -- (-0.6,-0.3) -- cycle;
+\draw[rounded corners=0.05ex*#1] (0,0) arc (15:330:1) -- (-0.6,-0.3) -- cycle;
+\draw[line width=0.05ex*#1] (-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 (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}%
+\tikzsymbolsaftersymbolinput%
+}
+\DeclareRobustCommandx{\dVomey}[3][1=1,2=yellow,3={brown!10!olive},usedefault]{%
+\begin{tikzpicture}[x=0.58ex,y=0.58ex, line width=0.09ex*#1,scale=#1]
+\shade[ball color=#2!90!brown,rounded corners=0.03ex*#1]
+ (0,0) arc (15:330:1) -- (-0.6,-0.3) -- cycle;
+\draw[black, line width=0.05ex*#1] (-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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%\begin{macro}{\Cat}
+% *Miau*
+% \begin{macrocode}
+\DeclareRobustCommandx{\Cat}[1][1=1,usedefault]{%
+\begin{tikzpicture}[x=2.33ex,y=2.33ex, line width=0.093ex*#1,scale=#1]
+\draw (0,0) circle (0.3);
+\draw[rounded corners=0.163ex*#1] (-0.3,0) -- (-0.35,0.5) -- (0,0.3);
+\draw[rounded corners=0.163ex*#1] (0,0.3) -- (0.35,0.5) -- (0.3,0);
+\fill (-0.15,.15) circle (0.05);
+\fill (0.15,.15) circle (0.05);
+\draw[rounded corners=0.175ex*#1,yshift=-0.12ex] (0,0) -- (0,-0.1) -- (-0.1,-0.095);
+\draw[rounded corners=0.175ex*#1,yshift=-0.12ex] (0,0) -- (0,-0.1) -- (0.1,-0.095);
+\draw[rounded corners=.12ex*#1,yshift=-.15ex, line width=0.03em*(#1-.#1)]
+(-0.1,0.1) -- (0,0) -- (0.1,0.1) -- cycle ;
+\draw[line width=0.035ex*#1](-0.1,-0.05)..controls(-0.25,0)and(-0.35,0).. (-0.4,-0.05);
+\draw[line width=0.035ex*#1, ](-0.1,-0.05)..
+ controls(-0.25,-0.01)and(-0.35,-0.09).. (-0.4,-0.14);
+\draw[line width=0.035ex*#1, ](-0.1,-0.05)..
+ controls(-0.25,-0.045)and(-0.35,-0.13).. (-0.4,-0.23);
+\draw[line width=0.035ex*#1](0.1,-0.05)..controls(0.25,0)and(0.35,0).. (0.4,-0.05);
+\draw[line width=0.035ex*#1 ]
+ (0.1,-0.05)..controls(0.25,-0.01)and(0.35,-0.09).. (0.4,-0.14);
+\draw[line width=0.035ex*#1]
+ (0.1,-0.05)..controls(0.25,-0.045)and(0.35,-0.13).. (0.4,-0.23);
+\end{tikzpicture}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+
+
+%\begin{macro}{\NiceReapey}
+% Not very well made.
+% But it's better than nothing
+% \begin{macrocode}
+\DeclareRobustCommandx{\NiceReapey}[1][1=1,usedefault]{%
+\begin{tikzpicture}[x=0.11em,y=0.11em, line width=0.07ex*#1,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;
+\fill[black!20!white] (3,3) .. controls (5,3) and (6,2) .. (7,1.5) -- (3,1.5) -- cycle;
+\draw (3,-3) -- (3,3) .. controls (5,3) and (6,2) .. (7,1.5) -- (3,1.5);
+\draw (0,-1.5) circle (1 and 0.5);
+\draw[line width=0.04ex*#1] (-0.2,-1) -- (-0.2,-2);
+\draw[line width=0.04ex*#1] (0.2,-1) -- (0.2,-2);
+\draw[line width=0.04ex*#1] (0.6,-1) -- (0.6,-2);
+\draw[line width=0.04ex*#1] (-0.6,-1) -- (-0.6,-2);
+\draw[line width=0.04ex*#1] (-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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%
+
+%<package>%%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+
+%
+% \subsection{Trees}
+% Many great ideas are stolen.
+% Don't know who said that, but it's true.
+%
+%
+%\begin{macro}{\@leaf@is@leaf}
+% I this name \dots However, We need this command for creating an errormessage if the last paramter of BasicTree is neither ``leaf'' nor empty.
+% \begin{macrocode}
+\def\@leaf@is@leaf{leaf}
+% \end{macrocode}
+%\end{macro}
+
+
+%\begin{macro}{\if@draft \if@final}
+% We need them for some package warnings.
+% \begin{macrocode}
+\newif\if@tikzsymbols@draft
+\newif\if@tikzsymbols@final
+% \end{macrocode}
+%\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 ``tikz'' manual and changed it a little bit):
+% \begin{macrocode}
+\DeclareRobustCommand{\@Tree@SetUp}[1][1]{\tikzset{%
+ld/.style={level distance=##1ex},lw/.style={line width=##1ex},%
+level 1/.style={ld=0.60, trunk, lw=0.1*#1 ,sibling angle=60},%
+level 2/.style={ld=0.20, trunk!80!leaf a,lw=.073*#1,sibling angle=70},%
+level 3/.style={ld=0.25,trunk!60!leaf a,lw=.05*#1,sibling angle=70}, %
+level 4/.style={ld=0.10, trunk!40!leaf a,lw=.025*#1,sibling angle=60},%
+level 5/.style={ld=0.15, trunk!20!leaf a,lw=.02*#1,sibling angle=60},%
+level 6/.style={ld=0.08,leaf a, lw=.021*#1,sibling angle=60},%
+}}%
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{\Basic@Tree}
+% Now we define our \verb|\Basic@Tree|. We will need it later for our package option (basic code is also from ``tikz'' manual).
+% \begin{macrocode}
+\DeclareRobustCommandx{\Basic@Tree}[5][1=1, usedefault]{{%
+\@Tree@SetUp[#1]%
+\pgfarrowsdeclare{leaf}{leaf}%
+{\pgfarrowsleftextend{-.1ex} \pgfarrowsrightextend{-0.05ex}}%
+{%
+\pgfpathmoveto{\pgfpoint{-.01ex}{0ex}}%
+\pgfpatharc{150}{30}{0.16ex*(#1/2)}% dicke
+\pgfpatharc{-30}{-150}{0.16ex*(#1/2)}%
+\pgfusepathqfill%
+}%
+\colorlet{trunk}{#2}%
+\colorlet{leaf a}{#3}%
+\colorlet{leaf b}{#4}\begin{tikzpicture}[x=1ex,y=1ex,scale=#1]%
+\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}%
+}}
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{draft}
+% If the class option \verb|draft|, then Squares instead of trees. Furthermore we set \verb|\@drafttrue| and \verb|\@finalfalse| for some warnings:
+% \begin{macrocode}
+\DeclareOptionX{draft}{\@tikzsymbols@drafttrue\@tikzsymbols@finalfalse
+\def\Basic@Tree{\Basic@Tree@off}}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{final}
+% If the class option \verb|final|, then trees. Same as before:
+% \begin{macrocode}
+\DeclareOptionX{final}{\@tikzsymbols@draftfalse\@tikzsymbols@finaltrue
+\def\Basic@Tree{\Basic@Tree@on}}
+% \end{macrocode}
+% It's extremely annoying: you are working almost a day to find out how this package recognizes \verb|draft| and at the end there are just two lines of code.
+%
+%\end{macro}
+
+%\begin{macro}{tree}
+% Now we declare the name of our option: ``tree'' (I could have named it stone, or wood, etc. but I used ``tree''). This code is copy \& pasted from this site: \href{http://tex.stackexchange.com/questions/13270/a-package-template-using-xkeyval}{http://tex.stackexchange.com/}. Plus some warnings, if you use class option \verb|draft| or \verb|final| with package option \verb|tree=on/off|:
+% \begin{macrocode}
+\DeclareOptionX{tree}{%
+ \def\Basic@Tree{\csname Basic@Tree@#1\endcsname}%
+ \if@tikzsymbols@draft%
+\PackageWarningNoLine{tikzsymbols}{You can use class option \MessageBreak
+draft with package option tree=on/off;
+\MessageBreak but I think it would be better if you
+\MessageBreak delete tree=on/off}\fi%
+\if@tikzsymbols@final%
+\PackageWarningNoLine{tikzsymbols}{You can use class option \MessageBreak
+final with package option tree=on/off;
+\MessageBreak but I think it would be better if you
+\MessageBreak delete tree=on/off}\fi%
+ }
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{\Basic@Tree@off}
+% We define \verb|\Basic@Tree@off|; it will be shown if \verb|tree=off|. Furthermore, we check if the last parameter is ``leaf'':
+% \begin{macrocode}
+\DeclareRobustCommandx{\Basic@Tree@off}[5][1=1, usedefault]{{%
+\def\leaf@or@not@leaf{#5}%
+\begin{tikzpicture}[scale=#1,x=1.3ex,y=1.3ex]
+\draw[#2] (0,0) -- (0,1);
+\draw[#3] (0,1) -- (1,1);
+\draw[#4] (1,1) -- (1,0);
+\ifx\leaf@or@not@leaf\@leaf@is@leaf%
+\draw[#3] (1,0) -- (0.5,0);
+\draw[#4] (0.5,0) -- (0,0);
+\fi%
+\end{tikzpicture}%
+}}
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{\Basic@Tree@on}
+% We define \verb|\Basic@Tree@off|; it will be shown if \verb|tree=on|:
+% \begin{macrocode}
+\DeclareRobustCommandx{\Basic@Tree@on}[5][1=1, usedefault]{{%
+\@Tree@SetUp[#1]%
+\pgfarrowsdeclare{leaf}{leaf}%
+{\pgfarrowsleftextend{-.1ex} \pgfarrowsrightextend{-0.05ex}}%
+{%
+\pgfpathmoveto{\pgfpoint{-.01ex}{0ex}}%
+\pgfpatharc{150}{30}{0.16ex*(#1/2)}% dicke
+\pgfpatharc{-30}{-150}{0.16ex*(#1/2)}%
+\pgfusepathqfill%
+}%
+\colorlet{trunk}{#2}%
+\colorlet{leaf a}{#3}%
+\colorlet{leaf b}{#4}\begin{tikzpicture}[x=1ex,y=1ex,scale=#1]%
+\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}%
+}}
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\ProcessOptionsX*}
+%Again a code from the internet (don't know what \verb|\relax| does):
+% \begin{macrocode}
+\ProcessOptionsX*\relax
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{\BasicTree}
+% We define our \verb|\BasicTree|. We check if the last paramter is ``leaf'', if not we check if the last paramter is empty, if not we generate an error meassge:
+% \begin{macrocode}
+\newcommand\BasicTree[5][1]{%
+\def\leaf@or@not@leaf{#5}%
+\ifx\leaf@or@not@leaf\@leaf@is@leaf%
+\Basic@Tree[#1]{#2}{#3}{#4}{#5}\tikzsymbolsaftersymbolinput%
+\else%
+\ifx\\#5\\%
+\Basic@Tree[#1]{#2}{#3}{#4}{#5}\tikzsymbolsaftersymbolinput%
+\else%
+\PackageError{tikzsymbols}{The last parameter has either to be \MessageBreak
+`leaf` or has to be empty}{See the documentation. Section `Trees«.}%
+\fi\fi%
+}
+% \end{macrocode}
+%\end{macro}
+
+%
+%\begin{macro}{\WorstTree}
+% An extremly bad Tree. It's really worst.
+% \begin{macrocode}
+\DeclareRobustCommand{\WorstTree}[1][1]{%
+\begin{tikzpicture}[x=1ex,y=1ex, line width=0.04ex*#1,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}%
+\tikzsymbolsaftersymbolinput%
+}
+% \end{macrocode}
+%``Hey! That is the code from the tikzmanuel!!'' -- ``Yes, I know.''
+%\end{macro}
+
+
+
+
+
+
+%\begin{macro}{\Springtree}
+%\begin{macro}{\Summertree}
+%\begin{macro}{\Autumntree}
+%\begin{macro}{\Wintertree}
+% Some predefined Trees.
+%
+% ``Hey that look like the trees in the \dots'' -- ``Yes, Yes, I know!''.
+%
+% We don't need \verb|\tikzsymbolsaftersymbolinput| because it is already defined in \verb|\BasicTree|.
+% \begin{macrocode}
+\DeclareRobustCommandx{\Springtree}[1][1=1, usedefault]%
+ {\BasicTree[#1]{brown!70!black}{green!90!black}{green!80!black}{leaf}}
+\DeclareRobustCommandx{\Summertree}[1][1=1, usedefault]%
+ {\BasicTree[#1]{brown!50!black}{green!80!black}{red!80!green}{leaf}}
+\DeclareRobustCommandx{\Autumntree}[1][1=1, usedefault]%
+ {\BasicTree[#1]{red!30!black}{red!75!black}{orange}{leaf}}
+\DeclareRobustCommandx{\Wintertree}[1][1=1, usedefault]%
+ {\BasicTree[#1]{black}{black!50}{black!25}{}}
+% \end{macrocode}
+%\end{macro}
+%\end{macro}\end{macro}\end{macro}
+% Well that's it. Happy \TeX ing!
+%
+% PS. Something went wrong with the Change History, but I don't know what.
+
+
+
+
+
+
+\DeclareRobustCommand{\@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!]
+(0,0) -- (0,1) -- (1,1) -- (1,0) -- cycle;
+\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);
+\draw (0.65,0.9) circle (0.17);
+\end{tikzpicture}%
+\MySymbolAfterSymbolinput%
+}
+\DeclareRobustCommand{\@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);
+\draw (0,-0.1) -- (0.15,0.2) -- (0.3,-0.1);% Beine
+\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
+\draw (.15,.8) circle (0.18);% Kopf
+\end{tikzpicture}%
+\MySymbolAfterSymbolinput%
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+%\PrintChanges \PrintIndex \ 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
new file mode 100644
index 00000000000..f8199fdff5a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
@@ -0,0 +1,35 @@
+%%
+%% Copyright (C) 2013 by Ben Vitecek
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+
+\input docstrip.tex
+
+\keepsilent
+
+\usedir{tex/latex/tikzsymbols}
+
+\preamble
+This is a generated file.
+
+Copyright (C) 2013 by Ben Vitecek
+
+This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.2 of this license or (at your option) any later version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.2 or later is part of all distributions of LaTeX version 1999/12/01 or later.
+\endpreamble
+
+\generate{\file{tikzsymbols.sty}{\from{tikzsymbols.dtx}{package}}}
+
+\endbatchfile \ No newline at end of file