> 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/033-cross-referencing-with-the-xr-package-in-overleaf.md).

# الاستشهاد المتقاطع باستخدام الحزمة xr في Overleaf

## نظرة عامة

ال [`xr` الحزمة](https://ctan.org/pkg/xr?lang=en) يتيح لك إنشاء مراجع متقاطعة للمعادلات والأشكال والجداول وما إلى ذلك الموجودة في مستندات LaTeX خارجية، بشرط أن تكون تلك المستندات *مستقلة.* مستند LaTeX المستقل هو مستند يمكن تجميعه لأنه يحتوي على `\documentclass{...}` تعليمة و `\begin{document}`...`\end{document}` البناء.

### ملخص الاستخدام

1. اكتب `\usepackage{xr}` في مقدمة ملف LaTeX الذي يحتاج إلى الإحالة المتقاطعة إلى المحتوى الموجود في ملفات LaTeX الخارجية.
2. استخدم `xr` أمر الحزمة `\externaldocument{filename}` لتحديد المستند أو المستندات الخارجية التي تريد الإحالة المتقاطعة إلى محتواها.

ال `xr` تعمل الحزمة باستخدام تسميات المراجع المتقاطعة الموجودة في `.aux` الملفات التي يتم إنشاؤها عند تجميع مستندات LaTeX الخارجية.

### كيف تعمل الإحالات المتقاطعة (ملخص قصير)

للإحالة المتقاطعة إلى عنصر في مستند LaTeX تحتاج إلى:

1. امنحه معرّفًا فريدًا، `some_string`، باستخدام `\label` الأمر:

```latex
\label{some_string}
```

3. في الموضع الذي تريد فيه الإشارة إلى ذلك العنصر، تحتاج إلى كتابة

```latex
\ref{some_string}
```

وباختصار شديد، يدير LaTeX الإحالات المتقاطعة بكتابة البيانات إلى ملف يُسمى `filename.aux` حيث `filename` هو اسم المستند الرئيسي `.tex` الملف الجاري تجميعه.

لكي تعمل العملية، يجب تجميع مستند LaTeX مرتين على الأقل: التجميع الأول *ينشئ* بيانات المراجع—ويكتبها إلى `filename.aux`. أثناء التجميع الثاني، يقوم LaTeX *بقراءة* `filename.aux` لحل المراجع، مع توفير البيانات اللازمة لاستبدال مثيلات `\ref{some_string}`.

* للمزيد من التفاصيل حول الإحالات المتقاطعة، انظر مقالة Overleaf [الإحالة المتقاطعة للأقسام والمعادلات والعناصر الطافية](/latex/ar/bnyh-almstnd/03-cross-referencing-sections-equations-and-floats.md).

## المشاريع التي لا تتطلب حزمة xr

غالبًا ما تُقسَّم مشاريع LaTeX الكبيرة، مثل الكتب أو التقارير الطويلة، إلى سلسلة من `.tex` ملفات أصغر، ملف لكل فصل، مع إضافة ملف `.tex` كل فصل إلى مستند LaTeX الرئيسي باستخدام `\input` أو `\include`. عادةً، لا تكون تلك الفصول مستقلة: لا يمكنك تجميع الفصول الفردية لأنها لا تحتوي على `\documentclass{...}` تعليمة أو `\begin{document}...\end{document}` البناء. تلك الفصول مخصّصة *للإدراج* في مستند «حاوية» *يمكن* تجميعه. في تلك الظروف، يمكن أن تتم الإحالة المتقاطعة إلى عناصر المستند—ضمن أي ملف فصل فردي—بشكل طبيعي: لا تحتاج إلى استخدام `xr` الحزمة.

لاستكشاف مثال لمشروع كبير يمكنك [فتح هذا المثال في Overleaf.](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## مثال على مشروع تتطلب فيه حزمة xr

لنفترض أن لديك مجموعة من مستندات LaTeX المستقلة مثل مجموعة من المقالات N: `article1.tex`, `article2.tex` ... `articleN.tex`. يمكن تجميع كل واحد من تلك المقالات بشكل منفصل، ومن المحتمل أنها كُتبت باستخدام مجموعة متنوعة من فئات المستندات والحزم وما إلى ذلك.

تخيّل الآن أنك تريد استخدام LaTeX لكتابة نظرة عامة أو ملخص لتلك المقالات—سنسمّي ملفنا `summary.tex`. يحتاج ملخصنا إلى الإشارة إلى الأقسام والأشكال والجداول والمعادلات وما إلى ذلك الموجودة داخل تلك المقالات الفردية المستقلة N. كيف يمكننا فعل ذلك؟

ال `xr` تتيح لك الحزمة القيام بذلك: فهي تمكّن `summary.tex` من استخدام تسميات المراجع التي تم إنشاؤها بواسطة أي من الملفات المستقلة `article*.tex` ملفات .bib.

### ملاحظة بشأن ملفات .aux

* ملاحظة، نحن هنا نستخدم النجمة (`*`) كعنصر نائب لأي عدد من 1 إلى N.

إن تجميع أي من الملفات المستقلة `article1.tex`, `article2.tex` ... `articleN.tex` يتسبب في قيام LaTeX بإنشاء `article*.aux` (\*\*`aux`\*\*illary) file which, among other items, contains label data required to generate cross-references.

إذا تم تحرير أي من `article*.tex` الملفات—على سبيل المثال، لتغيير التسميات أو إضافتها أو إزالتها (`\label{...}`)—فإن الملف أو الملفات المقابلة `article*.tex` يجب إعادة تجميعها لتحديث `article*.aux` ملف(ات) مشروعك وتصفية هذه القائمة.

اكتشاف التغييرات في `article*.tex`، ثم إعادة تجميعها لاحقًا، يمكن أتمتته في Overleaf باستخدام `latexmkrc` الملف.

## كيفية استخدام xr على Overleaf

سنستخدم نسخة مبسطة من مثالنا متعدد المقالات؛ وعلى وجه الخصوص، نوضح كيف يمكن أتمتة عملية التجميع عبر `latexmkrc` قابل للتحرير [مقدَّم إلى Overleaf بواسطة John Collins](#code-for-latexmkrc) ([المُحافظ على `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### الملفات المستخدمة في مثالنا

يستخدم مثالنا الملفات التالية:

* `**summary.tex**`: هذا هو مستند النظرة العامة لدينا. نحتاجه للإحالة إلى المحتوى الموجود في `article1.tex`، مثل الأشكال والأقسام.
  * `summary.tex` يحمّل `xr` الحزمة ويستخدم `\externaldocument{article1}` لتحديد أن بيانات المراجع من `article1.aux` يجب استخدامها.
* `**article1.tex**`: مقال مستقل واحد يحتوي على مراجع متقاطعة داخلية. يؤدي تجميع `article1.tex` إلى إنشاء بيانات المراجع المتقاطعة الموجودة في الملف `article1.aux`.
  * ملف خارجي مثل `article1.tex` قد يكون قد كُتب بواسطة شخص آخر—لتستخدمه «كما هو»، أي من دون تغيير.
* `**latexmkrc**`: يحتوي على شيفرة (Perl) لأتمتة إعادة تجميع `article1.tex` بسبب أي تغييرات تُجرى عليه—لإنشاء `article1.aux` الملف.
  * ملفنا `latexmkrc` كان الملف [مقدَّم إلى Overleaf بواسطة John Collins](#code-for-latexmkrc) ([المُحافظ على `latexmk`](https://ctan.org/pkg/latexmk?lang=en)).

### حول الأمر \externaldocument

ال `xr` توفر الحزمة الأمر`\externaldocument` ، الذي له الصيغة العامة

```latex
\externaldocument[prefix]{external_file}
```

* **`prefix` (اختياري):** تتيح لك هذه الوسيطة الاختيارية تعريف بادئة ستُضاف إلى جميع التسميات المستوردة من المستند الخارجي. وهذا مفيد لتجنب التعارضات إذا استُخدمت أسماء التسميات نفسها في مستندات متعددة.
* **`external_file` (مطلوب):** تحدد هذه الوسيطة المطلوبة اسم مستند LaTeX الخارجي (من دون `.tex` الامتداد) الذي تريد استيراد المراجع منه. ستبحث `xr` الحزمة عن `.aux` الملف المقابل لـ `external_file` (مثل، `external_file.aux`) لاسترجاع التسميات.

على سبيل المثال، إذا كان مستندنا الرئيسي `.tex` قابل للتحرير `summary.tex` والملف الخارجي، `article1.tex` كلاهما يحتوي على التسمية `\label{eq:1}` فإن لدينا تعارضًا في اسم التسمية. ويمكن منع هذا التعارض بكتابة

```latex
\externaldocument[art1-]{article1}
```

وفي هذه الحالة تُسبق جميع التسميات التي يتم إنشاؤها عند تجميع `article1.tex` بالبادئة `art1-`. والآن يمكنك الوصول إلى `\label{eq:1}`، الموجودة في `article1.tex`، بكتابة `\ref{art1-eq:1}` في `summary.tex`.

### ملفات المشروع

#### article1.tex

يمكن فتح الشيفرة التالية في Overleaf باستخدام الرابط أسفل القائمة.

```latex
\documentclass{article}
\title{This is \texttt{article1.tex}}
\begin{document}
\section{Introduction}
\label{introduction}

هذا مستند \LaTeX{} مستقل يحتوي على
مراجع نريد استخدامها في \texttt{summary.tex}.

\subsection{Math references}
\label{mathrefs}
كما ذُكر في القسم \ref{introduction}،
يمكن الإشارة إلى عناصر مختلفة داخل
مستند.

\subsection{Powers series}
\label{powers}

\begin{equation}
\label{eq:1}
\sum_{i=0}^{\infty} a_i x^i
\end{equation}

المعادلة \ref{eq:1} هي متسلسلة قوى نموذجية.
\end{document}
```

[افتح `article1.tex` في Overleaf](https://www.overleaf.com/docs?engine=%5B%5B%3ATemplate%3AEngine%5D%5D}\&snip_name\[]=readme.txt\&snip\[]=A+project+created+from+the+Overleaf+wiki\&snip_name\[]=article1.tex\&main_document=article1.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Ctitle%7BThis+is+%5Ctexttt%7Barticle1.tex%7D%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0A%5Clabel%7Bintroduction%7D%0A%0AThis+is+a+standalone+%5CLaTeX%7B%7D+document+with%0Areferences+we+want+to+use+in+%5Ctexttt%7Bsummary.tex%7D.%0A%0A%5Csubsection%7BMath+references%7D%0A%5Clabel%7Bmathrefs%7D%0AAs+mentioned+in+section+%5Cref%7Bintroduction%7D%2C+%0Adifferent+elements+can+be+referenced+within%0Aa+document.%0A%0A%5Csubsection%7BPowers+series%7D%0A%5Clabel%7Bpowers%7D%0A%0A%5Cbegin%7Bequation%7D%0A%5Clabel%7Beq%3A1%7D%0A%5Csum_%7Bi%3D0%7D%5E%7B%5Cinfty%7D+a_i+x%5Ei%0A%5Cend%7Bequation%7D%0A%0AEquation+%5Cref%7Beq%3A1%7D+is+a+typical+power+series.%0A%5Cend%7Bdocument)

يؤدي تجميع `article1.tex` إلى إنتاج المخرجات التالية:

![مخرجات تم إنتاجها عند تجميع ملف article1.tex في Overleaf](/files/8a6cb4fc57d1b44a4058f60c5ecf60eb599ec1de)

#### summary.tex

إليك ملفنا الأولي `summary.tex` قابل للتحرير *قبل أن* لقد حددنا المستند الخارجي الذي نريد الإحالة إليه. ولأجل البساطة، `summary.tex` لا يحتوي على أي `\label` أوامر لأن لا توجد مراجع متقاطعة داخلية. جميع `\ref` الأوامر تشير إلى تسميات تم إنشاؤها بواسطة `\label` أوامر موجودة في `article1.tex`.

```latex
\documentclass{article}
\usepackage{xr}
\title{This is \texttt{summary.tex}}
\begin{document}
في الملف \texttt{article1.tex}، المقدمة هي القسم \ref{introduction}. في ذلك الملف، يوجد قسمان فرعيان: \ref{mathrefs} و \ref{powers}. في القسم الفرعي \ref{powers}، توضح المعادلة \ref{eq:1} متسلسلة قوى.
\end{document}
```

[افتح هذا *غير مكتمل* `summary.tex` في Overleaf](https://www.overleaf.com/docs?engine=%5B%5B%3ATemplate%3AEngine%5D%5D}\&snip_name\[]=readme.txt\&snip\[]=A+project+created+from+the+Overleaf+wiki\&snip_name\[]=summary.tex\&main_document=summary.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxr%7D%0A%5Ctitle%7BThis+is+%5Ctexttt%7Bsummary.tex%7D%7D%0A%5Cbegin%7Bdocument%7D%0AIn+the+file+%5Ctexttt%7Barticle1.tex%7D%2C+the+introduction+is+section+%5Cref%7Bintroduction%7D.++In+that+file%2C+there+are+two+subsections%3A+%5Cref%7Bmathrefs%7D+and+%5Cref%7Bpowers%7D.+In+subsection+%5Cref%7Bpowers%7D%2C+equation+%5Cref%7Beq%3A1%7D+demonstrates+a+power+series.%0A%5Cend%7Bdocument%7D)

إذا قمنا بتجميع هذه النسخة من `summary.tex` فسيحاول قراءة بيانات المراجع من `summary.aux` لكن البيانات المطلوبة موجودة في الملف الخارجي `article1.aux` الذي لا يمكن الوصول إليه بعد.

يؤدي تجميع هذا `summary.tex` الملف غير المكتمل إلى المخرجات التالية، مع ظهور علامتي استفهام مزدوجتين للدلالة على المراجع غير المعرّفة:

![صورة تُظهر الإبلاغ عن المراجع المفقودة](/files/6eaa861049eb014013683014e213888914b27a1d)

### تحديد المستند الخارجي

الخطوة التالية هي تحديد `article1` بوصفه اسم المستند الخارجي الذي نريد الإحالة إلى تسمياته. أضف السطر التالي إلى مقدمة `summary.tex`:

```latex
\externaldocument{article1}
```

هنا، `article1` يمكن استبدالها بأي ملف تريد الوصول إلى تسمياته—يمكنك استخدام عدة `\externaldocument` أوامر للوصول إلى ملفات خارجية إضافية.

### إنشاء ملف latexmkrc

الخطوة التالية هي إنشاء `latexmkrc` ملف كما هو موضح أدناه:

* في نافذة محرر المشروع، اختر **ملف جديد** الأيقونة في أعلى يسار نافذة المشروع.
* اختر **ملف جديد** من داخل **إضافة ملفات** مربع الحوار المنبثق وسمِّ الملف `latexmkrc`—لاحظ أنه لا توجد لاحقة ملف:

![إنشاء ملف latexmkrc في Overleaf](/files/c5ede3c42b379b416f4bf90a02ddcdc80048619e)

* تأكد من أن `latexmkrc` الملف أُنشئ وحُفظ في المستوى العلوي (الجذر) من منطقة ملفات المشروع. أي ليس داخل أي مجلد في شجرة الملفات.
* انسخ والصق الشيفرة التالية في `latexmkrc` الملف.

#### شيفرة latexmkrc

تتقدم Overleaf بالشكر لـ John Collins، [المُحافظ على `latexmk`](https://ctan.org/pkg/latexmk?lang=en)، على تواصله معنا لتزويدنا بالملف التالي `latexmkrc` ، الذي يسعدنا نشره كاملًا—including the extremely helpful inline comments.

```perl
# يوضح هذا كيفية استخدام حزمة xr مع latexmk.
# John Collins 2023-03-29
#
# تُستخدم حزمة xr ("نظام للمراجع الخارجية") بواسطة مستند
# للإحالة إلى الأقسام والمعادلات وما إلى ذلك في مستندات خارجية أخرى
#.
# تُمكّن التعريفات في هذا الملف latexmk من تطبيق latexmk على
# لتحديث مستند خارجي تلقائيًا كلما تغيّر ملف .tex الخاص به،
# بحيث تظل المراجع في المستند الرئيسي محدّثة.

# ملاحظات:
#    1. تم تعريف هذه النسخة لوضع الملفات الناتجة من تجميعات
#       المستندات الخارجية في دليل فرعي محدد، لفصل
#       عدد كبير محتمل من الملفات المُنشأة عن المستند الرئيسي
#       الأدلة.
#    2. ولكن لكي تُستخدم آلية الاعتمادية المخصصة في latexmk، كما هنا،
#       يجب أن يُنشأ ملف aux الناتج من تجميع مستند فرعي في
#       الدليل نفسه الذي يوجد فيه ملف .tex المصدر المقابل. لذا
#       يتم نسخ ملف .aux.
#    3. يُفترض أن المستندات الخارجية ستُجمَّع بواسطة
#       pdflatex. ويمكن تغيير هذا بالطبع عبر تغيير الخيار '-pdf'
#       المُعطى لـ latexmk المستدعى إلى ما يلزم.
#    4. ستضمن عملية تنفيذ مثالية أيضًا أن إعادة تجميع
#       مستند خارجي تحدث أيضًا كلما تغيّر أي من ملفات المصدر
#       الأخرى الخاصة به. لكن هذا لا يتم في النسخة الحالية، و
#       من المحتمل أن يتطلب إما استخدام متغيرات داخلية في latexmk
#       أو تحسينات إضافية على latexmk.
#    5. يستخدم الشيفرة الإجرائيتين copy و fileparse اللتين يتم تحميلهما بواسطة
#       latexmk من حزمتَي Perl File::Copy و File::Basename.
#    6. كما يستخدم بعض الميزات غير الموثقة بعد في latexmk: متغيرًا
#       مصفوفيًا @file_not_found والإجرائيتين popd و pushd و
#       rdb_add_generated.

#--------------------
# خيارات قابلة للتهيئة لتجميع المستندات الخارجية

# الدليل الفرعي لملفات الخرج الناتجة عن تجميع المستندات الخارجية:
$sub_doc_output = 'output-subdoc';

# الخيارات التي تُقدَّم إلى latexmk لتجميع المستندات الخارجية:
@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # استخدم pdflatex لتجميع المستندات الخارجية.
# استبدل '-pdf' بـ '-pdfdvi' أو 'pdfxe' أو 'pdflua' إذا لزم الأمر.

#--------------------

# أضف نمطًا لرسالة سجل xr الخاصة بالملفات المفقودة إلى
# قائمة latexmk. المتغير @file_not_found في latexmk غير موثق بعد.
# هذا السطر ليس ضروريًا للإصدار 4.80 أو الأحدث من latexmk.
push @file_not_found, '^No file\\s*(.+)\s*$';

add_cus_dep( 'tex', 'aux', 0, 'makeexternaldocument' );
sub makeexternaldocument {
    if ( $root_filename ne $_[0] )  {
        my ($base_name, $path) = fileparse( $_[0] );
        pushd $path;
        my $return = system "latexmk",
                            @sub_doc_options,
                            "-aux-directory=$sub_doc_output",
                            "-output-directory=$sub_doc_output",
                            $base_name;
        if ( ($sub_doc_output ne '') && ($sub_doc_output ne '.') ) {
               # في هذه الحالة، ملف .aux الذي ينشئه pdflatex ليس في
               # الدليل نفسه الذي يوجد فيه ملف .tex.
               # لذلك:
               # 1. يجب إدراج ملف aux المُنشأ فعليًا كما تنتجه هذه
               #    القاعدة، بحيث يتعامل latexmk مع الاعتمادات بشكل صحيح.
               #    (المشكلة التي يجب التغلب عليها: إذا كان $sub_dir_output هو نفسه $aux_dir
               #    للمستند الرئيسي، فقد يقرأ xr ملف .aux الموجود في
               #    aux_dir بدلًا من الملف الذي يُفترض أن تنتجه اعتمادية cus بواسطة latexmk
               #    والذي يكون في الدليل نفسه لملف المصدر .tex
               #    لهذه الاعتمادية المخصصة.)
               #    استخدم الإجرائية غير الموثقة بعد في latexmk rdb_add_generated
               #    للقيام بذلك:
               # 2. يجب أن تكون نسخة من ملف .aux في الدليل نفسه لملف .tex
               #    لتلبية تعريف latexmk للاعتمادية المخصصة.
             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

### افتح مشروعًا على Overleaf يوضح xr

يمكن الآن فتح مشروع الملفات الثلاثة التالي في Overleaf باستخدام الروابط المقدمة أعلاه وأسفل قوائم الملفات. لاحظ أن `latexmkrc` يحتوي الملف على الشيفرة المقدمة من John Collins ولكن، اختصارًا، تمت إزالة معظم التعليقات.

[افتح هذا المثال المكوّن من ثلاثة ملفات في Overleaf.](/latex/ar/qaadh-almarfh/033-cross-referencing-with-the-xr-package-in-overleaf.md)

**summary.tex**

هذا هو ملف الملخص لدينا. من داخل هذا الملف نريد استخدام مراجع متقاطعة أُنشئت في ملفات خارجية. هنا، نريد استخدام تسميات أُنشئت في `article1.tex`.

```latex
\documentclass[12pt]{article}
\usepackage{xr}

\title{استخدام حزمة xr على Overleaf}
% ضع جميع المستندات الخارجية هنا!
\externaldocument{article1}

\begin{document}

في الملف \texttt{article1.tex}، المقدمة هي القسم \ref{introduction}. في ذلك الملف، يوجد قسمان فرعيان: \ref{mathrefs} و \ref{powers}. في القسم الفرعي \ref{powers}، توضح المعادلة \ref{eq:1} متسلسلة قوى.

\end{document}
```

**article1.tex**

هذا الملف هو أحد مقالاتنا. لاحظ كيف يحتوي على عدة `\label` أوامر لإنشاء تسميات، والتي بفضل `xr` الحزمة، يمكننا استخدامها في الملف `summary.tex`.

```latex
\documentclass{article}
\title{This is \texttt{article1.tex}}
\begin{document}
\section{Introduction}
\label{introduction}

هذا مستند \LaTeX{} مستقل يحتوي على
مراجع نريد استخدامها في \texttt{summary.tex}.

\subsection{Math references}
\label{mathrefs}
كما ذُكر في القسم \ref{introduction}،
يمكن الإشارة إلى عناصر مختلفة داخل
مستند.

\subsection{Powers series}
\label{powers}

\begin{equation}
\label{eq:1}
\sum_{i=0}^{\infty} a_i x^i
\end{equation}

المعادلة \ref{eq:1} هي متسلسلة قوى نموذجية.
\end{document}
```

**latexmkrc**

هذا `latexmkrc` الملف يحتوي على شيفرة تضمن تجميع الملفات الخارجية.

```latex
$sub_doc_output = 'output-subdoc';

@sub_doc_options = ();

push @sub_doc_options, '-pdf'; # استخدم pdflatex لتجميع المستندات الخارجية.
# استبدل '-pdf' بـ '-pdfdvi' أو 'pdfxe' أو 'pdflua' إذا لزم الأمر.

push @file_not_found, '^No file\\s*(.+)\s*$';

add_cus_dep( 'tex', 'aux', 0, 'makeexternaldocument' );
sub makeexternaldocument {
    if ( $root_filename ne $_[0] )  {
        my ($base_name, $path) = fileparse( $_[0] );
        pushd $path;
        my $return = system "latexmk",
                            @sub_doc_options,
                            "-aux-directory=$sub_doc_output",
                            "-output-directory=$sub_doc_output",
                            $base_name;
        if ( ($sub_doc_output ne '') && ($sub_doc_output ne '.') ) {

             rdb_add_generated( "$sub_doc_output/$base_name.aux" );
             copy "$sub_doc_output/$base_name.aux", ".";
        }
        popd;
        return $return;
   }
}
```

[افتح هذا المثال المكوّن من ثلاثة ملفات في Overleaf.](/latex/ar/qaadh-almarfh/033-cross-referencing-with-the-xr-package-in-overleaf.md)

الرسمة التالية هي نسخة مشروحة من المخرجات الناتجة عن تنضيد `summary.tex`، وتُظهر المراجع المتقاطعة والتسميات المقابلة من الملف الخارجي `article1.tex`.

![إظهار المراجع المستوردة من ملف خارجي](/files/07ce2bac4a5d2a5867f4843edc3b8a5d1f19c59b)

* للمزيد من التفاصيل حول الإحالات المتقاطعة، انظر مقالة Overleaf [الإحالة المتقاطعة للأقسام والمعادلات والعناصر الطافية](/latex/ar/bnyh-almstnd/03-cross-referencing-sections-equations-and-floats.md).

## ملاحظة حول أخطاء بناء الجملة

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

ال *خارجي* تُجمَّع المستندات تلقائيًا عبر `latexmkrc` الملف؛ وبالتالي، فإن أي أخطاء في بناء جملة LaTeX داخلها لن تظهر في واجهة Overleaf—إلا إذا أعدت تجميعها على Overleaf أيضًا. وقد تمنع الأخطاء في تلك الملفات الخارجية ظهور المراجع المتقاطعة بشكل صحيح في ملف PDF المنضَّد، لذا نوصي بشدة بالتحقق من أي أخطاء من هذا النوع وتصحيحها فور حدوثها.


---

# 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/033-cross-referencing-with-the-xr-package-in-overleaf.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.
