Langkau ke kandungan

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

LaTeXMukadimah: \usepackage{tikz}Buka dalam editor (dibuka dalam tab baharu)
\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

LaTeXMukadimah: \usepackage{tikz}Buka dalam editor (dibuka dalam tab baharu)
\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

PilihanHujungDalam Scissor LaTeX
->, <-, <->hujung TikZ lalaiBerfungsi
-stealth, -latexhujung stealth dan LaTeX klasikBerfungsi
-{Stealth}, -{Latex} (arrows.meta)hujung yang lebih baharuBerfungsi
|-|palang pada setiap hujungBerfungsi
>={Stealth} pada gambarhujung yang digunakan oleh ->Berfungsi
pilihan hujung anak panah seperti -{Stealth[length=3mm]}saiz dan bentuk hujungSebahagian: 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.

CiriApa yang berlaku dalam Scissor LaTeXApa yang perlu ditulis sebagai ganti
\matrix (dan matrix of nodes)Seluruh gambar menjadi kotak bergaris putus-putus dengan mesejLetakkan nod dengan at (x,y) atau positioning
\picSeluruh gambar menjadi kotak bergaris putus-putus dengan mesejUlang lukisan dalam scope dengan shift
hiasan (decorate, decoration=...)Diabaikan dengan mesej; laluan dilukis biasaLaluan biasa atau bergaris putus-putus
bentuk nod daripada shapes.geometric (diamond, trapezium ...)Dilukis sebagai segi empat tepat, dengan mesejrectangle, circle atau ellipse
garis doubleDiabaikan dengan mesejDua nod atau laluan
to[loop above] (gelung pada satu nod)Tiada gelung dilukis dan tiada mesej ditunjukkan; labelnya terletak pada nodarc atau lengkung .. controls .. dari sempadan nod
pin=Teks pin ditunjukkan, tanpa garis pinlabel=
pos= pada laluan -| atau |-Label diletakkan di sepanjang kaki kedua sahaja, jadi pos=0.25 jatuh berhampiran bucuLabelkan kaki kedua dengan pos=0.75, atau pecahkan laluan kepada dua
tikz-cd, circuitikz, forestGambar ditinggalkan, dengan mesejTikZ ringkas, atau imej

\matrix menjadi pemegang tempat

LaTeXMukadimah: \usepackage{tikz}Buka dalam editor (dibuka dalam tab baharu)
\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.