تالار گفتگوی پارسیلاتک
زیپرشین XePersian => زیتک => نويسنده: einian85 در ژانویه 26, 2013, 08:30:16 pm
-
فکر میکردم باید توی راهنمای xepersian اینو ببنیم ولی نبود! داخل متن من زیاد از textiranic استفاده میکنم اگه دستور معادل فارسی داشته باشه خیلی خوبه!
-
با استفاده از دستور
\eqcommand
خیلی راحت خودتون میتونین دستورهای موردنظرتون رو بومی کنین. مثلاً در مورد دستور درخواستی شما، کافیه که در قسمت preamble فایلتون، دستور
\eqcommand{متنایرانیک}{textiranic}
رو قرار بدین و بعدش توی فایلتون از دستور
\متنایرانیک{...}
استفاده کنین.
-
وحیدجان، اگر همینکار را با دستور \newcommand انجام بدیم، تفاوتی ایجاد میشود؟ یعنی بنویسیم:
\newcommand{\متنایرانیک}{\textiranic}
از لحاظ کاربردی که به نظر این دو حالت با هم فرقی ندارند اما آیا از لحاظ عملکردی، سرعت، دقت یا چیزهای دیگه آیا
این دو روش با یکدیگر فرقی دارند؟
-
وحیدجان، اگر همینکار را با دستور \newcommand انجام بدیم، تفاوتی ایجاد میشود؟ یعنی بنویسیم:
\newcommand{\متنایرانیک}{\textiranic}
از لحاظ کاربردی که به نظر این دو حالت با هم فرقی ندارند اما آیا از لحاظ عملکردی، سرعت، دقت یا چیزهای دیگه آیا
این دو روش با یکدیگر فرقی دارند؟
راهنمای زیپرشین را خواندهای؟ اونجا میگه شما از \newcommand استفاده کنی یا از \eqcommand?
-
راهنمای زیپرشین را خواندهای؟ اونجا میگه شما از \newcommand استفاده کنی یا از \eqcommand?
در راهنمای زیپرشین گفته که از \eqcommand استفاده کنید. ولی من دنبال تفاوتهاش بودم. به عنوان مثال در کد زیر
فرق بین دو تعریف چیه؟ چرا باید از \eqcommand استفاده کنیم و اصلا فلسفه وجودیش برای چیه؟
\documentclass{article}
\usepackage{xepersian}
\newcommand{\گل}{\section}
\eqcommand{بلبل}{section}
\begin{document}
\گل{قسمت اول}
\گل*{قسمت اول}
\بلبل{قسمت اول}
\بلبل*{قسمت اول}
\end{document}
-
در راهنمای زیپرشین گفته که از \eqcommand استفاده کنید. ولی من دنبال تفاوتهاش بودم. به عنوان مثال در کد زیر
فرق بین دو تعریف چیه؟ چرا باید از \eqcommand استفاده کنیم و اصلا فلسفه وجودیش برای چیه؟
\documentclass{article}
\usepackage{xepersian}
\newcommand{\گل}{\section}
\eqcommand{بلبل}{section}
\begin{document}
\گل{قسمت اول}
\گل*{قسمت اول}
\بلبل{قسمت اول}
\بلبل*{قسمت اول}
\end{document}
دستور \eqcommand اول چک میکنه که دستور اصلی primitive هست یا نه و دستور معادل را به درستی تعریف میکند. در صورتی که \newcommand این کارها را نمیکند و بر خلاف \eqcommand شما نمیتونید با \newcommand همه دستورات را معادلسازی کنید. تنها نقطه اشتراک \eqcommand و \newcommand این است که اگر دستور فارسی قبلاً تعریف شده باشد خطا میگیرید. برخلاف \newcommand هنگام استفاده از \eqcommand نیازی به تایپ \ نیست. برای اطاعات بیشتر ماکروهای مربوطه در بسته biditools و همچنین قسمت مربوط در بسته زیپرشین را ببینید.
-
دستور \eqcommand اول چک میکنه که دستور اصلی primitive هست یا نه و دستور معادل را به درستی تعریف میکند. در صورتی که \newcommand این کارها را نمیکند و بر خلاف \eqcommand شما نمیتونید با \newcommand همه دستورات را معادلسازی کنید. تنها نقطه اشتراک \eqcommand و \newcommand این است که اگر دستور فارسی قبلاً تعریف شده باشد خطا میگیرید. برخلاف \newcommand هنگام استفاده از \eqcommand نیازی به تایپ \ نیست. برای اطاعات بیشتر ماکروهای مربوطه در بسته biditools و همچنین قسمت مربوط در بسته زیپرشین را ببینید.
قسمت اول فرمایش شما کاملا مرا متقاعد کرد اینکه primitiveبودن چک نمیشه. اما در مورد اینکه با \newcommand نشه همه دستورها را معادلسازی کرد
کمی مشکوکم اما بعد از مطالعه بیشتر از جمله ماکروهای bibtools انشاالله ادامه خواهیم داد.
ممنونم که این نکات را مرقوم فرمودید.
-
اما در مورد اینکه با \newcommand نشه همه دستورها را معادلسازی کرد
کمی مشکوکم اما بعد از مطالعه بیشتر از جمله ماکروهای bibtools انشاالله ادامه خواهیم داد.
به چی مشکوکی؟ من که به شما دروغ نمیگم.
\documentclass{article}
\usepackage{xepersian}
\newcommand{\من}{\ifhmode}
\newcommand{\تو}{\else}
\newcommand{\او}{\fi}
\begin{document}
\من من در حالت افقی هستم\تو من در حالت افقی نیستم\او
\end{document}