דילוג לתוכן

צמתים, חצים ודיאגרמות ב-TikZ

מציבים כל תיבה עם \node[draw] (name) {text};, ממקמים את הבאות עם הספרייה positioning (right=of name), ומחברים ביניהן עם \draw[->] (a) -- (b);.

צמתים

צומת (node) הוא קטע טקסט בנקודה, ואפשר לתת לו מסגרת. draw נותן לו קו מתאר, fill רקע, ו-circle או ellipse צורה עגולה (rectangle היא ברירת המחדל). שם בסוגריים מאפשר להתייחס לצומת אחר כך.

צמתים עם צורות, מילוי וגדלים

LaTeXמבוא: \usepackage{tikz}פתיחה בעורך (נפתח בכרטיסייה חדשה)
\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}

עוגנים

לכל צומת יש עוגנים (anchors) על הגבול שלו: north, south, east, west והפינות כמו north east. (box.north) היא הנקודה במרכז העליון של box.

חצים מהעוגנים של צומת

LaTeXמבוא: \usepackage{tikz}פתיחה בעורך (נפתח בכרטיסייה חדשה)
\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 הופך לממלא מקום

LaTeXמבוא: \usepackage{tikz}פתיחה בעורך (נפתח בכרטיסייה חדשה)
\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.