اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
+1 رای
1.3k بازدید

با سلام
در متن پیوست که هم نثر وجود دارد و هم شعر. گه گاه یک فاصله نابجا بین شعر و نثر رخ می‌دهد که یک نمونهٔ آن در فایل پیوست است. علت آن را پیدام نکردم. نمی‌دانم شاید یک اشتباه مضحک بنده است.

فایل(های) پیوست:
احتمالاً جنابعالی خودتان به این نتیجه رسیده‌اید که وقتی متن قبل از شعر تا انتهای خط ادامه پیدا می‌کند این فاصله زیاد ایجاد می‌شود! می‌توان این تست را روی ۳ بیت اول که در حال حاضر درست هستند هم انجام داد که منجر به این فاصله زیاد می‌شود. اما اگر با حذف یا اضافه کردن کلمات متن را جایی قبل از انتهای خط تمام کنید این اتفاق برای شعر پس از آن نمی‌افتد.
توسط (3.7k امتیاز)
با سلام
جناب بیات من بطور طبیعی مشغول نوشتن بودم که این اتفاق افتاد. می‌شود به آزمون و خطا ادامه داد و کلمات یک سطر را اضافه و کم نمود تا فاصلهٔ نابجا رفع شود، اما بهر روی به نظر می‌رسد که یک مشکلی وجود دارد؟ که این اتفاق رخ می‌دهد.
توسط (1.2k امتیاز)
احتمالا باگ هستش. هر زمان وقت کردید آن را در GitHub گزارش کنید.
توسط (25.0k امتیاز)

2 پاسخ

0 رای

سلام
فکر می‌کنم مشکل به خاطر طولانی بودن سطر آخر و نیز به علت پرشی است که در انتهای سطر برای رفتن به سطر بعد ایجاد می‌شود.
برای این گفته دلیل هم دارم. تو این‌طور موارد ماکروی \nolinebreak می‌تواند مناسب باشد. حتی اگر آن را با کمترین حساسیت (1) و به صورت زیر هم به کار ببریم چنین مشکلی به وجود نمی‌آید.

\nolinebreak[1]

بدون در نظر گرفتن جزییات تعریف این ماکرو در لاتک به صورت زیر است:

\ifvmode
\@nolnerr
\else
\@tempskipa\lastskip\unskip
\penalty\@M
\ifdim\@tempskipa>\z@
\hskip\@tempskipa
\fi
\fi

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

\penalty\@M =  \penalty 1000

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


کد شما:

