> 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/mzyd-mn-almwdhwaat/01-a-six-part-series-how-do-tex-macros-actually-work.md).

# سلسلة من ستة أجزاء: كيف تعمل وحدات TeX الماكرو فعليًا؟

## حول هذه السلسلة

تهدف هذه السلسلة من المقالات إلى هدف طموح: أن تشرح، خطوة بخطوة، *كيف* كيف تعمل ماكروهات TeX، مثل أوامر LaTeX، فعليًا — وذلك من خلال استكشاف العمليات التي تجري داخل برنامج محرك TeX. وتحاول أن تروي قصة سلوك معالجة TeX:

* قراءة أحرف الإدخال واستخدام رموز الفئات؛
* إنتاج رموز الأحرف والأوامر — والصيغ التي يستخدمها TeX؛
* كيف يتعرّف TeX على أوامر TeX ثم يعالجها؛
* التفاصيل الداخلية لتخزين تعريفات الماكرو، ومعاملات الماكرو، على هيئة قوائم رمزية — باستخدام رسوم بيانية مُنتَجة من بيانات TeX الداخلية؛
* وتختتم باستكشاف ما الذي يعنيه *فعليًا* توسيع الماكرو — باستخدام بيانات حقيقية من داخل محرك TeX.

ومع ذلك، وبما أن محركات TeX هي برامج معقدة جدًا، فلا يمكننا أن نأمل في تغطية كل شيء، لكننا حاولنا تناول أهم الميزات الأساسية في قدرات TeX على معالجة الماكرو.

#### شريط التنقل

يحتوي كل مقال على شريط التنقل التالي قبل النص وبعده، بحيث يمكنك الانتقال بسرعة إلى مقال آخر في السلسلة:

