summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tikzsymbols
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-07-28 21:52:05 +0000
committerKarl Berry <karl@freefriends.org>2013-07-28 21:52:05 +0000
commit34f73c5b0a8d5f4742d020b91bbcdee88998fdac (patch)
treeeebdb6418ea996d41b4477ae3961770669231a53 /Master/texmf-dist/source/latex/tikzsymbols
parent468d5a3048538797838d81e77f805c42c70cef2d (diff)
tikzsymbols (28jul13)
git-svn-id: svn://tug.org/texlive/trunk@31297 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tikzsymbols')
-rw-r--r--Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx2250
-rw-r--r--Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins31
2 files changed, 1574 insertions, 707 deletions
diff --git a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
index 79c0d16f523..d3c10330469 100644
--- a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
+++ b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.dtx
@@ -1,6 +1,11 @@
+% \iffalse meta-comment
+%: CheckSum
+% \fi
+%% \CheckSum{2369}
+%
% \iffalse meta-comment
%
-% Copyright (C) 2013 by Ben Vitecek
+% Copyright (C) 2013 by Ben Vitecek (current Maintainer)
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -9,35 +14,65 @@
%
% http://www.latex-project.org/lppl.txt
%
-% and version 1.3 or later is part of all distributions of
+% 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.
% \fi
%
% \iffalse
%<*driver>
\documentclass{ltxdoc}
\usepackage{marvosym}
-\usepackage{tikzsymbols}
+\usepackage[]{tikzsymbols}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{array}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{longtable}
-\usepackage[colorlinks=true]{hyperref}
+\usepackage{booktabs}
+\usepackage{csquotes}
+\usepackage{mathtools}
+%
+\usepackage[colorlinks=true, urlcolor=cyan]{hyperref}
+\MakeAutoQuote{Ç}{È}
+
\EnableCrossrefs
\CodelineIndex
\RecordChanges
+
+%: Ganz oben
\makeatletter
\DeclareRobustCommandx{\definedBasicTree}[5][1=1, usedefault]{{%
\def\Basic@Tree{\Basic@Tree@off}%
-\BasicTree[#1]{#2}{#3}{#4}{#5}%
+\Basic@Tree[#1]{#2}{#3}{#4}{#5}%
}}
-\newcommand{\da}[1]{#1& \@tikzsymbols@absolute@drafttrue#1}
-\newcommand{\de}[1]{\@tikzsymbols@absolute@drafttrue#1}
-\makeatother
+\newcommand{\PlainVanilla}[1]{{{\tikzymbols@draftabsolutetrue#1[1.00001]}}}
+\newcommand{\PlainVanillaII}[1]{{{\tikzymbols@draftabsolutetrue#1}}}
+\newcommand{\da}[1]{#1}
+\newcommand{\de}[1]{#1}
+%
+%
+\let\Package\textsf
+\let\Option\texttt
+\let\Makro\cs
+%\newcommand{\Package}[1]{\textsf{#1}}
+%\newcommand{\Option}[1]{\texttt{#1}}
+\newcommand{\Meta}[1]{<#1>}
+%
+%
+%
+\hfuzz=500pt
+\vbadness=\maxdimen
+\hbadness=\maxdimen
+
+\makeatother
+%
\begin{document}
\DocInput{tikzsymbols.dtx}
\end{document}
@@ -63,23 +98,37 @@
%
%
%
+%
+% \iffalse meta-comment
+%: Changes
+% \fi
+%
%\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''}
+%\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È}
%\changes {v1.61} {2013/02/17} {Made an invisible box in BasicTree.}
-%\changes {v1.65} {2013/02/17} {Improved BasicTree; New symbols ``Schaler/peeler'', Laughey, Walley, Ninja; but didn't improve the source-description}
+%\changes {v1.65} {2013/02/17} {Improved BasicTree; New symbols Ç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 ``marvosym'', new symbol}
-%\changes {v2.2} {2013/03/23} {Now you can use negative scaling. Include ifpackageloaded. Did something else, I can't remember}
+%\changes {v2.0} {2013/03/07} {Fixed Bugs, improved BasicTree, new option Ç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 ÇabsoluteÈ option}
%
%
%
% \GetFileInfo{tikzsymbols.sty}
%
+% \iffalse meta-comment
+%: DoNotIndex
+% \fi
+%
%\DoNotIndex {\begin{tikzpicture},\end{tikzpicture}}
%\DoNotIndex {\verb, \DeclareRobustCommandx}
%\DoNotIndex {=\verb}
@@ -89,122 +138,224 @@
%
%
%
+% \iffalse meta-comment
+%: Titelpage
+% \fi
%
-%
-%
-%
-%\title{\textsf{tikzsymbols}\thanks{This document corresponds to \textsf{tikzsymbols}~\fileversion, dated~\filedate.}}
-%\author{Ben Vitecek \\ \texttt{b.vitecek@gmx.at}}
+%\title{\Package{tikzsymbols}\thanks{This document corresponds to \textsf{tikzsymbols}~\fileversion, dated~\filedate.}}
+%\author{Ben Vitecek \\ \href{mailto:b.vitecek@gmx.at}{b.vitecek@gmx.at}}
%\maketitle
%
%\begin{abstract}\centering
-%Just some symbols created with ``tikz''.
+%Just some symbols created using \Package{tikz}.
%
-% English is not my native language. So there (still) might be some errors \Winkey
+% English is not my native language. So there (still) might be some errors \Winkey
%\end{abstract}
%
%
%\tableofcontents
%
%
+%
+% \iffalse meta-comment
+%: sec: Short Introduction
+% \fi
+%
% \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?
+% 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 some etc.
-%^^A And one day I had the idea ``Why not uploading these symbols in CTAN?''
+% Developing them was real fun and so I made some more, reworked them etc.
+%^^A And one day I had the idea Ç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.
%
+%
+%
+%
+%
+%
+% \iffalse meta-comment
+%: sec: Options
+% \fi
% \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).
-%
-%\subsection{tree=on/off, draft, final} 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 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 Ç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).
%
-%^^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}
%
%
-% \small
-% \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}
-%\normalsize
+% \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}
+%
+%
+% These options are only relevant for the commands in the section Ç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 Ç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, \LaTeX\ will be slowed down.
+%^^A So you may look at the option \verb|draft=absolute|, which is -- I think -- more useful.
%
+% To solve this problem I made another option: \verb|draft=absolute|, which is -- I think -- more useful (see \ref{draft=absolute}).
+%
+% \iffalse meta-comment
+%: subsec: draft=absolute
+% \fi
+%\subsection{draft=absolute} \label{draft=absolute}
+%
+% {\color{blue}\textbf{Use this option if you use many symbols!}}
+%
+% This option replaces \emph{all} symbols by fast drawn plain vanilla rectangles, which have (mostly) the exactly same proportions as the tikz-symbols.
+% 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.}
%
-% Note: you shouldn't use both, \verb|tree=on/off| and class-option \verb|draft|.
-% It's just unnecessary.
+%
+% \iffalse meta-comment
+%: subsec: final
+% \fi
+% \subsection{final=true/false}
+% This option is the opposite of \Option{draft=true/false}.
%
%
+% \iffalse meta-comment
+%: subsec: marvosym
+% \fi
+% \subsection{marvosym=true/false}
+% 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.
%
-% \subsection{marvosym}
-% Package ``marvosym'' defines the partly the same commands as ``tikzsymbols''.
-% \emph{You should always load ``tikzsymbols'' after ``marvosym''!!}
-% If you do that, ``tikzsymbols'' redefines for example marvosyms ``Smiley'' and ``Coffeecup''.
-% But if you like marvosyms ``Smiley'' more than the ``Smiley'' from ``tikzpicture'', you should use the option ``marvosym'':
+% Note: \emph{Always load \Package{tikzsymbols} after \Package{marvosym}.}
+%
+%^^A Package ÇmarvosymÈ defines partly the same commands as ÇtikzsymbolsÈ.
+%^^A \emph{You should always load ÇtikzsymbolsÈ after ÇmarvosymÈ!!}
+%^^A If you do that, ÇtikzsymbolsÈ redefines for example marvosyms ÇSmileyÈ and ÇCoffeecupÈ.
+%^^A But if you like marvosyms \verb|\Smiley| more than the \verb|\Smiley| from ÇtikzsymbolsÈ, you should use the option ÇmarvosymÈ:
%
-% \small
+%
% \begin{longtable}{c|c}
-% Without option ``marvosym'' \Smiley \Coffeecup & With option ``marvosym'' \mvchr{169} \mvchr{75}\\\hline\vspace{-1.5ex} \endhead
+% Without option ÇmarvosymÈ: \Smiley \Coffeecup & With option Ç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
%
-% If you use the option \verb|marvosym| without loading the package, \LaTeX{} will produce an error message.
+% If you use option \Option{marvosym} without loading the package \Package{marvosym}, \LaTeX{} will produce an error message.
+%
+% This option is \emph{false} by default.
+%
+%
+%
+%
+%
+% \subsection{usebox=true/false}\label{usebox}
+%
+% 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 (if you use the \emph{exactly} same symbol, see section \ref{Symbols} for more information).
+% This option is \Option{true} by default.
+%
+% You can deactivate this storing-inside-saveboxes by setting \Option{usebox=false}.
+%
+% To activate it you can use \Option{usebox=true} or just \Option{usebox}.
+%
+%
+%
+%
+%
+%
+% \iffalse meta-comment
+%: subsec: prefix
+% \fi
+% \subsection{prefix, prefix=\texttt{\Meta{prefix}}}
+%
+% 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 ÇtikzsymbolsÈ:
+% \verb|\Smiley| will change to \verb|\tikzsymbolsSmiley|, \verb|\drWalley| to \verb|\tikzsymbolsdrWalley|, \verb|\tikzsymbolsSpringtree|, \verb|\tikzsymbolsBasicTree|, etc.
+%
+%
+%
+% 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.
%
+%\smallskip
%
-%\subsection{draftabsolute}
+% For example: \verb|\tikzsymbolsuse{Smiley}[2]|\tikzsymbolsuse{Smiley}[2]
%
-% Another problem with tikz is: if you use tikz often, \LaTeX{} becomes extremely slow, same here.
-% To avoid it, I made the option \verb|draftabsolute|. If you use this option, tikz is not used at all.
-% Instead of the symbols some text appears. So tikz is not used and \LaTeX{} becomes faster again.
-% If you have many of those tikzsymbols, use this option (I won't guarantee that the text has the same width and height as the symbols, but I did my best).
-% At the symbol tables, you will see the replacements of the symbols if you use \verb|draftabsolute|. \emph{If you use many symbols of this package, it is recomended to use this option}
+% \verb|\tikzsymbolsuse{BasicTree}[1.2]{black}{red!50!black}{red}{leaf}|\tikzsymbolsuse{BasicTree}[1.2]{black}{red!50!black}{red}{leaf}
%
%
-% \section{Symbols}
+%\verb|\tikzsymbolsuse{Ofen}| \tikzsymbolsuse{Ofen}
+%\verb|\tikzsymbolsuse{Fire}[-1.3]|\tikzsymbolsuse{Fire}[-1.3]
+%
+%etc.
+%
+%
+%
+%
+% \iffalse meta-comment
+%: sec: Symbols
+% \fi
+% \section{Symbols} \label{Symbols}
% In this section the symbols are introduced.
-% They \Kochtopf \tiny all \dInnocey \Huge change \Moai \small automaticly \Wintertree \large with \oven \normalsize the textsize \Person.
+% They \Kochtopf \tiny all \dInnocey \Huge change \Moai \small automatically \Wintertree \large with \oven \normalsize the text-size \Strichmaxerl.
+%
+%
+% 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 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 Ç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})).
+%
+% 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 Command (at first the german at second the english).
-% The second are the optional keys.
+% 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.
%
-%<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)}
+%\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$.
-% 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.
+% Da Umlaute nicht angezeigt werden k\"onnen, werden die Umlaute \"o, \"a, \"u durch: o, a, u ersetzt.
%
-% \begin{longtable}{@{}llc@{~~}c@{~}c@{}}
-% \multicolumn{2}{l}{German \& English Commands} & Optional parameter(s) & Output & {\small \verb|draftabsolute|} \\\hline\vspace{-1.5ex}\endhead
+% \begin{longtable}{llc@{~~}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 ``P\"urierstab'' should be translated as ``immersion blender'', but I'm just using ``blender''} & \oarg{scale} & \da{\blender}\\
+% \verb|\Purierstab| & \verb|\blender|\footnote{I know that ÇP\"urierstabÈ should be translated as Çimmersion blenderÈ, but I'm just using Ç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}\\
@@ -215,23 +366,25 @@
% \verb|\Schaler| & \verb|\peeler| & \oarg{scale} & \da{\peeler}
% \end{longtable}
%
-% \Kochtopf[0]
%
%
%
%
+% \iffalse meta-comment
+%: subsec: Emoticons
+% \fi
%\subsection{Emoticons \texorpdfstring{\Smiley}{Smiley}}
-%\subsubsection{``normal'' Emoticons \texorpdfstring{\Cat}{Cat}}
+%\subsubsection{ÇnormalÈ Emoticons \texorpdfstring{\Cat}{Cat}}
%
-% First column shows the commands, the second the optional paramter(s), the third the default-output.
+% First column shows the commands, the second the optional parameter(s), the third the default-output.
%
-% <scale> can be a number between (not exactly) -2000 and (not exactly) $2000$\footnote{Do you even need so large symbols?}, default is $1$.
+% \Meta{scale} can be a number between (not exactly) $-2000$ and (not exactly) $2000$\footnote{Do you even need so large symbols?}, default is $1$.
%
-% <color> can be every defined color.
+% \Meta{color} can be every defined color. Note: The color names shouldn't contain special characters like \ss, \"a, \"o, \dots
%
%
-%\begin{longtable}{@{}l>{\small}c@{}c@{~}c@{}}
-% Commands & Optional parameter(s) & Output & {\small \verb|draftabsolute|} \\\hline\vspace{-1.5ex}\endhead
+%\begin{longtable}{l@{}c@{}c}
+% Commands & Optional parameter(s) & Output \\\toprule\endhead
%
% \verb|\Sadey| & \oarg{scale}\oarg{color} & \da{\Sadey} \\
% \verb|\Smiley| & \oarg{scale}\oarg{color} & \da{\Smiley} \\
@@ -239,16 +392,17 @@
% \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|\footnote{\label{Kreuz}The cross has nothing to do with religion meanings.}& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} &\da{\Nursey} \\
+% \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{``r'' stands ``random'' and means that the cracks in the wall are generated randomly, but it takes some time to generate it.} & \oarg{scale}\oarg{color}\oarg{wall color} & \da{\rWalley} \\
+%\verb|\rWalley|\footnote{ÇrÈ stands for ÇrandomÈ and means that the cracks in the wall are generated randomly, but it takes some time to generate it.} & \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}
@@ -267,15 +421,25 @@
%
%\verb|{\color{blue}\Sey}| {\color{blue}\Sey}
%
-%\subsubsection{``3D'' Emoticons \texorpdfstring{\dSmiley\dSadey[-1]}{dSmiley dSadey}}
-% First column shows the commands (note: the ``3D'' Emoticons begin with \verb|\d...|), the second shows the optional paramter(s), the third shows the default-output.
%
-% <scale> can be a number between a small number\footnote{under 500 for sure} and a large number\footnote{over 500 for sure}, default is $1$.
-% <color> can be every defined color (see examples below).
%
%
-%\begin{longtable}{@{}l@{}c@{}c@{~}c@{}}
-% Commands & Optional parameter(s) & Output & {\small \verb|draftabsolute|} \\\hline\vspace{-1.5ex}\endhead
+%
+%
+% \iffalse meta-comment
+%: subsec: 3D Emoticons
+% \fi
+%\subsubsection{Ç3DÈ Emoticons \texorpdfstring{\dSmiley\dSadey[-1]}{dSmiley dSadey}}
+% First column shows the commands (note: the Ç3DÈ Emoticons begin with \verb|\d...|), the second shows the optional parameter(s), the third shows the default-output.
+%
+% \Meta{scale} can be a number between a small number\footnote{under $-500$ for sure} and a large number\footnote{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}
+% Commands & Optional parameter(s) & Output \\\toprule\endhead
%
% \verb|\dSadey| & \oarg{scale}\oarg{color} & \da{\dSadey} \\
% \verb|\dSmiley| & \oarg{scale}\oarg{color} & \da{\dSmiley} \\
@@ -283,15 +447,16 @@
% \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|$^{\ref{Kreuz}}$& \oarg{scale}\oarg{color}\oarg{cap color}\oarg{cross color} & \da{\dNursey} \\
+% \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{``r'' stands for ``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|\drWalley|\footnote{ÇrÈ stands for Ç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} \\
%\end{longtable}
%
@@ -306,10 +471,16 @@
%
% \subsection{other Symbol(s) \texorpdfstring{\Moai}{Moai}}
%
+% \verb|\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 the angles between the body and the separate parts of \verb|\Strichmaxerl| (see examples).
+%
+%\Meta{scale} can be a very great and a very small 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}{@{}lcc@{~}c@{}}
-% Commands & Optional parameter(s) & Output & {\small \verb|draftabsolute|} \\\hline\vspace{-1.5ex}\endhead
-%\verb|\Person| & \oarg{scale}\oarg{left arm}\oarg{right arm}\oarg{left leg}\oarg{right arm} &\da{\Person}\\
+%
+%\begin{longtable}{l@{~}c@{~}c}
+% 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}\\
@@ -320,33 +491,40 @@
%\verb|\Snowman| &\oarg{scale} & \da{\Snowman}\\
%\end{longtable}
%
-% \Tribar[-10][blue][red][green]\verb| \Tribar[-10][blue][red][green]|
+% \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|\Person[1][10][30][40][4]|\Person[1][10][30][40][4],
-%\verb|\Person[1.4][210][310][10][90]|\Person[1.4][210][310][10][90],
+%\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]
%
-%\verb|\Person[2][510][110][190][990]|\Person[2][510][110][190][990],
-% \verb|\Person[0.9][54][28][95][16]|\Person[0.9][54][28][95][16]
%
+%
+%
+%
+% \iffalse meta-comment
+%: subsec: Trees
+% \fi
%\subsection{Trees \texorpdfstring{\BasicTree{blue!60!black}{red}{green}{leaf}}{BasicTree}}\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''
+% ÇHey, these trees look exactly like the ones in the tikzmanualÈ -- ÇNO! Not ÇexactlyÈ, 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 (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 $1$.
+% \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 $1$.
%
-% <color> can be every defined color.
+% \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} 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).
+% \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{leaf}, 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| or \verb|draft| (see section \ref{Options}) to make \LaTeX{} faster.
+% 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.
%
%\small
-% \begin{longtable}{@{}l@{}cc@{}c@{}}
-% Commands & Optional/Needed parameter(s) & Output & {\small \verb|draftabsolute|} \\\hline\endhead
-% \verb|\BasicTree| & \oarg{scale}\marg{trunk color}\marg{leaf color a}\marg{leaf color b}\verb|{|\emph{leaf}\verb|}| & see below & \de{\BasicTree{green}{red}{blue}{leaf}}\\
+%\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} \\
@@ -356,7 +534,7 @@
% \end{longtable}
%\normalsize
%
-%\noindent\verb|\BasicTree| examples:
+%\noindent\verb|\BasicTree| examples (normal trees):
%
% \verb|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}
%
@@ -364,10 +542,15 @@
%
% \verb|\BasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}|\BasicTree[2]{blue!65!white}{cyan!50!white}{cyan!50!white}{}
%
-% \verb|\BasicTree[-1.54]{green!90!black}{green!95!black}{green!99!black}{leaf}|\BasicTree[-1.54]{green!90!black}{green!95!black}{green!99!black}{leaf}
+
+% \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}
%
% \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}}
-%\\[5ex]
+%
+% \bigskip
+%
+%\noindent \dots and using the same trees with \Option{tree=off/false} or \Option{draft}(\Option{=true}):
+%
% \indent\verb|\colorbox{green}{\BasicTree{red}{orange}{yellow}{leaf}}|\colorbox{green}{\definedBasicTree{red}{orange}{yellow}{leaf}}
%
%
@@ -376,36 +559,46 @@
%
% \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!90!black}{green!95!black}{green!99!black}{leaf}|\definedBasicTree[-1.54]{green!90!black}{green!95!black}{green!99!black}{leaf}
+%\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}}
%\\[1ex]
-% I think it's best if you define your own tree using \verb|\newcommand| and \verb|\BasicTree| (don't forget \verb|\xspace|):
+% I think it's better if you define your own tree using \verb|\newcommand| and \verb|\BasicTree|:
%\begin{verbatim}
% \newcommand{\Myicetree}[1][1]{%
-% \BasicTree[#1]{blue!65!white}{cyan!50!white}{cyan!50!white}{}\xspace}
+% \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 the code I am using the command:\\
-% \verb|\newcommand{\tikzsymbolsaftersymbolinput}{\xspace}|
+% 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 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
+% You can redefine this macro.
+% If you don't want \verb|\xspace| just say:
+% \begin{quote}
+% \verb|\renewcommand{\tikzsymbolsaftersymbolinput}{}|
+%\end{quote}
%
-% Well that's it.
-% \renewcommand{\tikzsymbolsaftersymbolinput}{\xspace}
%
%
+% \iffalse meta-comment
+%: subsec: Warning and Errors
+% \fi
% \section{Warnings and Errors}
%
-% \subsection{Warnings}
+% \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}
@@ -419,307 +612,548 @@
%
%For example you may use something like that:
%
-% \verb|\subsubsection{``3D'' Emoticons \texorpdfstring{\dSmiley}{dSmiley}}| or
+% \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).
+%\verb|\subsubsection{ÇnormalÈ Emoticons \texorpdfstring{\Cat}{Cat}}|
+%
+%
+%
+% \iffalse meta-comment
+%: subsec: and errors
+% \fi
+% \subsection{\dots and errors}
+% Make sure you load e.g \Package{marvosym} \emph{after} \Package{tikzsymbols} because both packages define \verb|\Smiley|, \Package{marvosym} via \verb|\newcommand| \Package{tikzsymbols} via \verb|\DeclareRobustCommand|.
%
-% \subsection{and errors}
-% If you load the package ``marvosym'' make sure you load ``tikzsymbols'' after this package because both packages define \verb|\Smiley|, ``marvosym'' via \verb|\newcommand| ``tikzsymbols'' via \verb|\DeclareRobustCommand|.
+% If you load \Package{marvosym} \emph{after} \Package{tikzsymbols}, \LaTeX{} generates an error-message because \verb|\Smiley| has already been defined.
%
-% If you load ``marvosym'' \emph{after} ``tikzsymbols'', \LaTeX{} generates an errormessage because ``Smiley'' has already been defined.
+% If you load \Package{marvosym} \emph{before} \Package{tikzsymbols}, \Package{tikzsymbols} will overwrite marvosym's Smiley and no error-message is generated (if you like the \verb|\Smiley| from marvosym more, use the \Package{tikzsymbols} option \verb|marvosym| or \Option{prefix}).
%
-% If you load ``marvosym'' \emph{before} ``tikzsymbols'', ``tikzsymbols'' will overwrite marvosym's Smiley and no errormessage is generated (if you like the ``Simley'' from marvosym more, use the tikzsymbols option \verb|marvosym|).
%
+%
+%all right
+% \iffalse meta-comment
+%: subsec: Nobody is perfect
+% \fi
% \section{Nobody is perfect}
-% If you are sure that you found a bug, please send me a mail involving a \emph{minimal example} of the code which shows the bug.
+% If you found a bug, please send me a mail involving a \emph{minimal example} which shows the bug.
% And a description would be nice.
%
%
%
%
+% \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 ``tikz''.
+% There is not much to see, all this symbols were created with \Package{tikz}.
% But it may helps you (somehow).
%
%
-
+%
+% \StopEventually{Well then, happy \TeX ing!
+%
+% PS: I think the Index and Change History is all right now.
+%\PrintIndex \PrintChanges}
+%
%The first lines are always the same: what do I need, how is the package named:
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}[2011/06/31]
+\NeedsTeXFormat{LaTeX2e}[2011/06/27]
\ProvidesPackage{tikzsymbols}
-[2013/04/18 v2.5 Some symbols created using tikz.]
+[2013/07/26 v3.0 Some symbols created using tikz.]
\@ifpackageloaded{tikz}{}{\RequirePackage{tikz}}
\@ifpackageloaded{xargs}{}{\RequirePackage{xargs}}
\@ifpackageloaded{xcolor}{}{\RequirePackage{xcolor}}
-\@ifpackageloaded{xspace}{}{\RequirePackage{xspace}}
\@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}}
+\@ifpackageloaded{xspace}{}{\RequirePackage{xspace}}
\@ifpackageloaded{calc}{}{\RequirePackage{calc}}
% \end{macrocode}
-% Furthermore we need to load some libraries from tikz:
-
+% Furthermore we need to load some libraries from \Package{tikz}:
+%
% \begin{macrocode}
\usetikzlibrary{arrows,decorations.pathmorphing,trees}
% \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{macrocode}
+\newif\if@tkzssmbls@neg
+\newif\iftikzymbols@draftabsolute
+% \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{macrocode}
+\newcommand{\Basic@Tree}{\Basic@Tree@on}
+% \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}
+% 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
+}
+% \end{macrocode}
+%\end{macro}
+%
+%
+%\begin{macro}{draft}
+% \changes{v3.0}{2013/07/21}{using \Package{xkeaval}'s choicekey. Furthermore new option absolute is available}
+% If option \Option{draft} or \Option{draft=true} is set, then squares drawn by \Package{tikz} are typed instead of trees.
+%
+% 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.
+% \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
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{draftabsolute}
+% \changes{v3.0}{2013/07/21}{is obsolete}
+% Obsolete Option \Option{draftabsolute}. You can still use it, but it gives a warning.
+% \begin{macrocode}
+\define@key{tikzsymbols}{draftabsolute}{%
+\typeout{----------------------------}%
+\PackageWarningNoLine{tikzsymbols}{Option '\CurrentOption' is obsolete!
+\MessageBreak Please use 'draft=absolute' instead!}
+\typeout{----------------------------}%
+\tikzymbols@draftabsolutetrue}
+% \end{macrocode}
+%\end{macro}
+%
+%
+%\begin{macro}{marvosym}
+% \changes{v3.0}{2013/07/21}{using \Package{xkeaval}'s boolkey}
+% Now I define the boolean option \Option{marvosym}: you may use it, if you load the package \Package{marvosym}.
+% \begin{macrocode}
+\define@boolkey{tikzsymbols}{marvosym}[true]{}
+% \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.
+%
+% Furthermore it is true by default (\verb|\KV@tikzsymbols@useboxtrue|)
+% \begin{macrocode}
+\define@boolkey{tikzsymbols}{usebox}[true]{}
+\KV@tikzsymbols@useboxtrue
+% \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 ÇtikzsymbolsÈ, but you can define your own prefix via \verb|prefix=<prefix>|
+%
+% 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{macrocode}
+\newcommand{\cmdKV@tikzsymbols@prefix}{}
+\define@cmdkey{tikzsymbols}{prefix}[tikzsymbols]{}
+% \end{macrocode}
+%\end{macro}
+%\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 Ç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
+}
+% \end{macrocode}
+%\end{macro}
+%
+%
+%
+%\begin{macro}{\ProcessOptionsX*}
+%We process all options. What is \verb|\relax| doing?
+% \begin{macrocode}
+\ProcessOptionsX*<tikzsymbols>\relax
+% \end{macrocode}
+%\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| (there may be some changes in future, and to write less I define this 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.
% \begin{macrocode}
-\newcommand{\tikzsymbolsaftersymbolinput}{\xspace}
+ \newcommand*{\tikzsymbolsaftersymbolinput}{\xspace}
% \end{macrocode}
%\end{macro}
-
-
+%
+%
%\begin{macro}{\@leaf@is@leaf}
-% We need this command for creating an errormessage if the last paramter of BasicTree is neither ``leaf'' nor empty.
+% We need this command for creating an error-message if the last parameter of BasicTree is neither ÇleafÈ nor empty.
% \begin{macrocode}
-\def\@leaf@is@leaf{leaf}
+ \newcommand*{\@leaf@is@leaf}{leaf}
% \end{macrocode}
%\end{macro}
-
+%
%\begin{macro}{\tkzsymblsscl}
-% .
+% The \oarg{scale} parameter of the commands is stored inside \verb|\tkzsymblsscl|.
+%
+% \verb|\set@tkzsymblsscl| is a short version of \verb|\setlength{\tkzsymblsscl}{#1pt}|. I defined it to write less.
% \begin{macrocode}
\newlength{\tkzsymblsscl}
-\def\set@tkzsymblsscl#1{\setlength{\tkzsymblsscl}{#1pt}}
+\newcommand*{\set@tkzsymblsscl}[1]{\setlength{\tkzsymblsscl}{#1pt}}
% \end{macrocode}
%\end{macro}
-
-%\begin{macro}{\tikzsymbols@resizebox}
-% We define a box.
+%
+%\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.
% \begin{macrocode}
-\def\tikzsymbols@resizebox#1#2#3{%
-\resizebox{#1}{\ifdim\tkzsymblsscl<0pt-\fi #2}{#3}%
-}
+\newlength{\tikzsymbols@draftboxlength}
+\newlength{\tikzsymbols@draftboxheight}
% \end{macrocode}
%\end{macro}
-
-
-%\begin{macro}{\if@draft \if@final}
-%\begin{macro}{\if@tkzssmbls@neg}
-%\begin{macro}{\if@tikzsymbols@marvosym}
-% We need draft and final for some package warnings.
-% ``marvosym'' for the option ``marvosym'' and ``neg'' (negative) if something is negativ.
+%\end{macro}
+%
+%
+%\begin{macro}{\tikzsymbols@draftbox}
+% \changes{v3.0}{2013/07/21}{New macro. Draw a plain vanilla rectangle if draft is absolute}
+% 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{macrocode}
-\newif\if@tikzsymbols@draft
-\newif\if@tikzsymbols@final
-\newif\if@tkzssmbls@neg
-\newif\if@tikzsymbols@marvosym
-\newif\if@tikzsymbols@absolute@draft
+\newcommand*{\tikzsymbols@draftbox}[2]{%
+ \setlength{\tikzsymbols@draftboxlength}{#1}%
+ \setlength{\tikzsymbols@draftboxheight}{#2}%
+ \frame{%
+ {\vbadness=\maxdimen%
+ \frame{\vbox to \tikzsymbols@draftboxheight{%
+ \hbox to \tikzsymbols@draftboxlength{}}}}%
+ }%
+}
% \end{macrocode}
%\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|. ÇQÈ means ÇQuadratÈ(\emph{square}) and just means that height and length of the box are the same.
+% \begin{macrocode}
+\newcommand*{\tikzsymbols@draftQbox}[1]{\tikzsymbols@draftbox{#1}{#1}}
+% \end{macrocode}
%\end{macro}
-%\end{macro}
+%
+%\begin{macro}{\tkzsymblsPrmtr}
+% \changes{v3.0}{2013/07/21}{New macro. Needed for the plain vanilla rectangles}
+%\begin{macro}{\tksymblsbxPrmtrstore}
+% \changes{v3.0}{2013/07/21}{New macro. Makes \cs{tkzsymblsPrmtr} positive (if it is negative)}
+% \verb|\tikzsymbols@draftbox| doesn't like negative numbers.
+% So to be sure that only positive numbers are used, \verb|\tksymblsbxPrmtrstore| changes \verb|\tkzsymblsPrmtr| to be positive (if it is negative).
+% I am using \verb|\tkzsymblsPrmtr| instead of \verb|#1| (scaling) in \verb|\tikzsymbols@draftbox|
+% \begin{macrocode}
+\newcommand*\tkzsymblsPrmtr{}
+\newcommand*\tksymblsbxPrmtrstore[1]{%
+ \edef\tkzsymblsPrmtr{\ifdim\tkzsymblsscl<0pt-\fi#1}%
+}
+% \end{macrocode}
+%\end{macro}\end{macro}
-%\begin{macro}{marvosym}
-% I define the option ``marvosym'': you should use it, if you load the package ``marvosym''
+%\begin{macro}{\current@tikzsymbols}
+% \changes{v3.0}{2013/07/21}{New macro. Current script size and text color is stored inside}
+% 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.
+%
+% 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{macrocode}
-\DeclareOptionX{marvosym}{\@tikzsymbols@marvosymtrue}
+\newcommand*{\current@tikzsymbols}{}
% \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{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}
-\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},%
-}}%
+\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%
+}
% \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{macro}{\tikzsymbolsusebox}
+% \changes{v3.0}{2013/07/21}{New macro. Prints the savebox}
+% \Package{tikzsymbols} version of \Makro{usebox}.
% \begin{macrocode}
-\DeclareRobustCommandx{\Basic@Tree}[5][1=1, usedefault]{{%
-\set@tkzsymblsscl{#1}\ifdim\tkzsymblsscl<0pt \@tkzssmbls@negtrue\fi%
-\def\leaf@or@not@leaf{#5}%
-\@Tree@SetUp%
-\pgfarrowsdeclare{leaf}{leaf}%
-{\pgfarrowsleftextend{-.1ex} \pgfarrowsrightextend{-0.05ex}}%
-{%
-\pgfpathmoveto{\pgfpoint{-.01ex}{0ex}}%
-\pgfpatharc{150}{30}{0.08ex}% dicke
-\pgfpatharc{-30}{-150}{0.08ex}%
-\pgfusepathqfill%
-}%
-\colorlet{trunk}{#2}%
-\colorlet{leaf a}{#3}%
-\colorlet{leaf b}{#4}%
-\begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex]%
-\ifx\leaf@or@not@leaf\@leaf@is@leaf%
- \if@tkzssmbls@neg%
- \draw[opacity=0,scale=#1+0.1*#1] (-0.82+0.1*#1/100,0) rectangle
- (0.82-0.1*#1/100, 1.4-0.01*#1/100);
- \else
- \draw[opacity=0,scale=#1+0.1*#1] (-0.82-0.1*#1/100,0) rectangle
- (0.82+0.1*#1/100, 1.4+0.01*#1/100);
- \fi%
+\newcommand*\tikzsymbolsusebox[1]{%
+\expandafter\expandafter\expandafter\usebox%
+\expandafter\expandafter\expandafter{%
+\csname\current@tikzsymbols tikzsymbols@savebox@#1\endcsname}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%
+%\begin{macro}{\ifKV@tikzsymbols@usebox = true}
+% If option \Option{usebox} is \Option{false}, then \verb|\tikzsymbols@ifsaveboxundefined| and \verb|\tikzsymbolsusebox| will be redefined so that they don't store the input inside a save-box.
+% \begin{macrocode}
+\ifKV@tikzsymbols@usebox
+\relax% if true
\else
- \draw[opacity=0,scale=#1+0.1*#1] (-0.75,-0.01) rectangle (0.75,1.3);
+\renewcommand{\tikzsymbols@ifsaveboxundefined}[2]{\@secondoftwo{#1}{#2}}
+\renewcommand{\tikzsymbolsusebox}[1]{\@gobble{#1}}
\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%
-}}
% \end{macrocode}
%\end{macro}
-
-%\begin{macro}{draft}
-% If the class option \verb|draft|, then Squares are typed instead of trees. Furthermore we set \verb|\@drafttrue| and \verb|\@finalfalse| for some warnings:
+%
+%\begin{macro}{\tkzsymblsDeclareRobustCommand}
+% \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 ÇnormalÈ: \verb|\Smiley|
+% will be \verb|\Smiley|, etc.
+%
+% If \verb|<prefix>| is not empty the commands will be defined as \verb|\<prefix>command| e.g. \verb|\<prefix>Smiley| , etc.
+%
+% 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}
-\DeclareOptionX{draft}{\@tikzsymbols@drafttrue\@tikzsymbols@finalfalse
-\def\Basic@Tree{\Basic@Tree@off}}
+\newcommand{\tkzsymblsDeclareRobustCommand}[1]{%
+\expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
+\expandafter\DeclareRobustCommand%
+ \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
+}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{draft=absolute}
-% I define the option ``draft=absolute''.
+%
+%\begin{macro}{\tkzsymblsDeclareRobustCommandx}
+% \changes{v3.0}{2013/07/21}{New macro. Is needed for option prefix}
+% Same as before
% \begin{macrocode}
-\DeclareOptionX{draftabsolute}{\def\Basic@Tree{\Basic@Tree@off}%
-\@tikzsymbols@absolute@drafttrue}
+\newcommand{\tkzsymblsDeclareRobustCommandx}[1]{%
+\expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
+\expandafter\DeclareRobustCommandx%
+ \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
+}
% \end{macrocode}
%\end{macro}
-
-%\begin{macro}{final}
-% If the class option \verb|final|, then trees. Same as before:
+%
+%\begin{macro}{\tkzsymblsnewcommand}
+% \changes{v3.0}{2013/07/21}{New macro. Is needed for option prefix}
+% Same as before
% \begin{macrocode}
-\DeclareOptionX{final}{\@tikzsymbols@draftfalse\@tikzsymbols@finaltrue
-\def\Basic@Tree{\Basic@Tree@on}}
+\newcommand{\tkzsymblsnewcommand}[1]{%
+\expandafter\def\csname\cmdKV@tikzsymbols@prefix#1tikzsymbolsuse\endcsname{}%
+\expandafter\newcommand%
+ \csname\cmdKV@tikzsymbols@prefix#1\endcsname%
+}
% \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%
- }
+%
+%
+%
+%\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{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%
+}
% \end{macrocode}
%\end{macro}
-
-%\begin{macro}{\Basic@Tree@off}
-% We define \verb|\Basic@Tree@off|; it will be shown if \verb|tree=off|.
-% It looks a bit confusing, but this syntax provides a square, which is as large as the tree.
-%Furthermore, we check if the last parameter is ``leaf'':
+%
+%\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}
-\DeclareRobustCommandx{\Basic@Tree@off}[5][1=1, usedefault]{{%
-\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*174/100}{#1ex*15/10}{BT}%
-\else%
-\ifdim\tkzsymblsscl<0pt \set@tkzsymblsscl{-#1}\fi%
-\def\leaf@or@not@leaf{#5}%
-\def\Tree@Off@line{0.095*#1/100}%
-\begin{tikzpicture}[scale=#1+0.01*#1,x=1.35ex,y=1.3ex, line width=0.07ex*\tkzsymblsscl]
-\ifx\leaf@or@not@leaf\@leaf@is@leaf%
-\draw[#2] (0-\Tree@Off@line,0) -- (0-\Tree@Off@line,1.08+0.05*#1/100);
-\draw[#3] (0-\Tree@Off@line,1.08+0.05*#1/100) -- (1.2+\Tree@Off@line,1.08+0.05*#1/100);
-\draw[#4] (1.2+\Tree@Off@line,1.08+0.05*#1/100) -- (1.2+\Tree@Off@line,0);
-\draw[#3] (1.2+\Tree@Off@line,0) -- (0.5,0);
-\draw[#4] (0.5+0.4*#1/100,0) -- (0-\Tree@Off@line,0);
-\else
-\draw[#2] (0,0) -- (0,1);
-\draw[#3] (0,1) -- (1.15,1);
-\draw[#4] (1.15,1) -- +(0,-1);
-\fi%
-\end{tikzpicture}%
-\fi%
-}}
+\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%
+}
% \end{macrocode}
%\end{macro}
-
-%\begin{macro}{\Basic@Tree@on}
-% We define \verb|\Basic@Tree@on|; it will be shown if \verb|tree=on|:
+%
+%
+%
+%
+%\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{macrocode}
-\DeclareRobustCommandx{\Basic@Tree@on}[5][1=1, usedefault]{{%
-\set@tkzsymblsscl{#1}\ifdim\tkzsymblsscl<0pt \@tkzssmbls@negtrue\fi%
+\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},%
+}}%
+% \end{macrocode}
+%\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\tkzsymblsPrmtr{\ifdim\tkzsymblsscl<0pt-\fi\tikzsymbols@Tree@absolute@scale}%
+ \ifdim\tkzsymblsscl<0pt \set@tkzsymblsscl{-#1}\fi%
\def\leaf@or@not@leaf{#5}%
-\@Tree@SetUp%
-\pgfarrowsdeclare{leaf}{leaf}%
-{\pgfarrowsleftextend{-.1ex} \pgfarrowsrightextend{-0.05ex}}%
-{%
-\pgfpathmoveto{\pgfpoint{-.01ex}{0ex}}%
-\pgfpatharc{150}{30}{0.08ex}% dicke
-\pgfpatharc{-30}{-150}{0.08ex}%
-\pgfusepathqfill%
-}%
-\colorlet{trunk}{#2}%
-\colorlet{leaf a}{#3}%
-\colorlet{leaf b}{#4}%
-\begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex]%
-\ifx\leaf@or@not@leaf\@leaf@is@leaf%
- \if@tkzssmbls@neg%
- \draw[opacity=0,scale=#1+0.1*#1] (-0.82+0.1*#1/100,0) rectangle
- (0.82-0.1*#1/100, 1.4-0.01*#1/100);
+ \iftikzymbols@draftabsolute%
+ \ifx\leaf@or@not@leaf\@leaf@is@leaf%
+ \tikzsymbols@draftbox{(1.6772ex+0.4pt)*\real{\tkzsymblsPrmtr}}
+ {(1.42ex-0.2pt+0.4pt)*\real{\tkzsymblsPrmtr}}%
+ \else
+ \tikzsymbols@draftbox{(1.3996ex+0.4pt)*\real{\tkzsymblsPrmtr}}
+ {(1.28ex-0.2pt+0.4pt)*\real{\tkzsymblsPrmtr}}%
+ \fi
+ \else%
+ \begin{tikzpicture}[scale=#1+0.02ex,x=1ex,y=1ex, line width=0.4pt*\tkzsymblsscl]
+ \ifx\leaf@or@not@leaf\@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[opacity=0,scale=#1+0.1*#1] (-0.82-0.1*#1/100,0) rectangle
- (0.82+0.1*#1/100, 1.4+0.01*#1/100);
+ \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%
-\else
- \draw[opacity=0,scale=#1+0.1*#1] (-0.75,-0.01) rectangle (0.75,1.3);
-\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%
-}}%
+ \end{tikzpicture}%
+ \fi%
+}}
% \end{macrocode}
%\end{macro}
-
%
-%\begin{macro}{\ProcessOptionsX*}
-%Again a code from the internet (don't know what \verb|\relax| does):
+%\begin{macro}{\Basic@Tree@on}
+% \changes{v3.0}{2013/07/21}{Same here}
+% \verb|\Basic@Tree@on| is used when trees are turned on.
% \begin{macrocode}
-\ProcessOptionsX*\relax
+\DeclareRobustCommandx{\Basic@Tree@on}[5][1=1, usedefault]{{%
+\iftikzymbols@draftabsolute%
+ \Basic@Tree@off[#1]{#2}{#3}{#4}{#5}%
+\else%
+ \set@tkzsymblsscl{#1}%
+ \ifdim\tkzsymblsscl<0pt \set@tkzsymblsscl{-#1}\@tkzssmbls@negtrue\fi%
+ \def\leaf@or@not@leaf{#5}%
+ \@Tree@SetUp%
+ \pgfarrowsdeclare{leaf}{leaf}%
+ {\pgfarrowsleftextend{-.1ex}\pgfarrowsrightextend{-0.05ex}}%
+ {%
+ \pgfpathmoveto{\pgfpoint{-.01ex}{0ex}}%
+ \pgfpatharc{150}{30}{0.08ex}%
+ \pgfpatharc{-30}{-150}{0.08ex}%
+ \pgfusepathqfill%
+ }%
+ \colorlet{trunk}{#2}%
+ \colorlet{leaf a}{#3}%
+ \colorlet{leaf b}{#4}%
+ \begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex]%
+ \ifx\leaf@or@not@leaf\@leaf@is@leaf%
+ \draw[opacity=0,scale=#1+0.02ex, line width=0.4pt*\tkzsymblsscl]
+ (-0.8386,0+0.2pt) rectangle
+ (0.8386, 1.42);
+ \else %
+\draw[opacity=0,scale=#1+0.02ex, line width=0.4pt*\tkzsymblsscl]
+(-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%
+}}
% \end{macrocode}
%\end{macro}
-
-
+%\end{macro}
+%
+%
% \subsection{Cookingsymbolcode}
%
%\begin{macro}{\Kochtopf = \pot}
-% I am using \verb|\DefineRobustCommand| so that the symbols can be used in \verb|\section{}|, \verb|\footnote|, \verb|\index{}|, etc.
+% 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}
-\DeclareRobustCommand{\Kochtopf}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Kochtopf}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Kochtopf#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*247/100}{#1ex*151/100}{kochen}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.47ex*\real{\tkzsymblsPrmtr}}{1.577ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2ex,y=2.2ex, line width=0.07ex*\tkzsymblsscl,scale=#1]
@@ -740,24 +1174,35 @@ decoration={snake,amplitude=.12ex*\tkzsymblsscl,segment length=0.93ex*\tkzsymbls
\draw (0.7,0.11) circle (0.04);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Kochtopf#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\pot\Kochtopf
+\tikzsymbols@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's hard to explain in english, but I try my best:
-% After being scaled the symbols would not look 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 the same, no matter how you scale it.
+%
+%^^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*\tkzsymblsscl| 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|\tkzsymblsscl| because it is always positive.
+%
% \begin{macrocode}
-\DeclareRobustCommand{\Bratpfanne}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Bratpfanne}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Bratpfanne#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*355/100}{#1ex*14/10}{braten}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{3.5535ex*\real{\tkzsymblsPrmtr}}{1.4525ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.7ex,y=1.4ex, line width=0.07ex*\tkzsymblsscl, scale=#1,
@@ -777,60 +1222,60 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(1,0.5) -- (1,1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Bratpfanne#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\fryingpan\Bratpfanne
+\tikzsymbols@let{fryingpan}{Bratpfanne}
% \end{macrocode}
%\end{macro}
-
+%
%
%\begin{macro}{\Schneebesen = \eggbeater}
% The next one:
% \begin{macrocode}
-\DeclareRobustCommand{\Schneebesen}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Schneebesen}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Schneebesen#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*57/100}{#1ex*155/100}{x}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{0.5697ex*\real{\tkzsymblsPrmtr}}{1.57985ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[y=2.1ex,x=1.4ex, scale=#1]
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (0.2,0.0) and (0.2,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (-0.2,0.0) and (-0.2,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (-0.1,0.0) and (-0.1,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (0.1,0.0) and (0.1,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (-0.15,0.0) and (-0.15,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (0.15,0.0) and (0.15,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (-0.05,0.0) and (-0.05,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) .. controls (0.05,0.0) and (0.05,0.2) .. (0,0.4);
-\draw[line width=0.01ex*(\tkzsymblsscl-\tkzsymblsscl/100*3)]
- (0,0) --(0,0.4);
+\begin{tikzpicture}[y=2.1ex,x=1.4ex, scale=#1,
+ line width=0.01ex*\tkzsymblsscl*\real{0.97}]
+\draw (0,0) .. controls (0.2,0.0) and (0.2,0.2) .. (0,0.4);
+\draw (0,0) .. controls (-0.2,0.0) and (-0.2,0.2) .. (0,0.4);
+\draw (0,0) .. controls (-0.1,0.0) and (-0.1,0.2) .. (0,0.4);
+\draw (0,0) .. controls (0.1,0.0) and (0.1,0.2) .. (0,0.4);
+\draw (0,0) .. controls (-0.15,0.0) and (-0.15,0.2) .. (0,0.4);
+\draw (0,0) .. controls (0.15,0.0) and (0.15,0.2) .. (0,0.4);
+\draw (0,0) .. controls (-0.05,0.0) and (-0.05,0.2) .. (0,0.4);
+\draw (0,0) .. controls (0.05,0.0) and (0.05,0.2) .. (0,0.4);
+\draw (0,0) --(0,0.4);
\fill[line width=0.05ex*\tkzsymblsscl, rounded corners=0.07ex*\tkzsymblsscl]
(-0.05,0.37) -- (0.05,0.37) -- (0.05,0.75) -- (-0.05,0.75) -- cycle;
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Schneebesen#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\eggbeater\Schneebesen
+\tikzsymbols@let{eggbeater}{Schneebesen}
% \end{macrocode}
%\end{macro}
%
-
+%
%
%\begin{macro}{\Sieb = \sieve}
% Now a long one;
% \begin{macrocode}
-\DeclareRobustCommand{\Sieb}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Sieb}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Sieb#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*3475/1000}{#1ex*112/100}{sieve}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{3.478ex*\real{\tkzsymblsPrmtr}}{1.175ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.8ex, y=2.8ex,line width=0.02ex*\tkzsymblsscl ,scale=#1]
@@ -867,21 +1312,25 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (0.406,-0.35) -- (0.794,-0.35);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Sieb#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\sieve\Sieb
+\tikzsymbols@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'':
+% 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]{%
+\tkzsymblsDeclareRobustCommand{Purierstab}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Purierstab#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*076/100}{#1ex*155/100}{x}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{0.76ex*\real{\tkzsymblsPrmtr}}{1.575ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.3ex, y=2.2ex, line width=0.07ex*\tkzsymblsscl,scale=#1]
@@ -891,20 +1340,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (0.15,0.4) -- (0.15,0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Purierstab#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\blender\Purierstab
+\tikzsymbols@let{blender}{Purierstab}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Dreizack = \trident}
-% Important for cooking:
+% Important cooking-tool for cooking:
% \begin{macrocode}
-\DeclareRobustCommand{\Dreizack}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Dreizack}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Dreizack#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*27/100}{#1ex*155/100}{x}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{0.265ex*\real{\tkzsymblsPrmtr}}{1.575ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.3ex, y=2.2ex, line width=0.035ex*\tkzsymblsscl,scale=#1]
@@ -915,23 +1368,27 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(0,0.7) -- (0,0.55) -- (0.05,0.55) -- (0.1,0.55) -- (0.1,0.7);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Dreizack#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\trident\Dreizack
+\tikzsymbols@let{trident}{Dreizack}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Backblech = \bakingplate}
-% I may have too many strange words:
+% I may have too many strange named commands:
% \begin{macrocode}
-\DeclareRobustCommand{\Backblech}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Backblech}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Backblech#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*232/100}{#1ex*155/100}{Backblech}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.3155ex*\real{\tkzsymblsPrmtr}}{1.57ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=6.53ex,y=5.ex, line width=0.07ex*\tkzsymblsscl,scale=#1]
+\begin{tikzpicture}[x=6.53ex,y=5ex, line width=0.07ex*\tkzsymblsscl,scale=#1]
\filldraw[rounded corners=0.09ex*\tkzsymblsscl] (0,0) rectangle (0.3,0.3);
\draw[rounded corners=0.07ex*\tkzsymblsscl, line width=0.03ex*\tkzsymblsscl]
(0.1,0) -- (-0.025,0) -- (-0.025,0.3) -- (0.1,0.3);
@@ -943,23 +1400,27 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\@BackblechlochY) circle (0.02ex);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Backblech#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\bakingplate\Backblech
+\tikzsymbols@let{bakingplate}{Backblech}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Ofen = \oven}
-% I may have again too many strange words:
+% I may have again too many strange named commands:
% \begin{macrocode}
-\DeclareRobustCommand{\Ofen}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Ofen}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Ofen#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*208/100}{#1ex*155/100}{oven}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.07ex*\real{\tkzsymblsPrmtr}}{1.57ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=0.50ex,y=.5ex, line width=0.07ex*\tkzsymblsscl,scale=#1]
+\begin{tikzpicture}[x=0.50ex,y=0.5ex, line width=0.07ex*\tkzsymblsscl,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}
@@ -968,20 +1429,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[line width=0.05ex*\tkzsymblsscl] (1,1.75) -- (3,1.75);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Ofen#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\oven\Ofen
+\tikzsymbols@let{oven}{Ofen}
% \end{macrocode}
%\end{macro}
-
+%
%
%\begin{macro}{\Pfanne = \pan}
-% I can't think of a better word \dots:
+%A pan \dots What did you expect?
% \begin{macrocode}
-\DeclareRobustCommand{\Pfanne}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Pfanne}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Pfanne#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*303/100}{#1ex*74/100}{Pfanne}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{3.034ex*\real{\tkzsymblsPrmtr}}{0.78ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.3ex,y=2.3ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -994,20 +1459,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(-0.05,0.1) -- (0.95,0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Pfanne#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\pan\Pfanne
+\tikzsymbols@let{pan}{Pfanne}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Herd = \cooker}
-% I hope it' the right translation:
+% I hope it's the right translation:
% \begin{macrocode}
-\DeclareRobustCommand{\Herd}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Herd}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Herd#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*208/100}{#1ex*157/100}{cooker}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.08ex*\real{\tkzsymblsPrmtr}}{1.58ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1ex,y=1ex,line width=0.04ex*\tkzsymblsscl,scale=#1]
@@ -1020,20 +1489,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (1.45,1.15) circle (0.15);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Herd#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\cooker\Herd
+\tikzsymbols@let{cooker}{Herd}
% \end{macrocode}
%\end{macro}
-
+%
%
%\begin{macro}{\Saftpresse = \squeezer}
% It's an old squeezer:
% \begin{macrocode}
-\DeclareRobustCommand{\Saftpresse}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Saftpresse}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Saftpresse#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*187/100}{#1ex*155/100}{x}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.87ex*\real{\tkzsymblsPrmtr}}{1.62ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1.2ex,y=1ex,line width=0.07ex*\tkzsymblsscl,scale=#1]
@@ -1049,46 +1522,54 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
segment length=0.48ex*\tkzsymblsscl}] (0,0.3) -- (1.5,0.3);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Saftpresse#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\squeezer\Saftpresse
+\tikzsymbols@let{squeezer}{Saftpresse}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Schussel = \bowl}
-% It may looks a bit queery, but I like it.
+% It may looks a bit weird, but I like it.
% Wieder dasselbe mit den Umlauten: \"u=u.
% \begin{macrocode}
-\DeclareRobustCommand{\Schussel}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Schussel}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Schussel#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*232/100}{#1ex*148/100}{bowl}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.32ex*\real{\tkzsymblsPrmtr}}{1.47ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1ex,y=1ex,line width=0.07ex*\tkzsymblsscl, scale=#1]
\draw[rounded corners=0.5ex*\tkzsymblsscl]
(-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[opacity=0] (-0.4,0) -- (1.85,0);
+\draw[opacity=00] (-0.4,0) -- (1.85,0);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Schussel#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\bowl\Schussel
+\tikzsymbols@let{bowl}{Schussel}
% \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!!!!
+% 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}
-\DeclareRobustCommand{\Schaler}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Schaler}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Schaler#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*116/100}{#1ex*155/100}{X}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.15ex*\real{\tkzsymblsPrmtr}}{1.565ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.7ex,y=2.3ex, line width=0.07ex*\tkzsymblsscl,scale=#1]
@@ -1100,12 +1581,14 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[line width=0.03ex*\tkzsymblsscl] (0,0.58) -- (0.2,0.58);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Schaler#1}%
\tikzsymbolsaftersymbolinput%
}
-\let\peeler\Schaler
+\tikzsymbols@let{peeler}{Schaler}
% \end{macrocode}
%\end{macro}
-
+%
%
%
%
@@ -1115,14 +1598,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
% \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'', ``Ninja'', and else).
-% The ``default color'' of the 2D Emoticons is \verb|opacity=0|, it's useful for \verb|\colorbox{yellow}{\Sadey}| which leads to \colorbox{yellow}{\Sadey} instead of \colorbox{yellow}{\Sadey[][white]} (with default=white).
+% Another 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È, ÇNinjaÈ, and else).
+% The Çdefault colorÈ of the 2D Emoticons is \verb|opacity=0|, 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]{%
+\tkzsymblsDeclareRobustCommandx{Sadey}[2][1=1, 2={opacity=0}, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Sadey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*172/100}{#1ex*165/100}{Sad}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1133,12 +1618,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Sadey#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dSadey}[2][1=1,2=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dSadey}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dSadey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dSad}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1148,22 +1637,26 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[black] (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dSadey#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
-
+%
+%
%
%
%\begin{macro}{\Annoey \dAnnoey}
% An annoyed Smiley -\_-
% \begin{macrocode}
-\DeclareRobustCommandx{\Annoey}[2][1=1,2={opacity=0},usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Annoey}[2][1=1,2={opacity=0},usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Annoey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
- \tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{Ann}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1174,12 +1667,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.1) -- (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Annoey#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dAnnoey}[2][1=1,2=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dAnnoey}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dAnnoey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
- \tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dAnn}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1188,25 +1685,29 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[black] (-0.08,0.1) -- (-0.22,0.1);
\draw[black] (-0.2,-0.1) -- (0.2,-0.1);
\end{tikzpicture}%
-\fi
+\fi%
+}%
+\tikzsymbolsusebox{dAnnoey#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
%
-
+%
%\begin{macro}{\Smiley \dSmiley}
% A normal Smiley
% \begin{macrocode}
-\if@tikzsymbols@marvosym\relax\else%
- \DeclareRobustCommandx{\Smiley}[2][1=1,2={opacity=0} ,usedefault]{%
+\ifKV@tikzsymbols@marvosym\relax\else%
+ \tkzsymblsDeclareRobustCommandx{Smiley}[2][1=1,2={opacity=0} ,usedefault]{%
+ \tikzsymbols@ifsaveboxundefined{Smiley#1#2}{%
\set@tkzsymblsscl{#1}%
- \if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{Smile}%
+ \iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl, scale=#1]
\fill[#2] (0,0) circle (0.33);
\draw (0,0) circle (0.33);
\fill (-0.1,0.1) circle (0.05);
@@ -1214,13 +1715,17 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Smiley#1#2}%
\tikzsymbolsaftersymbolinput%
}%
\fi
-\DeclareRobustCommandx{\dSmiley}[3][1=1,2=yellow,3=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dSmiley}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dSmiley#1#2}{%
\set@tkzsymblsscl{#1}%
- \if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dSmile}%
+ \iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.1ex*\tkzsymblsscl,scale=#1]
@@ -1230,19 +1735,23 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dSmiley#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Laughey \dLaughey}
% A laughing Smiley
% \begin{macrocode}
-\DeclareRobustCommandx{\Laughey}[3][1=1,2={opacity=0},3={opacity=0} ,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Laughey}[3][1=1,2={opacity=0},3={opacity=0} ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Laughey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{lachen}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1256,12 +1765,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(-0.22,-0.0) .. controls (-0.13,-0.23) and (0.13,-0.23) .. (0.22,-0.0) -- cycle;
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Laughey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dLaughey}[3][1=1,2=yellow, 3=red ,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dLaughey}[3][1=1,2=yellow, 3=red ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dLaughey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{lachen}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1272,21 +1785,25 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(-0.25,-0.0) .. controls (-0.13,-0.26) and (0.13,-0.26) .. (0.25,-0.0) -- cycle;
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dLaughey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
-
-
+%
+%
+%
%
%\begin{macro}{\Neutrey \dNeutrey}
% neutral Smiley \verb+:|+
% \begin{macrocode}
-\DeclareRobustCommandx{\Neutrey}[2][1=1, 2={opacity=0}, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Neutrey}[2][1=1, 2={opacity=0}, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Neutrey#1#2}{%
\set@tkzsymblsscl{#1}%
- \if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{Neutral}%
+ \iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1297,12 +1814,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.1) -- (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Neutrey#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dNeutrey}[2][1=1,2=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dNeutrey}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dNeutrey#1#2}{%
\set@tkzsymblsscl{#1}%
- \if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dneutral}%
+ \iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1312,21 +1833,48 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[black] (-0.2,-0.1) -- (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dNeutrey#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \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}
% ;)
% \begin{macrocode}
-\DeclareRobustCommandx{\Winkey}[2][1=1,2={opacity=0} ,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Winkey}[2][1=1,2={opacity=0} ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Winkey#1#2}{%
+\set@tkzsymblsscl{#1}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
+\else%
+\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
+\fill[#2] (0,0) circle (0.33);
+\draw(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%
+}%
+\tikzsymbolsusebox{Winkey#1#2}%
+\tikzsymbolsaftersymbolinput%
+}
+\tkzsymblsDeclareRobustCommandx{oldWinkey}[2][1=1,2={opacity=0} ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{oldWinkey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{Wink}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1337,12 +1885,35 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{oldWinkey#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dWinkey}[2][1=1,2=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dWinkey}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dWinkey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dWink}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
+\else%
+\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,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%
+}%
+\tikzsymbolsusebox{dWinkey#1#2}%
+\tikzsymbolsaftersymbolinput%
+}
+\tkzsymblsDeclareRobustCommandx{olddWinkey}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{olddWinkey#1#2}{%
+\set@tkzsymblsscl{#1}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1352,22 +1923,26 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.15,-0.2) .. (0.2,0);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{olddWinkey#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
+%\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]{%
+\tkzsymblsDeclareRobustCommandx{Sey}[2][1=1,2={opacity=0} ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Sey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{S}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1378,12 +1953,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.08) .. controls (-0.0,-0.2) and (0.0,0) .. (0.2,-0.12);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Sey#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dSey}[2][1=1,2=yellow ,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dSey}[2][1=1,2=yellow ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dSey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dS}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1392,20 +1971,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\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
+\fi%
+}%
+\tikzsymbolsusebox{dSey#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Xey \dXey}
% I can't think of a better name again.
% \begin{macrocode}
-\DeclareRobustCommandx{\Xey}[2][1=1, 2={opacity=0}, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Xey}[2][1=1, 2={opacity=0}, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Xey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{Xe}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1418,12 +2001,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Xey#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dXey}[2][1=1, 2={yellow}, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dXey}[2][1=1, 2={yellow}, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dXey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dXe}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1435,20 +2022,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (-0.2,-0.15) .. controls (-0.1,-0.06) and (0.1,-0.06) .. (0.2,-0.15);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dXey#1#2}%
\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]{%
+\tkzsymblsDeclareRobustCommandx{Innocey}[3][1=1,2={opacity=0},3=yellow ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Innocey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*173/100}{#1ex*19/10}{Inno}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.73ex*\real{\tkzsymblsPrmtr}}{1.909ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1462,13 +2053,17 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[line width=0.05ex*\tkzsymblsscl] (0.35,0.31) arc (0:360:0.35 and 0.12);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Innocey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommand{\wInnocey}[1][1]{\Innocey[#1][opacity=0][white]}
-\DeclareRobustCommandx{\dInnocey}[3][1=1,2=yellow,3=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommand{wInnocey}[1][1]{\Innocey[#1][opacity=0][white]}
+\tkzsymblsDeclareRobustCommandx{dInnocey}[3][1=1,2=yellow,3=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dInnocey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*173/100}{#1ex*185/100}{dInno}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.73ex*\real{\tkzsymblsPrmtr}}{1.849ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1476,27 +2071,31 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\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*\tkzsymblsscl]
+\draw[color=#3!97!black, line width=0.1ex*\tkzsymblsscl]
(0.32,0.31) arc (0:360:0.32 and 0.1);
\draw[line width=0.05ex*\tkzsymblsscl] (0.3,0.31) arc (0:360:0.3 and 0.07);
\draw[line width=0.05ex*\tkzsymblsscl] (0.35,0.31) arc (0:360:0.35 and 0.12);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dInnocey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
-
-
+%
+%
+%
%\begin{macro}{\Cooley \dCooley}
% Don't know what I shall write here.
% \begin{macrocode}
-\DeclareRobustCommandx{\Cooley}[2][1=1,2={opacity=0} ,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Cooley}[2][1=1,2={opacity=0} ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Cooley#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*166/100}{Cool}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1512,12 +2111,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (0.2,0.1) -- (0.3,0.13);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Cooley#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dCooley}[2][1=1,2=yellow,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dCooley}[2][1=1,2=yellow,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dCooley#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dCool}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1532,20 +2135,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[black] (-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dCooley#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
-
+%
+%
%\begin{macro}{\Tongey \dTongey}
% :P
% \begin{macrocode}
-\DeclareRobustCommandx{\Tongey}[3][1=1,2={opacity=0},3={opacity=0} ,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Tongey}[3][1=1,2={opacity=0},3={opacity=0} ,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Tongey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*171/100}{#1ex*165/100}{ton}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.704ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1561,12 +2168,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(0,-0.09) -- (0.05,-0.2) -- (0.16,-0.23) -- (0.2,-0.15) -- (0.19,-0.03);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Tongey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dTongey}[3][1=1,2=yellow,3=red,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dTongey}[3][1=1,2=yellow,3=red,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dTongey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*159/100}{#1ex*156/100}{dton}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftQbox{1.584ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1581,20 +2192,25 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(-0.2,-0.1) .. controls (-0.1,-0.2) and (0.1,-0.2) .. (0.2,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dTongey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
-
+%
+%
%\begin{macro}{\Nursey \dNursey}
-% a Nurse (the cross has nothing to do with religion).
+% a Nurse.
% \begin{macrocode}
-\DeclareRobustCommandx{\Nursey}[4][1=1,2={opacity=0},3={opacity=0},4=black,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Nursey}
+[4][1=1,2={opacity=0},3={opacity=0},4=black,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Nursey#1#2#3#4}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*15/10}{#1ex*215/100}{Nurse}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.5ex*\real{\tkzsymblsPrmtr}}{2.19ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.3ex, y=2.3ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1612,12 +2228,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw[#4,line width=.046ex*\tkzsymblsscl] (-0.05,0.45) -- (0.05,0.45);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Nursey#1#2#3#4}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dNursey}[4][1=1,2=yellow,3=white,4=red,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dNursey}[4][1=1,2=yellow,3=white,4=red,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dNursey#1#2#3#4}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*14/10}{#1ex*2}{dNurse}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.38ex*\real{\tkzsymblsPrmtr}}{1.98ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.3ex, y=2.3ex, line width=0.12ex*\tkzsymblsscl,scale=#1]
@@ -1634,21 +2254,25 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(-0.05,0.4) -- (0.05,0.4) -- (0.05,0.42)--(-0.05,0.42) -- cycle;
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dNursey#1#2#3#4}%
\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]{%
+\tkzsymblsDeclareRobustCommandx{Vomey}[3][1=1,2={opacity=0},3={opacity=0},usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Vomey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*305/100}{#1ex*165/100}{vomit}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{3.0335ex*\real{\tkzsymblsPrmtr}}{1.743ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.58ex,y=0.58ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1669,12 +2293,16 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
and (1,-2) .. (1,-1.5) .. controls (0.5,-1.9) and (0.3,-1) .. (0.7,-0.9);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Vomey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dVomey}[3][1=1,2=yellow,3={brown!10!olive},usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dVomey}[3][1=1,2=yellow,3={brown!10!olive},usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dVomey#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*295/100}{#1ex*156/100}{dvomit}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{3.2435ex*\real{\tkzsymblsPrmtr}}{1.653ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.58ex,y=0.58ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
@@ -1689,19 +2317,23 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
(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%
+}%
+\tikzsymbolsusebox{dVomey#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Walley \dWalley}
-% Well \dots{} this Emoticon should be the visualization of the german saying ``Gegen eine Wand rennen'', which means something like: Not being able to solve a problem.
+% Well \dots{} this Emoticon should be the visualization of the german saying ÇGegen eine Wand rennenÈ, which means something like: Not being able to solve a problem.
% \begin{macrocode}
-\DeclareRobustCommandx{\Walley}[3][1=1, 2={opacity=0},3={opacity=0}, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Walley}[3][1=1, 2={opacity=0},3={opacity=0}, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Walley#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*235/100}{#1ex*165/100}{Wall}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.341ex*\real{\tkzsymblsPrmtr}}{1.674ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1,
@@ -1724,12 +2356,16 @@ decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\t
\draw[rotate=-20] (0.27,-0.1) .. controls (0.2,-0.072) and (0.1,-0.06) .. (0.,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Walley#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\rWalley}[3][1=1, 2={opacity=0},3={opacity=0}, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{rWalley}[3][1=1, 2={opacity=0},3={opacity=0}, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{rWalley#1#2#3}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*235/100}{#1ex*165/100}{rWall}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.341ex*\real{\tkzsymblsPrmtr}}{1.674ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1,
@@ -1745,16 +2381,19 @@ decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\t
\draw[rotate=-20] (0.27,-0.1) .. controls (0.2,-0.072) and (0.1,-0.06) .. (0.,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{rWalley#1#2#3}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dWalley}[2][1=1, 2=yellow, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dWalley}[2][1=1, 2=yellow, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dWalley#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*242/100}{#1ex*156/100}{dWall}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.4288ex*\real{\tkzsymblsPrmtr}}{1.6008ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
-\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1,
-decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\tkzsymblsscl}]
+\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1]
\shade[ball color=orange!80!black] (0.298,-0.33) rectangle (0.692,0.337);
\draw[line width=0.06ex*\tkzsymblsscl]
(0.28,0) --++(0.05,0.07) --++(0.03,0.02) --+
@@ -1765,17 +2404,21 @@ decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\t
\draw[line width=0.06ex*\tkzsymblsscl]
(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, line width=0.08ex*\tkzsymblsscl] (-0.01,0) circle (0.31);
+\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);
+\draw[rotate=-20] (0.283,-0.1) .. controls (0.2,-0.072) and (0.1,-0.06) .. (0,-0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dWalley#1#2}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\drWalley}[2][1=1, 2=yellow, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{drWalley}[2][1=1, 2=yellow, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{drWalley#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*242/100}{#1ex*156/100}{drWall}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.4288ex*\real{\tkzsymblsPrmtr}}{1.6008ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.4ex, y=2.4ex, line width=0.09ex*\tkzsymblsscl,scale=#1,
@@ -1788,21 +2431,25 @@ decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\t
\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
+\fi%
+}%
+\tikzsymbolsusebox{drWalley#1#2}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
-
-
+%
+%
+%
%\begin{macro}{\Cat}
% *Miau*
% \begin{macrocode}
-\DeclareRobustCommandx{\Cat}[1][1=1,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Cat}[1][1=1,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Cat#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*19/10}{#1ex*19/10}{Cat}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.899ex*\real{\tkzsymblsPrmtr}}{1.957ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=2.33ex,y=2.33ex, line width=0.093ex*\tkzsymblsscl,scale=#1]
@@ -1815,7 +2462,8 @@ decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\t
(0,0) -- (0,-0.1) -- (-0.1,-0.095);
\draw[rounded corners=0.175ex*\tkzsymblsscl,yshift=-0.12ex]
(0,0) -- (0,-0.1) -- (0.1,-0.095);
-\draw[rounded corners=.12ex*\tkzsymblsscl,yshift=-.15ex, line width=0.03em*(#1-.#1)]
+\draw[rounded corners=.12ex*\tkzsymblsscl,yshift=-.15ex,
+ line width=0.03em*\real{0.9}*\tkzsymblsscl]
(-0.1,0.1) -- (0,0) -- (0.1,0.1) -- cycle ;
\draw[line width=0.035ex*\tkzsymblsscl]
(-0.1,-0.05)..controls(-0.25,0)and(-0.35,0).. (-0.4,-0.05);
@@ -1831,26 +2479,30 @@ decoration={random steps,segment length=0.15ex*\tkzsymblsscl, amplitude=0.1ex*\t
(0.1,-0.05)..controls(0.25,-0.045)and(0.35,-0.13).. (0.4,-0.23);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Cat#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Ninja \dNinja}
% A Ninja.
% \begin{macrocode}
-\DeclareRobustCommandx{\Ninja}[4][1=1, 2=black, 3=red, 4=white, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Ninja}[4][1=1, 2=black, 3=red, 4=white, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Ninja#1#2#3#4}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*215/100}{#1ex*165/100}{sshh}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.149ex*\real{\tkzsymblsPrmtr}}{1.717ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<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*\tkzsymblsscl,scale=#1,
decoration={random steps,segment length=0.1ex*\tkzsymblsscl, amplitude=0.1ex*\tkzsymblsscl}]
-\fill[#2, line width=0.08ex*\tkzsymblsscl] (0,0) circle (0.33);
+\fill[#2] (0,0) circle (0.33);
%\draw (-0.2,-0.125) -- ++(0.4,0);
\fill[decoration={random steps,segment length=0.1ex*\tkzsymblsscl,
amplitude=0.01ex*\tkzsymblsscl}, decorate,#3]
@@ -1874,12 +2526,16 @@ decoration={random steps,segment length=0.1ex*\tkzsymblsscl, amplitude=0.1ex*\tk
\else\draw[line width=0.08ex*\tkzsymblsscl] (0,0) circle (0.33);\fi
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Ninja#1#2#3#4}%
\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommandx{\dNinja}[4][1=1, 2=black, 3=red, 4=white, usedefault]{%
+\tkzsymblsDeclareRobustCommandx{dNinja}[4][1=1, 2=black, 3=red, 4=white, usedefault]{%
+\tikzsymbols@ifsaveboxundefined{dNinja#1#2#3#4}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*215/100}{#1ex*17/10}{dsshh}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{2.1498ex*\real{\tkzsymblsPrmtr}}{1.7178ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\def\Black@is@Black{black}%
@@ -1892,10 +2548,8 @@ segment length=0.55ex*\tkzsymblsscl},decorate, #3!50!black]
\draw[ decorate,decoration={snake,amplitude=.1ex*\tkzsymblsscl,
segment length=0.5ex*\tkzsymblsscl},decorate, #3!50!black]
(0.26,0.21) -- (0.53,0.1);
-\shade[ball color=#2, line width=0.08ex*\tkzsymblsscl] (0,0) circle (0.347);
+\shade[ball color=#2] (0,0) circle (0.347);
%\draw (-0.2,-0.125) -- ++(0.4,0);
-\ifx\Black@or@not@Black\Black@is@Black
- \draw[line width=0.08ex*\tkzsymblsscl] (0,0) circle (0.33);\fi
\fill[decoration={random steps,segment length=0.1ex*\tkzsymblsscl,
amplitude=0.01ex*\tkzsymblsscl},ball color=#3]
decorate {(-0.33,0) -- (0.3465,0) }
@@ -1908,29 +2562,34 @@ decorate {-- (-0.25,0.24)}
\shade[top color=#4!80!black, bottom color=#4] (-0.129,0.1425) arc (-55:180:-.05);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{dNinja#1#2#3#4}%
\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]{%
+\tkzsymblsDeclareRobustCommandx{NiceReapey}[2][1=1,2={black!20!white},usedefault]{%
+\tikzsymbols@ifsaveboxundefined{NiceReapey#1#2}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*264/100}{#1ex*155/100}{Ann}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{(1.1067em+0.07ex)*\real{\tkzsymblsPrmtr}}
+ {(0.693em+0.07ex)*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.11em,y=0.11em, line width=0.07ex*\tkzsymblsscl,scale=#1]
-\draw (1.7,-1) arc (360:180:1.7 and 2)
+\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;
+\fill[#2] (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*\tkzsymblsscl] (-0.2,-1) -- (-0.2,-2);
@@ -1942,46 +2601,184 @@ decorate {-- (-0.25,0.24)}
\fill (-1.25,1.25) circle ( 0.5 and 0.75);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{NiceReapey#1#2}
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
%
-
+%
% \subsection{Other symbols(s)}
-%\begin{macro}{\Person}
-% My first symbol: a person.
-% In german it would be called ``Strichmaxerl''.
+%
+%\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%
+}
+% \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{macrocode}
-\DeclareRobustCommandx{\Person}[5][1=1,2=-22,3=22,4=27,5=-27,usedefault]{%
+\newcommand{\tikzsymbols@Strichmaxerl@ifSmallerZero}[1]{%
+\ifdim #1 pt < 0pt%
+ \pgfmathsetmacro{#1}{0}%
+\fi%
+}
+% \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{macrocode}
+\tkzsymblsDeclareRobustCommandx{Strichmaxerl}[5][1=1,2=-22,3=22,4=27,5=-27,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Strichmaxerl#1#2#3#4#5}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*78/100}{#1ex*155/100}{P}%
+\iftikzymbols@draftabsolute%
+% \end{macrocode}
+%
+% Now we have to calculate the length and the height of the separate parts of the \verb|\Strichmaxerl|.
+% At first the lengths (they have all an \verb|x| in the name). \par
+% \verb|LA| for Çlinker ArmÈ (\emph{left arm}). \par
+% \verb|RA| for Çrechter ArmÈ (\emph{right arm}). \par
+% \verb|LB| for Çlinkes BeinÈ (\emph{left leg}). \par
+% \verb|RB| for Ç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)}%
+% \end{macrocode}
+%
+% Now the height (\verb|y|): \par
+% \verb|LA| for Çlinker ArmÈ (\emph{left arm}). \par
+% \verb|RA| for Çrechter ArmÈ (\emph{right arm}). \par
+% \verb|LB| for Çlinkes BeinÈ (\emph{left leg}). \par
+% \verb|RB| for Ç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)}%
+% \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}%
+% \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)}%
+% \end{macrocode}
+%
+%^^A Y
+%
+% Finished the length. Now we calculate our height. Arms and legs more or less separate.
+%
+% 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}%
+% \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}%
+% \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)}%
+% \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}
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{(0.606ex+1.35ex*\real{\tikzsymbols@x@max}
+ -1.35ex*\real{\tikzsymbols@x@min})*\real{\tkzsymblsPrmtr}}%
+{(1.173ex+1.35ex*\real{\tikzsymbols@y@max})*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[line width=0.12ex*\tkzsymblsscl, 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)}] (.15,.4) -- (.42,.4);
- \draw[rotate around={#2:(.15,.4)}] (.15,.4) -- (-0.12,.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%
+}%
+\tikzsymbolsusebox{Strichmaxerl#1#2#3#4#5}%
\tikzsymbolsaftersymbolinput%
}
+\tkzsymblsDeclareRobustCommand{Person}{%
+\PackageWarning{tikzsymbols}{Command '\protect\Person' is obsolete,
+\MessageBreak Please use '\protect\Strichmaxerl' instead.\MessageBreak}%
+\Strichmaxerl%
+}
% \end{macrocode}
%\end{macro}
-
+%
%\begin{macro}{\Candle}
% A burning candle
% \begin{macrocode}
-\DeclareRobustCommand{\Candle}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Candle}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Candle#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*63/100}{#1ex*165/100}{C}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{0.64ex*\real{\tkzsymblsPrmtr}}{(1.255ex+2.2pt)*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1ex, y=1ex, scale=#1, line width=0.07ex*\tkzsymblsscl]
@@ -1993,19 +2790,23 @@ decorate {-- (-0.25,0.24)}
(-0.1,0.6) .. controls (0.2,0.8) and (-0.1,1) .. (-0.1,1.2);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Candle#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Fire}
% Just a fire.
% \begin{macrocode}
-\DeclareRobustCommand{\Fire}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Fire}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Fire#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*158/100}{#1ex*16/10}{fire}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.576ex*\real{\tkzsymblsPrmtr}}{1.639ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1ex,y=1ex, line width=0.07ex*\tkzsymblsscl,rotate=45, scale=#1]
@@ -2025,26 +2826,31 @@ decorate {-- (-0.25,0.24)}
\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%
+}%
+\tikzsymbolsusebox{Fire#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
%
-
+%
%\begin{macro}{\Cofeecup}
+% \changes{v3.0}{2013/07/21}{Changed angle of arc a bit. Changed a length.}
% Just a cup of coffee.
% \begin{macrocode}
-\if@tikzsymbols@marvosym\relax\else%
-\DeclareRobustCommand{\Coffeecup}[1][1]{%
+\ifKV@tikzsymbols@marvosym \else%
+\tkzsymblsDeclareRobustCommand{Coffeecup}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Coffeecup#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*181/100}{#1ex*165/100}{coffe}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.82ex*\real{\tkzsymblsPrmtr}}{1.705ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.7ex,y=0.7ex, scale=#1, line width=0.07ex*\tkzsymblsscl,
decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymblsscl}]
-\draw (0,0) arc (180:269:0.8 and 1) -- ++(0.5,0) arc (269:360:0.8 and 1) -- cycle;
-\draw (2.1,-0.15) -- (2.2,-0.15) arc (90:-90:0.3) -- (1.8, -0.75);
+\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);
\draw[line width=0.05ex*\tkzsymblsscl, decorate]
(0.4,0.3) -- +(0,1);
\draw[line width=0.05ex*\tkzsymblsscl, decorate]
@@ -2054,43 +2860,51 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (0,-1.05) -- (2.1,-1.05);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Coffeecup#1}%
\tikzsymbolsaftersymbolinput%
}%
\fi
% \end{macrocode}
%\end{macro}
-
+%
%\begin{macro}{\Chair}
% A chair.
% \begin{macrocode}
-\DeclareRobustCommand{\Chair}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Chair}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Chair#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*112/100}{#1ex*165/100}{chair}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{0.97ex*\real{\tkzsymblsPrmtr}}{1.69ex*\real{\tkzsymblsPrmtr}}%
\else%
-\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1} \@tkzssmbls@negtrue\fi%
+\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\@tkzssmbls@negtrue\fi%
\begin{tikzpicture}[x=0.9ex,y=0.9ex, scale=#1, line width=0.07ex*\tkzsymblsscl]
\draw (0,-0.5) -- (0,0.7) -- (0.5,1) -- (0.5,0.25);
\draw[line width=0.06ex*\tkzsymblsscl] (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
+\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%
+}%
+\tikzsymbolsusebox{Chair#1}%
\@tkzssmbls@negfalse%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
+%
%\begin{macro}{\Bed}
% A bed.
% \begin{macrocode}
-\DeclareRobustCommand{\Bed}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Bed}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Bed#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*309/100}{#1ex*162/100}{Bed}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{3.08ex*\real{\tkzsymblsPrmtr}}{1.68ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1ex,y=1ex, scale=#1, line width=0.08ex*\tkzsymblsscl]
@@ -2102,19 +2916,24 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (0.7,0.5) arc(180:30:1.231 and 0.6);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Bed#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
+%
%\begin{macro}{\Tribar}
% Also called Penrose-Triangle
% \begin{macrocode}
-\DeclareRobustCommandx{\Tribar}[4][1=1,2={opacity=0},3={opacity=0},4={opacity=0},usedefault]
+\tkzsymblsDeclareRobustCommandx{Tribar}[4]
+[1=1,2={opacity=0},3={opacity=0},4={opacity=0},usedefault]
{%
+\tikzsymbols@ifsaveboxundefined{Tribar#1#2#3#4}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*17/10}{#1ex*167/100}{T}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.7175ex*\real{\tkzsymblsPrmtr}}{1.685ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.65ex,y=0.65ex,scale=#1,
@@ -2126,25 +2945,33 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\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) -- +(-.05,-0.1);
+\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%
+}%
+\tikzsymbolsusebox{Tribar#1#2#3#4}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
-
+%
+%
+%\begin{macro}{\tikzsymbolsMoaithickness}
+% You may already thought it: the line width of the \verb|\Moai|.
+% \begin{macrocode}
+\newcommand{\tikzsymbolsMoaithickness}{}
+% \end{macrocode}
+%\end{macro}
+%
%
%\begin{macro}{\Moai}
% From the Easter Island: a Moai.
% \begin{macrocode}
-\DeclareRobustCommandx{\Moai}[1][1=1,usedefault]{%
+\tkzsymblsDeclareRobustCommandx{Moai}[1][1=1,usedefault]{%
+\tikzsymbols@ifsaveboxundefined{Moai#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*103/100}{#1ex*161/100}{M}%
-\else%
+\tksymblsbxPrmtrstore{#1}%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\ifdim \tkzsymblsscl<2pt%
\def\tikzsymbolsMoaithickness{0.05ex}%
@@ -2154,6 +2981,10 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\else%
\def\tikzsymbolsMoaithickness{0.03ex}%
\fi\fi%
+\iftikzymbols@draftabsolute%
+\tikzsymbols@draftbox{(1.001ex+\tikzsymbolsMoaithickness)*\real{\tkzsymblsPrmtr}}
+ {(1.664ex+\tikzsymbolsMoaithickness)*\real{\tkzsymblsPrmtr}}%
+\else%
\begin{tikzpicture}[x=.13ex, y=.13ex, rounded corners=0.01ex*\tkzsymblsscl, scale=#1,
line width=\tikzsymbolsMoaithickness*\tkzsymblsscl]
\draw (-2.6,-4.25) -- (-2.5,-5.8)
@@ -2170,25 +3001,29 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\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.4) .. controls (-0.5,-0.5) and (0,-0.5) .. (0.6,-0.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%
+}%
+\tikzsymbolsusebox{Moai#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
+%
%\begin{macro}{\Snowman}
-% A snowman. I think his smile is scary.
+% A snowman. I think its smile is scary.
% \begin{macrocode}
-\DeclareRobustCommand{\Snowman}[1][1]{%
+\tkzsymblsDeclareRobustCommand{Snowman}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{Snowman#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*153/100}{#1ex*169/100}{Snow}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.545ex*\real{\tkzsymblsPrmtr}}{1.772ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=0.9ex,y=0.9ex,line width=0.07ex*\tkzsymblsscl, scale=#1]
@@ -2228,45 +3063,53 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\draw (0.6,0.8) -- (0.8,0.9);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{Snowman#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
-
+%
+%
%
% \subsection{Trees}
% Many great ideas are stolen.
% Don't know who said that, but it's true.
%
%
-
+%
%\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:
+% We define our \verb|\BasicTree|. We check if the last parameter is ÇleafÈ, if not we check if the last parameter is empty, if not: we generate an error message:
% \begin{macrocode}
-\newcommand\BasicTree[5][1]{%
+\tkzsymblsnewcommand{BasicTree}[5][1]{%
+\tikzsymbols@ifsaveboxundefined{BasicTree#1#2#3#4#5}{%
\def\leaf@or@not@leaf{#5}%
\ifx\leaf@or@not@leaf\@leaf@is@leaf%
-\Basic@Tree[#1]{#2}{#3}{#4}{#5}\tikzsymbolsaftersymbolinput%
+\Basic@Tree[#1]{#2}{#3}{#4}{#5}%
\else%
\ifx\\#5\\%
-\Basic@Tree[#1]{#2}{#3}{#4}{#5}\tikzsymbolsaftersymbolinput%
+\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''.}%
+`leaf` or has to be empty}{See the tikzsymbols documentation. Section ÇTreesÈ.}%
\fi\fi%
+}%
+\tikzsymbolsusebox{BasicTree#1#2#3#4#5}%
+\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
+%
%
%\begin{macro}{\WorstTree}
-% An extremly bad Tree. It's really worst.
+% It's not that bad.
% \begin{macrocode}
-\DeclareRobustCommand{\WorstTree}[1][1]{%
+\tkzsymblsDeclareRobustCommand{WorstTree}[1][1]{%
+\tikzsymbols@ifsaveboxundefined{WorstTree#1}{%
\set@tkzsymblsscl{#1}%
-\if@tikzsymbols@absolute@draft%
-\tikzsymbols@resizebox{#1ex*165/100}{#1ex*165/100}{tree}%
+\iftikzymbols@draftabsolute%
+\tksymblsbxPrmtrstore{#1}%
+\tikzsymbols@draftbox{1.64ex*\real{\tkzsymblsPrmtr}}{1.84ex*\real{\tkzsymblsPrmtr}}%
\else%
\ifdim\tkzsymblsscl<0pt\set@tkzsymblsscl{-#1}\fi%
\begin{tikzpicture}[x=1ex,y=1ex, line width=0.04ex*\tkzsymblsscl,scale=#1]
@@ -2288,41 +3131,49 @@ decoration={snake,amplitude=.05ex*\tkzsymblsscl,segment length=0.408ex*\tkzsymbl
\fill[red] (0.8,1.1) circle (0.1);
\end{tikzpicture}%
\fi%
+}%
+\tikzsymbolsusebox{WorstTree#1}%
\tikzsymbolsaftersymbolinput%
}
% \end{macrocode}
%\end{macro}
-
-
-
-
-
-
+%
+%
+%
+%
+%
+%
%\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\}} }
% Some predefined Trees.
%
-% ``Hey that look like the trees in the \dots'' -- ``Yes, Yes, I know!''.
+% Ç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|.
+% We don't need \verb|\tikzsymbolsaftersymbolinput| because it is already used 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!80!}{black!50}{black!25}{}}
+\tkzsymblsDeclareRobustCommandx{Springtree}[1][1=1, usedefault]%
+ {\tikzsymbolsuse{BasicTree}[#1]{brown!70!black}{green!90!black}{green!80!black}{leaf}}
+\tkzsymblsDeclareRobustCommandx{Summertree}[1][1=1, usedefault]%
+ {\tikzsymbolsuse{BasicTree}[#1]{brown!50!black}{green!80!black}{red!80!green}{leaf}}
+\tkzsymblsDeclareRobustCommandx{Autumntree}[1][1=1, usedefault]%
+ {\tikzsymbolsuse{BasicTree}[#1]{red!30!black}{red!75!black}{orange}{leaf}}
+\tkzsymblsDeclareRobustCommandx{Wintertree}[1][1=1, usedefault]%
+ {\tikzsymbolsuse{BasicTree}[#1]{black!80!}{black!50}{black!25}{}}
% \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{
-\if@tikzsymbols@marvosym
+\ifKV@tikzsymbols@marvosym
\@ifpackageloaded{marvosym}{}{%
\PackageError{tikzsymbols}{Use option 'marvosym' only\MessageBreak
if you load package 'marvosym'}
@@ -2331,14 +3182,12 @@ delete the tikzsymbols option 'marvosym'}}
\fi
}
% \end{macrocode}
-% Well that's it. Happy \TeX ing!
+%\end{macro}
%
-% PS. Something went wrong with the Change History, but I don't know what.
-
-
-
-
-\DeclareRobustCommand{\@Keep@Cool@I}{%
+%
+%
+%
+\tkzsymblsDeclareRobustCommand{@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;
@@ -2348,9 +3197,9 @@ delete the tikzsymbols option 'marvosym'}}
\draw (0.49,0.61) -- (0.8,0.65);
\draw (0.65,0.9) circle (0.17);
\end{tikzpicture}%
-\MySymbolAfterSymbolinput%
+\tikzsymbolsaftersymbolinput%
}
-\DeclareRobustCommand{\@Keep@Cool@II}{%
+\tkzsymblsDeclareRobustCommand{@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
@@ -2360,22 +3209,27 @@ delete the tikzsymbols option 'marvosym'}}
\draw (.15, .4) -- (.15, .53);% Hals
\draw (.15,.8) circle (0.18);% Kopf
\end{tikzpicture}%
-\MySymbolAfterSymbolinput%
+\tikzsymbolsaftersymbolinput%
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%\PrintChanges \PrintIndex \ No newline at end of file
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%\Finale
+%
+% \iffalse meta-comment
+%: Final
+% \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 f8199fdff5a..c274cd1e002 100644
--- a/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
+++ b/Master/texmf-dist/source/latex/tikzsymbols/tikzsymbols.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2013 by Ben Vitecek
+%% Copyright (C) 2013 by Ben Vitecek (current Maintainer)
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -8,9 +8,13 @@
%%
%% http://www.latex-project.org/lppl.txt
%%
-%% and version 1.3 or later is part of all distributions of
+%% 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.
\input docstrip.tex
@@ -21,13 +25,22 @@
\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.
+Copyright (C) 2013 by Ben Vitecek (current Maintainer)
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3 of this license or (at your option) any later
+version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008-05-04 or later.
+
+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.
\endpreamble
\generate{\file{tikzsymbols.sty}{\from{tikzsymbols.dtx}{package}}}