% -------------------------------------------------------------------------- % the tikz-cookingsymbols package % % drawn cooking symbols (like top/bottom-heat) with tikz % % -------------------------------------------------------------------------- % Fabian Matischok % E-Mail: f_matischok@t-online.de % -------------------------------------------------------------------------- % Copyright 2025 Fabian Matischok % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tikz-cookingsymbols}[2025-02-04 1.0 Draw cookingsymbols with tikz] % required packages \RequirePackage{tikz} \usetikzlibrary{calc,topaths,knots} \RequirePackage{calc} % defining used lengths and commands \newlength{\AFHeight} \settoheight{\AFHeight}{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ} \newlength{\AFDepth} \settodepth{\AFDepth}{abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ} \ProvideExpandableDocumentCommand{\AFSize}{}{\fpeval{\AFHeight}} \ProvideExpandableDocumentCommand{\AFRadius}{}{(1/\AFSize)*\AFHeight} \ProvideExpandableDocumentCommand{\GrillDistance}{}{((\AFSize-2)/\AFSize)} \ProvideExpandableDocumentCommand{\GrillLength}{}{0.125*\GrillDistance} \ProvideExpandableDocumentCommand{\BL}{}{(1/10)*\GrillDistance} % border of symbols \ProvideDocumentCommand{\CSBorder}{}{% \draw (${1/\AFSize}*(\AFHeight,0pt)$)to (${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)$) arc[radius=\AFRadius,start angle=270,end angle=360]% to($(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$) arc[radius=\AFRadius,start angle=0,end angle=90]% to(${1/\AFSize}*(\AFHeight,0pt)+(0pt,\AFHeight)$) arc[radius=\AFRadius,start angle=90,end angle=180]% to(${1/\AFSize}*(0pt,\AFHeight)$) arc[radius=\AFRadius,start angle=180,end angle=270];% } % fan for virculating air \ProvideDocumentCommand{\Fan}{}{% \filldraw[line join=bevel] (${0.5}*(\AFHeight,\AFHeight)$) to[in=0,out=75] (${0.5}*(\AFHeight,\AFHeight)+{(0.5*\AFSize-1)/\AFSize}*(90:\AFHeight)$) to[out=180,in=105]cycle;% \filldraw[line join=bevel] (${0.5}*(\AFHeight,\AFHeight)$) to[in=120,out=195] (${0.5}*(\AFHeight,\AFHeight)+{(0.5*\AFSize-1)/\AFSize}*(210:\AFHeight)$) to[out=300,in=225]cycle;% \filldraw[line join=bevel] (${0.5}*(\AFHeight,\AFHeight)$) to[in=240,out=315] (${0.5}*(\AFHeight,\AFHeight)+{(0.5*\AFSize-1)/\AFSize}*(330:\AFHeight)$) to[out=420,in=345]cycle;% } %%%% german commands % Ober/Unterhitze \ProvideDocumentCommand{\OberUnterHitze}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{%False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }% }% } % Oberhitze \ProvideDocumentCommand{\OberHitze}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }% }% } % Unterhitze \ProvideDocumentCommand{\UnterHitze}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% }% }% } %Umluft \ProvideDocumentCommand{\Umluft}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \Fan% \draw (${0.5}*(\AFHeight,\AFHeight)$) circle[radius={((\AFSize-1)/\AFSize)*0.5*\AFHeight}];% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \Fan% \draw (${0.5}*(\AFHeight,\AFHeight)$) circle[radius={((\AFSize-1)/\AFSize)*0.5*\AFHeight}];% }% }% } %Umluft alternative \ProvideDocumentCommand{\UmluftAlt}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \begin{scope}[shift={(${1/\AFSize}*(0pt,-\AFHeight)$)}]% \Fan% \end{scope}% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \begin{scope}[shift={(${0.5/\AFSize}*(0pt,-\AFHeight)$)}]% \Fan% \end{scope}% }% }% } % Grill \ProvideDocumentCommand{\Grill}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)-- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)-- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$);% }% }% } % UmluftGrill \ProvideDocumentCommand{\UmluftGrill}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)-- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$);% \begin{scope}[shift={(${1.5/\AFSize}*(0pt,-\AFHeight)+{0.5/\AFSize}*(\AFHeight,0pt)$)},scale={(\AFSize-1)/\AFSize}]% \Fan% \end{scope}% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)-- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$);% \begin{scope}[shift={(${1/\AFSize}*(0pt,-\AFHeight)+{0.5/\AFSize}*(\AFHeight,0pt)$)},scale={(\AFSize-1)/\AFSize}]% \Fan% \end{scope}% }% }% } % AirFryer \ProvideDocumentCommand{\AirFryer}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \coordinate (C)at(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)+{2*\BL}*(-\AFHeight,0)+{1*\BL}*(0,-\AFHeight)$);% \coordinate (D)at(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)+{1*\BL}*(0,-\AFHeight)$);% \begin{knot}[flip crossing=2]% \strand (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,-\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,\AFHeight)$) to[out=0,in=135]% (C);% \strand (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)+{2*\BL}*(0,-\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,-\AFHeight)$) to[out=0,in=225]% (C);% \end{knot}\draw(C)--(D);\draw ($(D)+\BL*(-\AFHeight,\AFHeight)$)--(D)--++($\BL*(-\AFHeight,-\AFHeight)$);% \begin{scope}[shift={(${1.75/\AFSize}*(0pt,-\AFHeight)+{0.5/\AFSize}*(\AFHeight,0pt)$)},scale={(\AFSize-1)/\AFSize}]% \Fan% \end{scope}% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \coordinate (C)at(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)+{2*\BL}*(-\AFHeight,0)+{1*\BL}*(0,-\AFHeight)$);% \coordinate (D)at(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)+{1*\BL}*(0,-\AFHeight)$);% \begin{knot}[flip crossing=2]% \strand (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,-\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,\AFHeight)$) to[out=0,in=135]% (C);% \strand (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)+{2*\BL}*(0,-\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,\AFHeight)$) to[out=0,in=180]% ++(${3*\BL}*(\AFHeight,0pt)+{2*\BL}*(0pt,-\AFHeight)$) to[out=0,in=225]% (C);% \end{knot}\draw(C)--(D);\draw ($(D)+\BL*(-\AFHeight,\AFHeight)$)--(D)--++($\BL*(-\AFHeight,-\AFHeight)$);% \begin{scope}[shift={(${1/\AFSize}*(0pt,-\AFHeight)+{0.5/\AFSize}*(\AFHeight,0pt)$)},scale={(\AFSize-1)/\AFSize}]% \Fan% \end{scope}% }% }% } % Pizza \ProvideDocumentCommand{\Pizza}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \coordinate (A)at(${1/\AFSize}*(\AFHeight,\AFHeight)$);% \coordinate (C)at($(A)+{(\AFSize-2)/\AFSize}*(20:\AFHeight)$);% \coordinate (B)at($(A)!0.91!(C)$);% \draw[clip](A)to(C) arc[radius={((\AFSize-1)/\AFSize)*\AFHeight},start angle=20,delta angle=45]to cycle (B)arc[radius={((\AFSize-1)/\AFSize)*0.9*\AFHeight},start angle=20,delta angle=45];% \draw ($(A)+{0.54}*(50:\AFHeight)$) circle[radius={((1)/\AFSize)*0.7*\AFHeight}];% \draw ($(A)+{0.3}*(65:\AFHeight)$) circle[radius={((1)/\AFSize)*0.7*\AFHeight}];% \draw ($(A)+{0.44}*(20:\AFHeight)$) circle[radius={((1)/\AFSize)*0.7*\AFHeight}];% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \coordinate (A)at(${1/\AFSize}*(\AFHeight,\AFHeight)$);% \coordinate (C)at($(A)+{(\AFSize-2)/\AFSize}*(20:\AFHeight)$);% \coordinate (B)at($(A)!0.91!(C)$);% \draw[clip](A)to(C) arc[radius={((\AFSize-1)/\AFSize)*\AFHeight},start angle=20,delta angle=45]to cycle (B)arc[radius={((\AFSize-1)/\AFSize)*0.9*\AFHeight},start angle=20,delta angle=45];% \draw ($(A)+{0.54}*(50:\AFHeight)$) circle[radius={((1)/\AFSize)*0.7*\AFHeight}];% \draw ($(A)+{0.3}*(65:\AFHeight)$) circle[radius={((1)/\AFSize)*0.7*\AFHeight}];% \draw ($(A)+{0.44}*(20:\AFHeight)$) circle[radius={((1)/\AFSize)*0.7*\AFHeight}];% }% }% } % Microwelle \ProvideDocumentCommand{\Microwelle}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% %\foreach \t in{1,...,8} \draw[lightgray] (${1/\AFSize}*(\AFHeight,0pt)+{\t/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{\t/\AFSize}*(0pt,\AFHeight)$) %(${\t/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${\t/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$); \foreach \t in{0,2,4,6} \draw[shift={($\t*\GrillLength*(0pt,\AFHeight)$)}] (${1/\AFSize}*(\AFHeight,0pt)+{2/\AFSize}*(0pt,\AFHeight)$)to[in=180,out=337.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$)to[out=0,in=202.5] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=22.5,in=180] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=0,in=157.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \foreach \t in{0,2,4,6} \draw[shift={($\t*\GrillLength*(0pt,\AFHeight)$)}] (${1/\AFSize}*(\AFHeight,0pt)+{2/\AFSize}*(0pt,\AFHeight)$)to[in=180,out=337.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$)to[out=0,in=202.5] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=22.5,in=180] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=0,in=157.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$); }% }% } %%%% english commands % Top/BottomHeat \ProvideDocumentCommand{\TopBottomHeat}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{%False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }% }% } % Top Heat \ProvideDocumentCommand{\TopHeat}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$);% }% }% } % Bottom Heat \ProvideDocumentCommand{\BottomHeat}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$);% }% }% } %convection oven \ProvideDocumentCommand{\ConvectionOven}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \Fan% \draw (${0.5}*(\AFHeight,\AFHeight)$) circle[radius={((\AFSize-1)/\AFSize)*0.5*\AFHeight}];% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \Fan% \draw (${0.5}*(\AFHeight,\AFHeight)$) circle[radius={((\AFSize-1)/\AFSize)*0.5*\AFHeight}];% }% }% } %convection oven alternative \ProvideDocumentCommand{\ConvectionOvenAlt}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \begin{scope}[shift={(${1/\AFSize}*(0pt,-\AFHeight)$)}]% \Fan% \end{scope}% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \begin{scope}[shift={(${0.5/\AFSize}*(0pt,-\AFHeight)$)}]% \Fan% \end{scope}% }% }% } % ConvectionOvenGrill \ProvideDocumentCommand{\ConvectionOvenGrill}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)-- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$);% \begin{scope}[shift={(${1.5/\AFSize}*(0pt,-\AFHeight)+{0.5/\AFSize}*(\AFHeight,0pt)$)},scale={(\AFSize-1)/\AFSize}]% \Fan% \end{scope}% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \draw (${1/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$)-- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$)% -- ++($\GrillLength*(\AFHeight,-\AFHeight)$)-- ++($\GrillLength*(\AFHeight,\AFHeight)$);% \begin{scope}[shift={(${1/\AFSize}*(0pt,-\AFHeight)+{0.5/\AFSize}*(\AFHeight,0pt)$)},scale={(\AFSize-1)/\AFSize}]% \Fan% \end{scope}% }% }% } % Microwave \ProvideDocumentCommand{\Microwave}{s O{}}{% \IfBooleanTF{#1}{% True \addtolength{\AFHeight}{\AFDepth}% \tikz[baseline={(0pt,\AFDepth)},#2]{\CSBorder% %\foreach \t in{1,...,8} \draw[lightgray] (${1/\AFSize}*(\AFHeight,0pt)+{\t/\AFSize}*(0pt,\AFHeight)$)to(${(\AFSize-1)/\AFSize}*(\AFHeight,0pt)+{\t/\AFSize}*(0pt,\AFHeight)$) %(${\t/\AFSize}*(\AFHeight,0pt)+{1/\AFSize}*(0pt,\AFHeight)$)to(${\t/\AFSize}*(\AFHeight,0pt)+{(\AFSize-1)/\AFSize}*(0pt,\AFHeight)$); \foreach \t in{0,2,4,6} \draw[shift={($\t*\GrillLength*(0pt,\AFHeight)$)}] (${1/\AFSize}*(\AFHeight,0pt)+{2/\AFSize}*(0pt,\AFHeight)$)to[in=180,out=337.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$)to[out=0,in=202.5] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=22.5,in=180] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=0,in=157.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$);% }\addtolength{\AFHeight}{-\AFDepth}% }{% False \tikz[#2]{\CSBorder% \foreach \t in{0,2,4,6} \draw[shift={($\t*\GrillLength*(0pt,\AFHeight)$)}] (${1/\AFSize}*(\AFHeight,0pt)+{2/\AFSize}*(0pt,\AFHeight)$)to[in=180,out=337.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$)to[out=0,in=202.5] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=22.5,in=180] ++($\GrillLength*(2\AFHeight,0.5\AFHeight)$)to[out=0,in=157.5] ++($\GrillLength*(2\AFHeight,-0.5\AFHeight)$); }% }% } \endinput