اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
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 تصویر شمارنده texlive2015 longtable زیرنویس خطا رسم نمودار شماره‌گذاری صفحات پایان نامه دیاگرام فهرست جداول میک‌تک texlive2016 تنظیم جدول kashida texworks caption اندیس lollipop iust-thesis multicol فصل‌نویسی شعر سوال چهارگزینه‌ای بولد تورفتگی آکولاد اعداد فارسی فاصله عمودی xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry texlive fancyhdr تک لایو 2015 عنوان بخش به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی کاما وسط‌چینی پوستر شماره گذاری فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد pgfplots قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس xelatex فلش جایابی تصویر tcolorbox قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل font محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
17 نفر آنلاین
1 عضو و 16 مهمان در سایت حاضرند
بازدید امروز: 34736
بازدید دیروز: 15572
بازدید کل: 21038158

چند تغییر جزیی در بسته «قرآن»

+3 رای
540 بازدید

پیرو پیشنهادات جناب آقای مسعود یزدانی ذیل پرسش http://qa.parsilatex.com/7957 تغییرات ذیل در بسته قرآن اعمال گردید:

۱- در صورت استفاده از دستور \surahname دیگر عبارت سورة و یا Surah را نخواهیم داشت.

۲- در صورتی که با استفاده از دستور \quranayah تنها آیه اول سوره درخواست شود دیگر عبارت بسمله را نخواهیم داشت.

در سوره مبارکه
\surahname[112] 
خداوند می‌فرمایند: 
«\quranayah*[112][1]».

enter image description here

همانطوری در تصویر مشاهده می‌فرمایید عبارت بسمله نوشته نشده است.
۳- نکتهٔ دیگری که وجود آن ضروری به نظر می‌رسید بخصوص در حالاتی مشابه حالات فوق عدم وجود شماره آیه است.
بدین منظور گزینه دیگری به بسته افزوده شده است که سبب می‌شود هیچ‌ شماره آیه‌ای درج نگردد؛ گزینه nonumber. در صورتی که نخواهید بسته را با این گزینه بارگذاری کنید می‌توانید از دستور \ChangeAyahNumber استفاده کنید تا شماره آیات درج نگردد و اگر در حالتی باشید که شماره آیات درج نمی‌شود آن را به حالت سابق برگرداند.
نحوه اسفاده هم می‌تواند مشابه زیر باشد:

{\ChangeAyahNumber
\quransurah*
}

\quransurah*

enter image description here

حال با کمک این دستور همان عبارت قبلی را دوباره بازنویسی می‌کنیم:

در آیهٔ اول سوره مبارکه
\surahname[112] 
خداوند می‌فرمایند:%
{\ChangeAyahNumber%
«\quranayah*[112][4]».}

enter image description here

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

برای مثال دستور \quranjuz[1-30] در چند ثانیه کل قرآن را حروفچینی می‌کند لکن فرم ستاره دار آن یعنی دستور \quranjuz*[1-30] شاید در حدود یک دقیقه زمان ببرد!!! هنوز راه حلی به ذهنم نمی‌رسد از اساتید ممنون می‌شوم اگر اظهار نظر بفرمایند --البته این تاخیر زمانی مثلا برای حالتی که شما تنها ۱۰ جزء را حروفچینی کنید پیش نخواهد آمد لکن زمانی که حجم زیاد می‌شود این مشکل بروز می‌یابد--.

نسخه فعلی بسته ۰.۹۴ است لکن به سبب بروز این مشکل هنوز به CTAN داده نشده است.

ویرایش

الان تمام نسخه‌های قبلی را که نوشته بودم هم تست کردم و همین مشکل را داشت! در حالیکه اینگونه در خاطرم هست که تا قبل از همین آخرین تغییر تمام قرآن را با دستوارتی مشابه آنچه ذکر شد بدون هیچ تاخیری و تنها در چند ثانیه حروفچینی می‌کرد.

نسخه فعلی که ضمیمه گردیده است نسخه ۰.۹۴۱ است که تغییراتی در راستای کمینه کردن کد در آن انجام شده است.

اگر مطمئن شوم که مشکل از طراحی من نیست کد را هر چه سریعتر به CTAN خواهم داد.

۱۳۹۴/۱۱/۲۱ آخرین نسخه ۱/۰۵ می‌باشد. ر.ک. http://qa.parsilatex.com/16915

فایل‌های پیوست
سوال شده تیر 20, 1394 توسط سید جواد (4,427 امتیاز)
ویرایش شده بهمن 21, 1394 توسط سید جواد
این مشکل رو من حتی در نسخه‌های ابتدایی این بسته هم داشتم. به نظرم مشکل از بسته شما نیست و موتور تک برای حروفچینی یک متن بزرگ همانند قرآن در یک پاراگراف نیاز به محاسبات زیادی خواهد داشت.

برای مشخص شدن این موضوع، کد زیر را ببینید که هر سوره در یک پاراگراف قرار داده شده است:

\documentclass{report}
 \usepackage{pgffor}
\usepackage{quran}
\usepackage{xepersian}
\settextfont{Yas}

\begin{document}

\foreach \x in {1,2,...,114}
{\quransurah*[\x]\par}

\end{document}
با توجه به توضیحات شما و تست مابقی نسخه‌های قبلی بسته‌ فعلا عنوان پرسش را تغییر دادم لکن اگر دیگر دوستان هم زحمت بکشند و تست کنند ممنون خواهم شد --هر چند که آقای دکتر وفای عزیز می‌توانند حرف آخر را در این زمینه بفرمایند--.

در خصوص کدی که مرحمت فرمودید خود نیز با کمک بسته forloop مشابه این عمل را برای حتی قطعاتی به بزرگی جزء و منزل هم انجام داده بودم و مشکل نبود لکن برای کل قرآن الان با این مشکل مواجه شدم حتی چیزی تا حدود ۱۰ جزء هم مشکل خاصی ندارد.

بهرحال بازهم از این دقت نظر و لطفتان سپاسگذارم.

1 پاسخ

0 رای

با سلام
من هم تست کردم. به نظر میاد که مشکل از قراردادن کل قرآن در یک پاراگراف باشد. وقتی شما با دستور \quranjuz[1] یک جز قرآن را حروفچینی می‌کنید، بعد از هر آیه یک پاراگراف ایجاد می‌کند اما حالت \quranjuz*[1] تمام جز را در یک پاراگراف قرار می‌دهد که به نظر میاید پردازش آن زمان‌بر می‌شود. دستور

\quranjuz*[1-30]

برای من بیشت از یک دقیقه زمان برد ولی با دستور

\foreach \x in {1,2,...,30}
{\quranjuz*[\x]\par}

براحتی در حدود ۸ ثانیه کل قرآن حروفچینی شد.

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

پاسخ داده شده تیر 21, 1394 توسط فرشاد ترابی (2,843 امتیاز)
آقای دکتر ممنون از وقتی که گذاشتید؛ آری ظاهرا مشکل باید همین باشد. من هم منتظر نظرات دکتر کارن‌پهلو هستم --البته امیدوارم که راه حلی وجود داشته باشد--.
...