in the tabular environment the order of interpreting '|' column separators seems better if reversed, since everything else is reversed to comply with persian direction. for example when I want to put something near the left column-separator-line I, in the current version of XePersian (1.0.3), should write {l|} which seems odd.
I am not sure if I understand your pint correctly, but my understanding so far is that you say l in tabular should stand for r and r should stand for l in RTL. but that is stupid. It is like I tell you, in LTR languages west is west and east is east but in RTL languages east is west and west is east. There are things that reversing them does not make sense. One example is the alignment in the tabular. Regardless of the direction of typesetting, r should align to right and l should aligh to left. I do not understand how you find it odd. Do you call your left hand, your right hand?
ببخشید اگه خوب توضیح ندادم. من هم نمیگم جای r و l باید عوض شه، دقیقاً به همون دلیلی که گفتید. من منظورم خطوط جداساز ستونها بود (|) که باید ترتیب معنیشون برعکس بشه. مثلاً اگر بخواهیم یک عبارت در انتهای سمت چپ ستون و نزدیک به خط جداسازِ
سمت چپ قرار بگیره باید بنویسیم
\multicolumn{4}{l|}{میانگین}
(متأسفم اگه در اینجا بههم ریخته دیده میشه) که در آن l(eft) کارش رو درست انجام میده اما خط جداساز در
سمت راستش قرار داره و این عجیبه! چون ما انتظار داریم موقع طراحی جدول، خطوط و مکانگذارها نسبت به هم در جاهایی قرار بگیرند که خروجی را تداعی کنند.
تا اونجایی که من میدونم همه چیز بصورت درست کار میکند. میتونی دو مثال مثل هم بفرستی یک با زیپرشین و دیگری بدون اون که معلوم بشه زیپرشین درست عمل نمیکنه. تا اونجایی که مت آزمایش کردم همه چیز همان جوری که باید باشد کار میکنند احتمالاً شما به یادگیری رسم جدول در لاتک نیاز دارید.
برای مثال، مثال ضمیمه به وضوح نشان میدهد که همه چیز به درستی و همانطوری که باید باشد کار میکند.
ببخشید که دیر جواب میدم.
فایل خودتون رو کمی تغییر دادم تا اشکال رو ببینید. در همون خطی هم که نوشته بودم معلوم بود.
(خط جداساز رو در یک طرف قرار بدهید (نه هر دو طرف) تا ایراد رو ببینید)
خیر نباید اینجوری که شما میخواهید باشد. وقتی شما مینویسید اول | و بعد r برای مثال شما انتظار دارید که اگر در حالت چپ به راست هستید اول از سمت چپ یک ستون یعنی | قرار داده شود و بعد متن مورد نظر در سمت راست قرار بگیرد و ستونی در سمت راست وجود نداشته باشد. حال اگر همین را برای راست به چپ در نظر بگیرید، انتظار داریم که ستون یعنی | در سمت راست قرار بگیرد و ستون سمت چپ نداشته باشیم زیرا از سمت راست داریم حروفچینی میکنیم. در مثالی که فرستادهاید برای حالت راست به چپ اول شما میگویئد r و بعد l باید از راست به چپ این را تفسیر کنید یعنی سمت راست ستونی وجود ندارد و ستون تنها در سمت چپ قرار میگیرد.
به نظر میرسد شما قضیه را آنجور که دوست دارید میبینید نه علمی. پیشنهاد میکنم یک کتاب ساده لاتک بردارید و رسم جدول را یاد بگیرید.
من این روش ِ تفسیر توسط bidi رو میفهمم و اصراری ندارم که تغییر کنه. با همین روش جداول دلخواهم رو تولید میکنم و مشکل جدی ندارم. خلاصهی ایرادم این بود که در فارسی جهت متن برعکس است اما نیازی نیست جهت شکلها و خطوط هم برعکس شود. این در انطباق شکلها و متن کمی دردسر ایجاد میکنه.
به هر حال ممنون از پاسختون.
در مورد لاتک هم حق با شماست. همیشه لازمه بیشتر مطالعه کنم.
نقل قول از: فرشاد عبداللهنیا در اکتبر 31, 2009, 04:23:04 بعد از ظهر
خلاصهی ایرادم این بود که در فارسی جهت متن برعکس است اما نیازی نیست جهت شکلها و خطوط هم برعکس شود. این در انطباق شکلها و متن کمی دردسر ایجاد میکنه.
خطوط جدول باید عوض شود در غیر این صورت اصول حروفچینی راست به چپ نادیده گرفته خواهد شد. اصلاً چه ربطی به انطباق شکلها دارد؟
منظورم از شکل، موجوداتی مثل خروجی گنوپلات و غیره است که اگر آنها را در محیط LTR قرار ندهیم کاملاً برعکس چاپ میشوند در حالی که ما در فارسی همچین چیزی نداریم. مثلاً محور عمودی نمودار را در طرف راست قرار نمیدهیم یا محور xها را از راست به چپ نمیکشیم، فقط نوشتهها را راستبهچپ مینویسیم) به طور خاص، جدول هم طبق همین روش تفسیر میشه. خلاصه اصراری نیست. مادامی که دستوراتی مثل \rl و \lr وجود داردند میشه با این موضوع کنار آمد.
من مثل شما فکر نمیکنم. در مورد رسم کردن شکل درست است که باید شکل چپ به راست رسم شود ولی دلیلی وجود ندارد که اگر شکل چپ به راست است ترتیب ستونهای جدول هم چپ به راست باشد. من فقط از نرمافزارهایی در bidi پشتیبانی خواهم کردن که استاندارد هستند و جزئی از توزیع تک. برای مثال اگر شما با pstricks یا pgf شکل رسم کنید شکل شما از چپ به راست خواهد بود چون من تغییر در محیط pspicture برای pstricks برای مثال دادهام. اگر قرار بود ستونهای جدول از چپ به راست باشد و هر کسی از \lr و \rl استفاده کنند مطمئن هستم اکثر کاربران پس از رسم یک جدول کوتاه از استفاده از bidi منصرف میشدند زیرا بسیار خستهکننده میشد.
اگر شما فکر میکنید که طراحی بهتری میتوانید بکنید به راحتی میتوانید بسته bidi را تغیییر دهید و آن را با اسم دیگری منتشر کنید تا ان چیزی شود که دوست دارید ولی به طور مسلم bidi از طراحیاش خارج نخواهد شد چون اگر طبق خواسته شما پیش بریم، آن را از حالت استاندارد خارج خواهد کرد.
مرسی. شما بهقدر کافی زحمت میکشید و بیشتر از این توقعی نداریم. شکی نیست که bidi در مجموع بسیار عالی کار میکند و به این خاطر سپاسگزار هستم. احتمالاً در این مورد هم حق با شماست.
از توجه شما هم ممنونم.