<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 12, 2019 at 8:27 AM Pierre-Francois Bonnefoi <<a href="mailto:bonnefoi.pf@gmail.com">bonnefoi.pf@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
I try to define automatically some macros to include cliparts in my TikZ drawings and I've defined the following macro :<br>
<br>
\def\clipart#1#2{% <br>
\expandafter\def\csname tk#1\endcsname{\dosingleempty\expandafter\csname dotk#1\endcsname}% <br>
\expandafter\def\csname dotk#1\endcsname[##1]{\iffirstargument\image{cisco/#1}{##1}\else\image{cisco/#1}{#2}\fi} }<br>
<br>
\clipart{pc}{.8} % defines the macro \tkpc to include the picture "cisco/pc" <br>
<br>
The issue arises when I use the newly defined \tkpc : the argument is not optional and I have to put \kpc[.5] for example.<br>
To add insult to injury, the value passed in argument is ignored also : \iffirtargument return always false...<br>
<br>
Do you have any idea ?<br>
<br>
Best regards,<br>
Pierre-François.<br></blockquote><div><br></div><div>could be that  \dosingleempty sees \expandafter ?</div><div>try </div></div><div><div>\expandafter\def\csname tk#1\endcsname{\dosingleempty{\expandafter\csname dotk#1\endcsname}}% </div></div><div><br></div><div>-- <br></div><div dir="ltr" class="gmail_signature">luigi<br></div></div></div></div></div></div>