تالار گفتگوی پارسیلاتک
لاتک LATEX => حروفچینی مستندات => نويسنده: sarigalin در دسامبر 16, 2013, 10:16:27 am
-
سلام
مشکلی با ایجاد لیستهای item , description دارم. وقتی در یکی از آیتمها کلمات دارای نیمفاصله باشد و کلمه طولانی شود، همترازی لیست بههم میخورد. یعنی ایتمها از یک ستون شروع نمیشوند و آیتمی که مشکل دارد چند ستون زودتر شروع میشود. نمونهای از مشکل را در پیوست قرار دادهام.
همچنین من از texlive 2013 و بسته bidi 31877(14.1) و xepersian 31793(13.3) استفاده میکنم.
-
مشکل شما ربطی به لیست نداره. در متن ساده هم اگر کلمات طولانی باشند چنین مشکلی ایجاد میشه.
با استفاده از گزینه Kashida در زی پرشین مشکل شما حل میشه.
-
من متوجه راهحل شما نشدم. ممکنه ربطی به لیست نداشته باشه اما در هر صورت سیستم حروفچینی زیپرشین باید این مورد را مدیریت کند. نویسنده که نمیتواند در نوشتههایش دنبال این موارد بگردد و دستی اینها را درست کند.
-
من متوجه راهحل شما نشدم. ممکنه ربطی به لیست نداشته باشه اما در هر صورت سیستم حروفچینی زیپرشین باید این مورد را مدیریت کند. نویسنده که نمیتواند در نوشتههایش دنبال این موارد بگردد و دستی اینها را درست کند.
بایدی در کار نیست.
-
من متوجه راهحل شما نشدم. ممکنه ربطی به لیست نداشته باشه اما در هر صورت سیستم حروفچینی زیپرشین باید این مورد را مدیریت کند. نویسنده که نمیتواند در نوشتههایش دنبال این موارد بگردد و دستی اینها را درست کند.
در حروفچینی متون پارسی به دلیل اینکه کلمات به هم چسبیده هستند این مشکل پیش میآید. شما دو راه بیشتر ندارید. یا باید فاصله بین کلمات را زیاد کنید که بنده این مورد را نمیپسندم. چون باعث نا زیبا شدن متن میشود. یا اینکه از امکان کشیدگی کلمات استفاده کنید. هر دو راه در زیپرشین امکان دارند. مورد دوم با اضافه کردن گزینه اختیاری Kashida که در راهنمای زیپرشین میتوانید آن را ببینید انجام میشود.
البته به نظر من وسواس به خرج دادن در وصل کردن کلمات با نیم فاصله به همدیگر خوب نیست. اگر چه بعضی جاها حتما باید برای خوانا شدن متن انجام شود.
-
در بسیاری از موارد با تغییر جملهبندی میتوان این مشکل را حل کرد. حتی افزودن یک قید اضافه، یک کلمه برای زینت یا استفاده از یک فعل معادل میتوان مشکلساز باشد.
-
من متوجه راهحل شما نشدم.
با سلام
منظور استاد بنده جناب آقای سید احمد موسوی دستور زیر است.
\usepackage[Kashida ]{xepersian}
-
ممنون از راهنمایی همه دوستان
وقتی از کشیده استفاده کردم، مشکل همترازی حل شد اما متن بسیار ناخوانا شد که پیدیاف آن را میگذارم. احتمالا از فونت من باشه.
بایدی در کار نیست.
آقای کارنپهلو، به شخصه به عنوان کسی که از بستههای زیپرشین و بیدی برای تهیه گزارشهای دانشگاهی و پروپزال استفاده کردهام، از شما و زحمات شما قدردانی میکنم و میدانم که برای تهیه بستههای زیپرشین و بیدی و سایر بستههایی که شما زحمت کشیدهاید نیز هیچ بایدی در کار نبوده. شما مجبور نبودید این سیستم را تهیه کنید اما مطمئنم به خواست خودتون و برای دل خودتون و برای جامعه کاربران ایرانی لاتک اینکار را انجام دادهاید و ما هم ممنون شما هستیم. به عنوان یک کاربر وظیفهام این بود که مشکلی که در این سیستم رخ داده بود را گزارش کنم. در واقع سیستمهای متنباز به خاطر همین بازخوردها پیشرفت کرده و من هم منظورم از باید گفتن، کمک به زیپرشین برای رسیدن به سیستمی با کیفیت بالاست وگرنه ما کی باشیم که بخواهیم دستور بدهیم. حال اگر تراز ساختن سطور را وظیفه سیستم حروفچینی بدانیم، مدیریت این مشکل برعهده لاتک و زیپرشین خواهد بود و گرنه که ....
در آخر، لازم هست که بگم من اینجا مهمان هستم و نگهداشتن حرمت شما که میزبان هستید واجب است.
والسلام.
-
ممنون از راهنمایی همه دوستان
وقتی از کشیده استفاده کردم، مشکل همترازی حل شد اما متن بسیار ناخوانا شد که پیدیاف آن را میگذارم. احتمالا از فونت من باشه.
آقای کارنپهلو، به شخصه به عنوان کسی که از بستههای زیپرشین و بیدی برای تهیه گزارشهای دانشگاهی و پروپزال استفاده کردهام، از شما و زحمات شما قدردانی میکنم و میدانم که برای تهیه بستههای زیپرشین و بیدی و سایر بستههایی که شما زحمت کشیدهاید نیز هیچ بایدی در کار نبوده. شما مجبور نبودید این سیستم را تهیه کنید اما مطمئنم به خواست خودتون و برای دل خودتون و برای جامعه کاربران ایرانی لاتک اینکار را انجام دادهاید و ما هم ممنون شما هستیم. به عنوان یک کاربر وظیفهام این بود که مشکلی که در این سیستم رخ داده بود را گزارش کنم. در واقع سیستمهای متنباز به خاطر همین بازخوردها پیشرفت کرده و من هم منظورم از باید گفتن، کمک به زیپرشین برای رسیدن به سیستمی با کیفیت بالاست وگرنه ما کی باشیم که بخواهیم دستور بدهیم. حال اگر تراز ساختن سطور را وظیفه سیستم حروفچینی بدانیم، مدیریت این مشکل برعهده لاتک و زیپرشین خواهد بود و گرنه که ....
در آخر، لازم هست که بگم من اینجا مهمان هستم و نگهداشتن حرمت شما که میزبان هستید واجب است.
والسلام.
این چیزی که شما باهاش برخورد کردین مشکل نیست، جیز جدیدی هم نیست. توی متن انگلیسی و بدون استفاده از هیچ بستهای هم ممکنه با همچین چیزی برخورد کنید.
تک برای شکستن جملهها و شروع خطهای جدید، یک الگوریتم پیجیده و دقیق داره. این الگوریتم هم مبتنی بر DFS (همون Depth First Search) و برنامهریزی پویا (Dynamic Programming) هست.
این الگوریتم بهترین محل رو برای شکستن خط پیدا میکنه و جزئی از موتور تک هست. هیچ بستهای هم نمیتونه این الگوریتم رو عوض کنه. وقتی این الگوریتم هیچ نقطه مناسبی برای شکستن خط پیدا نکنه، به شما یه هشدار میده و میگه که فلان خط کوتاه یا بلند است. راه حل هم همیشه تغییر جزئی در لغات است.
این مسئله توی انگلیسی به این خاطر کمتر دیده شده که تک لغات انگلیسی رو hyphenate میکنه، یعنی هرجا نتونست خط رو بشکنه، اگه امکانش باشه، کلمه رو دوقسمت میکنه و این دوقسمت رو با یه - مشخص میکنه.
همیشه برای رفع همچین مشکلی در متن، از گزینه draft برای اجرای فایل استفاده کنید. اینجوری هر جایی که به اصطلاح badbox بزرگ داشته باشید، تک با یه مربع سیاه نشون میده و باید اونو خودتون رفع کنید. البته اونایی که خطش کوتاه شده رو با افزایش فاصله درست میکنه، ولی باز توی فایل لاگ درست نشون میده.
البته یه تفاوت دیگه هم که در این مورد بین فارسی و انگلیسی هست، جهتیه که خط بیرون میزنه...
برای دیدن این مشکل در انگلیسی و فارسی، فایلهای ضمیمه رو ببینید. به هشدارهای فایل لاگ و مربع مشکی در خروجی توجه کنید.
راستی، تکنیکهای میکروتایپوگرافی هم برای بهبود این مسئله وجود داره، ولی توی اصل ماجرا فرقی ایجاد نمیکنه.
-
ممنون از راهنمایی همه دوستان
وقتی از کشیده استفاده کردم، مشکل همترازی حل شد اما متن بسیار ناخوانا شد که پیدیاف آن را میگذارم. احتمالا از فونت من باشه.
آقای کارنپهلو، به شخصه به عنوان کسی که از بستههای زیپرشین و بیدی برای تهیه گزارشهای دانشگاهی و پروپزال استفاده کردهام، از شما و زحمات شما قدردانی میکنم و میدانم که برای تهیه بستههای زیپرشین و بیدی و سایر بستههایی که شما زحمت کشیدهاید نیز هیچ بایدی در کار نبوده. شما مجبور نبودید این سیستم را تهیه کنید اما مطمئنم به خواست خودتون و برای دل خودتون و برای جامعه کاربران ایرانی لاتک اینکار را انجام دادهاید و ما هم ممنون شما هستیم. به عنوان یک کاربر وظیفهام این بود که مشکلی که در این سیستم رخ داده بود را گزارش کنم. در واقع سیستمهای متنباز به خاطر همین بازخوردها پیشرفت کرده و من هم منظورم از باید گفتن، کمک به زیپرشین برای رسیدن به سیستمی با کیفیت بالاست وگرنه ما کی باشیم که بخواهیم دستور بدهیم. حال اگر تراز ساختن سطور را وظیفه سیستم حروفچینی بدانیم، مدیریت این مشکل برعهده لاتک و زیپرشین خواهد بود و گرنه که ....
در آخر، لازم هست که بگم من اینجا مهمان هستم و نگهداشتن حرمت شما که میزبان هستید واجب است.
والسلام.
بیا در مورد قضیه منطقی فکر کنیم کاری هم به زیپرشین، تک و حتی کامپیوتر نداشته باشیم. فرض کن شما همین رو داری با یک قلم روی یک تکه کاغذ که هر سطر پهنای مشخصی داره، مینویسی. خوب هر سطر پهنای مشخصی داره و وقتی کلمات بزرگ باشند و توی یک سطر جا نشند دو حالت پیش میاد حالت اول اینکه یک مقداری از سطر رو خالی بگذاری و بری بقیه کلمات رو سطر بعد بنویسی. حالت دوم اینه که کلمات رو در سطر اول جا بدی حالا یکم از سطر اول بیرونزدگی پیدا میکنه. این با فرض اینه که همه کلمات با یک اندازه نوشته بشوند و فاصله بین کاملت هم یکی باشد.
در حالت اول کشیدگی وجود داره در زیپرشین. زیپرشین فضای خالی رو با کشیدگی بین کلمات پر میکند.
در حالت دوم میتونی فاصلهها رو کم و زیاد کنی (که جالب نیست) تا همه کلمات توی اون سطر جا بشن. شما وقتی فایلت رو اجرا میکنی در ترمینال و در فایل log بهت میگه که چقدر badness داری. شما خیلی راحت میتونی tolerance پیشفرض یا \hbadness پیشفرض تک رو تغییر بدی.