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

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

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

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

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

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

  • الگوریتم 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,609 امتیاز)
درود بر شما و ممنون از توضیحات ارزنده ی شما.
سلام و عرض ادب و احترام
از توضیحات شما ممنونم.
به برخی دستورات بدوی اشاره فرمودید،
اما من متوجه نشدم که در صورت تکمیل پروژه‌های bidirtex و persiantex، استفاده از بسته‌های دیگری همچون بیمر، در آن ممکن خواهد بود؟ یا مجددا برای هر بسته باید یک اصلاحیه نوشته شود تا قابل استفاده در فارسی باشد؟
تشکر و سپاس فراوان
اگر منظور شما تغییر در سایر بسته‌ها هست، این تغییرات لازم خواهند بود تا بسته‌های دیگر به درستی کار کنند حتی تغییرات پیچیده‌تر از تغییرات بسته bidi در بسته‌های دیگر خواهد بود اما مشکلی وجود نخواهد داشت زیرا که ما تنها از تک استاندارد استفاده می‌کنیم و باگی در سطح پایین برای حروف‌چینی دوجهته وجود نخواهد داشت و این مهمترین مزیت آن است. هر مشکلی که وجود داشته باشد می‌توان در سطح ماکرو حل کرد در صورتی که با بسته bidi یا xepersian مشکلاتی در سطح موتور زی‌تک و الگوریتم TeX--XeT وجود دارد که در سطح ماکرو قابل حل نیستند.

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