[الجزء 1](https://www.overleaf.com/learn/latex/Understanding_TeX_macros:_Part_1?preview=true) [الجزء 2](https://www.overleaf.com/learn/latex/Understanding_TeX_macros:_Part_2?preview=true) [الجزء 3](https://www.overleaf.com/learn/latex/Understanding_TeX_macros:_Part_3?preview=true) [الجزء 4](https://www.overleaf.com/learn/latex/Understanding_TeX_macros:_Part_4?preview=true) [الجزء 5](https://www.overleaf.com/learn/latex/Understanding_TeX_macros:_Part_5?preview=true) [الجزء 6](https://www.overleaf.com/learn/latex/Understanding_TeX_macros:_Part_6?preview=true)

### الجزء 1: رموز الفئات

يفحص هذا المقال الأساس المنطقي وراء مفهوم TeX لرموز الفئات: ما هي وكيف يستخدمها TeX لتصفية مدخلاته إلى محتوىٍ للطباعة وأوامرٍ لتنفيذها.

### الجزء 2: قراءة المدخلات عبر «عيون» TeX

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

### الجزء 3: من نص الإدخال إلى الأوامر

يتناول هذا المقال بعمق كيف يتعرّف TeX على الأوامر المكتشفة في المدخلات ويعالجها. نستكشف كيف يخزّن TeX المعلومات المتعلقة بالأوامر ويسترجعها: رموز الأوامر، ومعدلات الأوامر، ونستعرض بعض المتغيرات الداخلية التي يستخدمها TeX لتخزين المعلومات عن العناصر المقروءة من المدخلات. بعض أجزاء المقال مادة منخفضة المستوى جدًا ويمكن تجاوزها في القراءة الأولى.

### الجزء 4: بنية الماكرو

نقدّم الإطار التالي ونستخدمه لوصف بنية الماكروهات:

```
<بدائية ماكرو TeX><اسم الماكرو><نص المعامل>{<نص الاستبدال>}
```

ثم نستكشف مجموعة من الأمثلة لإظهار دور وغرض `<نص المعامل>` باعتباره «قالب رموز» يمكن إنشاؤه من خلال استخدام رموز تعمل كـ *الفواصل*.

### الجزء 5: قوائم الرموز والتخزين الداخلي للماكرو في TeX

يستكشف هذا المقال بالتفصيل كيف يستخدم TeX قوائم الرموز لتخزين تعريفات الماكرو. وباستخدام مخططات واسعة النطاق مُولَّدة بإصدار معدّل خصيصًا من TeX، نستكشف الرموز المتخصصة التي يستخدمها TeX للتعرّف على معاملات ماكرو المستخدم ومعالجتها.

### الجزء 6: توسيع الماكرو ومعالجته

في الجزء 6 نستخدم بعض الرسوم البيانية التفصيلية لشرح واستكشاف المعنى الدقيق لتوسيع الماكرو وعواقب تحويل TeX لرموز معاملات الماكرو إلى رموز مسبقًا قبل تمريرها إلى .

## ملاحظة قصيرة: استخدام «TeX» وليس LaTeX

كما نوقش في المقال [ما في الاسم: دليل إلى الأنواع العديدة من TeX](/latex/ar/mqalat-mtamqh/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md) تُستخدم مجموعة واسعة من المصطلحات للإشارة إلى TeX وLaTeX ومشتقاتهما/وصفها. ولذلك، من المفيد أن نوضح بإيجاز استخدامنا/معنى «TeX» ضمن سياق هذه السلسلة.

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

داخل المقالات نستخدم الأمر البدائي في TeX `\def` لتعريف أمثلة الماكرو لدينا: نحن لا نستخدم أمر LaTeX `\newcommand` وهو أمرٌ مألوف على الأرجح لدى معظم مستخدمي Overleaf. وهناك سبب وجيه جدًا لذلك: هدفنا هو فهم المبادئ الأساسية الكامنة وراء سلوك الماكرو في TeX، لكن للقيام بذلك نحتاج إلى استخدام الأوامر الأساسية (البدائيات) المدمجة في برنامج TeX. أوامر LaTeX، مثل `\newcommand`، هي نفسها ماكروهات: أوامر ذات سلوك مبرمج محدد، وهي في النهاية مُكوّنة من طبقات من أوامر TeX البدائية ذات المستوى الأدنى. ولإدراك السلوك الأساسي لـ TeX على نحو أفضل، علينا استخدام بدائيات TeX، لا ماكروهات LaTeX.

## أمثلة ورسوم بيانية

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

قام Overleaf بتعديل TeX الخاص بكنوث بإضافة شيفرة (مكتوبة بلغة C) «تتصل» بمعالجة الماكرو في TeX وتستكشف البيانات، وهياكل البيانات، التي لا يمكن للمستخدمين الوصول إليها عادةً. في كل مرة يُستدعى فيها ماكرو، يُنشئ محرك TeX المعدّل ملفات خرج إضافية تحتوي على بيانات بتنسيق يمكن معالجته باستخدام [Graphviz](https://www.graphviz.org/)، وهو برنامج مفتوح المصدر لتصور الرسوم البيانية. والنتيجة النهائية هي رسوم بيانية (مخططات قوائم العُقَد) تُظهر بدقة كيف يخزّن TeX تعريف الماكرو، إلى جانب تمثيل رسومي لأي معاملات يقدّمها المستخدم عند استدعاء الماكرو.

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

## نسخة Overleaf المخصصة من TeX

يقدّم الفيديو عرضًا قصيرًا لنسخة TeX المعدّلة من Overleaf، والمكيّفة لتوليد مخططات عُقَد Graphiviz (`.gv` ملفات) — ولا يتأثر أي جانب آخر من سلوك TeX بهذه التغييرات. تحتوي `.gv` الملفات على تمثيلات لقوائم رموز TeX المستخدمة لتخزين تعريفات الماكرو ومعاملات الماكرو. ويُصدَّر التصور البياني من Graphviz إلى SVG، ثم يُستورد إلى [Inkscape](https://inkscape.org/) لإضافة تعليقات توضيحية إضافية قبل إدراج الرسم في مقال.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/40EAwKxZnNwgxwe9SpAwNY/5bce5de21509f3324bc50527ec6815e7/texdemo.mp4>" %}


---

# 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/mzyd-mn-almwdhwaat/01-a-six-part-series-how-do-tex-macros-actually-work.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.
