اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع xepersian ریاضی‌نویسی شکل فونت فهرست مطالب شماره‌گذاری bidi منابع پانویس بیب‌تک parsilatex تک‌لایو tikz اسلاید بیمر زی‌پرشین پاورقی سربرگ bibtex نماد رسم شکل فرمول‌نویسی قالب ارجاع‌دهی biditexmaker هدر ویرایشگر beamer واژه‌نامه اندازه فونت texstudio ماتریس عنوان فصل اعمال نشدن تغییرات در پی‌دی‌اف bidipresentation رسم جدول حاشیه شماره صفحه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture حروف‌چینی کد شماره فصل tabriz_thesis enumerate زیرنویس شکل کادر align itemize نمایه listings الگوریتم بسته نیم‌فاصله متن لاتین و فارسی عدم اجرا فهرست اشکال فاصله بین خطوط نصب تک‌لایو فارسی‌تک قالب پایان‌نامه hyperref شماره فرمول فرمول glossaries حروف‌چینی چندستونی فونت فارسی و انگلیسی نمودار خروجی biditools ماکرونویسی کپشن پیوست‌ فاصله‌گذاری فرمول چندضابطه‌ای سوال امتحانی subfigure شماره پاورقی header tex لاتک biditufte-book texmaker تصویر texlive2015 میک‌تک pdf شمارنده زیرنویس خطا شماره‌گذاری صفحات دیاگرام longtable extrafootnotefeatures texlive2016 فهرست جداول رسم نمودار تنظیم جدول texworks caption اندیس lollipop iust-thesis multicol فصل‌نویسی kashida سوال چهارگزینه‌ای قاب بولد تورفتگی آکولاد فاصله عمودی پایان نامه xindy چپ‌چینی اوبونتو شعر میکروسافت ورد geometry fancyhdr تک لایو 2015 به‌روزرسانی بسته اعداد فارسی aimc46 فرمول طولانی بیرون‌زدگی کاما وسط‌چینی عنوان بخش پوستر فاصله سطرها نوشتافت شکست خط tex-programming قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس texlive فلش جایابی تصویر tcolorbox صفر توخالی قالب کتاب پاراگراف‌بندی فونت اعداد pgfplots بازیابی اطلاعات فهرست نمادها شمارنده فصل محیط ریاضی رسم کادر xelatex جداکننده جدول طولانی شماره‌گذاری فرمول هایپرلینک algorithm2e فونت بولد proof eps جدول افقی پانویس چندستونی فهرست تصاویر شماره گذاری کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل equation bidipoem عکس ltrfootnote پیوست computeautoilg به‌روزرسانی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان minipage قلم پانویس پاراگرافی baselineskip شماره قسمت قسمت عنوان جدول متن فارسی و انگلیسی قالب مجله xebaposter bidihl
9 نفر آنلاین
0 عضو و 9 مهمان در سایت حاضرند
بازدید امروز: 5476
بازدید دیروز: 12385
بازدید کل: 15871865

فاصله نامتوازن بین خطوط متن با استفاده از زی‌پرشین

0 رای
1,884 بازدید

با سلام و احترام

در هنگام تایپ یک متن متوجه شدم فاصله خطوط، متناسب و هماهنگ نیست. گاهی زیاد و گاهی کم است. کد کمینه زیر را اجرا کردم:

\documentclass[10pt]{book}

\usepackage{ptext}
\usepackage{xepersian}
\settextfont{XB Zar}%{XB Niloofar}

\begin{document}
\ptext[1-10]
\end{document}

خروجی زیر حاصل می‌شود:

enter image description here

به وضوح فاصله خط پایانی با ماقبل خود با فاصله دیگر خطوط تفاوت دارد.
چرا این اتفاق می‌افتد؟ آیا فونت‌ها مشکل دارند؟

