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

لاتک LATEX => سبک نوشتار => نويسنده: امیر در مارس 14, 2012, 06:47:46 pm

عنوان: یک ماکرو برای نمایش فصل
رسال شده توسط: امیر در مارس 14, 2012, 06:47:46 pm
سلام
من ماکرو نویسی بلد نیستم ولی با مقداری جستجو تونستم این رو بنویسم:\makeatletter‎
‎\renewcommand{\@makechapterhead}[1]{%‎
‎\thispagestyle{empty}‎
‎\vspace*{150 pt}%‎
‎{\setlength{\parindent}{0pt} \centering‎
‎\fontspec[Script=Arabic,Mapping=parsidigits,Scale=4]{XB Zar}‎
‎\ifnum \value{secnumdepth}>1‎
   ‎\if@mainmatter‎ فصل ‎\thechapter:\vspace{30pt}\\\ \pagebreak\fi%‎
‎\fi‎
‎\parbox{\linewidth}{\centering\fontspec[Script=Arabic,Mapping=parsidigits,Scale=6]{XB Kayhan Sayeh} #1}\par\nobreak\vspace{40 pt}}}‎
‎\makeatother‎

کاری که این کد می کنه این هست که می نویسه مثلا:
فصل 3:
نام فصل

این رو تو یک صفحه به طور کامل می نویسه. حالا مشکل این هست که به جای کلمه فصل می خوام بنویسه پیوست وقتی که تو پیوست هست.
میشه راهنمایی کنید،

ممنون
عنوان: پاسخ : یک ماکرو برای نمایش فصل
رسال شده توسط: وحید دامن‌افشان در مارس 16, 2012, 12:41:44 am
مشکل‌تون به این خاطره که از عنوان ثابت «فصل» توی این ماکرو استفاده کردین. واسه حل این مشکل باید  به جای «فصل»، از دستور قابل انعطاف
\@chapapp\space
استفاده کنین.
نکته: دستور space\ برای ایجاد یه فاصله خالی بین عنوان «پیوست» و حرف بعدیش نوشته شده.

عنوان: پاسخ : یک ماکرو برای نمایش فصل
رسال شده توسط: امیر در مارس 19, 2012, 08:30:17 pm
سلام

آقا خیلی ممنون. مشکل این بود که همین \@chapapp رو بلد نبودم.  چه منبعی رو برا یادگیری ماکرونویسی پیشنهاد می کنید؟ در حال حاظر در حال خوندن texbook هستم. بیشتر از نصفش رو خوندم.

خیلی متشکر
عنوان: پاسخ : یک ماکرو برای نمایش فصل
رسال شده توسط: وحید دامن‌افشان در مارس 22, 2012, 01:05:50 pm
سلام

آقا خیلی ممنون. مشکل این بود که همین \@chapapp رو بلد نبودم.  چه منبعی رو برا یادگیری ماکرونویسی پیشنهاد می کنید؟ در حال حاظر در حال خوندن texbook هستم. بیشتر از نصفش رو خوندم.

خیلی متشکر
همین کتاب به عقیده خیلی‌ها، یکی از بهترین‌هاست.
البته خود من، از استاد گوگل ;)، خیلی چیزا یاد گرفتم و می‌گیرم؛ اونم در کمترین زمان.