تالار گفتگوی پارسی‌لاتک

لاتک LATEX => عمومی => نويسنده: وحید دامن‌افشان در ژانویه 30, 2011, 04:49:54 pm

عنوان: یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: وحید دامن‌افشان در ژانویه 30, 2011, 04:49:54 pm
همون‌طور که توی فایل ضمیمه شده می‌بینین، برای تعریف «استاد مشاور»، از دستورات شرطی استفاده شده. به این صورت که اگه یه
«استاد مشاور» داشته باشیم، با دستور ‎‎\firstadvisor اونو وارد می‌کنیم و اگه دو «استاد مشاور» داشته باشیم، اول، دستور
\twoadvisors رو فعال می‌کنیم و بعدش اسم استاد مشاور دوم رو هم با دستور \secondadvisor وارد می‌کنیم.  اما اگه هیچ «استاد مشاور»ی نداشته باشیم، وقتی این ۳ دستور رو کامنت می‌کنم، خطا می‌گیره (و در ضمن، عبارت «استاد مشاور» هم باقی می‌مونه).
چطور می‌شه فایل رو طوری تغییر داد که وقتی استاد مشاوری نداریم، نه خطا بگیره و نه عبارت «استاد مشاور»، ظاهر بشه؟
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در ژانویه 30, 2011, 04:58:03 pm
همون‌طور که توی فایل ضمیمه شده می‌بینین، برای تعریف «استاد مشاور»، از دستورات شرطی استفاده شده. به این صورت که اگه یه
«استاد مشاور» داشته باشیم، با دستور ‎‎\firstadvisor اونو وارد می‌کنیم و اگه دو «استاد مشاور» داشته باشیم، اول، دستور
\twoadvisors رو فعال می‌کنیم و بعدش اسم استاد مشاور دوم رو هم با دستور \secondadvisor وارد می‌کنیم.  اما اگه هیچ «استاد مشاور»ی نداشته باشیم، وقتی این ۳ دستور رو کامنت می‌کنم، خطا می‌گیره (و در ضمن، عبارت «استاد مشاور» هم باقی می‌مونه).
چطور می‌شه فایل رو طوری تغییر داد که وقتی استاد مشاوری نداریم، نه خطا بگیره و نه عبارت «استاد مشاور»، ظاهر بشه؟
متأسفانه من چیزی از حرفهات متوجه نشدم. پرونده‌ای هم که پیوست کردی بصورت اشتباه از دستورات شرطی استفاده کردی و من نفهمیدم می‌خواهی چی کنی. دقیقاً سوالت چیه؟
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: وحید دامن‌افشان در ژانویه 30, 2011, 05:06:38 pm
متأسفانه من چیزی از حرفهات متوجه نشدم. پرونده‌ای هم که پیوست کردی بصورت اشتباه از دستورات شرطی استفاده کردی و من نفهمیدم می‌خواهی چی کنی. دقیقاً سوالت چیه؟
من می‌خوام وقتی کسی توی پایان‌نامه‌ش، استاد مشاور نداره، با حذف کردن ۳ دستور بعد از \begin{document}‎‎،
عبارت «استاد مشاور»،  توی خروجی، چاپ نشه و در ضمن، خطا هم نگیره. این دو مشکل رو چطور می‌شه حل کرد؟
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در ژانویه 30, 2011, 05:24:10 pm
من می‌خوام وقتی کسی توی پایان‌نامه‌ش، استاد مشاور نداره، با حذف کردن ۳ دستور بعد از \begin{document}‎‎،
عبارت «استاد مشاور»،  توی خروجی، چاپ نشه و در ضمن، خطا هم نگیره. این دو مشکل رو چطور می‌شه حل کرد؟
فرض کنید یک ماکرو به اسم \firsttest دارید که اینگونه تعریف شده است:
\newcommand{\myfirsttest}[1]{\def\@myfirsttest{#1}}
و ماکروی دیگری دارید به نام \test که می‌خواهید اگر از دستور \myfirsttest استفاده شده بود، محتوایش را چاپ کند و در غیر اینصورت هیچی:
\newcommand{\test}{\ifx\@myfirsttest\undefined\else\@myfirsttest\fi}
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: وحید دامن‌افشان در ژانویه 30, 2011, 05:45:33 pm
فرض کنید یک ماکرو به اسم \firsttest دارید که اینگونه تعریف شده است:
\newcommand{\myfirsttest}[1]{\def\@myfirsttest{#1}}
و ماکروی دیگری دارید به نام \test که می‌خواهید اگر از دستور \myfirsttest استفاده شده بود، محتوایش را چاپ کند و در غیر اینصورت هیچی:
\newcommand{\test}{\ifx\@myfirsttest\undefined\else\@myfirsttest\fi}
آقا وفا فکر کنم هنوز منظور منو خوب متوجه نشدین. بذارین بیشتر توضیح بدم.
توی این فایل،
۱- اگه طرف، یه استاد مشاور داشته باشه، اونو با دستور  ‎‎\firstadvisor وارد می‌کنه.
۲- اگه طرف، دو استاد مشاور داشته باشه، دستور twoadvisors\ رو فعال می‌کنه و اسم استاد دومی رو با دستور secondadvisor\ وارد می‌کنه.
تا اینجای کار، همه چی مرتبه. اما اگه طرف، اصلاً استاد مشاور نداشته باشه، باید چیکار کنه؟ اگه بیاد و اون سه دستور رو کامنت کنه، دو مشکل براش پیش میاد:
۱- خطا می‌گیره.
۲- عبارت «استاد مشاور»،  توی خروجی، چاپ می‌شه که نباید بشه.
حالا من می‌خوام این دو مشکل رو رفع کنم.
ممنون از وقتی که می‌ذاری.
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در ژانویه 30, 2011, 06:23:10 pm
آقا وفا فکر کنم هنوز منظور منو خوب متوجه نشدین. بذارین بیشتر توضیح بدم.
هیچ فرقی نداره. من فقط به شما ایده دادم و قرار هم نبود که حل کنم مشکل را. پرونده پیوست را ببین.
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در ژانویه 30, 2011, 06:28:23 pm
۲- اگه طرف، دو استاد مشاور داشته باشه، دستور twoadvisors\ رو فعال می‌کنه و اسم استاد دومی رو با دستور secondadvisor\ وارد می‌کنه.
اصلاً نیازی به دستور اضافه و گمراه‌کننده \twoadvisiors نیست.
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: وحید دامن‌افشان در ژانویه 30, 2011, 06:34:18 pm
اصلاً نیازی به دستور اضافه و گمراه‌کننده \twoadvisiors نیست.
حق با شماست. خودمم زیاد خوشم نیومد. باز هم به خاطر راهنمایی‌تون ممنون.
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در ژانویه 30, 2011, 06:41:46 pm
حق با شماست. خودمم زیاد خوشم نیومد. باز هم به خاطر راهنمایی‌تون ممنون.
در واقع در راه‌حل من، من دو عبارت شرطی رو با هم ادغام کردم و چهار حالت پیش می‌یاد که حالا در هر یک از حالات یک کار مخصوص رو انجام می‌دهید. ادغام کردن دو، سه و چهار عبارت شرطی به کرات در ماکروهای bidi و xepersian به کار رفته چون حروف‌چینی دوجهته مقداری پیچیده است بایستی حالات مختلف را در نظر گرفت.

ماکرویی که برای هادی برای حروف‌چینی سوالات چهرگزینه‌ای نوشته بودم، هم از همین روش استفاده کردم.

http://www.parsilatex.com/joomla/index.php?option=com_smf&Itemid=0&topic=1259.15

که البته این خیلی پیچیده‌تر بود چون اولاً چهار گزینه داشتم و سه نوع طول داشتم که بر حسب اینها باید تصمیم می‌گرفتم، جوابهای چهارگزینه‌ای چجوری قرار بگیره.
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: وحید دامن‌افشان در ژانویه 30, 2011, 08:12:42 pm
در واقع در راه‌حل من، من دو عبارت شرطی رو با هم ادغام کردم و چهار حالت پیش می‌یاد که حالا در هر یک از حالات یک کار مخصوص رو انجام می‌دهید. ادغام کردن دو، سه و چهار عبارت شرطی به کرات در ماکروهای bidi و xepersian به کار رفته چون حروف‌چینی دوجهته مقداری پیچیده است بایستی حالات مختلف را در نظر گرفت.

ماکرویی که برای هادی برای حروف‌چینی سوالات چهرگزینه‌ای نوشته بودم، هم از همین روش استفاده کردم.

http://www.parsilatex.com/joomla/index.php?option=com_smf&Itemid=0&topic=1259.15

که البته این خیلی پیچیده‌تر بود چون اولاً چهار گزینه داشتم و سه نوع طول داشتم که بر حسب اینها باید تصمیم می‌گرفتم، جوابهای چهارگزینه‌ای چجوری قرار بگیره.
وفا جان، راه‌حل‌هات اونقدر آموزنده‌س که آدم باید اونارو فاب بگیره و بزنه به دیوار تا همیشه جلوی چش آدم باشه.
یه سوال: نحوه بکاربردن عبارات شرطی رو از منبع خاصی یاد گرفتی یا با تجربه یاد گرفتی؟
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در ژانویه 31, 2011, 03:41:44 am
وفا جان، راه‌حل‌هات اونقدر آموزنده‌س که آدم باید اونارو فاب بگیره و بزنه به دیوار تا همیشه جلوی چش آدم باشه.
یه سوال: نحوه بکاربردن عبارات شرطی رو از منبع خاصی یاد گرفتی یا با تجربه یاد گرفتی؟
منبع خاصی نمی‌خواهد. فقط بایستی نحوه استفاده از دستور شرطی را بدانی و بقیش فقط منطق خودت هستش.
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: امید غیور در فوریه 05, 2011, 02:17:24 am
وفا جان، راه‌حل‌هات اونقدر آموزنده‌س که آدم باید اونارو فاب بگیره و بزنه به دیوار تا همیشه جلوی چش آدم باشه.
یه سوال: نحوه بکاربردن عبارات شرطی رو از منبع خاصی یاد گرفتی یا با تجربه یاد گرفتی؟

واقعا...
علی ای حال...
دستور \gdef رو می‌شناسی؟...
یه نگاهی به sty های قدیمی بنداز...
مثلا اینو پیدا کن...
/texmf/tex/latex209/base/article.sty
gdef رو پیدا کن ... و بعد زیرش ببین چطور titlepage رو می‌سازه...
حتما ببین... یک کپی از اونو واست اتچ کردم... حتما یه نگا بنداز...
عنوان: پاسخ : یک سوال درباره تعاریف شرطی برای طراحی یه استایل پایان‌نامه
رسال شده توسط: vafa در فوریه 05, 2011, 07:43:04 am
واقعا...
علی ای حال...
دستور \gdef رو می‌شناسی؟...
یه نگاهی به sty های قدیمی بنداز...
مثلا اینو پیدا کن...
/texmf/tex/latex209/base/article.sty
gdef رو پیدا کن ... و بعد زیرش ببین چطور titlepage رو می‌سازه...
حتما ببین... یک کپی از اونو واست اتچ کردم... حتما یه نگا بنداز...
۱- اگر پرونده تک ایشون رو نگاه کنید متوجه می‌شید که ایشون خیلی قشنگ میدونه \gdef چیه.

۲- \gdef چه ربطی به حل این مشکل در حالت کلی داره؟