العُقد والأسهم والمخططات في TikZ
ضع كل مربع باستخدام \node[draw] (name) {text};، وحدد مواضع المربعات التالية بمكتبة positioning (right=of name)، وصِل بينها باستخدام \draw[->] (a) -- (b);.
العُقد
العقدة قطعة نص عند نقطة، مع إطار اختياري. يمنحها draw حدودًا، وfill خلفية، وcircle أو ellipse شكلًا مستديرًا (rectangle هو الافتراضي). ويتيح لك اسم بين قوسين الإشارة إلى العقدة لاحقًا.
عُقد بأشكال وتعبئات وأحجام
\begin{tikzpicture}
\node[draw] (a) at (0,0) {plain box};
\node[draw, rounded corners, fill=blue!10] (b) at (3,0) {rounded};
\node[draw, circle, fill=yellow!40] (c) at (5.5,0) {44};
\node[draw, ellipse] (d) at (8,0) {ellipse};
\node[draw, minimum width=2.5cm, minimum height=1cm] at (1,-1.6) {fixed size};
\node[draw, text width=2.6cm, align=center] at (5,-1.6) {text that wraps onto two lines};
\end{tikzpicture}الأسهم بين العُقد
يرسم \draw[->] (a) -- (b); سهمًا من العقدة a إلى العقدة b. يبدأ الخط وينتهي عند حدود العقدتين، لا عند مركزيهما. ويرسم -| و|- وصلات بزوايا قائمة.
مخطط انسيابي صغير بمكتبة positioning
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\begin{document}
\begin{tikzpicture}[
node distance=1.2cm and 1.6cm,
box/.style={draw, rounded corners, fill=blue!8, minimum width=2.2cm, minimum height=0.8cm},
>={Stealth},
]
\node[box] (in) {Read data};
\node[box, right=of in] (clean) {Clean};
\node[box, right=of clean] (fit) {Fit model};
\node[draw, circle, below=of clean] (ok) {OK?};
\draw[->] (in) -- (clean);
\draw[->] (clean) -- (fit);
\draw[->] (fit) |- (ok);
\draw[->] (ok) -| node[pos=0.75, left] {no} (in);
\end{tikzpicture}
\end{document}يضع right=of in العقدة إلى يمين in، بمسافة node distance بينهما. والاتجاهات الأخرى هي left وabove وbelow والاتجاهات القطرية مثل above right. ويحدد right=2cm of in المسافة لعقدة واحدة.
التسميات على الأسهم والعُقد
العقدة node المكتوبة في منتصف مسار تسمّيه. يحدد above وbelow وleft وright الجهة، ويحدد midway وnear start وnear end أو pos=0.3 الموضع على امتداد المسار. ويضيف label=below:text تسمية إلى عقدة.
مخطط حالات بحواف منحنية ومسمّاة
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows.meta}
\begin{document}
\begin{tikzpicture}[state/.style={draw, circle, minimum size=1cm}, >={Stealth}, node distance=2.4cm]
\node[state, label=below:start] (s0) {$q_0$};
\node[state, right=of s0] (s1) {$q_1$};
\node[state, right=of s1, fill=green!15] (s2) {$q_2$};
\draw[->] (s0) to[bend left] node[above] {$a$} (s1);
\draw[->] (s1) to[bend left] node[below] {$b$} (s0);
\draw[->] (s1) -- node[above] {$a$} (s2);
\end{tikzpicture}
\end{document}نقاط الارتكاز
لكل عقدة نقاط ارتكاز على حدودها: north وsouth وeast وwest والزوايا مثل north east. و(box.north) هي النقطة في منتصف أعلى box.
أسهم من نقاط ارتكاز عقدة
\begin{tikzpicture}
\node[draw, minimum width=3cm, minimum height=1cm] (box) {Server};
\draw[->] (box.north) -- ++(0,0.7) node[above] {north};
\draw[->] (box.east) -- ++(1,0) node[right] {east};
\draw[->] (box.south west) -- ++(-0.6,-0.6) node[below left] {south west};
\node[anchor=west] at (box.south east) {\small (anchor=west)};
\end{tikzpicture}يضع anchor=west على عقدة تلك العقدة بحيث تقع نقطة ارتكازها الغربية عند النقطة المعطاة.
رؤوس الأسهم
| الخيار | الرأس | في Scissor LaTeX |
|---|---|---|
->، <-، <-> | رأس TikZ الافتراضي | يعمل |
-stealth، -latex | رأسا stealth وLaTeX الكلاسيكيان | يعمل |
-{Stealth}، -{Latex} (arrows.meta) | الرؤوس الأحدث | يعمل |
|-| | شرطة عند كل طرف | يعمل |
>={Stealth} على الصورة | الرأس الذي يستخدمه -> | يعمل |
خيارات رؤوس الأسهم مثل -{Stealth[length=3mm]} | أحجام الرأس وأشكاله | جزئيًا: يُرسم الرأس بحجمه الافتراضي |
أحجام الرؤوس قريبة من TikZ، لكنها ليست مطابقة.
ما ليس مدعومًا
تُصرَّف هذه الميزات في تثبيت TeX لكن ليس هنا. ويُبلَّغ عن معظمها في تبويب «المشكلات».
| الميزة | ما يحدث في Scissor LaTeX | ما تكتبه بدلًا منها |
|---|---|---|
\matrix (وmatrix of nodes) | تصبح الصورة كلها مربعًا متقطع الإطار مع رسالة | ضع العُقد باستخدام at (x,y) أو positioning |
\pic | تصبح الصورة كلها مربعًا متقطع الإطار مع رسالة | كرّر الرسم داخل scope مع shift |
الزخارف (decorate، decoration=...) | تُتجاهل مع رسالة؛ ويُرسم المسار بسيطًا | مسار بسيط أو متقطع |
أشكال العُقد من shapes.geometric (diamond، trapezium ...) | تُرسم مستطيلًا، مع رسالة | rectangle أو circle أو ellipse |
الخطوط المزدوجة double | تُتجاهل مع رسالة | عقدتان أو مساران |
to[loop above] (حلقة على عقدة واحدة) | لا تُرسم حلقة ولا تظهر رسالة؛ وتقع تسميتها على العقدة | قوس arc أو منحنى .. controls .. من حدود العقدة |
pin= | يظهر نص الدبوس، من دون خط الدبوس | label= |
pos= على مسار -| أو |- | توضع التسمية على امتداد الضلع الثاني فقط، فيقع pos=0.25 قرب الزاوية | سمِّ الضلع الثاني باستخدام pos=0.75، أو قسّم المسار إلى اثنين |
tikz-cd، circuitikz، forest | تُترك الصورة، مع رسالة | TikZ بسيط، أو صورة |
يصبح \matrix عنصرًا نائبًا
\begin{tikzpicture}
\matrix[draw] {
\node {a}; & \node {b}; \\
\node {c}; & \node {d}; \\
};
\end{tikzpicture}تبويب المشكلات: \matrix in a picture is not supported yet
تُرسم عقدة diamond مستطيلًا
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\node[draw, diamond] at (0,0) {Yes?};
\node[draw, ellipse] at (2.5,0) {ellipse works};
\end{tikzpicture}
\end{document}تبويب المشكلات: TikZ node option 'diamond' is not supported yet
يغطي دليل TikZ (ضمن حزمة PGF) العُقد ومكتبة positioning ورؤوس الأسهم: ctan.org/pkg/pgf. وللأشكال والمسارات، راجع الرسم باستخدام TikZ.
راجع أيضًا أساسيات TikZ وTikZ والأشكال والصور.
أسئلة وأجوبة
كيف أرسم مخططًا انسيابيًا في LaTeX؟
استخدم عُقد TikZ مع draw للمربعات، ومكتبة positioning (right=of a، below=of b) لوضعها، و\draw[->] (a) -- (b); للأسهم.
كيف أضع نصًا على سهم في TikZ؟
اكتب عقدة في منتصف المسار: \draw[->] (a) -- node[above] {text} (b);.
هل يعمل tikz-cd في Scissor LaTeX؟
ليس بعد. يُترك مخطط tikzcd مع رسالة. ارسم بدلًا من ذلك مخططات بسيطة بالعُقد والأسهم.
كل مثال في هذه الصفحة ينضّده Scissor LaTeX عند بناء الموقع. آخر تحديث: 2026-11-07.