خیلی سخته که شما و این وبلاگ رو رها کنم
ولی چه کنم که این کنکور اجازه ادامه کار با این وبلاگ رو نمی ده.![]()
امیدوارم مطالبی که تاحالا براتون گذاشتم مفید باشه و ازش استفاده کرده باشید یا بکنید.![]()
پس تا تابستون سال دیگه خدانگهدار![]()
در فارسیتک دستوراتی هستند که مربوط به جعبهها میشوند. برای مثال دستوری برای پیدا کردن پهنا یا ارتفاع یک جعبه. در این پست دو دستور مهم wd\ و ht\ میپردازیم.
دستور wd\
از این دستور برای بدست آوردن پهنای یک جعبه استفاده میشود. شکل کلی آن به صورت زیر است:
\wd\BOXNAME
BOXNAME همان نام جعبه مورد نظر است.
توجه داشته باشید که این دستور باعث تولید عدد در خروجی نمیشود بلکه یک مقدار عددی به همراه واحد تولید میکند. (واحد آن sp است) پس میتوان یک متغیر بُعد را برابر آن در نظر گرفت یا با استفاده از دستور number\ مقدار آن را در خروجی چاپ نمود.
برای مثال دستورات زیر را در نظر بگیرید:
\documentstyle[farsi]{report}
\begin{document}
\english
\newdimen\myboxwidth
\newsavebox{\mybox}
\savebox{\mybox}{1}
\myboxwidth=\wd\mybox
\number \myboxwidth
\end{document}
خط اول و دوم که برای همه کاربران فارسیتک آشنا است. در خط سوم برای تولید خروجی بهتر از دستور english\ استفاده کردهایم. (قبلاً گفتیم که دستور number\ وقتی عدد را به فارسی به خروجی میبرد، رقمهای آن را در جای مناسب آن چاپ نمیکند و این ممکن است باعث اشتباه شما در تشخیص عدد شود) در خط بعدی متغیر بُعدی به نام myboxwidth\ را برای نگهداری پهنای جعبه خود تعریف کردیم. سپس جعبهای به نام mybox\ برای نگهداری عدد مورد نظرمان تعریف کردهایم. در خط بعدی عدد 1 را درون این جعبه قرار دادهایم. در خط بعدی مقدار متغیر بُعد myboxwidth\ را برابر پهنای جعبه mybox\ قرار دادهایم. در خط بعدی مقدار myboxwidth\ را در خروجی چاپ کردهایم. خط پایانی نیز برای همه آشناست.
توجه: یکی از کاربردهای دستور wd\ ساخت دستور برای تولید سوالات تستی میباشد. با ترکیب جعبهها و دستور شرطی ifdim\ میتوان دستور قابل انعطافی برای تولید سوالهای چهار گزینهای (یا بیشتر) تعریف کرد.
دستور ht\
از این دستور برای بدست آوردن ارتفاع یک جعبه استفاده میشود. شکل کلی آن به صورت زیر است:
\ht\BOXNAME
BOXNAME همان نام جعبه مورد نظر است.
این دستور دقیقاً مانند دستور ht\ عمل میکند.
یکی از دستورهای شرطی موجود در فارسیتک، دستوری است که برای مقایسه ابعاد به کار میرود. این دستور ifdim\ میباشد. این دستور بسیار شبیه به دستور ifnum\ میباشد که قبلاً معرفی شد. تنها تفاوت این دو دستور در عبارت شرطی است که میپذیرند.
شکل کلی این دستور به صورت زیر است:
\ifdim عبارت شرطی
دستوراتی که در صورت برقراری عبارت شرطی باید اجرا شوند
\else
دستوراتی که در صورت عدم برقراری عبارت شرطی باید اجرا شوند
\fi
عبارت شرطی عبارت است از یک عملگر مقایسهای (که میتواند = یا < یا > باشد) و دو مقدار بُعد (یعنی باید همراه واحد باشند). واحدهای انتخاب شده برای مقایسه بعدها میتواند هر واحد شناخته شده در فارسیتک باشد.
استفاده از fi\ الزامی است و به معنای پایان دهنده دستور شرطی است.
استفاده از else\ اختیاری است.
برای مثال دستور زیر مقایسه میکند که 2pt از 1mm بزرگتر است یا نه. در صورت برقراری شرط، عبارت True و در غیر این صورت Flase را در خروجی چاپ میکند.
\ifdim 2pt>1mm
\IE{True}
\else
\IE{False}
\fi
واضح است که خروجی False است! چون 1mm از 2pt بزرگتر است.
قبلاً گفتیم که هر متغیر بُعد میتواند مستقیماً در جاهایی که نیاز به بُعد است به کار رود. این بدان معنا است که در دستور ifdim\ میتواند مقدار متغیرهای بُعد را بررسی کرد. (برخلاف شمارندهها)
برای مثال میخواهیم دستوری بنویسیم که اگر مقدار متغیر textwidth\ از 200pt بیشتر بود، در خروجی True چاپ کند و در غیر این صورت عبارت False را در خروجی چاپ کند.
دستور را به صورت زیر تعریف میکنیم:
\ifdim \textwidth > 200pt
\IE{True}
\else
\IE{False}
\fi
در پستهای بعدی با برخی از کاربردهای این متغیر آشنا میشویم.
