> 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/04-picture-environment.md).

# رسم المخططات مباشرة في LaTeX

## مقدمة

المضمّن في LaTeX `الصورة` يمكن استخدام البيئة لإنشاء الرسومات/الأشكال—لا تحتاج *تحتاج* إلى تحميل أي حزم خارجية لاستخدامها، ولكن حزمًا مثل [`pict2e`](https://ctan.org/pkg/pict2e?lang=en) و [`الصورة`](https://ctan.org/pkg/picture) تمت كتابتها لتعزيز ميزاتها أو تحسينها.

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

* [الدليل المرجعي غير الرسمي لـ LaTeX2e](https://latexref.xyz/picture.html)
* [مقدمة ليست قصيرة إلى هذا الحد إلى LaTeX2ε](https://tobi.oetiker.ch/lshort/lshort.pdf) (انظر الفصل 5)
* [ويكي الكتب](https://en.wikibooks.org/wiki/LaTeX/Picture)
* [الأسئلة الموسومة بـ `وضع الصورة` على tex.stackexchange](https://tex.stackexchange.com/questions/tagged/picture-mode)
* [`pict2e` توثيق الحزمة](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/pict2e/pict2e.pdf)

عند مقارنتها بأدوات الرسومات القوية والمتقدمة مثل [TikZ/PGF](https://en.wikipedia.org/wiki/PGF/TikZ), [MetaPost](https://tug.org/metapost.html), [PSTricks](https://ctan.org/topic/pstricks?lang=en) أو [Asymptote](https://ctan.org/pkg/asymptote?lang=en) موقع `الصورة` قد تبدو البيئة محدودةً للغاية، ولكن من وقت لآخر قد تكون كافية لما تحتاج إلى إنجازه.

## إنشاء صورة جديدة

عادةً ما يتضمن إنشاء صورة جديدة الخطوات التالية:

1. حدّد حجم وحدات الرسم التي ترغب في استخدامها؛
2. عرّف `الصورة` بيئةً تحدد حجم الصورة؛
3. ارسم المكونات الرسومية الفردية باستخدام `\put`, `\multiput` أو `\qbezier` الأوامر.

### تحديد حجم وحدات الرسم

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

```latex
\setlength{\unitlength}{1cm}
```

فسيتم تفسير وحدات الرسم على أنها مضاعفات 1cm. الوحدة الافتراضية هي 1pt.

### تحديد حجم صورتك

الشكل العام لـ `الصورة` البيئة هو كما يلي

```latex
\begin{picture}(width, height)(Xoffset, Yoffset)
 ...
\end{picture}
```

حيث

* `width` و `الارتفاع` هي قيم، بوحدات `\unitlength`، والتي تحدد حجم الصورة. يستخدم LaTeX هذه القيم لإنشاء صندوق أبعاده
  * عرض الصندوق (الصورة) = `width` × `\unitlength`
  * ارتفاع الصندوق (الصورة) = `الارتفاع` × `\unitlength`
* `(إزاحة X، إزاحة Y)` هي إحداثية اختيارية تضبط نقطة الأصل (الزاوية السفلية اليسرى) للصورة، معبَّرًا عنها كـ *إزاحة* نسبية إلى الموقع الافتراضي. `إزاحة X` و `إزاحة Y` تُعبَّر أيضًا بوحدات يحددها القيمة الحالية لـ `\unitlength`.

لاحظ أن `إزاحة X` و `إزاحة Y` ولا تؤثر في مقدار المساحة التي يحجزها LaTeX؛ أي أبعاد الصندوق.

#### فهم أبعاد الصورة

سننشئ صورتين، وكلاهما يستخدم `\setlength{\unitlength}{1cm}` وكل منهما له `width` و `الارتفاع` بمقدار 3 وحدات.

تستخدم الصورة الأولى الأصل الافتراضي لـ `(0,0)`:

```latex
\begin{picture}(3,3)
...
\end{picture}
```

تُزاح الصورة الثانية (تُحرَّك) نقطة الأصل بمقدار `(1,1)`:

```latex
\begin{picture}(3,3)(1,1)
...
\end{picture}
```

### رسم الرسومات

تُنشأ الرسومات باستخدام تسلسل من `\put`, `\multiput`، أو `\qbezier` الأوامر التي تنتج «المكوّنات» الفردية (أو «الأشياء») التي تُبنى منها الصورة أو الرسم:

* `\put(x, y){*component*}` ترسم الـ `*component*` في الموقع `(x, y)`.
* `\multiput(x, y)(dx, dy){n}{*component*}` ترسم الـ `*component*` `n` مرات: بدءًا من الموقع `(x, y)` ومع الترجمة المتكررة بمقدار `(dx, dy)` لإعادة رسم الـ `*component*`.
* `\qbezier[n](x<sub>1</sub>, y<sub>1</sub>)(x, y)(x<sub>2</sub>, y<sub>2</sub>)`: يرسم [منحنى بيزيه تربيعي](https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Quadratic_B%C3%A9zier_curves) حيث:
  * `n` عدد صحيح اختياري يحدد عدد النقاط المستخدمة لرسم/إنتاج المنحنى
  * `(x<sub>1</sub>, y<sub>1</sub>)` هي نقطة بداية المنحنى
  * `(x<sub>2</sub>, y<sub>2</sub>)` هي نقطة نهاية المنحنى
  * `(x, y)` تشير إلى نقطة التحكّم في منحنى بيزيه (التربيعي)

مشروع `*component*` هو عنصر رسومي يُنتَج عادةً باستخدام بدائيات رسومية مثل `\line`, `\oval`, `\circle`, `\vector` وما إلى ذلك—انظر إلى الـ [الدليل المرجعي غير الرسمي لـ LaTeX2e](https://latexref.xyz/picture.html) أو [مقدمة ليست قصيرة إلى هذا الحد إلى LaTeX2ε](https://tobi.oetiker.ch/lshort/lshort.pdf) (الفصل 5) لمعرفة تفاصيل البدائيات المتاحة.

**ملاحظة**: إن [`pict2e` الحزمة](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/pict2e/pict2e.pdf) يمدّد الـ `الصورة` البيئة الأصلية لتوفير عدة أوامر لرسم منحنيات بيزيه: `\bezier`, `\qbezier`, `\cbezier` و `\qbeziermax`.

### فهم الإزاحة والأصل

في الأمثلة التالية، يُستخدم الأمر `\put` الأمر لرسم نقاط ملوّنة تشير إلى الإحداثيات الرئيسية (المواضع) في الرسم. يستخدم كلا المثالين أمر LaTeX `\fbox` لرسم إطار حول الصندوق الذي أنشأه LaTeX ليحتوي على صورتنا، موضحًا *المربع المحيط* للرسم.

**مثال 1: استخدام الأصل الافتراضي**

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\setlength{\unitlength}{1cm}
\setlength{\fboxsep}{0pt}

هذه صورتي\fbox{%
\begin{picture}(3,3)
\put(0,0){{\color{blue}\circle*{0.25}}\hbox{\kern3pt \texttt{(0,0)}}}
\put(3,3){{\color{red}\circle*{0.25}}\hbox{\kern3pt \texttt{(3,3)}}}
\end{picture}}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=understanding+picture+dimensions+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cusepackage%5Bdvipsnames%5D%7Bxcolor%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Csetlength%7B%5Cfboxsep%7D%7B0pt%7D%0A%0AThis+is+my+picture%5Cfbox%7B%25%0A%5Cbegin%7Bpicture%7D%283%2C3%29%0A%5Cput%280%2C0%29%7B%7B%5Ccolor%7Bblue%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt+%5Ctexttt%7B%280%2C0%29%7D%7D%7D%0A%5Cput%283%2C3%29%7B%7B%5Ccolor%7Bred%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt+%5Ctexttt%7B%283%2C3%29%7D%7D%7D%0A%5Cend%7Bpicture%7D%7D%0A%5Cend%7Bdocument%7D)

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

![أبعاد بيئة الصورة في LaTeX](/files/c9b00eeb81ae3490deb6f06d333f30fa5e352ae8)

ال `\fbox` يرسم الأمر إطارًا حول المربع المحيط للرسم، موضحًا المساحة (المنطقة) المحجوزة بواسطة LaTeX:

* عرض الصورة = `width` × `\unitlength` = 3 × 1cm = 3cm.
* ارتفاع الصورة = `الارتفاع` × `\unitlength` = 3 × 1cm = 3cm.

يوضح المثال الأول أن الأصل، `(0,0)`، يقع عند النقطة التي تم فيها `\begin{picture}` تنفيذ الأمر، مباشرة بعد النص «هذه صورتي». بالإضافة إلى ذلك، تقع الزاوية العلوية اليمنى عند الموضع `(3,3)`، و `(العرض، الارتفاع)` القيم المقدمة إلى `\begin{picture}(3,3)`.

**مثال 2: إزاحة الأصل بمقدار (1،1)**

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\setlength{\unitlength}{1cm}
\setlength{\fboxsep}{0pt}

هذه صورتي\fbox{%
\begin{picture}(3,3)(1,1)
\put(0,0){{\color{blue}\circle*{0.25}}\hbox{\kern3pt\texttt{(0,0)}}}
\put(1,1){{\color{orange}\circle*{0.25}}\hbox{\kern3pt\texttt{(1,1)}}}
\put(3,3){{\color{red}\circle*{0.25}}\hbox{\kern3pt\texttt{(3,3)}}}
\put(4,4){{\color{black}\circle*{0.25}}\hbox{\kern3pt\texttt{(4,4)}}}
\end{picture}}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=understanding+picture+dimensions+example+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cusepackage%5Bdvipsnames%5D%7Bxcolor%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Csetlength%7B%5Cfboxsep%7D%7B0pt%7D%0A%0AThis+is+my+picture%5Cfbox%7B%25%0A%5Cbegin%7Bpicture%7D%283%2C3%29%281%2C1%29%0A%5Cput%280%2C0%29%7B%7B%5Ccolor%7Bblue%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%280%2C0%29%7D%7D%7D%0A%5Cput%281%2C1%29%7B%7B%5Ccolor%7Borange%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%281%2C1%29%7D%7D%7D%0A%5Cput%283%2C3%29%7B%7B%5Ccolor%7Bred%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%283%2C3%29%7D%7D%7D%0A%5Cput%284%2C4%29%7B%7B%5Ccolor%7Bblack%7D%5Ccircle%2A%7B0.25%7D%7D%5Chbox%7B%5Ckern3pt%5Ctexttt%7B%284%2C4%29%7D%7D%7D%0A%5Cend%7Bpicture%7D%7D%0A%5Cend%7Bdocument%7D)

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

![أبعاد بيئة الصورة في LaTeX](/files/6faa865ed05cdf0fab228945305212e9dd8bd4c4)

يوضح المثال الثاني آثار إزاحة الأصل ويسلط الضوء على بعض النقاط الرئيسية:

* الإطار الذي أنشأه `\fbox` يوضح أن المربع المحيط للرسم، أي عرض وارتفاع الصندوق الذي أنشأه LaTeX، هو *غير متأثر* بإزاحة الأصل: فهو لا يزال محددًا بواسطة `(العرض، الارتفاع)` القيم المقدمة إلى `\begin{picture}(3,3)(1,1)`
  * عرض الصورة = `width` × `\unitlength` = 3 × 1cm = 3cm
  * ارتفاع الصورة = `الارتفاع` × `\unitlength` = 3 × 1cm = 3cm
* لا تُقيَّد عناصر الرسم (لا تُقصّ) بالمنطقة (أبعاد المربع المحيط) التي أنشأها LaTeX. على سبيل المثال، تُرسم النقطة الزرقاء و `(0,0)` الإحداثي `\fbox`، خارج خط الحدود الناتج عن
  * ويقع على المستخدم التأكد من بقاء عناصر الرسم داخل المربع المحيط وعدم تغطيتها لأي نص محيط.
* الأصل، `(0,0)`، هو *لم يعد* يقع مباشرة بعد النص «هذه صورتي»، عند النقطة التي `\begin{picture}` تم تنفيذ الأمر فيها: تم الآن إزاحة الأصل وحدةً واحدة إلى اليسار ووحدةً واحدة إلى الأسفل
* الزاوية العلوية اليمنى الآن عند الموضع `(4,4)`

## أمثلة على بيئة الصورة

### أمثلة من الدليل المرجعي غير الرسمي لـ LaTeX2e

ال [الدليل المرجعي غير الرسمي لـ LaTeX2e](https://latexref.xyz/picture.html) يحتوي على عدد من `الصورة` أمثلة على بيئة الصورة، أُعيد إنتاج بعضها هنا مع روابط تفتحها في Overleaf، مما يتيح لك تحرير الشيفرة واستكشافها.

#### المثال 1: الأمر \vector

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\begin{picture}(6,6)      % سيكون صندوق الصورة بعرض 6 سم وارتفاع 6 سم
  \put(0,0){\vector(2,1){4}}  % مقابل كل 2 إلى اليمين، يرتفع هذا المتجه 1 إلى الأعلى
    \put(2,1){\makebox(0,0)[l]{\ الساق الأولى}}
  \put(4,2){\vector(1,2){2}}
    \put(5,4){\makebox(0,0)[l]{\ الساق الثانية}}
  \put(0,0){\vector(1,1){6}}
    \put(3,3){\makebox(0,0)[r]{المجموع\ }}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cbegin%7Bpicture%7D%286%2C6%29++++++%25+picture+box+will+be+6cm+wide+by+6cm+tall%0A++%5Cput%280%2C0%29%7B%5Cvector%282%2C1%29%7B4%7D%7D++%25+for+every+2+over+this+vector+goes+1+up%0A++++%5Cput%282%2C1%29%7B%5Cmakebox%280%2C0%29%5Bl%5D%7B%5C+first+leg%7D%7D%0A++%5Cput%284%2C2%29%7B%5Cvector%281%2C2%29%7B2%7D%7D%0A++++%5Cput%285%2C4%29%7B%5Cmakebox%280%2C0%29%5Bl%5D%7B%5C+second+leg%7D%7D++%0A++%5Cput%280%2C0%29%7B%5Cvector%281%2C1%29%7B6%7D%7D%0A++++%5Cput%283%2C3%29%7B%5Cmakebox%280%2C0%29%5Br%5D%7Bsum%5C+%7D%7D++%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![مثال على بيئة الصورة](/files/35ad014fb6c7c11e252679f88d51581b1e9f8173)

#### المثال 2: الأوامر \qbezier و\line و\vector و\thinlines و\thicklines

لاحظ كيف أن الـ `\qbezier` الأمر *ليس* يُستخدم داخل `\put{...}` بينما الأوامر البدائية الأخرى، مثل `\line`, `\vector` *كنت* يُستخدم داخل `\put{...}`.

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\begin{picture}(8,4)
  \thinlines % ابدأ بخطوط رفيعة
  \put(0,0){\vector(1,0){8}}  % المحور السيني
  \put(0,0){\vector(0,1){4}}  % المحور الصادي
  \put(2,0){\line(0,1){3}}    % الجانب الأيسر
  \put(4,0){\line(0,1){3.5}}  % الجانب الأيمن
  \thicklines % استخدم خطوطًا أكثر سُمكًا لأوامر \qbezier
  \qbezier(2,3)(2.5,2.9)(3,3.25)
  \qbezier(3,3.25)(3.5,3.6)(4,3.5)
  \thinlines % العودة إلى استخدام خطوط رفيعة
  \put(2,3){\line(4,1){2}}
  \put(4.5,2.5){\framebox{قاعدة شبه المنحرف}}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=qbezier+picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cbegin%7Bpicture%7D%288%2C4%29%0A++%5Cthinlines+%25+Start+with+thin+lines%0A++%5Cput%280%2C0%29%7B%5Cvector%281%2C0%29%7B8%7D%7D++%25+x+axis%0A++%5Cput%280%2C0%29%7B%5Cvector%280%2C1%29%7B4%7D%7D++%25+y+axis%0A++%5Cput%282%2C0%29%7B%5Cline%280%2C1%29%7B3%7D%7D++++%25+left+side%0A++%5Cput%284%2C0%29%7B%5Cline%280%2C1%29%7B3.5%7D%7D++%25+right+side%0A++%5Cthicklines+%25+Use+thicker+lines+for+the+%5Cqbezier+commands%0A++%5Cqbezier%282%2C3%29%282.5%2C2.9%29%283%2C3.25%29%0A++%5Cqbezier%283%2C3.25%29%283.5%2C3.6%29%284%2C3.5%29%0A++%5Cthinlines+%25+Back+to+using+thin+lines%0A++%5Cput%282%2C3%29%7B%5Cline%284%2C1%29%7B2%7D%7D%0A++%5Cput%284.5%2C2.5%29%7B%5Cframebox%7BTrapezoidal+Rule%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![مثال على بيئة الصورة في LaTeX](/files/059241f6e0482db2da66907d7675eb5eccf602e4)

#### المثال 3: الأمران \multiput و\linethickness

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\thicklines
\begin{picture}(10,10)
  \linethickness{0.05mm}
  \multiput(0,0)(1,0){10}{\line(0,1){10}}
  \multiput(0,0)(0,1){10}{\line(1,0){10}}
  \linethickness{0.5mm}
  \multiput(0,0)(5,0){3}{\line(0,1){10}}
  \multiput(0,0)(0,5){3}{\line(1,0){10}}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=multiput+command+picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cthicklines%0A%5Cbegin%7Bpicture%7D%2810%2C10%29%0A++%5Clinethickness%7B0.05mm%7D%0A++%5Cmultiput%280%2C0%29%281%2C0%29%7B10%7D%7B%5Cline%280%2C1%29%7B10%7D%7D+%0A++%5Cmultiput%280%2C0%29%280%2C1%29%7B10%7D%7B%5Cline%281%2C0%29%7B10%7D%7D%0A++%5Clinethickness%7B0.5mm%7D%0A++%5Cmultiput%280%2C0%29%285%2C0%29%7B3%7D%7B%5Cline%280%2C1%29%7B10%7D%7D%0A++%5Cmultiput%280%2C0%29%280%2C5%29%7B3%7D%7B%5Cline%281%2C0%29%7B10%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![مثال على بيئة الصورة باستخدام الأمر \multiput](/files/459a1dc6322637012f7aca4544a593b528c9c019)

### أمثلة أخرى

#### منحنى بيزيه أساسي

المثال التالي يستخدم `\qbezier` الأمر لرسم منحنى بيزيه:

```latex
\qbezier(1,1)(5,5)(9,0.5)
```

لاحظ ما يلي:

* موقع `\qbezier` الأمر لا يُستخدم داخل `\put` الأمر
* نقطة بداية منحنى بيزيه هي `(1,1)`
* نقطة نهاية منحنى بيزيه هي `(9,0.5)`
* نقطة تحكّم منحنى بيزيه هي `(5,5)`
* لا نستخدم العدد الصحيح الاختياري الذي يحدد عدد النقاط المستخدمة لرسم/إنتاج منحنى بيزيه

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{0.8cm}
\begin{picture}(10,5)
\thicklines
\qbezier(1,1)(5,5)(9,0.5)
\put(2,1){{منحنى بيزيه}}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=multiput+command+picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B0.8cm%7D%0A%5Cbegin%7Bpicture%7D%2810%2C5%29%0A%5Cthicklines%0A%5Cqbezier%281%2C1%29%285%2C5%29%289%2C0.5%29%0A%5Cput%282%2C1%29%7B%7BB%C3%A9zier+curve%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![رسم منحنى بيزيه باستخدام LaTeX](/files/51ba5b18329eb70acc13f2920d23c7dcf5f7788d)

#### البيضويات، الخطوط والدوائر

يوضح المثال التالي `\line`, `\circle` و `\oval` الأوامر—لاحظ كيف أنها *كنت* كلها مستخدمة داخل `\put{...}` الأمر:

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{1cm}
\thicklines
\begin{picture}(10,6)
\put(2,2.2){\line(1,0){6}}
\put(2,2.2){\circle{2}}
\put(6,2.2){\oval(4,2)[r]}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=picture+environment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B1cm%7D%0A%5Cthicklines%0A%5Cbegin%7Bpicture%7D%2810%2C6%29%0A%5Cput%282%2C2.2%29%7B%5Cline%281%2C0%29%7B6%7D%7D%0A%5Cput%282%2C2.2%29%7B%5Ccircle%7B2%7D%7D%0A%5Cput%286%2C2.2%29%7B%5Coval%284%2C2%29%5Br%5D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![مثال على بيئة الصورة في LaTeX](/files/4829c05da26b07cc72e53e7b4b9b29b6eea030cc)

فيما يلي وصف للأوامر:

* `\put(2,2.2){\line(1,0){6}}`: يرسم خطًا `6` بطول وحدات باستخدام «متجه الاتجاه» `(1,0)`
* `\put(6,2.2){\oval(4,2)[r]}`: يرسم بيضويًا مركزه عند النقطة `(4,2)`. المعامل `[r]` اختياري، ويمكنك استخدام `r`, `l`, `t` و `b` لإظهار الجزء الأيمن أو الأيسر أو العلوي أو السفلي من البيضوي.
* `\put(2,2.2){\circle{2}}`: يرسم دائرة مركزها عند النقطة `(2,2.2)` ويكون قطرها `2`.

#### دمج الخطوط والدوائر والنص

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

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{0.8cm}
\begin{picture}(12,4)
\thicklines
\put(8,3.3){{\footnotesize $3$-simplex}}
\put(9,3){\circle*{0.1}}
\put(8.3,2.9){$a_2$}
\put(8,1){\circle*{0.1}}
\put(7.7,0.5){$a_0$}
\put(10,1){\circle*{0.1}}
\put(9.7,0.5){$a_1$}
\put(11,1.66){\circle*{0.1}}
\put(11.1,1.5){$a_3$}
\put(9,3){\line(3,-2){2}}
\put(10,1){\line(3,2){1}}
\put(8,1){\line(1,0){2}}
\put(8,1){\line(1,2){1}}
\put(10,1){\line(-1,2){1}}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=understanding+picture+dimensions+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B0.8cm%7D%0A%5Cbegin%7Bpicture%7D%2812%2C4%29%0A%5Cthicklines%0A%5Cput%288%2C3.3%29%7B%7B%5Cfootnotesize+%243%24-simplex%7D%7D%0A%5Cput%289%2C3%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%288.3%2C2.9%29%7B%24a_2%24%7D%0A%5Cput%288%2C1%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%287.7%2C0.5%29%7B%24a_0%24%7D%0A%5Cput%2810%2C1%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%289.7%2C0.5%29%7B%24a_1%24%7D%0A%5Cput%2811%2C1.66%29%7B%5Ccircle%2A%7B0.1%7D%7D%0A%5Cput%2811.1%2C1.5%29%7B%24a_3%24%7D%0A%5Cput%289%2C3%29%7B%5Cline%283%2C-2%29%7B2%7D%7D%0A%5Cput%2810%2C1%29%7B%5Cline%283%2C2%29%7B1%7D%7D%0A%5Cput%288%2C1%29%7B%5Cline%281%2C0%29%7B2%7D%7D%0A%5Cput%288%2C1%29%7B%5Cline%281%2C2%29%7B1%7D%7D%0A%5Cput%2810%2C1%29%7B%5Cline%28-1%2C2%29%7B1%7D%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![مثال على بيئة الصورة في LaTeX](/files/ad3a9301f188a2a4046f67fd584ff04267f02d91)

فيما يلي ملخص لبعض الأوامر المستخدمة:

* `\thicklines`: يؤدي هذا إلى زيادة سُمك الخطوط. أما `\thinlines` فلَه التأثير المعاكس.
* `\put(8,3.3){{\footnotesize $3$-simplex}}`: يُدرج النص «3-simplex» عند النقطة `(8,3.3)`، ويُضبط حجم الخط إلى `\footnotesize`. ويُستخدم الأمر نفسه لوضع تسمية على كل نقطة.
* `\put(9,3){\circle*{0.1}}`: يرسم دائرة ممتلئة، مركزها عند `(9,3)` وبقطر صغير يبلغ `0.1` (وحدة رسم) بحيث يمكن استخدامها كنقطة.
* `\put(10,1){\line(3,2){1}}`: ينشئ خطًا مستقيمًا يبدأ عند `(10,1)` ويُرسم في اتجاه `(3,2)` بطول 1 (وحدة رسم).

#### استخدام الأسهم

يمكن أيضًا استخدام الأسهم داخل `الصورة` بيئة، لذا إليك مثالًا ثانيًا:

```latex
\documentclass{article}
\usepackage[pdftex]{pict2e}
\begin{document}
\setlength{\unitlength}{0.20mm}
\begin{picture}(400,250)
\put(75,10){\line(1,0){130}}
\put(75,50){\line(1,0){130}}
\put(75,200){\line(1,0){130}}
\put(120,200){\vector(0,-1){150}}
\put(190,200){\vector(0,-1){190}}
\put(97,120){$\alpha$}
\put(170,120){$\beta$}
\put(220,195){الحالة العليا}
\put(220,45){الحالة السفلى 1}
\put(220,5){الحالة السفلى 2}
\end{picture}
\end{document}
```

[افتح هذا المثال في Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+arrows+in+LaTeX+picture+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bpdftex%5D%7Bpict2e%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cunitlength%7D%7B0.20mm%7D%0A%5Cbegin%7Bpicture%7D%28400%2C250%29%0A%5Cput%2875%2C10%29%7B%5Cline%281%2C0%29%7B130%7D%7D%0A%5Cput%2875%2C50%29%7B%5Cline%281%2C0%29%7B130%7D%7D%0A%5Cput%2875%2C200%29%7B%5Cline%281%2C0%29%7B130%7D%7D%0A%5Cput%28120%2C200%29%7B%5Cvector%280%2C-1%29%7B150%7D%7D%0A%5Cput%28190%2C200%29%7B%5Cvector%280%2C-1%29%7B190%7D%7D%0A%5Cput%2897%2C120%29%7B%24%5Calpha%24%7D%0A%5Cput%28170%2C120%29%7B%24%5Cbeta%24%7D%0A%5Cput%28220%2C195%29%7Bupper+state%7D%0A%5Cput%28220%2C45%29%7Blower+state+1%7D%0A%5Cput%28220%2C5%29%7Blower+state+2%7D%0A%5Cend%7Bpicture%7D%0A%5Cend%7Bdocument%7D)

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

![مثال على الأسهم في بيئة الصورة في LaTeX](/files/55cc0155fe58e2f63e549845ca66646ed5fee1df)

ال `\vector` يستخدم الأمر نفس الصياغة مثل `\line`:

* `\put(120,200){\vector(0,-1){150}}`: يرسم متجهًا تكون نقطة بدايته `(120,200)`، وطوله `150` واتجاه الرسم `(0,-1)`.

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

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

* [الدليل المرجعي غير الرسمي لـ LaTeX2e](https://latexref.xyz/picture.html)
* [مقدمة ليست قصيرة إلى هذا الحد إلى LaTeX2ε](https://tobi.oetiker.ch/lshort/lshort.pdf) (انظر الفصل 5)
* [ويكي الكتب](https://en.wikibooks.org/wiki/LaTeX/Picture)
* [الأسئلة الموسومة بـ `وضع الصورة` على tex.stackexchange](https://tex.stackexchange.com/questions/tagged/picture-mode)
* [`pict2e` توثيق الحزمة](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/pict2e/pict2e.pdf)
* [حزمة TikZ](/latex/ar/alashkal-waljdawl/05-tikz-package.md)
* [حزمة Pgfplots](/latex/ar/khas-balmjal/08-pgfplots-package.md)
* [تموضع الصور والجداول](/latex/ar/alashkal-waljdawl/02-positioning-images-and-tables.md)
* [قوائم الجداول والأشكال](/latex/ar/alashkal-waljdawl/03-lists-of-tables-and-figures.md)


---

# 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/04-picture-environment.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.
