> 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/alashkal-waljdawl/05-tikz-package.md).

# حزمة TikZ

## مقدمة

[تي*ك*زد](https://en.wikipedia.org/wiki/PGF/TikZ) ربما تكون الأداة الأكثر تعقيدًا وقوةً لإنشاء العناصر الرسومية في LaTeX. بدءًا بمثال بسيط، تقدّم هذه المقالة بعض المفاهيم الأساسية: رسم الخطوط، والنقاط، والمنحنيات، والدوائر، والمستطيلات، إلخ.

أولًا، حمّل `tikz` الحزمة بإدراج السطر `\usepackage{tikz}` في مقدمة مستندك، ثم ارسم رسمًا بيانيًا باستخدام `tikzpicture` البيئة.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{نقطة التقاطع};
\end{tikzpicture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

ينتج هذا المثال المخرجات التالية:

![OLV2tikz1.png](/files/238e85759494a683dbfe4b2964bbdae1bdc583fd)

في هذا المثال تم رسم خطين ونقطة واحدة. لإضافة خط، يُستخدم الأمر `\draw[gray, thick]` يُعرّف عنصرًا رسوميًا يكون *لونه* هو `رماديًا` وبحدٍّ `سميك` في الحقيقة يُعرَّف الخط بنقطتي نهايته، `(-1,2)` و `(2,-4)`الموصلتين بواسطة `--`.

ال *نقطة* هي في الواقع `دائرة` مرسومة بواسطة `\filldraw[black]`، فهذا الأمر لن يرسم الدائرة فحسب، بل سيملؤها باللون الأسود. في هذا الأمر تُحدَّد نقطة المركز `(0,0)` ونصف القطر `(2pt)` ويُعلَن عنهما. وبجوار النقطة يوجد `عقدة`، وهي في الحقيقة صندوق يحتوي على النص `نقطة التقاطع`، ومثبتة عند `الغرب` من النقطة.

من المهم ملاحظة الفاصلة المنقوطة `;` المستخدمة في نهاية كل `أمر رسم` الأمر.

ملاحظة: `بيئة tikzfigure` يمكن أن تُوضع داخل بيئة figure أو ما شابهها. انظر [إدراج الصور](/latex/ar/mzyd-mn-almwdhwaat/27-inserting-images.md) المقالة للمزيد من المعلومات حول هذا الموضوع.

## العناصر الأساسية: النقاط والخطوط والمسارات

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

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

ينتج هذا المثال المخرجات التالية:

![OLV2tikz2.png](/files/f9063d1cf8dbe5eb57566bc5fa1b15936ca42aa1)

هناك ثلاثة أوامر أساسية في هذا المثال:

* **`\draw (-2,0) -- (2,0);`**: يعرّف هذا خطًا تكون نقطتا نهايته `(-2,0)` و `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`**: تُنشأ النقطة كـ `رماديًا` `دائرة` صغيرة جدًا متمركزة عند `(0,0)` ونصف قطرها هو `(2pt)`. الحزمة `\filldraw` يُستخدم الأمر لرسم العناصر وملئها بلون محدد. انظر القسم التالي لمزيد من الأمثلة.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`**: يرسم [منحنى بيزيه](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). توجد 4 نقاط تُعرّفه: `(-2,2)` و `(2,2)` هي نقاط نهايته `(-1,0)` و `(1,0)` كنت [*نقاط تحكم*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) التي تحدد «مدى انحنائه». ويمكنك التفكير في هاتين النقطتين على أنهما «نقطتا جذب».

## الأشكال الهندسية الأساسية: الدوائر والبيضويات والمضلعات

يمكن إنشاء الأشكال الهندسية من عناصر أبسط، لذا فلنبدأ بالدوائر والبيضويات والأقواس.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

ينتج هذا المثال المخرجات التالية:

![TikzEx3.png](/files/24e6f798b324c52651d4f62e674ef363d1cce5bf)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`**: استُخدم هذا الأمر في القسم السابق لرسم *نقطة*، لكن في هذه الحالة توجد بعض المعاملات الإضافية داخل الأقواس. وتُشرح أدناه:
  * **`color=red!60`**: يُضبط لون الحلقة المحيطة بالدائرة إلى 60% أحمر (أفتح من الأحمر «الصافي»). انظر [دليل المراجع](#reference-guide) للاطلاع على قائمة الألوان الافتراضية المتاحة في LaTeX؛ وكذلك انظر [استخدام الألوان في LaTeX](/latex/ar/altnsyq/13-using-colors-in-latex.md) لتتعلم كيفية إنشاء ألوانك الخاصة.
  * **`fill=red!5`**: تُملأ الدائرة بدرجة أفتح بكثير من الأحمر.
  * **`سميك جدًا`**: يحدد هذا المعامل سُمك الخط. انظر [دليل المراجع](#reference-guide) للحصول على قائمة كاملة بالقيم.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`**: لإنشاء بيضاوي، تُعطي نقطة مركز `(2.5,0)`، ونصفَي قطر: أفقي وعمودي (`1.5` و `0.5` على التوالي). ولاحظ أيضًا الأمر `fill` بدلاً من `أمر رسم` أو filldraw، لأنّه في هذه الحالة لا توجد حاجة للتحكم في الألوان الخارجية والداخلية.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`**: يرسم هذا الأمر قوسًا يبدأ عند `(6.5,0)`. ويشير المعامل الإضافي `->` إلى أن القوس سيكون له سهم في النهاية. بالإضافة إلى نقطة البداية، يجب أن توفر ثلاث قيم إضافية: زاويتا البداية والنهاية، ونصف القطر؛ وهنا تُقدَّم هذه القيم الثلاث بالصيغة `(0:220:1)`.

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

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

ينتج هذا المثال المخرجات التالية:

![OLV2tikz4.png](/files/5be902296bc2027b3d305afa3d08e951ac6704d0)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`**: تُنشأ المستطيلات بواسطة الأمر الخاص `المستطيل`. عليك توفير نقطتين: الأولى هي حيث يبدأ «القلم» رسم المستطيل، والثانية هي نقطة الزاوية المقابلة قطريًا.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`**: لرسم مضلع، نرسم *مغلق* من المسارات المستقيمة: خط من `(4,0)` إلى `(6,0)` وخط من `(6,0)` إلى `(5.7,2)`. الحزمة `cycle` يعني الأمر أن نقطتي البداية والنهاية يجب أن تتطابقا لإنشاء مسار (شكل) «مغلق»، مما ينتج عنه تكوين قطعة الخط النهائية.

## المخططات

العُقد ربما تكون أكثر العناصر تنوعًا في TikZ. لقد استخدمنا بالفعل عقدة واحدة في المقدمة—لإضافة بعض النص إلى الشكل. يستخدم المثال التالي العقد لإنشاء مخطط.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%العُقد
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%الخطوط
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

ينتج هذا المثال المخرجات التالية:

![OLV2tikz5.png](/files/e573bf9d9c9496252d4ae6db1e5e5a49fd43af8d)

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

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`**: مُمرَّر كمعامل إلى `tikzpicture` بيئة tikzpicture. وهو يعرّف عقدة سيشار إليها باسم `roundnode`: ستكون هذه العقدة دائرةً تُرسم حافتها الخارجية باستخدام اللون `green!60` وسيتم ملؤها باستخدام `green!5`. وسيكون الحدّ `سميك جدًا` و `حجمها الأدنى` هو `7mm`. والسطر أسفل هذا يعرّف عقدة ثانية مستطيلة الشكل تُسمّى `squarednode`، باستخدام معاملات مشابهة.
* **`\node[squarednode] (maintopic) {2};`**: سيؤدي هذا إلى إنشاء عقدة `squarednode`، كما هو معرّف في الأمر السابق. ستملك هذه العقدة المعرّف `maintopic` وسيحتوي على الرقم `2`. إذا تركتَ فراغًا داخل الأقواس فلن يُعرض أي نص.
* **`[above=of maintopic]`**: لاحظ أن جميع العقد ما عدا الأولى لديها معامل إضافي يحدد موضعها نسبةً إلى العقد الأخرى. على سبيل المثال، `[above=of maintopic]` يعني أن هذه العقدة يجب أن تظهر فوق العقدة المسماة `maintopic`. لكي يعمل نظام التموضع هذا، عليك إضافة `\usetikzlibrary{positioning}` إلى مقدمتك. ومن دون مكتبة `positioning` يمكنك استخدام الصياغة `above of=maintopic` بدلًا من ذلك، لكن `positioning` هذه الصياغة أكثر مرونةً وقوةً: إذ يمكنك توسيعها لكتابة `above=**3cm** of maintopic` أي التحكم في المسافة الفعلية من `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`**: سيُرسم خط مستقيم يشبه السهم. وقد شُرحت الصياغة بالفعل في [قسم العناصر الأساسية](#basic-elements-points-lines-and-paths) الاختلاف الوحيد هو الطريقة التي نكتب بها نقطتي نهاية الخط: بالإشارة إلى عقدة (ولهذا السبب سميناها) وإلى موضع نسبي بالنسبة إلى العقدة.

## دليل مرجعي

المعلمات الممكنة للألوان والسُّمك في `tikz` الحزمة:

| المعامل | القيم                                                      | الصورة                                                               |
| ------- | ---------------------------------------------------------- | -------------------------------------------------------------------- |
| color   | أبيض، أسود، أحمر، أخضر، أزرق، سماوي، أرجواني، أصفر         | ![BasicColours.png](/files/e67b67fd172511653c26940ede4ae0e967aeff14) |
| السُّمك | رفيع للغاية، رفيع جدًا، رفيع، سميك، سميك جدًا، سميك للغاية | ![Thickness.png](/files/70f7d3f85e10bae16e2dd2bcadfa0844e6f3157f)    |

قد تتوفر ألوان أخرى في توزيعة LaTeX الخاصة بك. انظر [استخدام الألوان في LaTeX](/latex/ar/altnsyq/13-using-colors-in-latex.md)

## قراءة إضافية

لمزيد من المعلومات، انظر:

* [استخدام الألوان في LaTeX](/latex/ar/altnsyq/13-using-colors-in-latex.md)
* [حزمة Pgfplots](/latex/ar/khas-balmjal/08-pgfplots-package.md)
* [إدراج الصور](/latex/ar/mzyd-mn-almwdhwaat/27-inserting-images.md)
* [قوائم الجداول والأشكال](/latex/ar/alashkal-waljdawl/03-lists-of-tables-and-figures.md)
* [تموضع الصور والجداول](/latex/ar/alashkal-waljdawl/02-positioning-images-and-tables.md)
* [رسم المخططات مباشرة في LaTeX](/latex/ar/alashkal-waljdawl/04-picture-environment.md)
* [دليل حزم TikZ وPGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [أمثلة TikZ و PGF على TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# 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/alashkal-waljdawl/05-tikz-package.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.
