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

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

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

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

+1 رای
56 بازدید

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

\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 توسط سید جواد (3,429 امتیاز)
ویرایش شده 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 توسط وفا (18,738 امتیاز)
انتخاب شده 12 آذر 1396 توسط سید جواد
با سپاس و درود

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

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

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

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