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

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

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

عدم تناسب فاصله بین محیط فارسی و لاتین در صورت استفاده از گزینهٔ computeautoilg

+1 رای
1,028 بازدید

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

\documentclass{article}
\usepackage{ptext}
\usepackage{lipsum}
\usepackage[computeautoilg=off]{xepersian}
\settextfont{Yas}

\begin{document}

\ptext[1]
\begin{latin}
\lipsum[1]
\end{latin}

\end{document}

enter image description here
هر چند که این فاصله برای متن لاتین مناسب است ولی برای متن پارسی کم است و بهتر است که بیشتر شود. پس گزینه computeautoilg را در کد فوق فعال می‌کنیم و خروجی به صورت زیر در خواهد آمد:

enter image description here

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

enter image description here

سوالی که مطرح است این است که آیا این یک باگ محسوب می‌شود یا هیچ اشکالی در آن وجود ندارد. اگر هم باگ به نظر نیاید، از نظر زیبایی جالب به نظر نمی‌آید.

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

\makeatletter
\bidi@BeforeBeginEnvironment{latin}{\if@nonlatin\medskip\fi}
\bidi@BeforeBeginEnvironment{LTR}{\if@nonlatin\medskip\fi}
\makeatother

اکنون خروجی به صورت زیر در می‌آید.
enter image description here

سوالی که باقی می‌ماند این است که آیا این روش برای رفع این مساله مناسب است یا خیر؟

ویرایش

با راهنمایی وفای عزیز و اعمال راه حل خروجی زیر بدست می‌آید که باز فاصله بین پاراگراف‌های پارسی و لاتین همگون نیستند. به عبارت دیگر سوال اصلی من این است که با فعال بودن گزینه computeautoilgq چگونه می‌توان این فاصله را بین تمامی پاراگراف‌ها یکسان نمود.

کد زیر و خروجی آن را مشاهده نمایید تا متوجه نکته مطرح شده در فوق گردید.

\documentclass{article}
\usepackage{ptext}
\usepackage{lipsum}
\usepackage[computeautoilg=on]{xepersian}
\settextfont{Yas}

\makeatletter
\setlength\parskip{.5\baselineskip \@plus .1\baselineskip
                                   \@minus .1\baselineskip}
\makeatother

%\makeatletter
%\bidi@BeforeBeginEnvironment{latin}{\if@nonlatin\medskip\fi}
%\bidi@BeforeBeginEnvironment{LTR}{\if@nonlatin\medskip\fi}
%\makeatother

\begin{document}

\ptext[1]

\ptext[1]

\begin{latin}
\lipsum[2]

\lipsum[2]
\end{latin}

\ptext[1]
\end{document}

enter image description here

در تصویر به فاصله بین پاراگراف‌های پارسی و لاتین و بالعکس توجه نمایید.

ویرایش ۲

مشکل به طور کامل در نسخه 31.6 بسته bidi حل شده است.

سوال شده آذر 10, 1396 توسط سید جواد (4,427 امتیاز)
ویرایش شده آذر 12, 1396 توسط سید جواد

1 پاسخ

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

خیر باگ نیست این رفتار پیش‌فرض تک است.

\baselineskip=24pt
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
\par
\baselineskip=12pt
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
\bye

من مشکلی نمی‌بینم. راه‌حل شما بد است. فاصله عمودی بین دو پاراگراف ربطی به \baselineskip ندارد. پارامتری که فاصله عمودی بین دو پاراگراف را مشخص می‌کند \parskip است که در لاتک همیشه مقدار ثابت 0.0pt plus 1.0pt دارد. این یک چسب است که می‌تواند بزرگ و یا کوچک شود. بنابراین راه‌حل درست و منطقی تغییر اندازه \parskip بصورت زیر است.

\makeatletter
\setlength\parskip{.5\baselineskip \@plus .1\baselineskip
                                   \@minus .1\baselineskip}
\makeatother
پاسخ داده شده آذر 10, 1396 توسط وفا (24,432 امتیاز)
انتخاب شده آذر 12, 1396 توسط سید جواد
با سپاس و درود

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

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

برای اینکه منظور بهتر رسانیده شود به تصاویری که در وایرش سوال گذاشته شده است مراجعه نمایید.

اینها را برای این مطرح نمودم که اگر فاصله بین پاراگراف ربطی به \baselineskip ندارد پس چرا چنین چیزی رخ می‌دهد؟
...