<div dir="ltr">Thanks but that makes no change either. It still returns "false".<br><br><div class="gmail_quote">On Tue, Jun 21, 2011 at 6:53 PM, Uwe Lueck <span dir="ltr"><<a href="mailto:uwe.lueck@web.de">uwe.lueck@web.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">"Vafa Khalighi" <<a href="mailto:vafa018@gmail.com">vafa018@gmail.com</a>> wrote <a href="tel:21.06.2011%2009" value="+12106201109">21.06.2011 09</a>:49:42:<br>

<div><div></div><div class="h5">> The minipage environment accepts b, t, and few others as the position of the minipage.<br>
> I want \test macro return "true" if it is used inside minipage with b position<br>
> and otherwise return "false". I do not know if there is a better way but this is what I did:<br>
><br>
><br>
> \documentclass{article}<br>
> \makeatletter<br>
> \newif\if@test<br>
> \long\def\@iiiparbox#1#2[#3]#4#5{%<br>
>   \leavevmode<br>
>   \@pboxswfalse<br>
>   \setlength\@tempdima{#4}%<br>
>   \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%<br>
>     \ifx\relax#2\else<br>
>       \setlength\@tempdimb{#2}%<br>
>       \edef\@parboxto{to\the\@tempdimb}%<br>
>     \fi<br>
>     \if#1b\@testtrue\vbox%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% this is where I made \if@test true<br>
>     \else\if #1t\vtop<br>
>     \else\ifmmode\vcenter<br>
>     \else\@pboxswtrue $\vcenter<br>
>     \fi\fi\fi<br>
>     \@parboxto{\let\hss\vss\let\unhbox\unvbox<br>
>        \csname bm@#3\endcsname}%<br>
>     \if@pboxsw \m@th$\fi<br>
>   \@end@tempboxa}<br>
> \def\test{\if@test true\else false\fi}<br>
> \makeatother<br>
> \begin{document}<br>
> \begin{minipage}[b]{0.5\textwidth}<br>
> \test<br>
> \end{minipage}<br>
> \end{document}<br>
><br>
> But it returns "false". Why is this?<br>
<br>
</div></div>Probably because you issue \@testtrue *after* the content of the box<br>
-- #5 -- is evaluated.<br>
<div class="im"><br>
> how can I fix it? Is it a better way for doing what I want to do?<br>
<br>
</div>I would remove your \@testtrue and add \if#1b\@testtrue\fi<br>
right to the left of #5 (in the replacement text).<br>
<br>
HTH -- Uwe.<br>
</blockquote></div><br></div>