> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ar/mqalat-mtamqh/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

# ما الذي في الاسم: دليل إلى الأشكال العديدة لـTeX

## مقدمة

ربما سمعتَ، أو قرأتَ عن، شيء يُسمّى «TeX» أو «LaTeX» أو «pdfLaTeX»—أو أيًّا من مجموعة كبيرة من المصطلحات المشابهة—لكنّك لست متأكدًا تمامًا مما تعنيه فعليًا؟ إذا كان الأمر كذلك، فهذه المقالة لك: خلفية غير تقنية تشرح الأنواع العديدة من البرمجيات القائمة على TeX—ما الذي تعنيه ولماذا وُجدت. في الوقت الحالي سنبسط النقاش باستخدام المصطلح العام «TeX»، لكننا لاحقًا سنوضح السياق والمعنى وراء مشتقاته وتنوعاته العديدة: LaTeX وpdfTeX وpdfLaTeX وXeTeX وXeLaTeX وLuaTeX وLuaLaTeX. ربما رأيت بعض هذه المصطلحات ضمن قائمة Overleaf حيث تتيح لك اختيار «المترجم» المفضل لديك:

![اختيار مترجم LaTeX في Overleaf](/files/ba2963645f01e1d1d4093f5cdc2aef57b9179593)

ما لم تكن مستخدمًا متمرّسًا لـTeX، أو على دراية بمنظومته، فقد تكون «أنواع TeX» العديدة مربكة؛ لكنك بنهاية هذه المقالة ينبغي أن تشعر بقدر أكبر من المعرفة والارتياح عند التعامل مع أي زملاء أو مؤلفين أو محرري مجلات يتحدثون بمصطلحات قائمة على TeX.

### السياق: 40 عامًا من التطور

تعود جذور TeX إلى أواخر سبعينيات القرن العشرين، وقد شهدت العقود التي تلت نشأته تطوير عدد كبير من برامج التنضيد القائمة على TeX، والتي توفر تحسينات كبيرة ووظائف إضافية مقارنة ببرنامج TeX الأصلي. وقد يفاجأ الجدد على النشر العلمي والتقني، أو من يفكرون فيه كمسار مهني، عندما يعلمون أن برامج التنضيد التي تعود نشأتها إلى نحو 40 عامًا لا تزال مستخدمة على نطاق واسع من قبل المؤلفين التقنيين—وأنها تشكل عنصرًا حاسمًا في كثير من سير العمل الحديثة للنشر عبر خدمات مثل Overleaf.

### TeX ليس فقط للرياضيات

