> 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/akhtaa-latex/25-missing-inserted.md).

# تم إدراج $ المفقود

## كيفية إصلاح هذا الخطأ

يمكن أن يتسبب في هذا الخطأ بطرق مختلفة، وبخاصة بالنسبة للمبتدئين في LaTeX، ليس من السهل دائمًا *فورًا* أن يكون واضحًا لماذا حدث، أو، والأهم من ذلك، كيف يمكن حله. سنبدأ بنظرة عامة على *العامة* الظروف التي تؤدي إلى هذا الخطأ ثم سنسرد بعض الأسباب الأكثر شيوعًا وكيفية إصلاحها. إن [الأجزاء اللاحقة من هذه المقالة](#background-to-the-missing-inserted-error) تقدّم مواد أكثر عمقًا للقراء الذين يرغبون في توسيع فهمهم.

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

### الأسباب الرئيسية لخطأ إدراج $ مفقود

هناك ثلاثة أسباب رئيسية تجعل (La)TeX يولّد هذا الخطأ:

1. لقد ارتكبت خطأً صريحًا في ترميز الرياضيات الخاص بك، مثل كتابة `$y=f(x)$$`—وسننظر في أمثلة أخرى لاحقًا في هذه المقالة.
2. اكتشف TeX حرفًا أو أمرًا مُصمَّمًا للاستخدام **فقط** عندما يكون TeX بصدد تنضيد الرياضيات، لكن ذلك الحرف أو الأمر استُخدم عندما كان TeX **تحتوي** ينضّد الرياضيات.
   * **تقنيًا**: اكتشف TeX حرفًا أو أمرًا مصمّمًا للعمل *داخل* [*وضع الرياضيات*](#math-mode) لكنّك حاولت استخدامه *خارج* [*وضع الرياضيات*](#math-mode). لتوضيح المشكلة مع «الأحرف» المصممة للعمل في [وضع الرياضيات](#math-mode)، فإن ما نعنيه حقًا هو استخدام أحرف أُسنِدت إليها بعض [أكواد الفئات](/latex/ar/mzyd-mn-almwdhwaat/43-table-of-tex-category-codes.md) المصممة للعمل داخل المواد الرياضية.
3. اكتشف TeX أمرًا مصممًا للاستخدام فقط عندما يكون TeX **تحتوي** ينضّد الرياضيات، لكن ذلك الأمر تم اكتشافه (واستخدامه) بينما كان TeX **كان** ينضّد مادة رياضية.
   * **تقنيًا**: اكتشف TeX أمرًا مصممًا للعمل *خارج* [*وضع الرياضيات*](#math-mode) لكنّك حاولت استخدامه *داخل* [*وضع الرياضيات*](#math-mode).

### أمثلة على الأخطاء وحلولها

توضح الأمثلة التالية بعض الطرق التي يمكن بها `تم إدراج $ مفقود` إحداث هذا الخطأ، مع تقديم حلول لإصلاحه.

#### يجب استخدام أوامر الرموز في وضع الرياضيات

يمكن الوصول إلى العديد من رموز الرياضيات في LaTeX باستخدام أوامر يجب ألا تُستخدم إلا عندما يكون TeX في طور تنضيد الرياضيات؛ أي عندما يكون TeX في وضع الرياضيات.

ومن أمثلة أوامر الرموز الشائعة الاستخدام تلك الخاصة بالحروف اليونانية: `\alpha` $$(\alpha)$$, `\beta` $$(\beta)$$, `\gamma` ($$\gamma)$$, `\delta` $$(\delta)$$, `\Delta` $$(\Delta)$$ وهكذا. كما أن العديد من أوامر LaTeX الأخرى، مثل أوامر المُعدِّلات: `\vec{x}` $$(\vec{x})$$, `\tilde{x}` $$(\tilde{x})$$, `\hat{x}` $$(\hat{x})$$ إلخ، صُمِّمت أيضًا للاستخدام في وضع الرياضيات.

إن استخدام المُعدِّلات وأوامر الرموز—والعديد من الأوامر الأخرى المتعلقة بالرياضيات—خارج تنضيد المحتوى الرياضي سيؤدي إلى `تم إدراج $ مفقود` خطأ وإجبار المُصرّف على الدخول في وضع الرياضيات.

يوضح المثال التالي ما يحدث إذا حاولت استخدام الأمر `\alpha` $$(\alpha)$$ خارج وضع الرياضيات:

```latex
إن كتابة \verb|\alpha| خارج وضع الرياضيات ستولّد خطأً: \alpha ولذلك لن يُنضَّد هذا النص بشكل صحيح...
```

[افتح هذا ***المسبِّب للخطأ*** المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Incorrect+use+of+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%5Calpha%7C+outside+math+mode+will+generate+an+error%3A+%5Calpha+and+so+this+text+will+not+be+typeset+correctly...%0A%5Cend%7Bdocument%7D)

تُظهر الصورة التالية جزءًا من المخرجات التي أنتجها كود LaTeX أعلاه، موضحة الخطأ الناتج عن استخدام `\alpha` خارج وضع الرياضيات:

![\alpha outside math mode](/files/53a163db69e76695a466889450ba0429137efb46)

**إصلاح الأخطاء الناتجة عن أوامر رموز LaTeX**

لاستخدام المُعدِّلات أو رموز الرياضيات اليونانية داخل الجمل، يجب دائمًا وضعها بين علامتي دولار مفردتين `$...$`، أو صيغة LaTeX `\(...\)` ، لكي يتمكن TeX من معالجتها في *وضع الرياضيات داخل السطر*، كما هو موضح أدناه.

```latex
عند كتابة الحرف اليوناني ألفا في جملة، يجب كتابته على هيئة \verb|$\alpha$| لإنتاج $\alpha$، أو على هيئة \verb|\(\alpha\)| التي تنتج أيضًا \(\alpha\).

عند كتابة متجه x في جملة، يجب كتابته على هيئة \verb|$\vec{x}$| لإنتاج $\vec{x}$ أو على هيئة \verb|\(\vec{x}\)| التي تعطي أيضًا \(\vec{x}\).
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWhen+writing+the+Greek+letter+alpha+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Calpha%24%7C+to+generate+%24%5Calpha%24%2C++or+as+%5Cverb%7C%5C%28%5Calpha%5C%29%7C+which+also+generates+%5C%28%5Calpha%5C%29.%0A+%0AWhen+writing+a+vector+x+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Cvec%7Bx%7D%24%7C+to+produce+%24%5Cvec%7Bx%7D%24+or+as+%5Cverb%7C%5C%28%5Cvec%7Bx%7D%5C%29%7C+which+also+yields+%5C%28%5Cvec%7Bx%7D%5C%29.%0A%5Cend%7Bdocument%7D)

**قائمة برموز LaTeX**

مقالة Overleaf [قائمة الحروف اليونانية والرموز الرياضية](/latex/ar/alryadhyat/11-list-of-greek-letters-and-math-symbols.md) تقدّم قائمة بالرموز الخاصة بوضع الرياضيات فقط، مع روابط إلى موارد مفيدة إضافية.

#### استخدام أحرف خاصة بوضع الرياضيات فقط خارج وضع الرياضيات

تقليديًا، يحتفظ TeX/LaTeX ببعض الأحرف الشائعة للاستخدام داخل وضع الرياضيات:

* `^`: محجوز لإنشاء الأسس العليا
* `_`: محجوز لإنشاء الأسس السفلى
* `$`: محجوز لبدء/إيقاف وضع الرياضيات

يؤدي استخدامها مباشرة خارج وضع الرياضيات إلى أخطاء.

* لكتابة `$` خارج وضع الرياضيات استخدم `\$`
* لكتابة `_` خارج وضع الرياضيات استخدم `\_`
* عدة طرق لكتابة `^` خارج وضع الرياضيات. توجد قائمة على [tex.stackexchange](https://tex.stackexchange.com/a/77647)

**استخدام الشرطات السفلية خارج وضع الرياضيات**

من الأسباب الشائعة لخطأ `تم إدراج $ مفقود` هو استخدام الشرطات السفلية (`_`)، وهو حرف خاص بوضع الرياضيات، خارج وضع الرياضيات—مثل الشرطات السفلية الموجودة في أسماء الملفات: ويُعرض مثال على ذلك أدناه.

```latex
استخدام حرف رياضي، مثل الشرطة السفلية، في اسم ملف: math_example.tex.
```

[افتح هذا ***المولِّد للخطأ*** الكود على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AUsing+a+math+character%2C+such+as+an+underscore%2C+in+a+file+name%3A+math_example.tex.%0A%5Cend%7Bdocument%7D)

لأن حرف الشرطة السفلية مُسنَد إليه [رمز الفئة 8](/latex/ar/mzyd-mn-almwdhwaat/43-table-of-tex-category-codes.md) فهو محجوز لإنشاء الأسس السفلى عندما يكون محرك TeX في وضع الرياضيات. وبناءً على ذلك، عندما يكتشف (La)TeX `_` في اسم الملف `math_example.tex` فإنه يفعل ذلك خارج وضع الرياضيات، مما يؤدي إلى خطأ وينتج تنضيدًا خاطئًا للنص اللاحق:

$$\text{Using a math character, such as an underscore, in a file name: math}\_example.tex.$$

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

لتجنب هذا الخطأ تحديدًا، يجب عليك دائمًا استخدام `_` في وضع الرياضيات—أي داخل `$..$`, `$$...$$` أو، ويفضَّل، داخل ترميز LaTeX لـ `\(...\)` و `\[...\]`.

خارج وضع الرياضيات تحتاج إلى كتابة `\_` لاستخدام الشرطة السفلية أو تنضيدها، كما هو موضح في النسخة المصححة من المثال:

```latex
لاستخدام حرف الشرطة السفلية الخاص بوضع الرياضيات في اسم ملف، اكتبها هكذا: math\_example.tex.
```

[افتح هذا ***النسخة المصححة*** على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fixed+math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ATo+use+the+math-mode+underscore+character+in+a+file+name%2C+write+it+like+this%3A+math%5C_example.tex.%0A%5Cend%7Bdocument%7D)

**استخدام الشرطات السفلية في عناوين URL**

قد تصادف هذا الخطأ أيضًا عند محاولة تنضيد عناوين URL تحتوي على شرطات سفلية، مثل `[https://www.overleaf.com/learn/latex/Subscripts_and_superscripts](../02-mathematics/02-subscripts-and-superscripts.md)`. بدلًا من تهريب كل حرف شرطة سفلية على حدة، قد ترغب في تحميل حزمة `url` أو `hyperref` ، ثم استخدام `\url` الأمر هكذا:

```latex
\documentclass{article}
\usepackage{url}
\begin{document}
\url{https://www.overleaf.com/learn/latex/Subscripts_and_superscripts}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=URL+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Burl%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Curl%7Bhttps%3A%2F%2Fwww.overleaf.com%2Flearn%2Flatex%2FSubscripts_and_superscripts%7D%0A%5Cend%7Bdocument%7D)

**الشرطات السفلية في عناوين URL داخل ملف .bib**

إذا كانت عناوين URL هذه موجودة في ملف المراجع الخاص بك `.bib` ، مما يؤدي إلى الإبلاغ عن أخطاء من `.bbl` الملف، فتأكد من استخدام `url` أو `doi` الحقول لتسجيل هذه البيانات في `.bib` ملف:

```
doi = {10.1007/978-94-015-6859-3_4},
url = {https://abc.com/latest_news_1.html}
```

وقم بتحميل `url` أو `hyperref` الحزمة في المقدمة، إن لزم الأمر. عندها ستتمكن معظم ملفات أنماط المراجع من إحاطة هذه القيم تلقائيًا داخل `\url{...}` الأمر.

#### استخدام أوامر غير مسموح بها في وضع الرياضيات

عدد من أوامر TeX المدمجة منخفضة المستوى (تُسمّى *البدائيات*) غير مسموح بها في وضع الرياضيات، واستخدامها في هذا الوضع سيؤدي إلى خطأ `تم إدراج $ مفقود` ورغم أن معظم المستخدمين لن يستعملوا هذه الأوامر في كود LaTeX اليومي، فإننا نذكر ذلك هنا لأنه من الممكن أن تكون موجودة ضمن أوامر LaTeX (ماكروز) تُستخدم في وضع الرياضيات.

يحاول المثال التالي استخدام أمر TeX `\vskip` داخل مادة رياضية. هذا غير مسموح به ويولّد خطأً.

```latex
\documentclass{article}
\begin{document}
أريد إضافة بعض المسافة، لكن هذه ليست الطريقة لفعل ذلك...
\[y=f(x) \vskip5pt z=f(y)\]
$y=f(x) \vskip5pt z=f(y)$
\end{document}
```

[افتح هذا ***المولِّد للخطأ*** الكود على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AI+want+to+add+some+space%2C+but+this+is+not+the+way+to+do+it...%0A%5C%5By%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%5C%5D%0A%24y%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%24%0A%5Cend%7Bdocument%7D)

ومن أوامر TeX (البدائية) الأخرى غير المسموح بها عندما يكون TeX في وضع الرياضيات: `\par`, `\hrule`, `\unvbox`, `\unvcopy` و `\valign`.

#### الأسطر الفارغة في الرياضيات

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,

z=x^3
\end{equation}
\end{document}
```

[افتح هذا ***المولِّد للخطأ*** الكود على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

**السبب**: يتحول السطر الفارغ بين الصيغ إلى `\par` أمر غير مسموح به في وضع الرياضيات. ويمكنك أيضًا رؤية ذلك بكتابة

```latex
\documentclass{article}
\begin{document}
\[y=x^3,\par z=x^3\]
\end{document}
```

[افتح هذا ***المولِّد للخطأ*** الكود على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5C%5By%3Dx%5E3%2C%5Cpar+z%3Dx%5E3%5C%5D%0A%5Cend%7Bdocument%7D)

لإصلاح ذلك، احذف الأسطر الفارغة أو علّق عليها:

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,
% هذا سيمنع السطر الفارغ
z=x^3
\end{equation}
\end{document}
```

[افتح هذا ***النسخة المصححة*** على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%25+This+will+suppress+the+blank+line%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

#### استخدام $ داخل بيئات الرياضيات

بعض بيئات LaTeX، مثل `align` و `equation` بيئات، لا تتطلب إحاطة الرياضيات بـ `$` علامات الدولار، أو استخدام صياغة LaTeX الرياضية: `\(...\)` أو `\[...\]`. يتولى كود LaTeX الذي يحقق هذه البيئات مسؤولية الدخول إلى وضع الرياضيات والخروج منه.

يوضح المثال التالي استخدام `$` علامة الدولار داخل `amsmath` `align` بيئة، مما يؤدي إلى `تم إدراج $ مفقود` خطأ، إلى جانب أخطاء عديدة أخرى....

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
$2x - 5y &=  8 \\
3x + 9y &=  -12$
\end{align*}
\end{document}
```

[افتح هذا ***المولِّد للخطأ*** الكود على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+4\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A%242x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%24%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

الطريقة الصحيحة لكتابة هذه المعادلات هي:

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
2x - 5y &=  8 \\
3x + 9y &=  -12
\end{align*}
\end{document}
```

[افتح هذا ***النسخة المصححة*** على Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+5\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A2x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

## خلفية عن خطأ إدراج $ مفقود

القسم التالي مخصص للقراء الذين يرغبون في فهم الأسباب الكامنة وراء هذا الخطأ بشكل أفضل `تم إدراج $ مفقود`. إنه ليس *ضروريًا* قراءة أساسية، لكنه قد يساعدك في العثور على الأخطاء وإصلاحها.

### لا توجد علامات $ مفقودة، لكنني ما زلت أتلقى الخطأ

في بعض الظروف يكون `تم إدراج $ مفقود` الخطأ مربكًا جدًا لأن كود LaTeX الخاص بك قد لا يكون فيه أصلًا أي *أحرف مفقودة* `$` ظاهرة. على سبيل المثال، المقطع البرمجي LaTeX $$\verb|$$y=f(x)\par$$|$$ يبدو ظاهريًا صحيحًا: فـ $$\verb|$$أزواج |$$| متوازنة، لكنه سيؤدي إلى ظهور خطأ «`إدراج $ مفقود`» هنا. والسبب هو `\par` الأمر غير المسموح به في وضع الرياضيات:

```latex
\documentclass{article}
\begin{document}
يولّد هذا المثال الخطأ \verb|Missing $ inserted|:
$$y=f(x)\par$$
\end{document}
```

[افتح هذا لرؤية خطأ إدراج $ مفقود](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AThis+example+generates+the+error+%5Cverb%7CMissing+%24+inserted%7C%3A+%0A%24%24y%3Df%28x%29%5Cpar%24%24%0A%5Cend%7Bdocument%7D)

الكود LaTeX أعلاه في الواقع يسبّب *تتابعًا* من الأخطاء، كما هو موضح أدناه، لذا من الواضح أنه لا ينبغي لك استخدام `\par` داخل الرياضيات!

```
! تم إدراج $ مفقود.
<نص مُدرَج>
                $
l.12 $$y=f(x)\par
                 $$
لقد أدرجتُ رمز بدء/إنهاء الرياضيات لأنني أظن
أنك نسيت واحدًا. تابع، مع تمنياتنا بالحظ.

! يجب أن تنتهي الرياضيات المعروضة بـ $$.
<ليُقرأ مرة أخرى>
                   \par
l.12 $$y=f(x)\par
                 $$
يرجّح أن علامة `$' التي رأيتها للتو تطابق `$$' سابقة.
لذا سأفترض أنك كتبت `$$' في المرتين.

! تم إدراج $ مفقود.
<نص مُدرَج>
                $
l.13 \end{document}

لقد أدرجتُ رمز بدء/إنهاء الرياضيات لأنني أظن
أنك نسيت واحدًا. تابع، مع تمنياتنا بالحظ.

! يجب أن تنتهي الرياضيات المعروضة بـ $$.
<ليُقرأ مرة أخرى>
                   \par
l.13 \end{document}

يرجّح أن علامة `$' التي رأيتها للتو تطابق `$$' سابقة.
لذا سأفترض أنك كتبت `$$' في المرتين.
```

عندما يُحمَّل `تم إدراج $ مفقود` عند وقوع الخطأ، يحاول برنامج محرك TeX التعافي و«العودة إلى المسار الصحيح» حتى يتمكن من متابعة المعالجة بعد النقطة التي وقع فيها الخطأ. والقسم [متقدم: شرح لآلية استعادة الأخطاء في TeX](#advanced-an-explanation-of-texs-error-recovery-mechanism) سيساعدك على فهم سبب ظهور هذا التتابع من الأخطاء نتيجةً لمحاولات TeX إصلاح الخطأ الأولي.

### عن الأوضاع، ومتى

داخليًا، تعمل محركات TeX باستخدام ثلاث «حالات ذهنية» تُسمّى *أوضاعًا*، والتي تعتمد على نوع المادة التي يكون محرك TeX *حاليًا* ينضّدها. والوضع الذي يكون عليه محرك TeX في أي لحظة أثناء التنضيد يُسمّى *الحالي* وضعه، ويتغير طوال عملية تنضيد محتوى مستند LaTeX الخاص بك.

لكل من أوضاع محرك TeX توجد أوامر وأحرف معينة (أو، بصورة أدق، أكواد فئات) «غير متوافقة» مع الوضع الحالي لـTeX: لا ينبغي استخدامها بينما يكون TeX في ذلك الوضع المحدد. وإذا حاولت استخدام تلك الأحرف أو الأوامر غير المناسبة فسيصدر TeX خطأً مثل `تم إدراج $ مفقود` ليخبرك بأن هناك خطأً ما.

#### وضع الرياضيات

هذا الخطأ `تم إدراج $ مفقود` مرتبط بـ *وضع الرياضيات*—أي الوضع الذي يكون فيه محرك TeX عندما تطلب من LaTeX تنضيد بعض المسائل الرياضية.

وللاستكمال فقط سنشير إلى أن هناك *عنصرين* نوعين من وضع الرياضيات، يعكسان إنشاء رياضيات داخل السطر أو رياضيات معروضة:

* وضع الرياضيات داخل السطر
* وضع الرياضيات المعروضة

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

#### تفعيل أوضاع الرياضيات في TeX

توجد طرق متعددة لتجعل محرك TeX *يدخل* ثم *يخرج من* وضع الرياضيات.

* يمكنك استخدام ترميز صريح مثل:
  * صيغة LaTeX: `\(...\)` إلى *يدخل* `\(` ثم *يخرج من* `\)` وضع الرياضيات داخل السطر أو `\[...\]` إلى *يدخل* `\[` ثم الخروج من `\]` وضع الرياضيات المعروضة؛
  * صيغة TeX (التاريخية): `$...$` للدخول (الأول `$`) ثم الخروج (الثاني `$`) من وضع الرياضيات داخل السطر أو `$$...$$` للدخول (الأول `$$` *زوج*) ثم الخروج (الثاني `$$` *زوج*) من وضع الرياضيات المعروضة؛
* أو أيًّا من بيئات الرياضيات في LaTeX:
  * `\begin{align}...\end{align}` إلخ. في الخلفية تتولى هذه البيئات مهمة الدخول إلى وضع الرياضيات والخروج منه.

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

#### الماكروز: اختبار وضع الرياضيات

يمكن اختبار ما إذا كان TeX في وضع الرياضيات حاليًا باستخدام الأمر البدائي `\ifmmode`؛ وبهذه الطريقة يمكنك كتابة ماكروز يتكيّف سلوكها لتجنب توليد أخطاء مرتبطة بالأوضاع. فيما يلي مثال بسيط جدًا يوضح المبدأ، ويطبع `نعم.` أو `لا.` اعتمادًا على ما إذا كان TeX في وضع الرياضيات أم لا عند «تنفيذ» الماكرو.

```latex
\documentclass{article}
\begin{document}
\newcommand{\mytest}{\ifmmode \mathrm{Yes}\else No\fi.}

هل يُستخدم الماكرو في وضع الرياضيات؟ $\mytest$

هل يُستخدم الماكرو في وضع الرياضيات؟ $$\mytest$$

هل يُستخدم الماكرو في وضع الرياضيات؟ \(\mytest\)

هل يُستخدم الماكرو في وضع الرياضيات؟ \[\mytest\]

هل يُستخدم الماكرو في وضع الرياضيات؟ \mytest
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Testing+for+math+mode\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cmytest%7D%7B%5Cifmmode+%5Cmathrm%7BYes%7D%5Celse+No%5Cfi.%7D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%5Cmytest%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%24%5Cmytest%24%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%28%5Cmytest%5C%29+%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%5B%5Cmytest%5C%5D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5Cmytest%0A%5Cend%7Bdocument%7D)

تُظهر الصورة التالية المخرجات التي أنتجها المثال أعلاه:

![ماكرو LaTeX لاختبار وضع الرياضيات](/files/f6aca0afae8bca0e941d56a8bfb461ae16befc41)

## متقدم: شرح لآلية استعادة الأخطاء في TeX

رسالة الخطأ `تم إدراج $ مفقود` لا تصدر من Overleaf أو LaTeX أو حِزم LaTeX؛ بل إنها في الواقع تأتي من *من داخل البرنامج التنفيذي* المسؤول عن تنضيد مستند LaTeX الخاص بك: ويُسمّى ذلك البرنامج التنفيذي محرك TeX *engine*—يمكنك اعتباره هو الذي «يقود» عملية التنضيد.

ضمن الشيفرة المصدرية لبرنامج TeX، يورد مؤلفه (دونالد كنوث) هذه الملاحظة حول الشيفرة المسؤولة عن توليد `تم إدراج $ مفقود` الخطأ:

> فيما يلي قائمة بحالات من المحتمل أن يكون فيها المستخدم قد دخل إلى وضع الرياضيات أو خرج منه بالخطأ. سيُدرج TeX علامة دولار ويعيد فحص الرمز الحالي.

في صميم `تم إدراج $ مفقود` الخطأ يكمن في اكتشاف TeX لـ«شيء» كان ينبغي ألا يُستخدم داخل وضع الرياضيات، أو «شيء» صُمم صراحةً لتنضيد الرياضيات لكنه استُخدم خارج وضع الرياضيات.

المهمة التي تواجه TeX هي: كيف أتعافى من هذا؟ يفعل TeX بالضبط ما كتبه كنوث: يدرج علامة دولار ويعيد فحص الرمز الحالي— [«رمزًا»](/latex/ar/mqalat-mtamqh/53-what-is-a-tex-token.md) هي القيمة الرقمية الداخلية (عدد صحيح) في TeX التي تمثل الحرف أو الأمر الذي قرأه للتو. ومع ذلك، وبسبب السياق الدقيق للخطأ، قد تنجح هذه الاستراتيجية أو لا تنجح—كما يستمر نص الخطأ قائلًا «تابع، مع تمنياتنا بالحظ.»!

### مثال محلول

لنتأمل تعليقات كنوث من خلال إلقاء نظرة أقرب على المثال التالي: $$\verb|$y=f(x)$$إذا فتحت الكود أدناه فسترى أنه يسبّب الخطأ `تم إدراج $ مفقود`.

```latex
إن كتابة \verb|$y=f(x)$$\vskip3pt| تنتج...$y=f(x)$$\vskip3pt ابدأ سطرًا جديدًا...
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+missing+%24+inserted+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%24y%3Df%28x%29%24%24%5Cvskip3pt%7C+produces...%24y%3Df%28x%29%24%24%5Cvskip3pt+Start+new+line...%0A%5Cend%7Bdocument%7D)

لمراجعة سبب إحداث هذا الخطأ، لنكتب مؤشرات سفلية لتحديد كل $$\verb|$|$$ في التعبير لنحصل على $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}\verb|$|*{\mathtt3}\verb|\vskip3pt|$$. يستطيع TeX معالجة الجزء الأول بشكل صحيح $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}$$ الذي يُعامل على أنه جزء مُنسَّق بشكل صحيح من رياضيات داخل السطر، منتجًا $$y=f(x)$$. مباشرة بعد معالجة $$\verb|$|*{\mathtt2}$$ يخرج TeX مؤقتًا من وضع الرياضيات داخل السطر—وفي مثالنا نحن ننشئ رياضيات داخل السطر في فقرة، لذا يدخل لفترة وجيزة إلى ما يُسمى *الوضع الأفقي*.

وما يحدث بعد ذلك هو ما يسبب الخطأ. يواصل TeX معالجة $$\verb|$|\_{\mathtt3}$$ مما يدفع TeX إلى إعادة الدخول في وضع الرياضيات داخل السطر. والآن يقرأ TeX الرمز التالي وهو $$\verb|\vskip|$$ الأمر—ولم يكن قد قرأ بعد $$\verb|3pt|$$. في هذه النقطة يرى TeX $$\verb|\vskip|$$ لكنّه في وضع الرياضيات داخل السطر: $$\verb|\vskip|$$ غير مسموح به هناك، لذا يفعّل عملية معالجة الخطأ في TeX كما وصفها كنوث:

> سيُدرج TeX علامة دولار ويعيد فحص الرمز الحالي.

هنا، الرمز الحالي هو $$\verb|\vskip|$$ الأمر، لذا فإن ما يفعله TeX هو وضع *جديدة* `$` في مدخلاته، ولنسمِّها $$\verb|$|*{\mathtt4}$$. في هذه النقطة، لا يزال TeX في وضع الرياضيات داخل السطر، لكنه يعود الآن لقراءة ما يعادل $$\verb|$|*{\mathtt4}\verb|\vskip|$$ الذي يُقرأ في وضع الرياضيات داخل السطر. إن $$\verb|$|\_{\mathtt4}$$، التي أدرجها TeX نفسه، الآن *تغلق* وضع الرياضيات الحالي داخل السطر، ثم يواصل TeX قراءة $$\verb|\vskip|$$ الأمر *خارج* وضع الرياضيات داخل السطر—وهنا، يكون TeX داخل فقرة لذا فإن $$\verb|\vskip3pt|$$ يؤدي إلى إنهاء الفقرة الحالية و $$\verb|3pt|$$ من المسافة الموضوعة بعدها.


---

# 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/akhtaa-latex/25-missing-inserted.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.
