تالار گفتگوی پارسیلاتک
زیپرشین XePersian => زیتک => نويسنده: vafa در ژوئن 28, 2012, 11:08:54 am
-
تا ساعاتی دیگر روی CTAN خواهد بود.
تغییرات بسته bidi
باگی در حروفچینی راست به چپ موجود بود. اگر محتوای جعبه \lastbox پوچ بود، \beginR در جای نامناسب قرار میگرفت. این باگ در نسخه جدید درست شده است.
- دستورات \LRE و \RLE ستبر (robust) نبودند. در نسخه جدید این دستورات ستبر شدند.
تغییرات بسته xepersian
- دستورات \lr و \rl ستبر (robust) نبودند. در نسخه جدید این دستورات ستبر شدند.
-
خسته نباشید دکتر
لطفا میشه در مورد ستبر نبودن توضیح بدین؟
-
سلام
من هم یک مشکلی با بسته listings و نوشتن کد فارسی (راست به چپ) داشتم که میخواستم گزارش کنم. این مشکل به باگ اول ربط داره؟ با نسخه جدید حل میشه؟
-
خسته نباشید دکتر
لطفا میشه در مورد ستبر نبودن توضیح بدین؟
\documentclass{article}
\usepackage{xepersian}
\begin{document}
\section{\lr{Test}}
\end{document}
اگر از نسخه قدیمی استفاده کنی، در فایل .aux یک همچین چیزی میبینی:
\pLRE {\latinfont Test}
که در حقیقت خود تعریف دستور \lr هست اما اگه از نسخه جدید استفاده کنی، این چیزیه که در فایل .aux میبینی:
\lr {Test}
یعنی دقیقاً خود دستور \lr نه تعریفش.
در حالت اول به اصلاح میگیم که ماکروی \lr گسترش یافته (expanded) و استفاده از ماکرو در دستورات بدوی مانند
\edef, \xdef, \message, \errmessage, \special, \mark, \marks, \write, \noalign, \omit
ایجاد مشکل میکنه. برای نمونه این پست رو ببین:
http://www.parsilatex.com/forum/SMF/index.php?topic=2453.msg16186#msg16186
اما در حالت دوم (با نسخههای جدید)، دیگر ماکرو \lr گسترش یافته نیست (not expanded) و بنابراین استفاده ازش مشکلی نداره.
-
سلام
من هم یک مشکلی با بسته listings و نوشتن کد فارسی (راست به چپ) داشتم که میخواستم گزارش کنم. این مشکل به باگ اول ربط داره؟ با نسخه جدید حل میشه؟
نه ارتباطی با مشکل شما نداره. وقتی من فایل شما رو اجرا میکنم هشدار
miisng \endL or \endR
میگیرم و فکر میکنم مشکل از اینه. این مشکل به این خاطر رخ میده که از اونجایی که بسته bidi تغییر در رنگ میده وقتی شما از رنگ استفاده میکنید، در متون راست به چپ باید محدوده رنگ را داخل \hbox برای مثال مشخص کنید. برای امتحان:
\documentclass{article}
\usepackage{color}
\usepackage{bidi}
\setRTL
\begin{document}
This is \hbox{\color{red} red} and this is the end.
This is another one.
\end{document}
دقیقاً همون مشکل رو داره و برای اینکه درست بشه باید محدوده رنگ رو دقیقاً مشخص کنی یعنی اینجوری:
\documentclass{article}
\usepackage{color}
\usepackage{bidi}
\setRTL
\begin{document}
This is \hbox{{\color{red} red}} and this is the end.
This is another one.
\end{document}
و همونطور که میبینی مشکلی نداره. من به کد بسته listings نگاه نکردم اما مطمئنم که مشکل همینه که اون بسته از رنگ استفاده میکنه و در متون راست به چپ، محدوده رنگ باید مشخص باشه. اما من قصد درست کردنش رو ندارم چون فکر میکنم منطقی نیست به این خاطر که اولاً کدها بیشتر باید چپ به راست حروفچینی بشه و دوماً شما با بسته listings بصورت طبیعی حتی نمیتونید فارسی بنویسید و برای این کار باید از latex escape استفاده کنید.
-
نه ارتباطی با مشکل شما نداره. وقتی من فایل شما رو اجرا میکنم هشدار
miisng \endL or \endR
میگیرم و فکر میکنم مشکل از اینه. این مشکل به این خاطر رخ میده که از اونجایی که بسته bidi تغییر در رنگ میده وقتی شما از رنگ استفاده میکنید، در متون راست به چپ باید محدوده رنگ را داخل \hbox برای مثال مشخص کنید. برای امتحان:
\documentclass{article}
\usepackage{color}
\usepackage{bidi}
\setRTL
\begin{document}
This is \hbox{\color{red} red} and this is the end.
This is another one.
\end{document}
دقیقاً همون مشکل رو داره و برای اینکه درست بشه باید محدوده رنگ رو دقیقاً مشخص کنی یعنی اینجوری:
\documentclass{article}
\usepackage{color}
\usepackage{bidi}
\setRTL
\begin{document}
This is \hbox{{\color{red} red}} and this is the end.
This is another one.
\end{document}
و همونطور که میبینی مشکلی نداره. من به کد بسته listings نگاه نکردم اما مطمئنم که مشکل همینه که اون بسته از رنگ استفاده میکنه و در متون راست به چپ، محدوده رنگ باید مشخص باشه. اما من قصد درست کردنش رو ندارم چون فکر میکنم منطقی نیست به این خاطر که اولاً کدها بیشتر باید چپ به راست حروفچینی بشه و دوماً شما با بسته listings بصورت طبیعی حتی نمیتونید فارسی بنویسید و برای این کار باید از latex escape استفاده کنید.
مشکل از همونی بود که فکر میکردم. من \normalcolor رو اینجا کامنت کردم اما راهحل بهتر اینه که شما محدوده \normalcolor رو پیدا کنید و محدودش رو مشخص کنید.