لاتك واللغة العربية
توجد عدة حزم لدعم اللغة العربية في لاتك، أشهرها وأقدمها حزمة عربتك (ArabTeX). يعيب عربتك اعتمادها على خط واحد لا يمكن تغييره (وهو خط ليس بالجميل بمعايير الطباعة). هناك أيضا حزمة عربي (Arabi) وهي حزمة حديثة وجيدة جدا، لكنها لا تعمل سوى مع عدد محدود من الخطوط المدعومة مسبقا، ويجب إضافة كل خط جديد على حدة (وهي عملية ليست بسيطة). سنركز هنا في الحديث على نظام زيتك لأنه أحد أفضل الحلول المتاحة.
نفترض هنا وجود معرفة مسبقة بلاتك، لذا لن نخوض في الأساسيات التي تخرج عن هدف هذه الوثيقة الصغيرة.
محتويات
زيتك
زيتك (XeTeX) هو محرك تك يدعم يونيكود وتقنيات الخطوط الحديثة مثل أوبنتيب (OpenType). بفضل دعم زيتك لأوبنتايب ويونيكود يمكن استخدامه في تنضيد المستندات العربية.
التثبيت
في دبيان:
apt-get install texlive-latex-base texlive-xetex
لا تحتاج إلى texlive-latex-base إذا كنت لا تنوي استخدام latex وستكتفي بتِك الصِرف (لا أعتقد أن أحدا يريد ذلك). يفترض أن يعمل هذا مع أوبونتو أيضا.
الاستخدام
لا يختلف استخدام زيتك كثيرا عن استخدام لاتك العادي:
\documentclass{article} \usepackage{fontspec} % هذه لنستطيع تغيير الخطوط \usepackage{bidi} % هذه توفر أوامر تحديد اتجاه النص \setmainfont[Script=Arabic]{Simplified Naskh} % الخط الرئيسي \setsansfont[Script=Arabic]{Mothanna} % الخط غير المذيل \setmonofont[Script=Arabic]{Thabit} % الخط ثابت العرض \title{\RL{العربي مع لاتك}} \author{\RL{خالد حسني}} \date{\RL{6 إبريل 2008}} \begin{document} \maketitle \setRL % يجعل كل الفقرات التالية من اليمين لليسار هذه فقرة مكتوبة باللغة العربية، والكلمات مرتبة من اليمين لليسار، والسطر محاذى إلى اليمين، هل انتهينا؟ لا نريد تطويله قليلا لأنهم يدفعون لي بالكلمة هذه الأيام. فقرة جديدة، مايزال النص محاذا يمينا، لكن نريد كتابة جملة إنجليزية، بسيطة اكتبها هكذا \LR{English text, left to right} ولو كانت كلمة واحده كهذه english فلا تحتاج لمعاملة خاصة. \setLR % يجعل الاتجاه من اليسار لليمين Now, we can type a left to right paragraph, that is simple, and all paragraphs from now on will be left to right. But, how to insert some Arabic text, the same as what we did with LR in RL environtment, \RL{نص عربي، من اليمين لليسار}, and a single word عربي doesn't need special handling. \end{document}
حزمة fontspec تتيح لنا تغيير الخطوط، والتحكم في خصائصها، وهي حزمة قوية جدا لمن يريد تحكما دقيقا في الخصائص الطباعية للخطوط.
لتغيير الخطوط الرئيسية للمستند، نستخدم الأوامر:
\setmainfont[Script=Arabic]{Simplified Naskh}
لتحديد الخط الرئيسي للمستند، الذي سيُستخدم مع كل النصوص. الجزء الأول Simplified Naskh
هو اسم الخط، يجب أن يكون الخط مثبتا على نظامك وإلا سيشتكي xelatex من عدم وجود الخط. من حسنات حزمة fntspec أنها ترى الخطوط المثبتة في النظام ولا تحتاج لخطوات خاصة لإخبار لاتك عن مكانها (وهذا يحل مشكلة إضافة الخطوط إلى لاتك). الجزء الثاني Script=Arabic
يحدد خصائص أوبنتيب التي نريد تفعيلها، هنا نخبره بتفعيل كل الخصائص المرتبطة بالكتابة العربية، لكن يمكننا التحكم في المزيد من هذه الخصائص هنا. اقرأ المزيد عنها.
\setsansfont[Script=Arabic]{Mothanna}
لتحديد خط sans، الذي سيُستخدم عند طلب خط من هذا النوع.
\setmonofont[Script=Arabic]{Thabit}
لتحديد الخط ثابت العرض (teletype باصطلاح تك) الذي سيُستخدم عند طلبه، مثلا مع الأمر \texttt{}
.
حزمة bidi توفر أوامر التحكم في اتجاه النص، \RL{}
لكتابة جملة من اليمين لليسار في سياق من اليسار لليمين، و \LR{}
للعكس. \setRL
تبدل الاتجاه العام ليصبح من اليمين لليسار، و \setLR
تفعل العكس.
ملاحظة مهمة ، حزمة bidi يجب أن تكون أخر حزمة يتم تحميلها ، فعلى سبيل المثال لا يمكن إدراج صورة في نص عربي (داخل\RL{}
) باستعمال حزمة graphics إذا قمت بتحميل حزمة bidi قبلها.
اقرأ المزيد عنها.
احفظ الملف، مثلا example.tex، ثم من سطر الأوامر:
xelatex example.tex
سيُنتج هذا ملف PDF بنفس الاسم.
عرب زيتك
إذا كنت معتادا على ArabTeX، أو تريد الاستفادة من الخصائص التي يقدمها (مثل إمكانية كتابة النص العربي بحروف لاتينية، والتحكم في عرض التشكيل أو عدمه) فيمكنك استخدام حزمة ArabXeTeX وهي حزمة توفر واجهة استخدام شبيهة بعربتك لكن باستخدام محرك زيتك متخلصة من العيوب الرئيسية لعربتك. اقرأ المزيد عنها.
التثبيت
نزّلها من هنا، فك الضغط، ادخل إلى الدليل الناتج، انسخ ملفات الخطوط والترميز إلى مكان تثبيت xelatex:
$ unzip arabxetex.zip $ cd arabxetex $ sudo cp -r fontmapping /usr/share/texmf-texlive/fonts/misc/xetex/fontmapping/arabxetex/ $ sudo cp xelatex/arabxetex.sty /usr/share/texmf-texlive/tex/xelatex/ $ sudo texhash
الماترات بأعلى على حسب دبيان، قد يختلف هذا في توزيعتك.
الاستخدام
مثال:
\documentclass{article} \usepackage{arabxetex} \newfontinstance\arabicfont{Simplified Naskh:script=arab} \title{\textarab{العربي مع لاتك}} \author{\textarab{خالد حسني}} \date{\textarab{6 إبريل 2008}} \begin{document} \maketitle \begin{arab} فقرة عربية محاذاة لليمين، والنص يجري من اليمين لليسار ونستطيع كتابة نص لاتيني \textroman{English text inside Arabic environment}. وهناك الكثير من الميزات، مثلا لإبراز نص عربي نستخدم \aemph{نص مهم} وهي تضع سطرا فوق النص، أو يمكننا كتابة رقم آية هكذا [[55]]. ويمكننا استخدام أسلوب عربتك الخاص حيث يتيح تحكما أكبر في النص. مثلا لكتابة آية من القرآن الكريم: \end{arab} \newcommand{\hamzaB}{\char"200D\char"0640\raise-.95ex\hbox{\char"0654}\char"200D} \begin{arab}[fullvoc] sUraTu 'l-ssajdaTi 15--16: 'innamA yu'minu bi-\hamzaB a|"Ay___atinA 'lla_dIna 'i_dA _dukkirUA bihA _harrUA sujjadaN wa-sabba.hUA bi-.hamdi rabbihim wa-hum lA yastakbirUna SAJDA [[15]] tatajAfY_a junUbuhum `ani 'l-ma.dAji`i yad`Una rabbahum _hawfaN wa-.tama`aN wa-mimmA razaqn_ahum yunfiqUna [[16]] \end{arab} \end{document}
ملاحظات
hyperref
عند استخدام حزمة hyperref تحتاج لإخبارها أنك تستخدم xetex ليس pdflatex. مثلا:
\usepackage[xetex]{hyperef}
معلومات PDF
إذا كنت تريد تحديد معلومات ملف PDF (مثل المؤلف، والموضوع، والكلمات المفتاحية) فيمكنك هذا باستخدام حزمة hyperref أيضا:
\usepackage[xetex, pdftitle={عنوان الوثيقة} pdfauthor={مؤلف الوثيقة} pdfsubject={موضوع الوثيقة}, pdfkeywords={كلمة كلمة أخرى}]{hyperref}
لاحظ أننا لا نحتاج لتحديد اتجاه النص هنا، فهذه المعلومات تخزن في ملف PDF كمعلومات فوقية (meta info) ولا تعرض في الملف مباشرة (يمكن الوصول إليها من نافذة معلومات الملف في عارض PDF الذي تستخدمه).
الأعمدة
لصف النص في أكثر من عمود ستحتاج لحزمة fmultico (نسخة من multicol تصف الأعمدة من اليمين لليسار)، نزل الملف وضعه في مسار حيث يجده لاتك (المجلد الحالي مثلا). استخدام الحزمة لا يختلف عن multicol العادية. مثلا:
\usepackage{fmultico} \begin{document} \begin{multicols}{3} % ثلاث أعمدة ضع النص هنا \end{multicols} \end{document}