سوال شده بهمن 29, 1395 توسط حسین بهبودی (797 امتیاز)
برچسب گذاری دوباره بهمن 30, 1395 توسط وحید دامن‌افشان
با سلام
تا آنجا که بنده می‌دانم در نوشتن متون فارسی باید فاصله سطرها تنظیم شود و ربطی به نوع فونت ندارد. اما اگر متن لاتین باشد. به‌صورت پیش‌فرض توازن بین سطرها برقرار است.
این موضوع رو مدت‌ها پیش منم کشف کردم. با تمام فونت‌هایی که کار کردم هم این نامتوازنی وجود داره. اگه دقت کنید، فقط توی بعضی از خط‌ها این حالت دیده می‌شه. به نظر می‌رسه وقتی پیش میاد که مثلاً یه حرفی مثل م در خط بالا و حرف آ در خط پایین ظاهر بشه. همون‌طور که آقای موسوی هم گفتن، با تغییر فاصله بین خطوط این موضوع حل می‌شه.

1 پاسخ

+3 رای
 
بهترین پاسخ

متأسفانه نه تنها پاسخ کاربر A-Mahdavi گمراه‌کننده است بلکه کاملاً اشتباه است.

این یک مشکل بسیار قدیمی در زیپرشین است و به فونت هم مربوط نمی‌شود.

مشکلی وجود ندارد که بخواهد بسیار قدیمی باشد مگر آنکه شما قصد و نیت خراب کردن اعتبار زی‌پرشین را داشته باشید.. این مشکل ربطی به زی‌پرشین ندارد و در واقع اصلاً مشکلی وجود ندارد. آنچه که هست یک رفتار ناخواسته اما منطقی است که در پائین توضیح داده خواهد شد. به قلم مربوط نمی‌شود اما به خاصیت الفبای زبان پارسی ارتباط پیدا می‌کند. توحیحات بیشتر در پائیین.

و با کد زیر در کانتکست ... دارای خروجی زیر است که در آن فاصله بین خطوط موزون می‌باشد

مقایسه کانتکست و زی‌پرشین بی‌معنی است زیرا که نخستین از موتور زی‌تک استفاده می‌کند و . دومی از موتور لواتک. گذشته از این لواتک دیگر تک شمرده نمی‌شود زیرا که دارای مشکلات بسیاری است که دیگر منطبق با تک نیست و رفتاری که از تک انتظار می‌رود را نمی‌توان از لواتک انتظار داشت.

گذشته از این خروجی کانتکست دقیقاً دارای همین مشکل است. پیشنهاد می‌کنم دوباره به خروجی کانتکست خود نگاه کنید و اگر واقعاً نمی‌توانید فاصله غیر موزون و درهم سطرها را ببینید، به یک چشم‌پزشک مراجعه کنید!

جدای همه این‌ها پاسخ شما بیهوده است زیرا که نه پرسش را پاسخ می‌دهد و نه کمکی می‌کند. پرسش این است:

چرا این اتفاق می‌افتد؟ آیا فونت‌ها مشکل دارند؟

اثبات ادعای دروغین کاربر A-Mahdavi

کاربر A-Mahdavi ادعا می‌کند که کانتکست (توسط dabeer) فاصله خط کرسی را بصورت خودکار انتخاب می‌کند. اما این یک دروغ بیش نیست. این کار بصورت کاملاً دستی انجام می‌شود. برای دیدن آن کافی است سطرهای ۵۶ و ۵۷ را در فایل p-dabeer.mkiv نگاه کنید. محتوای دو سطر ذکر شده این است:

%D Persian fonts usually have incorrect heights.  We fix this issue here.
\setupinterlinespace[line=3.2ex]  % default is 2.8ex

که به وضوح نشان می‌دهد که فاصله حط کرسی بصورت کاملاً دستی انتخاب می‌شود.

قبل از پرسش به دو پاسخ، نظر زیر از کاربر وحید دامن‌افشان:

این موضوع رو مدت‌ها پیش منم کشف کردم

چیزی وجود نداشته که کشف شود. متأسفانه شما که ادعای نوشتن چندین کلاس هم دارید حتی یک بار زحمت خواندن کتاب تک را به خود نداده‌اید. ای کاش به خاطر کشف کردن وقت خود را صرف کمی مطالعه می‌کردید!

