تالار گفتگوی پارسیلاتک
عمومی => انجمن تازهکاران => نويسنده: فرشاد ترابی در اكتبر 22, 2012, 11:13:51 pm
-
چرا در ماکرو نویسی علائم @ در دستورها قرار میگیره. مثلاً اگر در دستوری که جنابعالی در این پست (http://www.parsilatex.com/forum/SMF/index.php?topic=3481.msg19051#msg19051) ارائه دادید
به جای \@tartibi از \tartibi استفاده شه چه مشکلی پیش میاد؟
-
چرا در ماکرو نویسی علائم @ در دستورها قرار میگیره.
دستوراتی که @دارند دستورات داخلی هستند و برای برنامهنویسی به کار میروند و این دستورات، دستورات کاربر نیست.
مثلاً اگر در دستوری که جنابعالی ارائه دادید
به جای \@tartibi از \tartibi استفاده شه چه مشکلی پیش میاد؟
اگر شما گفتهاید:
\tartibi{chapter}
و آقای دامنافشان گفته باشند:
\@tartibi\c@chapter
هیچ تفاوتی وجود ندارد و هر دو معادل هم هستند. اگر فایل xepersian.sty را نگاه کنید، دستور \tartibi اینگونه تعریف شده:
\newcommand{\tartibi}[1]{%
\expandafter\@tartibi\csname c@#1\endcsname%
}
پس در واقع وقتی مینویسید:
\tartibi{chapter}
به:
\@tartibi\c@chapter
ترجمه میشود.
-
چرا در ماکرو نویسی علائم @ در دستورها قرار میگیره؟
ضمن تشکر از آقا وفا به خاطر توضیحات خوبشون، توضیحات بیشتر رو میتونین در:
۱- صفحه ۱۴۰ کتاب LaTeX Notes نوشته J. Kenneth Shultis
۲- پاراگراف سوم صفحه ۸۴۳ ویرایش دوم کتاب The LaTeX Companion
۳- این پست (http://tex.stackexchange.com/q/6240/885) از سایت http://tex.stackexchange.com/
پیدا کنین.