رفتن به محتوا

گره‌ها، پیکان‌ها و نمودارواره‌ها در 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

گرهٔ لوزی به صورت مستطیل کشیده می‌شود

\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.