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

زی‌پرشین XePersian => زی‌تک => نويسنده: وحید دامن‌افشان در آوریل 16, 2011, 01:13:53 pm

عنوان: قرار گرفتن مربع محیط ‎proof‎ در سمت راست فرمول‌های‎ پایانی
رسال شده توسط: وحید دامن‌افشان در آوریل 16, 2011, 01:13:53 pm
توی ورژن‌های جدید زی‌پرشین‏، وقتی‎‎ محیط ‎proof‎‏، با یک فرمول که توسط ‎ ‎\[ ‎... ‎\]‎ ایجاد شده‏، تموم می‌شه‏، در صورت استفاده از دستور ‎\qedhere‎‏، نماد ‎square‎ مثل حالت انگلیسی‏، در سمت راست فرمول قرار می‌گیره که به نظر می‌رسه که بهتر باشه در سمت چپ فرمول قرار بگیره؛ چون اگه محیط ‎proof‎‏، با یه جمله متنی تموم بشه‏، این مربع‏، در سمت چپ قرار می‌گیره. فایل پیوستی‏، این حالت رو نشون می‌ده. ‎‎
‎آیا این کار به طور عمدی صورت گرفته؟ در ورژن‌های قدیمی‌تر‏ مثل ‎1.0.4‎‎‏،‎ این مربع در هر دو حالت‏، در سمت چپ قرار می‌گرفت.
عنوان: پاسخ : قرار گرفتن مربع محیط ‎proof‎ در سمت راست فرمول‌های‎ پایانی
رسال شده توسط: vafa در آوریل 16, 2011, 02:05:39 pm
توی ورژن‌های جدید زی‌پرشین‏، وقتی‎‎ محیط ‎proof‎‏، با یک فرمول که توسط ‎ ‎\[ ‎... ‎\]‎ ایجاد شده‏، تموم می‌شه‏، در صورت استفاده از دستور ‎\qedhere‎‏، نماد ‎square‎ مثل حالت انگلیسی‏، در سمت راست فرمول قرار می‌گیره که به نظر می‌رسه که بهتر باشه در سمت چپ فرمول قرار بگیره؛ چون اگه محیط ‎proof‎‏، با یه جمله متنی تموم بشه‏، این مربع‏، در سمت چپ قرار می‌گیره. فایل پیوستی‏، این حالت رو نشون می‌ده. ‎‎
‎آیا این کار به طور عمدی صورت گرفته؟ در ورژن‌های قدیمی‌تر‏ مثل ‎1.0.4‎‎‏،‎ این مربع در هر دو حالت‏، در سمت چپ قرار می‌گرفت.
فکر می‌کنم (از نظر حروف‌چینی راست به چپ مطمئن نیستم) این حالت طبیعی است زیرا اگر تعریف دستور \displaymath@qed را نگاه کنید، داخل محیط ریاضی از دستور بدوی \eqno (شماره فرمول یا هر چیز دیگر را درسمت راست قرار می‌دهد) برای قرار دادن آن مربع استفاده می‌کند (در حقیقت مربع را جای شماره فرمول قرار می‌دهد) و طبیعی است که مربع در سمت راست قرار گیرد. حال اگر شما آن را نمی‌پسندید، می‌توانید در تعریف فوق به جای \eqno از \leqno استفاده کنید اما این توصیه نمی‌شود زیرا که فاصله عمودی بین فرمولها را زیاد می‌کند (این طبیعت دستور \lqno است).

در گونه‌های قدیمی زی‌پرشین این اتفاق نمی‌افتاد زیرا که \eqno و \leqno در حالت راست به چپ برعکس عمل می‌کردند. یعنی \eqno شماره فرمول را در سمت چپ قرار می‌داد و \leqno شماره فرمول را در سمت راست قرار می‌دهد ولی حالا هر دو درست عمل می‌کنند: \eqno شماره فرمول را در سمت راست و \leqno شماره فرمول را در سمت چپ قرار می‌دهد.

دلیل من برای اینکه این مربع در سمت راست باید قرار بگیرد این است که:
۱- مربع جایگزین شماره فرمول است.
۲- اگر در سمت چپ قرار بگیرد بایستی از دستور بدوی \leqno استفاده کنیم و این فاصله عمودی بین یک فرمول، فرمول قبلی و فرمول بعدی را اضافه می‌کند که حروف‌چینی متن را زشت می‌کند.
عنوان: پاسخ : قرار گرفتن مربع محیط ‎proof‎ در سمت راست فرمول‌های‎ پایانی
رسال شده توسط: وحید دامن‌افشان در آوریل 16, 2011, 05:22:19 pm
ممنون به خاطر توضیح خوبت وفا جان. تعریف دستور \displaymath@qed توی بسته ‎amsthm‎ رو دیدم.
اما به نظرم‏، با فراخوانی زی‌پرشین‏‏، فاصله‌ای که در لاتک‏ انگلیسی بین فرمول منتهی به نماد مربع و خط بالاییش وجود داره‏، تقریباً نصف می‌شه. توی فایل پیوستی‏، فاصله بین فرمول و خط بالاییش‏، تقریباً نصف حالتی هستش که توی لاتک انگلیسی داریم (به نظرت، این فاصله، خیلی کم نیست؟).
 واسه دیدن اختلاف فاصله‌ها، کافیه که دو خط ۳و۴ رو کامنت کنی.

عنوان: پاسخ : قرار گرفتن مربع محیط ‎proof‎ در سمت راست فرمول‌های‎ پایانی
رسال شده توسط: vafa در آوریل 16, 2011, 05:34:16 pm
ممنون به خاطر توضیح خوبت وفا جان. تعریف دستور \displaymath@qed توی بسته ‎amsthm‎ رو دیدم.
اما به نظرم‏، با فراخوانی زی‌پرشین‏‏، فاصله‌ای که در لاتک‏ انگلیسی بین فرمول منتهی به نماد مربع و خط بالاییش وجود داره‏، تقریباً نصف می‌شه. توی فایل پیوستی‏، فاصله بین فرمول و خط بالاییش‏، تقریباً نصف حالتی هستش که توی لاتک انگلیسی داریم (به نظرت، این فاصله، خیلی کم نیست؟).
 واسه دیدن اختلاف فاصله‌ها، کافیه که دو خط ۳و۴ رو کامنت کنی.
قبلاً گفته بودم که این باگ از موتور xetex می‌آید و باگ زی‌پرشین یا bidi نیست:
http://www.parsilatex.com/joomla/index.php?option=com_smf&Itemid=0&topic=318.0