متأسفانه اکثر کاربران موجود نه دانشی از تک دارند و پاسخ‌های اشتباه و گمراه‌کننده می‌دهند حال آنکه خود حتی نمی‌دانند در مورد چه چیزی صحبت می‌کنند!

پاسخ پرسش دوم ساده‌تر است.

آیا فونت‌ها مشکل دارند؟

تصور نمی‌کنم مشکل از قلم باشد. بله مشکل از خاصیت الفبای پارسی است. بگذاریددر متن نمونه شما چند مورد را نگاه کنیم:

  • در سطر دوم «ر» وجود دارد که عمق منفی دارد و در سطر سوم درست در پائین «ر» حرف «گ» وجود دارد که ارتفاع مثبت زیادی دارد.
  • سطر پنجم «ی» که عمق منفی دارد و درست در زیر آن در سطر ششم حرف «ا» که ارتفاع مثبتی دارد.

چرا این اتفاق می‌افتد؟

در تک سه پارامتر \baselineskip، \lineskiplimit و \lineskip برای تنظیم فاصله بین سطرها وجود دارد. تک بصورت عمومی ازپارامتر \baselineskip برای اینکه فاصله یکسانی بین سطرها وجود داشته باشد استفاده می‌کند. اما زمانی که نویسه‌هایی وجود دارند که عمق و ارتفاعی دارند که ممکن است باعث شوند دو سطر بالایی و پائینی با هم تداخل داشته باشند (مانند دو نمونه ذکر شده در بالا) پارامتر \lineskiplimit تعیین می‌کند که این سطرها چقدر می‌توانند به هم نزدیک شوند. اگر این حالت پیش بیاد (زمانی که نویسه‌هایی وجود دارند که عمق و ارتفاعی دارند که ممکن است باعث شوند دو سطر بالایی و پائینی با هم تداخل داشته باشند) تک دیگر از پارامتر \baselineskip استفاده نمی‌کنه و به جای اون از پارامتر \lineskip برای تعیین فاصله بین دو سطر مربوط استفاده می‌کند.

راه‌حل این است که مقدار پارامتر \baselineskip (در لاتک می‌توان آن را با استفاده از دستور \baselinestretch و یا \linespread تغییر داد) را به اندازه‌ای بزرگ تعیین کرد تا احتمال تداخل سطرهای مربوط پیش نیاید.

برای اطلاعات بیشتر کتاب تک نوشته Knuth را بخوانید.

پاسخ داده شده اسفند 1, 1395 توسط وفا (24,192 امتیاز)
ویرایش شده اسفند 2, 1395 توسط وفا
ممنون
کمترین عددی که برای این فاصله باید تعیین شود چقدر است؟
ممنونم وفا جان بابت توضیحات کاملت.
چه تغییری در نسخه 17.6 بسته زی‌پرشین صورت گرفته است؟
هیچ‌کدام از نرم‌افزارهای حروف‌چین فاصله خط کرسی رو بصورت خودکار و فعال محاسبه نمی‌کنند. همه این نرم‌افزارها یک فاصله خط کرسی پیش‌فرض آن هم بصورت دستی دارند. به عنوان نمونه کانتکست و dabeer این کار را کاملاً دستی انجام می‌دهد. کافی است ویرایش پاسخ را برای توضیح آن بخوانید. بنابراین در کانتکست و dabeer گرد کردنی در کار نیست و آنچه که هست هم سر تا پا اشتباه است!

زی‌پرشین با نسخه 17.6 نخستین و تنها نرم‌افزاری است که  فاصله خط کرسی مناسب را بصورت خودکار و پویا می‌تواند محاسبه کند.
خودت رو گرفتی؟
شما خودت نمی‌دونی در مورد چی صحبت می‌کنی! پیشنهاد می‌کنم قبل از اینکه انگشت‌های دستت رو روی صفحه کلید ببری، از مغزت کمک بگیری.
...