اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
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 fancyhdr تک لایو 2015 عنوان بخش به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی texlive کاما وسط‌چینی پوستر شماره گذاری فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد pgfplots قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس xelatex فلش جایابی تصویر tcolorbox قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e font فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
9 نفر آنلاین
0 عضو و 9 مهمان در سایت حاضرند
بازدید امروز: 4058
بازدید دیروز: 12293
بازدید کل: 20633695

آیا می‌توان با استفاده از تک کنوث به تنهایی حروف‌چینی دوجهته انجام داد؟

+6 رای
671 بازدید

برای حروف‌چینی دوجهته بصورت کلی ما دو نوع الگوریتم داریم که هر دو در سطح موتور تک انجام می‌شود:

  • الگوریتم TeX-XeT
  • الگوریتم Omega

الگوریتم نخستین توسط Knuth و MacKay ابداع شده است که برای توضیحات آن می‌توانید این مقاله را بخوانید. الگوریتم TeX--XeT که در موتور e-TeX وجود دارد و بسته bidi از آن استفاده می‌کند نسخه تغییریافته این الگوریتم است که مشکلاتی دارد که بارها در این سایت و سایت قبلی به آن اشاره شد. به عنوان نمونه، یکی از مشکلات اصلی این است که این الگوریتم تغییریافته whatsitها را در متون راست به چپ برعکس می‌کند و در نتیجه هر چیزی که با دستور بدوی \special سر و کار دارد و توسط درایور تولید می‌شود (مانند رنگ، لینک و ...) مشکل‌ساز است به این خاطر که ترتیب \specialها در متون راست به چپ برعکس وارد می‌شود. الگوریتم اصلی این مشکل را ندارد اما مشکلات دیگری دارد.

الگوریتم به کار رفته در سیستم omega که در aleph نیز وجود دارد و به LuaTeX هم راه یافته است مشکلات زیادی دارد و وضعیت بهتری ندارد اما این مشکلات از دسته متفاوتی هستند. طی تجربه‌ای که در ۱۵ سال گذشته با حروف‌چینی دوجهته داشته‌ام، الگوریتم TeX--XeT با تمام مشکلاتش stableتر از الگوریتم Omega است و به آن اعتماد بیشتری می‌توان کرد.

Legally در این مقاله توضیح می‌دهد که چگونه می‌توان تنها با استفاده از تک کنوث متن‌های راست به چپ و چپ به راست را حروف‌چینی کرد. الگوریتم‌های توضیح داده شده پیچیده هستند و حدود ۸ ساعت طول کشید تا من بفهمم که نحوه دقیق انجام این کار چگونه است. این مقاله بسیار جالب است و حداقل خواندن آن من را به این تشویق کرد که با استفاده از الگوریتم‌های توضیح داده شده نسخه‌ای از بسته bidi را بنویسم که در آن حروف‌چینی دوجهته تنها با استفاده از ماکروهای تک و تنها با استفاده از امکانات موجود در موتور تک کنوث انجام شود. یکی از ایرادهای این روش این است که به خاطر پیچیدگی الگوریتم‌های موجود منابع کامپیوتری زیادی نیاز دارد و اگر از کامپیوتر ۲۰ سال پیش استفاده کرد ممکن است پردازش نوشتارها زمان زیادی بگیرد اما امروزه کامپیوترها بسیار سریع هستند و این سرعت روز به روز رو به افزایش است بنابراین به نظر نمی‌رسد این مشکل امروزه حتی به چشم بیاید. یکی از مهمترین مزایای این روش آن است که بسته حاصل portable است و با هر موتور تکی کار خواهد کرد زیرا تنها به موتور تک کنوث نیاز دارد و مزیت دیگر مهم آن این است که مشکلات الگوریتم‌های بالا را ندارد.

سوال شده آذر 12, 1397 توسط وفا (24,380 امتیاز)
درود بر شما و ممنون از توضیحات ارزنده ی شما.
سلام و عرض ادب و احترام
از توضیحات شما ممنونم.
به برخی دستورات بدوی اشاره فرمودید،
اما من متوجه نشدم که در صورت تکمیل پروژه‌های bidirtex و persiantex، استفاده از بسته‌های دیگری همچون بیمر، در آن ممکن خواهد بود؟ یا مجددا برای هر بسته باید یک اصلاحیه نوشته شود تا قابل استفاده در فارسی باشد؟
تشکر و سپاس فراوان
اگر منظور شما تغییر در سایر بسته‌ها هست، این تغییرات لازم خواهند بود تا بسته‌های دیگر به درستی کار کنند حتی تغییرات پیچیده‌تر از تغییرات بسته bidi در بسته‌های دیگر خواهد بود اما مشکلی وجود نخواهد داشت زیرا که ما تنها از تک استاندارد استفاده می‌کنیم و باگی در سطح پایین برای حروف‌چینی دوجهته وجود نخواهد داشت و این مهمترین مزیت آن است. هر مشکلی که وجود داشته باشد می‌توان در سطح ماکرو حل کرد در صورتی که با بسته bidi یا xepersian مشکلاتی در سطح موتور زی‌تک و الگوریتم TeX--XeT وجود دارد که در سطح ماکرو قابل حل نیستند.

همانطور که می‌دانید سلام یک واژه تازی و بیگانه است و جایی در زبان پارسی ندارد. حتی اگر از آن به عنوان یک واژه آئینی استفاده می‌کنید کارگر نیست زیرا که این واژه تنها بین دو مسلمان کاربرد دارد حال آنکه من پدر در پدر از اقلیت‌های آئینی هستم و مسلمان نیستم.
درود بر شما
من سواد تاریخ ندارم ولی مثل اینکه سلام یک کلمه از زبان سامی هست. (سام پسر نوح بوده.) با این اوصاف، بخاییم کلمه باستانی‌تر (قدیمی‌تر) استفاده کنیم، سلام از درود هم قدیمیتر نمیشه؟
هادی صفی‌اقدم: این تنها خرافات و دروغ‌های خنده‌دار است که هدفش تنها و تنها ایران‌ستیزی است.
آهان. ممنون. ببخشین سواد تاریخیم کمه.
من خودم سعی می‌کنم عادت کنم به جای فارسی معرب پارسی استفاده کنم.
ولی هنوز عادت نکرده ام درود بگویم. اگه جایی گفتم، جدی نگیرین سخته عادت کنیم.
...