<div dir="ltr">The minipage environment accepts b, t, and few others as the position of the minipage. I want \test macro return "true" if it is used inside minipage with b position 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? how can I fix it? Is it a better way for doing what I want to do?<br>
<br>Thanks<br></div>