من المفاهيم الخاطئة الشائعة، وإن كانت مفهومة، أن استخدام TeX يقتصر على التخصصات العلمية والتقنية؛ وبالتحديد على تنضيد الرياضيات المعقدة. ورغم أنه يجد معظم مستخدميه في تلك المجالات، فإن البرمجيات القائمة على TeX تُستخدم على نطاق واسع لإنتاج المحتوى غير الرياضي—بسبب جودة مخرجاتها العالية ومرونتها المذهلة. وإلى جانب تنضيد الرياضيات، تدعم أحدث إصدارات TeX (المسماة XeTeX وLuaTeX) تقنيات الخطوط الحديثة (OpenType)، وإدخال النصوص المعتمد على Unicode، وخطوط الرياضيات المعتمدة على OpenType (كما رائدتها Microsoft Word)، والتنضيد متعدد اللغات (بما في ذلك العربية واللغات الأخرى ذات النصوص المعقدة)، والإخراج المباشر إلى PDF، وغير ذلك الكثير. فعلى سبيل المثال، إليك عرضًا لقدرة XeTeX على [التنضيد متعدد اللغات مع اللغات ذات النصوص المعقدة](https://www.overleaf.com/latex/examples/how-to-write-multilingual-text-with-different-scripts-in-latex/wfdxqhcyyjxz)، بما في ذلك العربية والسنسكريتية والهندية والصينية واليابانية والكورية واليونانية والتايلاندية. أو، إذا كنت مهتمًا بالطهي، فماذا عن إنتاج [كتيّب وصفات](https://www.overleaf.com/latex/examples/simple-recipes-for-first-time-away-from-home-cooks/gscqdhnwzsfg)?

## نشأة TeX: تاريخ موجز

المؤرخ الأمريكي [دانيال ج. بورستين](https://en.wikipedia.org/wiki/Daniel_J._Boorstin) أشار ذات مرة إلى أن:

> «محاولة التخطيط للمستقبل من دون إحساس بالتاريخ تشبه محاولة غرس زهور مقطوفة.»

انسجامًا مع روح هذا الاقتباس، سنبدأ بتاريخ موجز لـTeX: من أين جاء، ومن أنشأه—ولماذا؟

في 30 مارس 1977، سجّل دفتر يوميات البروفيسور دونالد كنوت، عالم الحاسوب في جامعة ستانفورد، الملاحظة التالية للتعبير عن استيائه من جودة البروفات المطبوعة التي كان قد استلمها للتو للمجلد 2 من سلسلة كتبه *فن برمجة الحاسوب*:

> «تصل بروفات الصفّ للمجلد 2 أخيرًا، وتبدو سيئة للغاية... (من الناحية الطباعية). قررت أن عليّ حل المشكلة بنفسي.»

الاقتباس أعلاه مأخوذ من الصفحة 482 من [الطباعة الرقمية](https://www.amazon.co.uk/Digital-Typography-Language-Information-Publication/dp/1575860104) لـدونالد إ. كنوت. وقد شكّل ذلك السجل الصغير في يوميات البروفيسور كنوت الشرارة التي أطلقت رحلة برمجية استمرت سنوات عديدة وأسفرت عن إنشاء برمجيات تنضيد قادرة على إنتاج رياضيات منضدة بإتقان، وبالطبع نصوص منضدة بشكل جميل: برنامج سمّاه كنوت *TeX*.

كان كنوت عالم حاسوب لامعًا، وأثناء تطويره لـTeX، صمّم هو وزملاؤه خوارزميات جديدة ومتقدمة لحل بعض مشكلات التنضيد المعقدة جدًا: بما في ذلك [كسر السطور تلقائيًا](http://onlinelibrary.wiley.com/doi/10.1002/spe.4380111102/abstract), [القطع اللفظي](http://www.tug.org/docs/liang/liang-thesis.pdf) وبالطبع، [تنضيد الرياضيات](http://www.tug.org/TUGboat/tb27-1/tb86jackowski.pdf). وكجزء من تطوير TeX احتاج كنوت إلى خطوط لاستخدامها مع برمجيات التنضيد الخاصة به، فطوّر تقنية الخطوط الخاصة به المسماة MetaFont—مع أننا لن نناقشها هنا بالتفصيل.

### كان TeX نجاحًا هائلًا

أسهمت عدة أسباب في شعبية TeX، ومنها:

* *تنضيد عالي الجودة*: إضافةً إلى الخوارزميات المتقدمة المدمجة في TeX، أدت عناية كنوت الشديدة بالتفاصيل الطباعية إلى قدرة TeX على إنتاج رياضيات ونصوص منضدة بجودة عالية جدًا.
* *TeX قابل للبرمجة*: منح كنوت TeX لغته البرمجية الخاصة. وكان بإمكان المستخدمين كتابة «وحدات ماكرو TeX» (مجموعة من أوامر TeX) تمنحهم قدرًا كبيرًا من التحكم في عملية التنضيد في TeX. وتُعد قابلية برمجة TeX موضوعًا مهمًا وسنتناوله بمزيد من التفصيل أدناه.
* *TeX مجاني*: أتاح كنوت TeX دون أي تكلفة—بما في ذلك الشيفرة المصدرية الخاصة به (أي شيفرة البرنامج).
* *قابلية النقل*: صمّم كنوت البنية الداخلية لـTeX بحيث يضمن أنها قابلة للنقل بدرجة عالية ويمكنها العمل على كثير من أنظمة الحاسوب المختلفة. وباستخدام المدخلات نفسها، كان TeX ينتج المخرجات نفسها، بغض النظر عن النظام الذي يعمل عليه—ويشمل ذلك إنتاج فواصل الأسطر والصفحات نفسها.

كان المؤلفون سعداء لأن TeX مكّن الرياضيين والفيزيائيين وعلماء الحاسوب وغيرهم من التحكم الدقيق في تنضيد أعمالهم ومظهرها البصري. وكان بإمكان المؤلفين استخدام TeX لكتابة مقالاتهم أو كتبهم وإرسال مخطوطاتهم (ملفات TeX) إلى الناشرين، وهم يشعرون بقدر أكبر من الثقة بأن بروفاتهم لن تلقى المصير نفسه الذي لقيه بروفات كنوت في عام 1977.

## لا يزال كنوت يصون TeX، لكن «إصدارات» جديدة ظهرت

خلال ثمانينيات القرن العشرين قرر كنوت تجميد التطوير النشط لـTeX لأنه أراد ضمان الاستقرار طويل الأمد لبرمجياته: فقرر ألا تُضاف أي ميزات جديدة إلى TeX. وفي عام 1989 اقتنع كنوت بإجراء [مجموعة أخيرة من التعديلات](https://www.tug.org/TUGboat/tb10-3/tb25knut.pdf) على TeX—وذلك أساسًا للانتقال من مجموعات أحرف 7 بت إلى 8 بت. وفي عام 1990 نشر كنوت مقالًا بعنوان [مستقبل TeX وMetaFont](https://www.tug.org/TUGboat/tb11-4/tb30knut.pdf) أعلن فيه أن تطويره لـTeX (والبرمجيات ذات الصلة) قد انتهى، لكن الآخرين أُتيح لهم البناء على العمل الذي أنجزه.

اليوم، وبعد نحو 4 عقود من تلك النشأة المصيرية لـTeX، لا يزال كنوت يجري إصلاحات دورية للأخطاء في الشيفرة المصدرية الرئيسية لـTeX—وهي متاحة من خلال [CTAN (الشبكة الشاملة لأرشيف TeX)](https://www.ctan.org/tex-archive/systems/knuth/dist/tex/). وتحدث تلك التحديثات كل بضع سنوات، وكان أحدثها [عملية تحديث TeX لعام 2014](https://www.tug.org/TUGboat/tb35-1/tb109knut.pdf) كما ورد في مجلة TeX [TUGboat](https://www.tug.org/TUGboat/Contents/contents35-1.html)—ومن المقرر أن تكون عملية التحديث التالية في عام 2021! وخلال تلك التحديثات لا يضيف كنوت ميزات جديدة إلى TeX، بل هي بالفعل مجرد إصلاحات للأخطاء—مع أن TeX يُعد عند كثيرين أكثر برنامج خالٍ من الأخطاء في العالم.

**ملاحظة حول «إصدارات» TeX**: عند الكتابة عن TeX من المهم جدًا التأكيد على أنه، بالمعنى الدقيق، لا يوجد سوى إصدار واحد نهائي من «TeX»: ذلك الذي كتبه كنوت ويصونه. وفي الواقع فإن «TeX» (المشار إليه بشعاره الطباعي) علامة تجارية تابعة للجمعية الرياضية الأمريكية. ولم يمنع كنوت الآخرين من استخدام شيفرته لتطوير برمجيات *معتمدة على TeX*—موسّعين برمجيات كنوت لإضافة ميزات ووظائف تتجاوز ما اختار كنوت تنفيذه. ومع ذلك، فقد وضع كنوت، وهو حقه المطلق، شرطًا صارمًا واحدًا يمكن العثور عليه في الشيفرة المصدرية لـTeX:

`إذا غُيّر هذا البرنامج، فلا ينبغي أن يُسمّى النظام الناتج TeX؛ فالاسم الرسمي TeX وحده محفوظ للأنظمة البرمجية المتوافقة تمامًا مع بعضها البعض.`

وعليه، فليس دقيقًا تمامًا أن نُشير إلى البرامج المشتقة من الشيفرة المصدرية لــكنوت باعتبارها «إصدارات» من TeX. وبالمعنى الدقيق، *المعتمدة على TeX* يجب أن يُشار إلى البرمجيات المشتقة من الشيفرة المصدرية لـTeX على أنها «تعديلات» أو «مشتقات»، لكننا من أجل التبسيط سنواصل استخدام مصطلح «إصدارات»، مع إدراك التحفظات المذكورة هنا.

وعلى الرغم من أن كنوت جمّد التطوير، ظل هناك طلب قوي على ميزات جديدة لـTeX، أو تحسينات على الميزات الحالية، وعلى مر السنين جرت محاولات مختلفة لتطوير «الجيل التالي من TeX»—كان بعضها ناجحًا جدًا، وبعضها الآخر لم يكن كذلك. إنه تاريخ مثير للاهتمام، لكن لا يمكننا التطرق إليه هنا—ويمكن للقارئ المغامر العثور على عرض أكثر اكتمالًا في مقال لفرانك ميتلباخ: [TUGboat، المجلد 34 (2013)، العدد 1](https://www.tug.org/TUGboat/tb34-1/tb106mitt.pdf).

خلال تسعينيات القرن العشرين بدأت بعض أجزاء TeX تُظهر قدمها—بما في ذلك طريقة التعامل مع الخطوط وصيغة الملفات المستخدمة لمخرجات TeX: التنسيق المعروف باسم Device Independent، أو DVI. وكان معظم المستخدمين يحولون مخرجات TeX إلى PostScript، لكن بحلول منتصف التسعينيات بدأ PostScript يتراجع مع صعود PDF بوصفه صيغة ملف الإخراج المفضلة. وبالطبع كانت هناك مكانة TeX في عالم أصبح فيه الإنترنت موجودًا الآن. ومع ذلك، وعلى الرغم من هذه أوجه القصور، ظلت كثير من خوارزميات TeX الأساسية—كسر السطور والمحاذاة، والقطع اللفظي، وتنضيد الرياضيات—لا يُضاهى. وكان المطورون يرغبون في البناء على نقاط قوة TeX لكن تحديث المجالات التي تجاوزها الزمن، وكان على TeX حقًا أن يلحق بالركب.

### ما أهمية الاسم؟

أصبح من المتعارف عليه أن البرمجيات المشتقة من TeX تحصل على اسمها بإضافة بادئة إلى كلمة «TeX»: فتظهر أسماء برامج مثل **pdf**TeX، **Xe**TeX و **Lua**TeX. ورغم أن هذه البرامج مشتقة من برمجيات TeX الأصلية لِـكنوت، فإنها تتضمن ميزات ووظائف غير متاحة في النسخة الأصلية لِـكنوت. وغالبًا ما يُشار إلى هذه البرامج التنفيذية مجتمعةً على أنها **محركات TeX**—فكّر فيها على أنها البرمجيات التي *تشغّل* عملية التنضيد. ويوجد وصف موجز لـpdfTeX وXeTeX وLuaTeX في نهاية هذه المقالة.

### LaTeX: مجموعة من وحدات الماكرو، وليست محرك TeX

ذكرنا أن البرامج القائمة على TeX والمشتقة من برمجيات كنوت تحمل أسماء مثل pdfTeX أو XeTeX؛ ومن الطبيعي أن تظن أن LaTeX مجرد نسخة أخرى من برمجيات كنوت. للأسف، الأمر ليس بهذه البساطة. فـLaTeX ليست نسخة من برنامج التنضيد التنفيذي TeX: إنها مجموعة من ما يُسمّى *وحدات ماكرو TeX*، وهو موضوع سنناقشه بمزيد من التفصيل أدناه. وقد كُتبت وحدات الماكرو التي تتألف منها LaTeX في منتصف ثمانينيات القرن العشرين على يد ليزلي لامبورت—الذي منح تلك الحزمة اسمها. وكما هو الحال مع محركات TeX نفسها، فإن حزمة ماكرو LaTeX لا تزال قيد التطوير النشط ويمكن للقارئ المهتم معرفة المزيد على [موقع مشروع LaTeX](https://www.latex-project.org/).

## إذًا، ماذا يفعل TeX فعليًا؟

كما ذُكر، TeX برنامج تنضيد، لكن إذا كنت تتخيل واجهة مستخدم رسومية أنيقة مثل Adobe InDesign، ففكر مرة أخرى. عند نشأة TeX (أواخر سبعينيات القرن العشرين) كانت الواجهات الرسومية المتقدمة وأنظمة التشغيل الحالية ما تزال في المستقبل إلى حد ما، كما أن طريقة عمل TeX لا تزال تعكس إرثه، حتى في النسخ الحديثة الجديدة من TeX.

قد يتفاجأ المعتادون على استخدام تطبيقات تنسيق الصفحات الحديثة، مثل Adobe InDesign، عندما يرون كيف يعمل TeX. افترض أن شخصًا ما أعطاك نسخة من بعض برمجيات TeX (ولكن دون محررات نصوص فاخرة) وقررت تشغيلها لترى ما الذي سيحدث: ماذا سترى؟ في الحقيقة، لا الكثير! يستخدم TeX ما يُسمّى [واجهة سطر الأوامر](https://en.wikipedia.org/wiki/Command-line_interface): فلا توجد شاشة رسومية أنيقة تكتب فيها النص المراد تنضيده أو تشير وتضغط أو تنقر أو تلمس لضبط الخيارات أو الإعدادات. إذا شغّلت أحد برامج TeX (المحركات) فسترى شاشة بسيطة مع مؤشر يومض—على سبيل المثال، تشغيل LuaTeX على جهاز محلي (luatex.exe على Windows):

![تشغيل LuaTeX على Windows](/files/a1006c2e0eeccd49264c403fb9518c19fbf7b9a0)

وبالطبع، فإن من يستخدمون برمجيات قائمة على TeX عبر Overleaf يُقدَّم لهم واجهة أكثر ملاءمة وسهولة للمؤلفين.

### فهم قابلية برمجة TeX

من الواضح أنه إذا أردت لقطعة برمجية أن تنضّد شيئًا ما، فستحتاج إلى تزويدها بشكل من أشكال الإدخال (المادة المراد تنضيدها) ثم إعطائها بعض «التعليمات» التي تخبرها بما تريد تحقيقه—مثل الخطوط المراد استخدامها وحجم صفحة المستند النهائي، إلى جانب كثير من التفاصيل الأخرى. وإذا كنت تستخدم أداة مثل Adobe InDesign فيمكنك الاختيار من بين قوائم وشاشات وصناديق حوار مختلفة لضبط المعلمات التي تمنحك بعض التأثير والتحكم في سلوك البرنامج. ولكن ماذا لو لم توجد مثل هذه الشاشة وكل ما لديك شاشة فارغة ومؤشر يومض؟ هنا تأتي *قابلية البرمجة* في TeX إلى الواجهة.

### TeX البرنامج وTeX لغة البرمجة

لأن TeX لا يملك واجهة مستخدم رسومية مدمجة يمكنك من خلالها التحكم في سلوكه وتوجيهه، فعليك أن تزوده بتعليمات مكتوبة صريحة ترشده خلال عملية التنضيد. تنشئ ملفًا نصيًا لا يحتوي فقط على نص عملك، بل أيضًا على تعليمات التنضيد الصريحة (أو الأوامر) التي تخبر TeX بما تريد منه أن يفعله. وبمجرد أن تكتب ملف TeX الخاص بك، وليكن مثلًا mybook.tex، فإنك تطلب من TeX معالجته، وإذا سارت الأمور على ما يرام، تتلقى مستندًا منضدًا بشكل جميل «mybook.pdf» كخرج.

إن «تعليمات التنضيد» المستخدمة للتحكم في سلوك TeX مكتوبة فعليًا بلغة برمجة—صُممت خصيصًا بواسطة كنوت لتمنح مستخدمي TeX قدرًا كبيرًا من التحكم في برنامج التنضيد المتقدم الخاص به. وهذه اللغة البرمجية الخاصة بالتنضيد هي التي تمنح TeX قوته ومرونته الهائلتين.

يمكننا الآن أن نبدأ في رؤية أن TeX هو، في الواقع، قطعة من برمجيات التنضيد التي يمكن للمستخدمين التحكم بها من خلال تزويدها بتعليمات مكتوبة بلغة برمجة خاصة. ينبغي أن تفكر في «TeX» على أنه برنامج تنفيذي (محرك تنضيد) يمكن التحكم فيه بواسطة تعليماتك المكتوبة بلغة تنضيد TeX. وبالطبع، لأن TeX يتحكم فيه برنامجٌ لغوي، فهناك دائمًا احتمال ارتكاب الأخطاء—أي وجود علل في ملف TeX الخاص بك لا يستطيع TeX فهمها أو ببساطة لا تعطي النتائج التي كنت تتوقعها. وهذا «متعة» يومية مألوفة جدًا لمستخدمي البرمجيات المرتبطة بـTeX. إن فهم أن محركات TeX قابلة للبرمجة هو المفتاح لتقدير الفروق حقًا بين LaTeX وpdfTeX وpdfLaTeX وXeTeX وLuaTeX وما إلى ذلك. فكل محرك TeX (برنامج) يفهم المئات من الأوامر المسماة *بدائية* أوامر. ولا يعني «بدائي» هنا «بسيطًا» أو «غير متطور»، بل يعني أنها اللبنات الأساسية للغة TeX. وتشبيه بسيط، وإن لم يكن دقيقًا تمامًا، هو أبجدية لغة معينة: إذ لا يمكن اختزال الحروف الفردية في الأبجدية إلى كيانات أبسط؛ فهي اللبنات الأساسية التي تُبنى منها الكلمات والجمل وما إلى ذلك.

## وأخيرًا: من TeX إلى pdfTeX وXeTeX وLuaTeX

للتذكير فقط. عندما كتب كنوت النسخة الأصلية من TeX، زوّدها بالميزات والقدرات التي اعتقد أنها كافية لتلبية احتياجات التنضيد النصي والرياضي المتقدم، استنادًا إلى البيئة التقنية في ذلك الوقت—بما في ذلك قوة المعالجة وذاكرة الحواسيب وتقنيات الخطوط وأجهزة الإخراج. وقد شمل توصيف كنوت لـTeX تصميمها الداخلي/البرمجي (وخوارزميات التنضيد) بالإضافة، بالطبع، إلى تحديد لغة TeX المستخدمة «لوسم» المادة المراد تنضيدها. وما نعنيه بـ«تحديد لغة TeX» هو تحديد مجموعة من عدة مئات من الأوامر البدائية التي يمكن لمحرك TeX فهمها—والإجراء الذي يتخذه محرك TeX كلما صادف أحد تلك الأوامر البدائية أثناء معالجة النص المدخل.

ومن الطبيعي أن البيئات التقنية تتطور: تصبح الحواسيب أسرع وتملك مساحة/ذاكرة تخزين أكبر، وتُطرح تقنيات خطوط جديدة (Type 1 وTrueType وOpenType)، وتتطور صيغ إخراج الملفات (مثل الانتقال من PostScript إلى PDF)، وأصبح Unicode الطريقة السائدة لترميز النص. ومن الطبيعي أن مستخدمي TeX أرادوا دعم تلك التقنيات الجديدة—إلى جانب إضافة ميزات ووظائف جديدة غير موجودة في برنامج TeX الأصلي لِـكنوت.

كما ذُكر سابقًا، قرر كنوت في ثمانينيات القرن العشرين تجميد تطويره لـTeX: لا مزيد من الميزات الجديدة في نسخته. ومع الحاجة الحقيقية إلى تحديث/عصرنة برمجيات كنوت الأصلية، أخذ خبراء برمجة TeX الشيفرة المصدرية الأصلية لِـكنوت وقاموا بتعزيزها لإضافة ميزات جديدة وتوفير الدعم لتقنيات التنضيد الحديثة. لا توفر تلك الإصدارات الجديدة من TeX ميزات إضافية فحسب (مثل الإخراج المباشر إلى PDF ودعم خطوط OpenType)، بل توسّع وتكيّف لغة TeX أيضًا: إذ تُضاف أوامر بدائية جديدة إلى مجموعة كنوت الأصلية، مما يمنح المستخدمين قوة برمجية أكبر ومرونة أعلى للتحكم في والاستفادة من الوظائف الإضافية المدمجة في محركات التنضيد الجديدة القائمة على TeX.

يُمنح كل محرك TeX جديد اسمًا خاصًا به لتمييزه عن برمجيات كنوت الأصلية: ومن هنا لديك الآن pdfTeX وXeTeX وLuaTeX. وهذه المحركات الثلاثة لـTeX ليست متوافقة بنسبة 100% مع بعضها البعض، ومن الممكن تمامًا إعداد مدخلات يمكن معالجتها بمحرك TeX واحد لكنها تفشل في العمل مع المحركات الأخرى—ببساطة لأن محرك TeX معين قد يدعم أوامر بدائية لا تدعمها المحركات الأخرى. لكن ليس كل شيء مفقودًا: مرحبًا بك في عالم وحدات ماكرو TeX!

### الأوامر البدائية ليست القصة كلها: وحدات ماكرو TeX

لقد ذكرنا أن كل محرك TeX يدعم مجموعة معينة من الأوامر منخفضة المستوى تُسمّى الأوامر البدائية—لكن هذه ليست القصة كاملة. وبالطبع، يدعم كثير من الأوامر البدائية نفسها جميع المحركات، لكن بعضها خاص بمحرك معيّن. ويحقق TeX قوته الحقيقية وتعقيده عبر ما يُسمّى وحدات ماكرو TeX. يمكن دمج الأوامر البدائية في لغة TeX الخاصة بمحرك ما معًا لتعريف أوامر جديدة (تُسمّى وحدات ماكرو) تُبنى من مجموعات من التعليمات البدائية منخفضة المستوى و/أو وحدات ماكرو أخرى. تتيح وحدات ماكرو TeX للمستخدمين تعريف أوامر جديدة قادرة على تنفيذ عمليات تنضيد معقدة، مما يوفر قدرًا كبيرًا من الوقت والأخطاء في الكتابة والبرمجة. بالإضافة إلى ذلك، توفر محركات TeX أوامر بدائية يمكنها تحديد محرك TeX المستخدم في تنضيد مستند ما—بحيث يستطيع محرك TeX، بشكل فوري، تكييف سلوكه اعتمادًا على ما إذا كان يدعم أمرًا بدائيًا معينًا قد يصادفه أم لا. وإذا لم يكن أمر بدائي معين مدعومًا مباشرةً ولكن يمكن «محاكاته» (باستخدام تراكيب من أوامر بدائية أخرى) فعادةً يكون كل شيء على ما يرام—لكن إذا كان محرك TeX المختار لا يستطيع فعليًا التعامل مع أمر بدائي معين فإن التنضيد سيفشل وسيُبلّغ عن خطأ. فلغة TeX، في نهاية المطاف، هي لغة برمجة، وإن كانت مصممة لحل مشكلات التنضيد؛ لكن بوصفها لغة برمجة فإن TeX غامضة للغاية وتعمل بطريقة مختلفة جدًا عن معظم لغات البرمجة التي قد تصادفها اليوم.

### إذًا، أخيرًا، ما هي LaTeX؟

لقد تحدثنا عن إصدارات مختلفة من محرك TeX—من TeX الأصلي لِـكنوت إلى مشتقاته pdfTeX وXeTeX وLuaTeX، وناقشنا باختصار TeX كلغة تنضيد: الأوامر البدائية والبرمجة والقدرة على كتابة وحدات ماكرو. وأخيرًا، أصبحنا في وضع يسمح لنا بمناقشة LaTeX. والامتداد المنطقي لكتابة وحدات ماكرو TeX فردية لاستخدامك الشخصي هو إعداد مجموعة من وحدات الماكرو التي يمكن للآخرين استخدامها أيضًا—حزمة من وحدات الماكرو توفر أدوات وأوامر مفيدة يستفيد منها مستخدمو (La)TeX الآخرون. وهذا هو بالضبط ما هي عليه LaTeX: إنها مجموعة كبيرة جدًا من وحدات الماكرو المعقدة والمتقدمة صُممت لمساعدتك على تنضيد الكتب والأوراق البحثية والمزيد. وهي توفر ثروة من الميزات للتحكم في أشياء مثل تنسيق الصفحة والخطوط وعدد هائل من تفاصيل التنضيد الأخرى. ليس ذلك فحسب، بل صُممت LaTeX لتكون قابلة للتوسعة: يمكنك إضافة حزم ماكرو إضافية وأكثر تخصصًا كملحقات، مكتوبة لحل مشكلات تنضيد محددة—مثل إنتاج جداول منضدة بشكل جميل، أو تنضيد أشكال بالغة التعقيد من الرياضيات، أو الرسوم التخطيطية الكيميائية، وغير ذلك. إذا زرت [الشبكة الشاملة لأرشيف TeX](https://www.ctan.org) يمكنك الاختيار من بين مئات، إن لم تكن آلافًا، من حزم الماكرو التي كتبها وساهم بها المستخدمون في أنحاء العالم.

إذًا، إذا قال شخص ما إنه ينضد عمله باستخدام LaTeX فهو لا يخبرك إلا بجزء من القصة. وما يعنيه حقًا هو أنه يستخدم حزمة ماكرو LaTeX مع محرك TeX معين—عادةً pdfTeX لكن ربما XeTeX (للأعمال متعددة اللغات) أو LuaTeX (ربما لإنتاج مستندات متقدمة ومخصصة). وغالبًا ما سترى مصطلحات مثل pdfLaTeX وXeLaTeX أو LuaLaTeX: لكن هذه ليست في الواقع أسماء محركات TeX، بل كل ما تدل عليه هو محرك TeX المستخدم لتشغيل مجموعة ماكرو LaTeX:

* pdfLaTeX يعني استخدام حزمة ماكرو LaTeX مع محرك pdfTeX
* XeLaTeX يعني استخدام حزمة ماكرو LaTeX مع محرك XeTeX
* LuaLaTeX يعني استخدام حزمة ماكرو LaTeX مع محرك LuaTeX

على سبيل المثال، قول «أنا أستخدم pdfLaTeX» يعني «أنا أُعدّ مستندي المنضد باستخدام حزمة ماكرو LaTeX ومعالجته بمحرك pdfTeX». وبالمثل، إذا قال لك أي شخص إنه «يستخدم TeX» فعليك الآن أن تدرك أن هذا التصريح على الأرجح لا يخبرك بالقصة كاملة—أي إلا إذا كان يستخدم نسخة كنوت الأصلية من TeX، وهو أمر غير مرجح إلى حد كبير هذه الأيام.

## من محركات TeX إلى تثبيتات TeX

لقد استكشفنا باختصار تاريخ TeX ورأينا أن مشتقاته الحديثة—pdfTex وXeTeX وLuaTeX—أضافت كثيرًا من الميزات والوظائف إلى برمجيات كنوت الأصلية. ولإكمال حديثنا سنلقي نظرة سريعة على أشهر ثلاثة محركات TeX ونراجع بإيجاز تثبيتات TeX.

### الميزات الرئيسية لـpdfTeX وXeTeX وLuaTeX

فيما يلي ملخص لـ *بعض* الميزات الرئيسية التي توفرها أشهر ثلاثة محركات TeX:

* **pdfTeX**: وكما يوحي اسمه، فإنه يوفر القدرة على الإخراج المباشر إلى PDF، مما يُغني المستخدمين عن تحويل صيغة DVI الأصلية لـTeX إلى PostScript ثم تحويل ذلك إلى PDF عبر GhostScript أو Acrobat Distiller (ملاحظة: بعض المستخدمين ينتقلون أيضًا من DVI إلى PDF عبر أدوات مثل dvipdf). كما أدخل pdfTeX تحسينات على تنضيد TeX—مثل حشر الهوامش (بروز الأحرف). وقد طوّر pdfTeX هان ثي ثانه، وشكلت تفاصيل تنفيذه الأساس لأطروحته لنيل الدكتوراه [الامتدادات الميكرو-طباعية لنظام تنضيد TeX](https://www.tug.org/TUGboat/tb21-4/tb69thanh.pdf).
* تاريخ الإصدار الأول (كما هو مسجل في ملاحظات الإصدار): أغسطس 2001
* مزيد من المعلومات: [www.tug.org/applications/pdftex](http://www.tug.org/applications/pdftex)
* **XeTeX**: قدّم القدرة على قراءة/استقبال ملفات TeX المحفوظة أو المنشأة بترميز UTF-8 مباشرةً، وأضاف معالجة متقدمة للتنضيد متعدد اللغات—بما في ذلك النصوص المعقدة مثل العربية. ومن الميزات المفيدة بشكل خاص أن XeTeX أتاح استخدام خطوط OpenType بسهولة وراحة كبيرة، وأضافت الإصدارات اللاحقة تنضيد الرياضيات المعتمد على OpenType. وقد طوّر XeTeX جوناثان كيو، رغم أن التطوير اللاحق قاده أعضاء آخرون في مجتمع TeX.
* تاريخ الإصدار الأول (ويكيبيديا): كان في البداية لنظام Mac OSX فقط، أبريل 2004
* مزيد من المعلومات: <http://tug.org/xetex>
* **LuaTeX**: يُعدّ LuaTeX على الأرجح أقوى وأكثر محركات TeX تنوعًا، وهو مشتق من pdfTeX (إضافةً إلى مصادر/مكتبات أخرى كثيرة) ويوفر وظائف إضافية مهمة. والابتكار الأساسي هو إضافة لغة البرمجة Lua، مما يسمح بتحكم بالغ التطور في محرك TeX عبر لغة سكربت سهلة الاستخدام. كما يدعم ترميز النص UTF-8، وتنضيد الرياضيات المعتمد على OpenType، واستخدامًا متقدمًا جدًا لخطوط OpenType في تنضيد النص—مع أن الآلية تختلف عن تلك التي يستخدمها XeTeX. كما يدمج LuaTeX لغة الرسوميات MetaPost، مما يسمح للمستخدمين باستغلال قدرات MetaPost المتقدمة في الرسم على أكمل وجه. وإلى جانب إعداد الكتب والأوراق العلمية، يُعد LuaTeX مثاليًا لهندسة المستندات المتقدمة أو المخصصة—ومن ميزاته القوية قابلية التوسع عبر «إضافات» مكتوبة بلغة C/C++ وتُحمَّل بصيغة .DLL (على Windows) أو .so (على Linux). ويُطوَّر LuaTeX بواسطة فريق يضم Hans Hagen وTaco Hoekwater وLuigi Scarso وآخرين.
* تاريخ الإصدار الأول: بدأ العمل التطويري نحو عام 2006 مع العديد من الإصدارات التجريبية التي culminated في إصدار 1.0 في سبتمبر 2016. ولا يزال قيد التطوير النشط جدًا.
* مزيد من المعلومات: [www.luatex.org](http://www.luatex.org)

### تثبيتات TeX: TeX Live

قد تتساءل كيف يحصل المستخدمون على إمكانية الوصول إلى برامج التنضيد المختلفة القائمة على TeX وحزم ماكرو LaTeX المرتبطة بها؟ الجواب هو استخدام ما يُسمّى *توزيعة TeX* التي يمكن للمستخدمين تنزيلها وتثبيتها—فثبيتات TeX الحديثة لم تعد تحتوي على مجرد محركات التنضيد القائمة على TeX. وعلى مر السنين، طوّر مستخدمو TeX حول العالم وساهموا بمجموعة مذهلة من الأدوات والبرمجيات المرتبطة بـTeX، إلى جانب مئات الخطوط وبالطبع عدد هائل من حزم LaTeX المتخصصة. وتُدار هذه المجموعة الضخمة من البرمجيات وتُحدَّث بواسطة أبرز أعضاء مجتمع TeX، وتبلغ ذروتها في إصدارات سنوية من توزيعة تُسمّى [TeX Live](https://www.tug.org/texlive/)—والتي ستتضمن أيضًا أحدث الإصدارات المستقرة من محركات TeX لكل منصة مدعومة (Windows وLinux إلخ). وغالبًا ما يستخدم المستخدمون على Windows توزيعة أخرى تُسمّى [MiKTeX](https://miktex.org/).

## Overleaf: دعم منظومة LaTeX

إن سياق المشهد البحثي اليوم، بطبيعة الحال، بيئة مترابطة وتعاونية بدرجة عالية—بما في ذلك العمل معًا لكتابة وإعداد الأوراق للنشر. وقد يكون توزيع الأوراق القائمة على LaTeX ومشاركتها عبر البريد الإلكتروني، بما في ذلك أي رسوم أو بيانات مرتبطة بها، أمرًا محبطًا—ليس فقط بسبب مشكلة التحكم في الإصدارات (وأحجام الملفات) بل بسبب الاحتمال الحقيقي أن يكون لدى واحد أو أكثر من المؤلفين المشاركين تثبيت LaTeX غير قادر على معالجة ملف LaTeX؛ على سبيل المثال بسبب الخطوط المفقودة، أو اختلافات في توافر الحزم، أو إصدارات LaTeX قديمة. قد يكون أحد المؤلفين المشاركين مسافرًا أو يعمل مؤقتًا من موقع لا يملك فيه وصولًا إلى LaTeX. وكل ذلك يفضي إلى سيناريو قد يكون محبطًا—خصوصًا عند الاقتراب من موعد التسليم! وقد تحتاج المؤسسات الأكاديمية أو الشركات التجارية التي ترغب في توفير الوصول إلى LaTeX لموظفيها أو فرقها إلى تثبيت ثم صيانة وتحديث ودعم نظام TeX شامل على مستوى المؤسسة. وقد يكون ذلك مسعى معقدًا، وربما يتطلب خبرة متخصصة قد تكون لدى شخص واحد فقط. وإذا غادر خبير تثبيت LaTeX لديك إلى وظيفة أخرى فقد يكون استبداله تحديًا. ولا بد من صيانة تثبيتات TeX بنشاط لأن عالم TeX ليس ساكنًا وقد يصبح تثبيتك قديمًا سريعًا—وهو ما يثير استياء المستخدمين الذين قد يحتاجون إلى الاستفادة من أدوات أحدث أو أكثر تقدمًا قائمة على TeX. وتُطرح باستمرار حزم LaTeX الجديدة والمحدَّثة، وكذلك الخطوط الإضافية وأدوات البرمجيات المرتبطة بـTeX. وإضافةً إلى ذلك، تواصل محركات TeX، وخاصة LuaTeX، التطور.

### Overleaf: حلول LaTeX للمؤلفين والمؤسسات

يوفر Overleaf للمؤلفين ومؤسساتهم نظام تأليف وإدارة مشاريع قائمًا على السحابة لـLaTeX—مدعومًا بخوادم قوية مزودة بتثبيت TeX متطور.

#### Overleaf للمؤلفين

باستخدام محرر LaTeX المعتمد على المتصفح من Overleaf، يمكن للمؤلفين إنشاء ومشاركة والتعاون وإدارة مشاريعهم القائمة على LaTeX من أي مكان يعملون فيه. كل ما تحتاج إليه هو اتصال بالإنترنت وجهاز يحتوي على متصفح حديث.

يوفر Overleaf طريقة مريحة جدًا لاستخدام LaTeX، وتشمل:

* لا مزيد من إرسال ملفات LaTeX والأشكال الضخمة عبر البريد الإلكتروني—فقط أرسل لزملائك رابط مشروعك على Overleaf لبدء التعاون والمشاركة.
* دعم فني ممتاز—تواصل معنا في أي وقت بأسئلتك حول استخدام LaTeX.
* يشترك المؤلفون المشاركون في تثبيت LaTeX نفسه—لا حاجة للاعتماد على التثبيتات المحلية أو التقييد بنظام LaTeX قديم.
* يمكنك جعل مستنداتك تبرز—اختر من مجموعة واسعة من الخطوط الحديثة الجاهزة للاستخدام بتقنية OpenType، أو ارفع خطوطًا إضافية إلى مشروعك. سهل وبسيط مع حزمة fontspec.
* لا حاجة لأن تشغّل محركات TeX بنفسك—فـOverleaf يفعل ذلك نيابةً عنك. وفّر الوقت واستفد من المعاينة السريعة واللحظية تقريبًا لمستند LaTeX المنضد لديك، أو انتقل إلى التحديث اليدوي إذا أردت.
* قدّم ورقتك مباشرةً إلى المجلات المشاركة وخدمات preprint أو نزّل مشروع LaTeX بالكامل في ملف ZIP واحد لإرساله لاحقًا إلى مجلة من اختيارك.
* الوصول إلى خادم Linux مجهز بالكامل: الأدوات والبرامج المساعدة التي قد تحتاجها لمعالجة الرسوميات والنصوص—لم يكن \write18 الخاص بـTeX سعيدًا بهذا القدر من قبل!
* اختر محرك TeX لمعالجة شيفرة LaTeX الخاصة بك أو دع Overleaf يكتشف المحرك الأنسب لمعالجة مستندك ويستخدمه. يدعم Overleaf معالجة LaTeX باستخدام pdfTeX وXeTeX وLuaTeX وdvipdf.

#### Overleaf للمؤسسات والشركات

زوّد مجتمعاتك وفرقك بإمكانية الوصول إلى تثبيت LaTeX متطور—ولكن من دون أي عبء إداري. لا مزيد من اتصالات الدعم الفني حول تثبيتات LaTeX، ولا حاجة للقلق بشأن Windows أو Linux أو Mac OS—استفد من البنية التحتية التقنية لـOverleaf. وسيقدّر مجتمع مستخدمي LaTeX مجموعة الميزات التي يوفرها Overleaf لإدارة مشاريع LaTeX الخاصة بهم—من رفع الملفات والرسوميات إلى مشاركة روابط المشاريع التي تتيح للفرق العمل معًا على الورقة نفسها. قدّم خدمة متميزة للباحثين—وعزّز التعاون لدعم أفضل البحوث. شكرًا لقراءتك هذه المقالة، ونأمل أن تكون قد وجدت فيها ما يثير اهتمامك. إذا كانت لديك أي أسئلة حول Overleaf، فلا تتردد في [الاتصال بنا](https://www.overleaf.com/contact)—فريق Overleaf يتطلع إلى سماعك.

تنضيدًا سعيدًا بـ(La)TeX!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ar/mqalat-mtamqh/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
