نسخه بعدی از موتور تک: LuaTeX

همان‌طور که می‌دانید LuaTeX نسخه بعدی PDFTeX است. یعنی قرار است در آینده LuaTeX جایگزین PDFTeX شود. TeX - eTeX - PDFTeX (=PDFeTeX) - XeTeX - Omega - Aleph و LuaTeX همه موتور تک می‌باشند. به این معنی که این برنامه‌ها مسئول تفسیر ماکروهای ما (همان فایل‌های تکی که می‌نویسیم) در پایین‌ترین سطح می‌باشند. تمام ماکروهای LaTeX هم توسط موتور تک تفسیر می‌شوند و در واقع LaTeX یک مجموعه از ماکروها است که توسط موتور تک تفسیر می‌شوند و ما از این ماکروها برای نوشتن فایل‌های تک خود استفاده می‌کنیم. هر کدام از موتورهای تک امکاناتی را برای ما فراهم می‌کنند که ممکن است در دیگر موتورها نباشد.

اولین موتور تک که همان TeX است به وسیله دونالد کنوث تهیه شد. نسخه بعدی آن eTeX است که امکان تهیه یک جعبه با محتویات راست به چپ را فراهم می‌کرد (به علاوه چند بهبود دیگر). فارسی تک مبتنی بر eTeX است.

Omega و aleph امکان استفاده از یونیکد را به صورت مستقیم فراهم می‌کردند و به علاوه امکان حروفچینی در جهت‌های متعددی (برای صفحه، پاراگراف و جعبه) را فراهم می‌کردند. هر دو این پروژه‌ها به وضعیت پایدار (بی‌اشکال) نرسیدند و متوقف شدند. ماکروهای ایران تک مبتنی بر aleph است.

XeTeX نسخه‌ای از eTeX است که امکان استفاده از یونیکد و قلم‌های یونیکد نصب شده روی سیستم را به صورت مستقیم فراهم می‌کند. این پروژه تازه به دنیا آمده است و شاید به زودی از دنیا برود.

PDFTeX به هنگام تهیه خروجی از امکانات PDF استفاده می‌کند. موتورهای تک PDFTeX و eTeX با همدیگر ادغام شدند و حاصل کار مجددا PDFTeX نامیده شد (یعنی دیگر چیزی به نام eTeX وجود ندارد).

LuaTeX نسخه‌ای از PDFTeX است که در آینده جایگزین PDFTeX می‌شود. LuaTeX امکان استفاده از یونیکد، قلم‌های OpenType، زبان‌های راست به چپ (مانند عربی)، قابلیت‌های قالب PDF را فراهم خواهد کرد. مهمتر از همه این‌ها امکان برنامه‌نویسی و توسعه تک از طریق اسکریپت‌هایی به زبان Lua را در اختیار می‌گذارد که به مراتب از زبان فعلی تک بهتر است (زبان متن موتور تک در زمانی تهیه شده است که از زبان‌های برنامه‌نویسی C و Pascal خبری نبوده است). تصور می‌کنم این پروژه بعد از به بار نشستن، برای سال‌ها زنده بماند.

لازم به ذکر است که LaTeX تنها بسته‌ای نیست که بر روی موتور تک می‌نشیند. ConTeXt نیز بسته‌ای است که روی موتور تک می‌نشیند. این بسته بعد از LaTeX تهیه شده است و بسیاری از مشکلات LaTeX را ندارد، ولی همچنان برای ارسال مقالات به کنفرانسها و مجلات علمی از LaTeX استفاده می‌شود.

دستورات و بسته‌های منقضی شده لاتک ۲-ای

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

ماکروهایی برای حروفچینی فارسی با XeTeX (نسخه ۰٫۲)

ماکروهایی برای حروفچینی فارسی با XeTeX (نسخه ۰٫۲) قابل دریافت است. در این نسخه امکانات زیر فراهم شده است:

 

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

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

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

  1. وبلاگ تک پارسی: مدیر وبلاگ آقای وفا خلیقی، که در زمینه استفاده از نرم‌افزار تک پارسی مطلب می‌نویسند.
  2. وبلاگ تک ایرانی (در اولین پست وبلاگ خود را به این نام خوانده‌اند): وبلاگ گروهی از دانشجویان کامپیوتر دانشگاه صنعتی شریف می‌باشد، که قصد دارند در زمینه تک و زبان فارسی کار کنند.

