> 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/03-a-six-part-article-series-on-expandafter-tex-tokens-and-expansion.md).

# سلسلة مقالات من ستة أجزاء حول \expandafter، ورموز TeX والتوسيع

## نظرة عامة

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

تهدف هذه السلسلة من المقالات إلى هدف طموح: شرح *كيف* موقع `\expandafter` يعمل أمر \expandafter، وتوسيع TeX، فعليًا—من المبادئ الأساسية وصولًا إلى استكشاف العمليات التي تحدث في أعماق برنامج محرك TeX. يمكن للقراء الانتقال مباشرة إلى [المقالات](#accessing-articles-the-navigation-bar) أو قراءة [المقدمة](#introduction-and-who-is-this-series-for) والسبب والمنطق وراء السلسلة.

## الوصول إلى المقالات: شريط التنقل

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

[الجزء 1](/latex/ar/mqalat-mtamqh/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md) [الجزء 2](/latex/ar/mqalat-mtamqh/22-how-does-expandafter-work-the-meaning-of-expansion.md) [الجزء 3](/latex/ar/mqalat-mtamqh/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md) [الجزء 4](/latex/ar/mqalat-mtamqh/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md) [الجزء 5](/latex/ar/mqalat-mtamqh/17-how-does-expandafter-work-a-detailed-macro-case-study.md) [الجزء 6](/latex/ar/mqalat-mtamqh/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

فيما يلي روابط المقالات الستة في السلسلة:

1. [مقدمة إلى رموز TeX المميزة](/latex/ar/mqalat-mtamqh/19-how-does-expandafter-work-an-introduction-to-tex-tokens.md)
2. [معنى التوسيع](/latex/ar/mqalat-mtamqh/22-how-does-expandafter-work-the-meaning-of-expansion.md)
3. [يستخدم TeX قوائم رموز مميزة مؤقتة](/latex/ar/mqalat-mtamqh/21-how-does-expandafter-work-tex-uses-temporary-token-lists.md)
4. [من المبادئ الأساسية إلى استكشاف الشيفرة المصدرية لـTeX](/latex/ar/mqalat-mtamqh/20-how-does-expandafter-work-from-basic-principles-to-exploring-tex-s-source-code.md)
5. [دراسة حالة مفصلة لِماكرو](/latex/ar/mqalat-mtamqh/17-how-does-expandafter-work-a-detailed-macro-case-study.md)
6. [دراسة مفصلة للمتتالية `\expandafter` الأوامر](/latex/ar/mqalat-mtamqh/18-how-does-expandafter-work-a-detailed-study-of-consecutive-expandafter-commands.md)

## مقدمة ولمن هذه السلسلة؟

### \expandafter: المبادئ الأساسية للعمل

الغرض من \expandafter هو فرض التوسيع المبكر لرمز مميز في المدخلات: عند وجود رمزَين مميزين متتاليين في المدخلات، $$\mathrm{T\_1}$$ و $$\mathrm{T\_2}$$, `\expandafter` سيحفظ الرمز المميز $$\mathrm{T\_1}$$، وسيُوسِّع الرمز المميز $$\mathrm{T\_2}$$ ويضع الرمز المميز $$\mathrm{T\_1}$$ مرة أخرى أمام توسع $$\mathrm{T\_2}$$:

$$\verb\*\expandafter\*\ \mathrm{T\_1}\mathrm{T\_2} \rightarrow \mathrm{T\_1}\text{\<expansion of }\mathrm{T\_2}\text{>}$$

وباتباع الوصف القياسي لـ `\expandafter`لسلوكها لاحظنا أنها «تحفظ الرمز المميز $$\mathrm{T\_1}$$»، وتفرض «توسيع» الرمز المميز $$\mathrm{T\_2}$$ ‏(قبل أن يفعل TeX ذلك عادةً) ثم تضع الرمز المميز $$\mathrm{T\_1}$$ «مرة أخرى في المدخلات» ليقرأه TeX من جديد. يتذكر كاتب هذا المقال أنه كان مرتبكًا بشأن بعض جوانب `\expandafter`سلوك «التلاعب بالرموز المميزة»؛ وعلى وجه الخصوص:

* ماذا يعني «حفظ رمز مميز» أو «إعادة رمز مميز إلى المدخلات»—إلى أين «تذهب» هذه الرموز المميزة المحفوظة وكيف يعيد TeX قراءتها؟
* كيف يبدو «التوسيع» أو ماذا يعني حقًا؟
* كيف يعالج TeX عدة متتالية `\expandafter` من الأوامر—كيف يتم ذلك *حقًا* يعمل؟

### أهداف سلسلة المقالات

تهدف هذه السلسلة إلى معالجة الأسئلة المطروحة أعلاه من خلال توثيق نتائج بحث في الآلية الداخلية لعمل TeX. قامت Overleaf ببناء نسخة مخصصة من أحد محركات TeX واستخدمت [بيئة التطوير المتكاملة Eclipse](https://www.eclipse.org/ide/) لمراقبة الشيفرة المصدرية لـTeX أثناء عملها وهي تعالج `.tex` ملفًا يحتوي على أمثلة لاستخدام `\expandafter`.

سنشارك نتائج ذلك البحث لفحص:

* الطبيعة/المعنى الحقيقي للرموز المميزة في TeX؛
* إنشاء/استخدام TeX لقوائم الرموز المميزة المؤقتة؛
* ما يعنيه «التوسيع» حقًا.

من خلال استكشاف هذه الموضوعات سنجمع الصورة الكبيرة لشرح *كيف* `\expandafter` يقوم بسلوكه «التلاعب بالرموز المميزة». كُتبت سلسلة المقالات هذه لأي شخص يرغب في تكوين فهم أعمق لهذه الموضوعات: لإلقاء نظرة أعمق داخل TeX نفسه، وفحص تلك الأجزاء من العمليات الداخلية لـTeX التي تمكّن `\expandafter` من أداء سحره.

كتابة مقالات عن TeX والمفاهيم/المبادئ المرتبطة به أمرٌ صعب لأن TeX قطعة برمجية معقدة على نحو استثنائي—فشيفرته المصدرية المنسقة تمتد إلى مئات الصفحات. على سبيل المثال، انظر إلى هذا [مشروع Overleaf](https://www.overleaf.com/latex/examples/typeset-the-source-code-documentation-for-tex-e-tex-or-pdftex/qkgfgyspnhcv) الذي يقوم افتراضيًا بتنسيق الشيفرة المصدرية لـ $$\mathrm{\varepsilon}\text{-}\mathrm{\TeX}$$‏: يحتوي ملف PDF المنسق على أكثر من 600 صفحة.

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

## في الختام

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

بـ $$\mathrm{\TeX}\text{ing!}$$، من Graham Douglas وفريق Overleaf.


---

# 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/03-a-six-part-article-series-on-expandafter-tex-tokens-and-expansion.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.
