> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/pl/rysunki-i-tabele/05-tikz-package.md).

# Pakiet TikZ

## Wstęp

[Ti*k*Z](https://en.wikipedia.org/wiki/PGF/TikZ) jest prawdopodobnie najbardziej złożonym i najpotężniejszym narzędziem do tworzenia elementów graficznych w LaTeX. Zaczynając od prostego przykładu, ten artykuł wprowadza kilka podstawowych pojęć: rysowanie linii, kropek, krzywych, okręgów, prostokątów itp.

Najpierw załaduj `tikz` pakiet, dodając linię `\usepackage{tikz}` w preambule dokumentu, a następnie narysuj grafikę, używając `tikzpicture` środowiska.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{Intersection point};
\end{tikzpicture}
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Ten przykład generuje następujący wynik:

![OLV2tikz1.png](/files/2d1c97c256675e8d19bed2e0a2c83e161d3c8f2c)

W tym przykładzie narysowane są dwie linie i jeden punkt. Aby dodać linię, użyj polecenia `\draw[gray, thick]` definiuje element graficzny, którego *kolor* to `szary` oraz z `grubą` kreską. Linia jest w rzeczywistości określona przez jej dwa punkty końcowe, `(-1,2)` i `(2,-4)`, połączone przez `--`.

Ta *punkt* jest w rzeczywistości `okrąg` narysowany za pomocą `\filldraw[black]`, to polecenie nie tylko narysuje okrąg, ale także wypełni go czernią. W tym poleceniu punkt środkowy `(0,0)` i promień `(2pt)` są określone. Obok punktu znajduje się `węzeł`, który w rzeczywistości jest ramką zawierającą tekst `punkt przecięcia`, zakotwiczony przy `zachodzie` punktu.

Ważne jest, aby zauważyć średnik `;` używany na końcu każdego `polecenia draw` polecenie.

Uwaga: `tikzfigure` środowisko może być umieszczone wewnątrz środowiska figure lub podobnego. Zobacz [Wstawianie obrazów](/latex/pl/wiecej-tematow/27-inserting-images.md) artykuł, aby uzyskać więcej informacji na ten temat.

## Podstawowe elementy: punkty, linie i ścieżki

W tym rozdziale przedstawiamy kilka przykładów pokazujących, jak tworzyć podstawowe elementy graficzne, które można łączyć, aby uzyskać bardziej złożone rysunki.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Ten przykład generuje następujący wynik:

![OLV2tikz2.png](/files/fb1812a5e020ff65532147186c5b1bb28f4b71dc)

W tym przykładzie są trzy podstawowe polecenia:

* **`\draw (-2,0) -- (2,0);`**: To definiuje linię, której punkty końcowe są `(-2,0)` i `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`**: Punkt jest tworzony jako bardzo mały `szary` `okrąg` wyśrodkowany w `(0,0)` i którego promień wynosi `(2pt)`. Pakiet `\filldraw` polecenie służy do rysowania elementów i wypełniania ich określonym kolorem. Zobacz następny rozdział, aby znaleźć więcej przykładów.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`**: Rysuje [krzywą Béziera](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). Określają ją 4 punkty: `(-2,2)` i `(2,2)` są jej punktami końcowymi, `(-1,0)` i `(1,0)` jesteś [*punkty kontrolne*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) które określają, jak bardzo jest zakrzywiona. Możesz traktować te dwa punkty jako „punkty przyciągające”.

## Podstawowe figury geometryczne: okręgi, elipsy i wielokąty

Figury geometryczne można konstruować z prostszych elementów, więc zacznijmy od okręgów, elips i łuków.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Ten przykład generuje następujący wynik:

![TikzEx3.png](/files/6c67ea1e9dc22577853199aed80357bac3ecadd0)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`**: To polecenie zostało użyte w poprzednim rozdziale do narysowania *punkt*, ale w tym przypadku w nawiasach znajdują się dodatkowe parametry. Zostały one wyjaśnione poniżej:
  * **`color=red!60`**: Kolor pierścienia wokół okręgu jest ustawiony na 60% czerwieni (jaśniejszej niż „czysta” czerwień). Zobacz [przewodnik referencyjny](#reference-guide) listę domyślnych kolorów dostępnych w LaTeX; zobacz także [Używanie kolorów w LaTeX](/latex/pl/formatowanie/13-using-colors-in-latex.md) aby dowiedzieć się, jak tworzyć własne kolory.
  * **`fill=red!5`**: Okrąg jest wypełniony jeszcze jaśniejszym odcieniem czerwieni.
  * **`bardzo gruba`**: Ten parametr określa grubość kreski. Zobacz [przewodnik referencyjny](#reference-guide) pełną listę wartości.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`**: Aby utworzyć elipsę, podajesz punkt środkowy `(2.5,0)`, oraz dwa promienie: poziomy i pionowy (`1.5` i `0.5` odpowiednio). Zwróć też uwagę na polecenie `fill` zamiast `polecenia draw` lub filldraw, ponieważ w tym przypadku nie ma potrzeby kontrolowania kolorów zewnętrznego i wewnętrznego.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`**: To polecenie narysuje łuk zaczynający się w `(6.5,0)`. Dodatkowy parametr `->` oznacza, że łuk będzie miał strzałkę na końcu. Oprócz punktu początkowego musisz podać trzy dodatkowe wartości: kąt początkowy i końcowy oraz promień; tutaj te trzy wartości parametrów są podane w formacie `(0:220:1)`.

Oprócz zakrzywionych figur geometrycznych możesz także tworzyć elementy wykorzystujące proste linie, używając podobnej składni:

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Ten przykład generuje następujący wynik:

![OLV2tikz4.png](/files/4bf860c94547d89b8e174730dd26704838db7903)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`**: Prostokąty są tworzone przez specjalne polecenie `rectangle`. Musisz podać dwa punkty: pierwszy to miejsce, w którym „ołówek” zaczyna rysować prostokąt, a drugi to punkt przeciwległego narożnika po przekątnej.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`**: Aby narysować wielokąt, rysujemy *zamkniętą* ścieżkę z prostych linii: linię od `(4,0)` na `(6,0)` i linię od `(6,0)` na `(5.7,2)`. Pakiet `cycle` polecenie oznacza, że punkt początkowy i końcowy powinny się pokrywać, aby utworzyć „zamkniętą” ścieżkę (kształt), co skutkuje dorysowaniem końcowego odcinka linii.

## Diagramy

Węzły są prawdopodobnie najbardziej wszechstronnymi elementami w TikZ. Wprowadzeniu użyliśmy już jednego węzła — aby dodać trochę tekstu do rysunku. Następny przykład wykorzystuje węzły do utworzenia diagramu.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Nodes
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Lines
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Ten przykład generuje następujący wynik:

![OLV2tikz5.png](/files/831c7b295763f96331bbb06d1de66952a08b6cb1)

W tej figurze są zasadniczo trzy polecenia: definicja węzła, deklaracja węzła i linie łączące dwa węzły.

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`**: Przekazane jako parametr do `tikzpicture` środowiska. Definiuje węzeł, do którego będziemy odwoływać się jako `roundnode`: ten węzeł będzie kołem, którego zewnętrzny kontur zostanie narysowany kolorem `green!60` i zostanie wypełniony `green!5`. Kontur będzie `bardzo gruba` a jego `minimalny rozmiar` to `7mm`. Linia poniżej definiuje drugi węzeł w kształcie prostokąta o nazwie `squarednode`, używając podobnych parametrów.
* **`\node[squarednode] (maintopic) {2};`**: To utworzy `squarednode`, zgodnie z definicją z poprzedniego polecenia. Ten węzeł będzie miał identyfikator `maintopic` i będzie zawierał liczbę `2`. Jeśli pozostawisz puste miejsce wewnątrz nawiasów klamrowych, żaden tekst nie zostanie wyświetlony.
* **`[above=of maintopic]`**: Zauważ, że wszystkie węzły poza pierwszym mają dodatkowy parametr określający ich położenie względem innych węzłów. Na przykład, `[above=of maintopic]` oznacza, że ten węzeł powinien pojawić się nad węzłem o nazwie `maintopic`. Aby ten system pozycjonowania działał, musisz dodać `\usetikzlibrary{positioning}` do preambuły. Bez `positioning` biblioteki możesz użyć składni `above of=maintopic` zamiast tego, ale `positioning` składnia jest bardziej elastyczna i potężniejsza: możesz ją rozszerzyć, aby zapisać `above=**3cm** of maintopic` tzn. kontrolować rzeczywistą odległość od `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`**: Zostanie narysowana prosta linia podobna do strzałki. Składnia została już wyjaśniona w [podstawowych elementów](#basic-elements-points-lines-and-paths) rozdziale. Jedyna różnica polega na sposobie, w jaki zapisujemy punkty końcowe linii: odwołując się do węzła (dlatego nadaliśmy im nazwy) oraz do położenia względem węzła.

## Przewodnik

Możliwe parametry koloru i grubości w `tikz` pakiet:

| parametr | wartości                                                               | picture                                                              |
| -------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------- |
| color    | biały, czarny, czerwony, zielony, niebieski, cyjan, magenta, żółty     | ![BasicColours.png](/files/c4c9216007474aabe5e9971fdbcc7ee3bfec26c1) |
| grubość  | bardzo cienka, bardzo cienka, cienka, gruba, bardzo gruba, ultra gruba | ![Thickness.png](/files/0cae3e22d43a2ae9c358ee2d4447f591a49854e5)    |

W twojej dystrybucji LaTeX mogą być dostępne dodatkowe kolory. Zobacz [Używanie kolorów w LaTeX](/latex/pl/formatowanie/13-using-colors-in-latex.md)

## Dalsza lektura

Więcej informacji znajdziesz w:

* [Używanie kolorów w LaTeX](/latex/pl/formatowanie/13-using-colors-in-latex.md)
* [pakiet Pgfplots](/latex/pl/specyficzne-dla-dziedziny/08-pgfplots-package.md)
* [Wstawianie obrazów](/latex/pl/wiecej-tematow/27-inserting-images.md)
* [Spisy tabel i rysunków](/latex/pl/rysunki-i-tabele/03-lists-of-tables-and-figures.md)
* [Pozycjonowanie obrazów i tabel](/latex/pl/rysunki-i-tabele/02-positioning-images-and-tables.md)
* [Rysowanie diagramów bezpośrednio w LaTeX-u](/latex/pl/rysunki-i-tabele/04-picture-environment.md)
* [Podręcznik pakietów TikZ i PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [Przykłady TikZ i PGF na TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/pl/rysunki-i-tabele/05-tikz-package.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