برای همه آنها آرزوی موفقیت می‌کنم. در ضمن اول برای خودم و سپس برای آنها قطعه شعر زیر را مناسب می‌دانم:

رهرو آن نیست که گه تند و گهی خسته رود           رهرو آن است که آهسته و پیوسته رود

ماکروهای (کاملا) مقدماتی برای فارسی نوشتن با XeTeX و ArabXeTeX

این یک مجوعه فایل است که شامل ماکروهای مقدماتی برای فارسی نوشتن با XeTeX و ArabXeTeX می‌باشد. یک مثال و خروجی PDF آن را می‌توانید مشاهده کنید. دقت کنید که ماکروها بسیار مقدماتی می‌باشند.

حروفچینی یک شعر با قلم نستعلیق در ArabXeTeX

یک قلم نستعلیق مجانی مطابق با یونیکد از این آدرس قابل دریافت است. با این قلم می‌توانید حتی در محیط notepad هم نستعلیق بنویسید. مشکلاتی هم دارد، ولی اولا دندان اسب پیش‌کشی رو که نمی‌شمارند و در ثانی به قول معروف: کاچی به از هیچی!

این هم متن شعر و خروجی PDF که با سیستم ArabXeTeX حروفچینی شده است. گذشته از اینکه خود قلم ممکن است مشکلاتی داشته باشد، شاید بعضی از مشکلات مربوط به تک باشد! مثلا به «الف» در کلمات «کجا»، «آفتاب»، «بیمار»، «بیگناهی»، «نابسامانی» و «مسلمانی» نگاه کنید. این مشکل به هنگام استفاده از notepad به وجود نمی‌آید. ولی چگونه باید این مشکل را در این سیستم رفع کرد؟! به چه کسی باید گزارش کرد؟! علاوه بر مشکل قبلی، فایل PDF حاصل قابل جستجو نیست و نیز نمی‌توان از آن کپی و پیست کرد.

صفحه کلید فارسی در ویندوز

صفحه کلید موجود در ویندوز XP و ۲۰۰۰ دو مشکل اساسی دارد:

  1. از نویسه‌های عربی حروف «کاف» و «یا» استفاده می‌کند.
  2. نویسه‌های ZWNJ و ZWJ را ندارد. از نویسه اول به عنوان مثال برای نوشتن «می‌آمد» استفاده می‌شود. همانطور که می‌بینید حروف «یا» و «الف با کلاه» به همدیگر نچسبیده‌اند و نیز بینشان فاصله‌ای وجود ندارد.

برای حل این مشکل به این آدرس (که متعلق به دکتر خانبان می‌باشد) رجوع کنید. در آنجا نحوه برطرف کردن مشکل توضیح داده شده است.

نمونه (ArabXeTeX): مناجات امام رضا (ع)

فایل تک مناجات امام رضا (ع) و خروجی PDF آن که با ArabXeTeX حروفچینی شده است.

زنده باد فهرست مطالب

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

ArabXeTeX

باید  ماکروهایی برای استفاده از ArabXeTeX به همراه Babel تهیه شود. عمده این ماکروها را از ماکروهای موجود در Arabi package و arabrep.cls می‌توان استخراج کرد. همین طور که می‌دانید ArabXeTeX را می‌توانید در ویندوز با MiKTeX 2.7 نصب کنید. مزیت‌های ArabXeTeX به مراتب بیشتر از Arabi package است. برای استفاده از ArabXeTeX باید از XeLaTeX استفاده کنید. متاسفانه ArabXeTeX را نمی‌توان با IPE به کار برد، چون IPE در حال حاضر از MiKTeX 2.6 (به بعد) پشتیبانی نمی‌کند.
فقط یک مشکل به ذهنم می‌رسد و آن این است که ممکن است پروژه XeTeX مانند Omega رها شود ... ولی حداقل XeTeX سنگ بزرگی را برنداشته است که بعدا مشخص شود که از عهده‌اش برنمی‌آید.
XeLaTeX = LaTeX + XeTeX
XeTeX = PDFeTeX + Unicode + (Windows) OpenType Fonts + (Mac) AAT