> 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/qaadh-almarfh/038-fixing-and-preventing-compile-timeouts.md).

# إصلاح مهلات التجميع ومنعها

عندما تنقر على **إعادة التحويل** الزر في مشروعك على Overleaf، فإنك تبدأ عملية تقرأ ملفات مشروعك وتحولها إلى ملف PDF منسق. إذا ظهرت لك رسالة خطأ انتهاء مهلة التجميع فهذا يعني أن عملية التجميع لم تتمكن من الاكتمال خلال [حد المهلة في خطة Overleaf الخاصة بك](/latex/ar/qaadh-almarfh/119-overleaf-plan-limits.md).

رغم أن بعض المشاريع قد تكون كبيرة جدًا أو معقدة لدرجة تمنع إنتاج ملف PDF في الوقت المتاح، فإن انتهاء مهلة التجميع يمكن غالبًا إصلاحه أو منعه.

## خطوات حل انتهاء مهلة التجميع

اتبع هذه الخطوات لتحديد المشكلات الشائعة التي تسبب انتهاء مهلة التجميع وإصلاحها:

1. [تحقق من أخطاء التجميع وأصلحها باستخدام **إيقاف عند أول خطأ** mode](#first-errors)
2. [جرّب **Fast\[draft\]** الوضع وحسّن أحجام صورك](#second-images)
3. [قيّم مشروعك بحثًا عن المهام التي تستغرق وقتًا طويلًا](#third-assess)

إلى جانب اتباع هذه الخطوات، يُرجى مراجعة الاقتراحات حول ما يجب فعله في [حالات انتهاء المهلة المحددة](#anchor-advice) وكذلك ما هي [أفضل الممارسات](#anchor-best) التي ينبغي اتباعها لمنع انتهاء مهلة التجميع.

على الرغم من أنه يمكن تجميع العديد من المشاريع ضمن الوقت المتاح في الخطة المجانية من Overleaf، فإذا كنت تُعد مستندًا كبيرًا أو معقدًا فقد تحتاج إلى [الاشتراك في خطة مدفوعة](https://www.overleaf.com/user/subscription/plans) للحصول على وقت تجميع إضافي.

## الخطوة 1: تحقق من أخطاء التجميع وأصلحها

بعض أخطاء التجميع، أو تراكم عدة أخطاء، يمكن أن يعيق تمامًا [عملية البناء latexmk](https://learn.overleaf.com/learn/Kb/How_does_Overleaf_compile_my_project%3F) ويؤدي إلى انتهاء مهلة التجميع. وللعثور على الأخطاء وإصلاحها، فعِّل **إيقاف عند أول خطأ** وضع التجميع ضمن **إعادة التحويل** القائمة المنسدلة:

![لقطة شاشة تُظهر كيفية تمكين وضع التجميع إيقاف عند أول خطأ](/files/2c7cd91a80d032382f08a17bd8811b3ede2f2eca)

ال [**إيقاف عند أول خطأ**](/latex/ar/qaadh-almarfh/149-using-the-stop-on-first-error-compilation-mode.md) وضع التجميع يفعل تمامًا ما تتوقعه — فهو يوقف التجميع فور حدوث خطأ. وعند حدوث ذلك، لن يتم إنشاء أي ملف PDF وستظهر رسالة تصف الخطأ. يؤدي تشغيل **إيقاف عند أول خطأ** إلى تمكينك من العثور على كل خطأ في المشروع وإصلاحه حتى يصبح المشروع خاليًا من الأخطاء.

النقر على كل رسالة خطأ سينقلك إلى السطر في الشيفرة المصدرية الذي يسبب المشكلة حتى تتمكن من تصحيح شيفرتك. تُشرح عدة أخطاء شائعة على [هذه الصفحة](/latex/ar/asasyat-latex/05-errors.md)، كما تُسرد بعض اقتراحات تصحيح أخطاء LaTeX على [هذه الصفحة](/latex/ar/alaselh-walajwbh/81-tips-and-tricks-for-troubleshooting-latex.md). يُرجى أيضًا الاطلاع على [القسم في هذه المقالة](#anchor-fatal) الذي يسرد بعض **أخطاء التجميع القاتلة** التي تسبب انتهاء مهلة التجميع.

## الخطوة 2: جرّب التجميع في وضع Fast \[draft]

إن تضمين العديد من ملفات الصور الكبيرة في مشروعك يمكن أن يزيد بشكل كبير من الوقت المطلوب لتجميع مشروعك.

إحدى الطرق التي قد تساعد في معرفة ما إذا كانت معالجة الصور هي سبب انتهاء المهلة هي محاولة التجميع في **سريع \[مسودة]** هذا الوضع. وللقيام بذلك، اختر **سريع \[مسودة]** الخيار من **قائمة إعادة التجميع**. يستبدل هذا جميع الرسومات لديك بمربعات ويجعل تجميع ملف PDF أسرع بكثير:

![تعيين وضع التجميع المسوّدة لمشروع Overleaf](/files/0e7bd9df08fd48ec022d0f125ca13050ba0e2ee8)

إذا تم تجميع مستندك في **سريع \[مسودة]** الوضع ولكنه لا يكتمل تجميعه في **العادي** الوضع، فقد يكون السبب ملفات صور كبيرة أو كثيرة.

### تحسين ملفات الصور

إذا كنت قد استخدمت عدة ملفات PNG أو JPEG كبيرة وعالية الدقة، فإن معالجة هذه الملفات يمكن أن تزيد الوقت اللازم لتجميع مشروعك، وأحيانًا بشكل ملحوظ. احرص على:

* استخدم ملفات PDF بدلًا من ملفات PNG للرسوم البيانية والمخططات.
* اقتصر على استخدام JPEG للصور الفوتوغرافية.

للمزيد من النصائح، راجع: [تحسين ملفات الصور الكبيرة](/latex/ar/qaadh-almarfh/113-optimising-very-large-image-files.md).

## الخطوة 3: قيّم مشروعك بحثًا عن المهام التي تستغرق وقتًا طويلًا والأخطاء القاتلة

إذا كان كلٌّ من **إيقاف عند أول خطأ** و **Fast\[draft]** وضعي التجميع لا يزالان يؤديان إلى انتهاء مهلة التجميع، فقد تحتاج إلى التعمق أكثر لتحديد سبب انتهاء المهلة ومعالجته (نأمل ذلك).

1\. [راجع قائمة الممارسات والحزم التي تستغرق وقتًا طويلًا والتي يمكن أن تبطئ التجميع](#anchor-slow)

2\. [راجع قائمة الأخطاء القاتلة الشائعة التي يمكن أن تؤدي إلى انتهاء المهلة](#anchor-fatal)

3\. [تحقق من النصائح الخاصة بسيناريوهات انتهاء المهلة المحددة التي تصف حالتك على أفضل وجه](#anchor-advice)

### الممارسات والحزم التي تستغرق وقتًا طويلًا

بعض الممارسات والحزم يمكن أن تؤدي إلى تجميع بطيء جدًا، بل وحتى إلى انتهاء المهلة.

**تضمين رسومات TikZ أو pgfplots المعقدة**

`TikZ` و [`pgfplots`](https://ctan.org/pkg/pgfplots?lang=en) ينتجان رسومات رائعة ولكنهما قد [يستغرقان وقتًا طويلًا للتجميع](https://tex.stackexchange.com/a/254946/226). توجد [عدة طرق يمكنك بها إخراج رسومات TikZ إلى ملفات خارجية](/latex/ar/alaselh-walajwbh/60-i-have-a-lot-of-tikz-matlab2tikz-or-pgfplots-figures-so-i-m-getting-a-compilation-timeout.-can-i.md) حتى لا يضطر LaTeX إلى إعادة رسمها في كل مرة ينشئ فيها ملف PDF جديدًا.

**استخدام الحزمة mhchem**

الإصدارات الحديثة من [`mhchem` الحزمة](https://ctan.org/pkg/mhchem?lang=en) قد تستغرق وقتًا أطول للتجميع. وبحسب ما تستخدمها من أجله، فإن [`chemformula` الحزمة](https://ctan.org/pkg/chemformula) قد تقلل الوقت اللازم للتجميع. وإذا كنت تستخدم بالفعل `mhchem`، فيمكنك محاولة استبدالها مباشرةً بـ `chemformula` كتبديل:

```latex
% \usepackage{mhchem}
\usepackage{chemformula}
\let\ce\ch
```

* **ملاحظة**؛ توجد اختلافات في الصياغة والميزات بين `mhchem` و `chemformula`، لذا قد لا يعمل هذا دائمًا بشكل جيد. على سبيل المثال، `\ce{2H2O}` سيُعرض بشكل صحيح مع `mhchem`، ولكن مع `chemformula` سيتعين عليك كتابة هذا على النحو `\ch{2 H2O}` مع وجود مسافة بعد `2`.

**تضمين استدعاءات التتبع أو تصحيح الأخطاء**

إذا كان لديك `\tracingall` أمر في مستندك، فقد يكون يكتب *قدرًا كبيرًا* من البيانات إلى `.log`. إن تسجيل ومعالجة `\tracingall` البيانات في `.log` الملف يمكن أن يجعل التجميع بطيئًا جدًا. يُنصح بإزالة `\tracingall` استدعاءات، أو إذا كنت بحاجة إلى استخدام طرق مماثلة لتصحيح الأخطاء فاستعمل [`التتبع` الحزمة](http://ctan.org/pkg/trace) بدلًا من ذلك.

**استخدام الحزمة acro**

مستخدمو [`acro` الحزمة](https://www.ctan.org/pkg/acro) قد [أفادوا بأن الإصدار 3 بطيء](https://github.com/cgnieder/acro/issues/205) في تحميل تعريفات الاختصارات. ومن عواقب `acro`ازدياد وقت التجميع هو احتمال التسبب في انتهاء مهلة التجميع؛ ولحسن الحظ، توجد طريقة بديلة: استخدام الإصدار 2 من `acro` الحزمة.

قد يتطلب الانتقال من الإصدار 3 إلى الإصدار 2 تعديل مشروعك للتأكد من توافقه مع خيارات الإصدار 2 وميزاته وأوامره. تتوفر وثائق الإصدار 2 ضمن إصدارات الشيفرة المصدرية السابقة التي يمكن [تنزيلها من GitHub](https://github.com/cgnieder/acro/releases/tag/v2.10).

فيما يلي بعض الأمور التي ينبغي التحقق منها عند الرجوع إلى الإصدار 2 — وهذه القائمة ليست شاملة بأي حال:

1. عدّل الملف الرئيسي في مشروعك `.tex` إلى:
   * غيّر `\usepackage{acro}` إلى `\usepackage{acro}[=v2]`
   * غيّر `include=...` مفتاح الخيار في `\printacronyms` إلى `include-classes=...`
2. ضمن أي أمر `\DeclareAcronym` ، تأكد من أن مفتاح الخيار `tag=...` تم تغييره إلى `class=...`.

يرجى الرجوع إلى [`acro` وثائق الإصدار 2.10](https://github.com/cgnieder/acro/releases/tag/v2.10) للاطلاع على الأوامر والخيارات المتاحة في الإصدار 2 وغير المتاحة في الإصدار 3.

**استخدام صور EPS أو SVG**

قد يتطلب استخدام صور EPS أو SVG معالجة إضافية لتحويلها إلى صيغة PDF. وستضيف هذه المعالجة الإضافية إلى الوقت المطلوب لتجميع مشروعك.

* بينما **latex** يدعم المترجم صور EPS مباشرةً، فإن **pdfLaTeX** المترجم لا يدعم صور EPS، لذا يلزم إجراء خطوة إضافية لتحويلها إلى صور PDF عند استخدام ذلك المترجم. وتتم المعالجة بواسطة `epstopdf` الحزمة التي تستخدم `Ghostscript` لتحويل ملفات EPS إلى PDF. ويمكن لخطوة التحويل هذه أن تضيف بشكل ملحوظ إلى الوقت المطلوب لتجميع المشروع.
* ملفات صور SVG غير مدعومة مباشرةً من أي مترجم LaTeX، وتتطلب استخدام `svg` الحزمة و `\includesvg` الأمر الذي توفره. وتستخدم `svg` الحزمة `inkscape` لتحويل صور SVG إلى PDF. ويمكن لخطوة التحويل هذه أن تضيف بشكل ملحوظ إلى الوقت المطلوب لتجميع المشروع.

للحصول على نتائج أسرع قد تساعد في تجنب انتهاء مهلة التجميع، استخدم إصدارات PDF من صورك بدلًا من صيغ EPS أو SVG.

**استخدام الحزمة tabularray**

ال `tabularray` توفّر الحزمة بديلًا للأوامر والبيئات القياسية لإنشاء الجداول في LaTeX. للأسف فإن `tabularray` الحزمة تعمل ببطء شديد، لا سيما مع الجداول الكبيرة وتلك التي تستخدم أنواع أعمدة معينة. حاليًا، يُوصى بطرائق تعريف الجداول القياسية بدلًا من `tabularray` ذلك بسبب اعتبارات وقت التجميع.

**إنشاء حلقة لا نهائية في أمر**

أثناء التجميع، قد تتسبب أوامر LaTeX أحيانًا نادرًا في «حلقة لا نهائية». وغالبًا ما تنتج الحلقات اللانهائية عن أخطاء في الحزم أو في الأوامر التي يعرّفها المستخدم.

إذا كنت تشك في أنك قد تكون تواجه حلقة، فتحقق مما إذا كنت قد أنشأت عن طريق الخطأ [تعريفًا](https://en.wikipedia.org/wiki/Recursion) تكراريًا في أحد الأوامر المخصصة لديك، مثل `\newcommand{\foo}{\foo}`.

### بعض أسباب أخطاء التجميع القاتلة

فيما يلي بعض الأسباب المعروفة للأخطاء القاتلة.

**تضمين أسطر فارغة في أوامر العناوين الحساسة**

غالبًا ما توفر فئات LaTeX وقوالب المجلات أوامر خاصة لتحديد أجزاء من عنوان المستند. وعادةً ما تكون هذه الأوامر مخصصة لتضمين وسائط بسيطة، وقد يؤدي استخدامها بطرق غير متوقعة إلى أخطاء تجميع وحتى انتهاء المهلة. والأهم من ذلك، فإن أوامر مثل `\author{...}`, `\date{...}` و `\title{...}` يجب ألا تحتوي على أسطر فارغة.

**تضمين عدد كبير جدًا من العناصر العائمة الثابتة**

إذا كان لديك عدد كبير جدًا من الجداول أو الأشكال التي تستخدم `[H]` معرّف التموضع من `float` الحزمة، فقد يتسبب ذلك في دخول LaTeX في حلقة لا نهائية أثناء محاولة العثور على أماكن مناسبة لجميعها. فكّر في استبدال جميع `[H]` مع `[hbt!]` وإذا لزم الأمر، استخدم أحيانًا `\clearpage` لإخراج جميع الجداول والأشكال من القائمة قبل إدراج فاصل صفحة.

**أخطاء في الأمر \caption وبيئات tabular**

فيما يلي قائمة بالمشكلات المتعلقة بالجداول التي ينبغي الانتباه إليها — وبشكل عام، حاول توخي الحذر عند تنضيد الجداول!

* `\caption{...}` يجب أن توضع دائمًا *خارج* موقع `tabular` البيئة لأنه قد يسبب أخطاء قاتلة إذا كانت [`caption` الحزمة](https://ctan.org/pkg/caption) محمّلة، كما هو موضح في المثال التالي:

  ```latex
  \documentclass{article}
  \usepackage{caption}
  \begin{document}

  \begin{table}
      \begin{tabular}{c|c}
          \caption{Caption}% يجب أن تكون \caption{...} خارج بيئة tabular
          a & b \\
          c & d \\
      \end{tabular}
  \end{table}
  \end{document}
  ```

  [افتح هذا المثال **الذي يؤدي إلى ظهور خطأ انتهاء المهلة في Overleaf**](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Overleaf+timeout+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bcaption%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Btable%7D%0A++++%5Cbegin%7Btabular%7D%7Bc%7Cc%7D%0A++++++++%5Ccaption%7BCaption%7D%25+%5Ccaption%7B...%7D+should+be+OUTSIDE+the+tabular+environment%0A++++++++a+%26+b+%5C%5C%0A++++++++c+%26+d+%5C%5C%0A++++%5Cend%7Btabular%7D%0A%5Cend%7Btable%7D%0A%5Cend%7Bdocument)
* في المقابل، لاحظ أن `longtable` البيئة *لا* تتطلب `\caption{...}` داخلها، كما هو موضح بمثال في [مقالة مساعدة الجداول](/latex/ar/alashkal-waljdawl/01-tables.md#multi-page-tables).
* `\caption{...}` لا ينبغي أن تحتوي على `\\`, `\newline`, `\centering`, `\raggedright` إلخ.
* مع بعض القوالب أو الحزم، `\ref{...}` أو `\cite{...}` داخل `\caption` قد يحتاج إلى أن يُسبَق بـ `\protect` لتجنب الأخطاء القاتلة؛ على سبيل المثال، `\protect\cite{...}`.
* تحقق من `\cmidrule{...}` داخل `tabular` البيئات غير المكتملة؛ فهي تتطلب نطاقًا من الأعمدة، لذا ستحتاج إلى كتابة `\cmidrule{3-3}` بدلًا من مجرد `\cmidrule{3}` إذا كنت تريد خطًا أفقيًا يمتد على عمود واحد فقط.
* تجنب `tabular` البيئات المتداخلة. ألقِ نظرة على [`makecell` الحزمة](https://ctan.org/pkg/makecell?lang=en) إذا كنت ترغب في إضافة فواصل أسطر يدوية داخل خلية جدول، أو إلى `p{...}` نوع العمود و/أو [`tabularx`](https://ctan.org/pkg/tabularx) الحزمة إذا كنت تبحث عن طرق لإنشاء أعمدة تلتف فيها الأسطر الطويلة تلقائيًا.
* إذا كانت لديك صفوف tabular تبدأ بـ `[...` فقد تحتاج إلى إضافة `\\relax` بعد `\\` في الصف السابق.

**استخدام الحزمة soul أو changes**

إذا كنت تستخدم [`soul`](https://ctan.org/pkg/soul) أو [`changes`](https://ctan.org/pkg/changes) لتظليل النص أو شطبه، فإن `\cite` و `\ref` قد يحتاج إلى أن يُسبَق بـ `\protect`؛ على سبيل المثال، `\protect\cite{...}`.

**استخدام tikzpicture**

تحقق من العناصر المفقودة `;` في نهاية أوامر path/node و `]` في نهاية قوائم المعاملات في `tikzpicture`s.

**استخدام الحزمة breqn**

ال [`breqn`](https://ctan.org/pkg/breqn) الخاصة بالحزمة `dmath` البيئة قد تدخل في حلقات لا نهائية؛ استبدلها بـ `align` وأدخل فواصل الأسطر يدويًا إذا لزم الأمر.

**استخدام الحزمة babel**

بعض [`babel`](https://ctan.org/pkg/babel) خيارات اللغة تغيّر معنى بعض المحارف، مما قد يسبب مشاكل عند استخدام تلك المحارف في سياقها «الطبيعي»؛ على سبيل المثال، في وضع الرياضيات. ولتجنب ذلك، حاول استخدام الخيار `shorthands=off` عند تحميل babel (مثلًا، `\usepackage[shorthands=off]{babel}`).

**استخدام الحزمة jabbrv**

تستخدم بعض القوالب [`jabbrv` الحزمة](https://github.com/compholio/jabbrv) للاختصار التلقائي لعناوين المجلات (انظر [هذا المثال على Overleaf](https://www.overleaf.com/latex/templates/automatic-journal-abbreviations/mxfsdscmvxcr)). عندما يحتوي حقل المجلة في `.bib` الملف على محارف يونيكود مُشكَّلة (مثل Biología)، فقد يؤدي ذلك إلى منع التجميع والتسبب في انتهاء المهلة على Overleaf. يجب استخدام أوامر LaTeX بدلًا من ذلك، مثل `Biolog{\'i}a` أو يمكنك [تغيير مترجم المشروع](/latex/ar/qaadh-almarfh/026-changing-compiler.md) إلى `XeLaTeX` أو `LuaLaTeX`، وكلاهما يدعم قراءة محارف يونيكود مدمجًا.

## نصائح لبعض حالات انتهاء المهلة المحددة

### كان مشروعي يُجمَّع دون أي أخطاء، لكنني الآن أرى انتهاء مهلة التجميع

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

1. استخدم [إعادة التجميع من البداية](/latex/ar/qaadh-almarfh/028-clearing-the-cache.md) لإزالة أي ملفات مُولَّدة قديمة قد تسبب مشاكل.
2. استخدم [ميزة سجل Overleaf](/latex/ar/mzyd-mn-almwdhwaat/49-using-the-history-feature.md) للعثور على أحدث تغييراتك. راجع قائمة أسباب أخطاء التجميع القاتلة أعلاه.
3. استخدم [إيقاف عند أول خطأ](/latex/ar/qaadh-almarfh/149-using-the-stop-on-first-error-compilation-mode.md) للعثور على أي خطأ أضفته عن طريق الخطأ وإصلاحه.

من الممكن أن يكون تغيير صغير قد أدى إلى خطأ تجميع قاتل - يُرجى الاطلاع على [قائمة أخطاء التجميع القاتلة أعلاه](#anchor-fatal) للاطلاع على بعض الأسباب المحتملة.

### لقد حمّلت للتو مشروعًا إلى Overleaf وواجهت انتهاء مهلة التجميع

قد يكون مشروعك يفتقر إلى ملف أو حزمة أساسيين، أو أنه منظَّم بطريقة تسبب مشاكل لعملية التجميع في Overleaf.

* إذا كان مشروع ما قد تم تجميعه دون مشاكل على جهازك المحلي لكنه يفشل في التجميع على Overleaf، فقد يكون السبب أنك تستخدم إصدارًا مختلفًا من **TeX Live** على جهازك الشخصي. يمكنك [تغيير إصدار TeX Live لمشروعك](https://www.overleaf.com/blog/new-feature-select-your-tex-live-compiler-version) ليتطابق أكثر مع الإصدار الذي نجّح تجميع مشروعك محليًا.
* قد لا يكون للمشروع الذي رفعته بنية ملفات مثالية لـ Overleaf. إذا كان ملف tex الرئيسي لديك داخل مجلد، فقد يواجه المترجم صعوبة في تحديد بعض تبعيات الملفات. إذا كان ملف tex الرئيسي لديك داخل مجلد، فحاول إعادة هيكلة مشروعك بحيث يكون ملف tex الرئيسي في المستوى الأعلى من مشروعك.

اتباع [التعليمات أعلاه لتحديد الأخطاء وإصلاحها](#first-errors) يمكن أن يكشف غالبًا عن الملفات المفقودة ومشكلات إصدار TeX Live ومشكلات تنظيم المشروع.

### لقد أنشأت نسخة من مشروع كان يُجمَّع، لكنني الآن أواجه انتهاء مهلة التجميع

ستستخدم المشاريع الجديدة، بما في ذلك نسخ المشاريع الموجودة، أحدث إصدار من TeX Live بشكل افتراضي. إذا كان مشروعك الأصلي على إصدار أقدم من TeX Live، فقد تكون هناك حالات عدم توافق مع الإصدار الأحدث هي التي تسبب المشاكل. جرّب [تغيير إصدار TeX Live](https://www.overleaf.com/blog/new-feature-select-your-tex-live-compiler-version) في نسختك الجديدة ليتطابق مع الإصدار في المشروع الأصلي.

### لا أستطيع جعل مشروعي يُجمَّع عندما أضم جميع الأقسام، لكن كل قسم يُجمَّع جيدًا بمفرده

اتبع [النصيحة أعلاه حول استخدام خيار التجميع Fast\[draft\]](#second-images) لمعرفة ما إذا كان بالإمكان تجميع المشروع بالكامل في وضع Fast\[draft].

في بعض الحالات، يمكن تجميع مشروع كبير بنجاح على مرحلتين: أولًا بالتشغيل في وضع Fast\[draft]، ثم بالتجميع في الوضع العادي.

تحقق من كل قسم في مشروعك لتحديد المصادر المحتملة لبطء التجميع. وقد تشمل هذه [ملفات الصور الكبيرة التي يمكن تحسينها](#anchor-optimize)، أو غيرها من [الممارسات أو الحزم التي تستغرق وقتًا طويلًا](#anchor-slow).

### ينتهي وقت مشروعك أحيانًا، لكنه لا يمكن تجميعه بشكل موثوق

قد يكون مشروعك يعمل قريبًا جدًا من الحد الأقصى للتجميع. اتبع النصيحة أعلاه بشأن [إصلاح الأخطاء](#first-errors), [تحسين الصور](#second-images)، و [تجنب الممارسات أو الحزم التي تستغرق وقتًا طويلًا](#third-assess).

## أفضل الممارسات لمنع انتهاء مهلة التجميع

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

### أصلح جميع أخطاء التجميع عند حدوثها

تُشار أخطاء التجميع إلى فقاعة الإشعار الحمراء بجوار زر إعادة التجميع كما هو موضح في [هذه الصفحة](/latex/ar/alaselh-walajwbh/81-tips-and-tricks-for-troubleshooting-latex.md). إذا نقرت على الفقاعة الحمراء، فسترى رسائل الخطأ. النقر على كل رسالة خطأ سينقلك إلى السطر المقابل في الشيفرة المصدرية، بحيث يمكنك تصحيح شيفرتك. نوصي بإصلاح الأخطاء في أسرع وقت ممكن، لأن تركها تتراكم قد يؤدي إلى أخطاء يصعب تتبعها وأخطاء قاتلة في المستقبل.

[تقدم هذه الصفحة](/latex/ar/asasyat-latex/05-errors.md) تشرح عدة أخطاء تجميع شائعة. إذا كنت تواجه صعوبة في فهم رسالة خطأ، فإن البحث عبر الإنترنت باستخدام نص الخطأ غالبًا ما سينقلك إلى تدوينة أو مشاركة في منتدى تُشرح فيها المشكلة وتُعرض الحلول.

### أضِف تسميات لإصدارات مشروعك قبل التغييرات الكبيرة أو المعالم المهمة

استخدم [ميزة سجل Overleaf](/latex/ar/mzyd-mn-almwdhwaat/49-using-the-history-feature.md) لإضافة تسميات إلى إصدارات مشروعك، بحيث يمكنك بسهولة مقارنة مشروعك الحالي بالإصدارات السابقة. يمكن أن يساعدك هذا في العثور بسرعة على أي مصادر جديدة لأخطاء التجميع.

### نظِّم ملفاتك

من الأسهل العثور على المشكلات وإصلاحها إذا كان مشروعك منظمًا جيدًا. بالإضافة إلى ذلك، يمكن أن تتيح لك الإدارة الجيدة للمشروع تجميع أقسام محددة من مشروعك، مما يسهل تحديد المناطق التي قد تساهم في إطالة وقت التجميع بشكل مفرط. يُرجى [راجع هنا](/latex/ar/bnyh-almstnd/07-management-in-a-large-project.md) للحصول على نصائح حول إدارة المشاريع الكبيرة.

## مزيد من المعلومات حول التجميع ووقت التجميع

### ما هو «التجميع» أصلًا؟

التجميع هو عملية تحويل كود LaTeX الخاص بك إلى ملف PDF مُنسَّق. [تعرّف على المزيد حول كيفية تجميع Overleaf لمشاريع LaTeX](/latex/ar/qaadh-almarfh/064-how-does-overleaf-compile-my-project.md).

### حدود الاستخدام العادل

قد تستغرق بعض المستندات الكبيرة أو المعقدة وقتًا أطول للتجميع من حدّ المهلة في الخطة المجانية من Overleaf، وقد تتطلب وقت التجميع الممتد المتاح على [خطط مدفوعة](https://www.overleaf.com/user/subscription/plans)قد تحتاج بعض المشاريع حتى إلى وقت تجميع أطول مما هو متاح في خططنا المدفوعة. في تلك الحالات، قد تحتاج إلى تنزيل مشروعك وتجميعه محليًا.

### ما زلت عالقًا؟

إذا كان لديك انتهاء مهلة للتجميع لا يمكنك حله باستخدام النصائح هنا، يُرجى [إخبارنا](https://www.overleaf.com/contact).


---

# 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/qaadh-almarfh/038-fixing-and-preventing-compile-timeouts.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.