\documentclass[12pt,a4paper]{article}
\usepackage[top=25mm, bottom=25mm, left=20mm, right=20mm]{geometry}
\usepackage{bidipoem}
\usepackage{quran}
\usepackage[localise]{xepersian}
\settextfont[Scale=1.2]{Yas}
%\settextfont[Scale=1.25]{IRXLotus}
\defpersianfont\quranfont[Scale=1.1]{Scheherazade}
\makeatletter
\bidi@preto\qurantext{\quranfont}
\makeatother
\newcommand\qadd[2]{\quranfont﴿\surahname*[#1] #2﴾}
\title
{مولوی و  ''مدح و قدح``}
\author{به نام خدا\\س. موسوی‌}
\date{\today}
\newcommand*{\poet}[1]{%
    \noalign{%
       \vskip 10pt
        \hfill \footnotesize(#1)
}}
\linespread{1.5}
\begin{document}
\maketitle
\renewcommand\poemcolsepskip{1.0cm}
مدح و مدیحه‌سرایی در تاریخ بشر سابقهٔ طولانی دارد. تمجید و تحسین برای آدمی چیز مطبوعی است. مولوی در این زمینه می‌گوید که:
\begin{traditionalpoem}
 آدمی اوّل حریصِ نان بُوَد & زان که قُوت و نان ستونِ جان بُوَد \\
سوی کسب و سوی غصب و صد حِیَل & جان نهاده بر کف از حرص و اَمَل \\
چون به نادر گشت، مُستغنی ز نان & عاشقِ نام‌ست و مدحِ شاعران\زیرنویس{
\setlatin ۴/۱۱۹۰-۹۲، تصحیح موحد} 
 \end{traditionalpoem}
 انسان در ابتدا، به دنبال رفع نیازهای اولیه خود می‌رود، تا بتواند به زیست خود ادامه دهد، پس از آن که آنها مهیا گشت، آنگاه در پی آوازه است و تحسین شاعران. این تشخیص مولوی عین صواب است، چرا که پاره‌ای از شاعران شعر خود را پیش شاهان می‌آوردند به امید این که خلعت و اِکرام و جاه دریافت کنند. یعنی آنها از همین ویژگی آدمی استفاده و یا سوء استفاده می‌کردند. ناصر خسرو در همین زمینه می‌گوید که:
\nolinebreak[1]
\begin{traditionalpoem}
من آنم که در پایِ خوکان نریزم & مر این قیمتی دُرِّ لفظِ دَری را
\end{traditionalpoem}
 یعنی آنها از همین ویژگی آدمی استفاده و یا سوء استفاده می‌کردند. ناصر خسرو در همین زمینه می‌گوید
 \begin{traditionalpoem}
من آنم که در پایِ خوکان نریزم & مر این قیمتی دُرِّ لفظِ دَری را
\end{traditionalpoem}
به فاصله ابیات از متن‌های بالای آنها دقت کنید. آیا این رفتار طبیعی است.
\end{document}

خروجی شما:
enter image description here
موفق باشید. مددپور

جناب مددپور
متشکر از کمک شما. اما دو نکته قابل تامل است.
۱) چرا الگوریتم شکست خودکار عمل نمی‌کند و لازم می‌آید که دستی آن را تنظیم کنیم؟
۲) چرا این اتفاق در شروع محیط شعر رخ می‌دهد؟
۳) آیا بند ۱ و ۲ ارتباطی با هم ندارند؟
توسط (1.2k امتیاز)
جواب این سوال شما را قطعاً استاد خلیقی یا سایر بزرگان گروه می‌توانند کاملتر بدهند.
اما اگر شما فقط همان دو نقطه(:) را حذف کنید و یا بین آن و کلمه‌ی قبل یک فاصله قرار دهید (که البته از نظر نگارشی ایراد دارد) چنین اتفاقی نمی‌افتد. فواصل بین کلمات به صورت چسب (glue)  هستند و تحت شرایط خاص جمع (shrink) و یا باز (stretch) می‌شوند. در این سطر تعداد کلمات به گونه‌ای است که فشردگی بین کلمات به وجود آمده و تک قادر به شکست خط نیست. در واقع وقتی دو نقطه‌ی آخر را بدون فاصله با کلمه‌ی  قبل قرار می‌دهیم مثل این است که متن را به هم دوخته‌اییم و توانایی شکست خط را از تک سلب کرده‌ایم. اگر کلمه‌ی آخر را به صورت که~: نیز به هم بچسبانیم باز هم همین مشکل را خواهیم داشت.
توسط (8.7k امتیاز)
0 رای

قبل و بعد از محیط شعر یک خط قرار دهید و نتیجه را مشاهد کنید:

\rule\textwidth{.4pt}
\begin{traditionalpoem}
من آنم که در پایِ خوکان نریزم & مر این قیمتی دُرِّ لفظِ دَری را
\end{traditionalpoem}
\rule\textwidth{.4pt}

enter image description here

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

انسان در ابتدا، به دنبال رفع نیازهای اولیه خود می‌رود، تا بتواند به زیست خود ادامه دهد، پس از آن که آنها مهیا گشت، آنگاه در پی آوازه است و تحسین شاعران. این تشخیص مولوی عین صواب است، چرا که پاره‌ای از شاعران شعر خود را پیش شاهان می‌آوردند به امید این که خلعت و اِکرام و جاه دریافت کنند. یعنی آنها از همین ویژگی آدمی استفاده و یا سوء استفاده می‌کردند. ناصر خسرو در همین زمینه می‌گوید که:

\begin{traditionalpoem}
من آنم که در پایِ خوکان نریزم & مر این قیمتی دُرِّ لفظِ دَری را
\end{traditionalpoem}
 
 یعنی آنها از همین ویژگی آدمی استفاده و یا سوء استفاده می‌کردند. ناصر خسرو در همین زمینه می‌گوید

enter image description here

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

7.1k سوال

6.6k پاسخ

23.4k دیدگاه

7.0k کاربر

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

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