Nod, anak panah dan gambar rajah TikZ
Letakkan setiap kotak dengan \node[draw] (name) {text};, tetapkan kedudukan kotak seterusnya dengan pustaka positioning (right=of name), dan sambungkannya dengan \draw[->] (a) -- (b);.
Nod
Nod ialah sekeping teks pada satu titik, dengan bingkai jika mahu. draw memberikannya garis luar, fill latar belakang, dan circle atau ellipse bentuk bulat (rectangle ialah lalai). Nama dalam kurungan membolehkan anda merujuk nod itu kemudian.
Nod dengan bentuk, isian dan saiz
\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}Anak panah antara nod
\draw[->] (a) -- (b); melukis anak panah dari nod a ke nod b. Garis bermula dan berakhir di sempadan nod, bukan di pusatnya. -| dan |- melukis sambungan bersudut tegak.
Carta alir kecil dengan pustaka 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 meletakkan nod di sebelah kanan in, dipisahkan oleh node distance. Arah lain ialah left, above, below dan arah pepenjuru seperti above right. right=2cm of in menetapkan jarak untuk satu nod.
Label pada anak panah dan nod
node yang ditulis di tengah laluan melabelkannya. above, below, left, right menetapkan sisi, dan midway, near start, near end atau pos=0.3 kedudukan di sepanjang laluan. label=below:text menambah label pada nod.
Gambar rajah keadaan dengan tepi melengkung berlabel
\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}Sauh
Setiap nod mempunyai sauh pada sempadannya: north, south, east, west dan bucu seperti north east. (box.north) ialah titik di tengah bahagian atas box.
Anak panah dari sauh sesuatu nod
\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 pada nod meletakkan nod itu supaya sauh baratnya berada pada titik yang diberikan.
Hujung anak panah
| Pilihan | Hujung | Dalam Scissor LaTeX |
|---|---|---|
->, <-, <-> | hujung TikZ lalai | Berfungsi |
-stealth, -latex | hujung stealth dan LaTeX klasik | Berfungsi |
-{Stealth}, -{Latex} (arrows.meta) | hujung yang lebih baharu | Berfungsi |
|-| | palang pada setiap hujung | Berfungsi |
>={Stealth} pada gambar | hujung yang digunakan oleh -> | Berfungsi |
pilihan hujung anak panah seperti -{Stealth[length=3mm]} | saiz dan bentuk hujung | Sebahagian: hujung dilukis dalam saiz lalainya |
Saiz hujung hampir sama dengan TikZ, tetapi tidak serupa.
Apa yang tidak disokong
Ciri-ciri ini dikompil dalam pemasangan TeX tetapi tidak di sini. Kebanyakannya dilaporkan dalam tab Masalah.
| Ciri | Apa yang berlaku dalam Scissor LaTeX | Apa yang perlu ditulis sebagai ganti |
|---|---|---|
\matrix (dan matrix of nodes) | Seluruh gambar menjadi kotak bergaris putus-putus dengan mesej | Letakkan nod dengan at (x,y) atau positioning |
\pic | Seluruh gambar menjadi kotak bergaris putus-putus dengan mesej | Ulang lukisan dalam scope dengan shift |
hiasan (decorate, decoration=...) | Diabaikan dengan mesej; laluan dilukis biasa | Laluan biasa atau bergaris putus-putus |
bentuk nod daripada shapes.geometric (diamond, trapezium ...) | Dilukis sebagai segi empat tepat, dengan mesej | rectangle, circle atau ellipse |
garis double | Diabaikan dengan mesej | Dua nod atau laluan |
to[loop above] (gelung pada satu nod) | Tiada gelung dilukis dan tiada mesej ditunjukkan; labelnya terletak pada nod | arc atau lengkung .. controls .. dari sempadan nod |
pin= | Teks pin ditunjukkan, tanpa garis pin | label= |
pos= pada laluan -| atau |- | Label diletakkan di sepanjang kaki kedua sahaja, jadi pos=0.25 jatuh berhampiran bucu | Labelkan kaki kedua dengan pos=0.75, atau pecahkan laluan kepada dua |
tikz-cd, circuitikz, forest | Gambar ditinggalkan, dengan mesej | TikZ ringkas, atau imej |
\matrix menjadi pemegang tempat
\begin{tikzpicture}
\matrix[draw] {
\node {a}; & \node {b}; \\
\node {c}; & \node {d}; \\
};
\end{tikzpicture}Tab Masalah: \matrix in a picture is not supported yet
Nod berlian dilukis sebagai segi empat tepat
\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}Tab Masalah: TikZ node option 'diamond' is not supported yet
Manual TikZ (dalam pakej PGF) meliputi nod, pustaka positioning dan hujung anak panah: ctan.org/pkg/pgf. Untuk bentuk dan laluan, lihat lukisan dengan TikZ.
Lihat juga Asas TikZ, TikZ dan Rajah dan imej.
Soalan dan jawapan
Bagaimanakah cara melukis carta alir dalam LaTeX?
Gunakan nod TikZ dengan draw untuk kotak, pustaka positioning (right=of a, below=of b) untuk meletakkannya, dan \draw[->] (a) -- (b); untuk anak panah.
Bagaimanakah cara meletakkan teks pada anak panah dalam TikZ?
Tulis nod di tengah laluan: \draw[->] (a) -- node[above] {text} (b);.
Adakah tikz-cd berfungsi dalam Scissor LaTeX?
Belum lagi. Gambar rajah tikzcd ditinggalkan dengan mesej. Lukis gambar rajah ringkas dengan nod dan anak panah sebagai ganti.
Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.