> 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/specyficzne-dla-dziedziny/05-chess-notation.md).

# Notacja szachowa

## Wstęp

Ten artykuł omawia podstawy składu szachowego, w tym [krótkie omówienia/podsumowania niektórych szachowych konwencji](#chess-conventions-a-brief-review) które możesz spotkać w dokumentacji pakietów szachowych LaTeX. Czytelnicy, którzy nie potrzebują tego materiału wprowadzającego, mogą od razu przejść do [przykładów pakietów LaTeX](#a-first-example-with-the-xskak-package).

## Jeden pakiet, aby wszystkimi rządzić

Repozytorium CTAN zawiera wiele [pakietów związanych z szachami](https://ctan.org/search?phrase=chess\&ext=false&_PKG=\&PKG=on&_AUTHORS=\&AUTHORS=on&_TOPICS=\&TOPICS=on&_FILES=&_PORTAL=\&PORTAL=on\&wildcard=on\&max=32), więc możesz się zastanawiać, który wybrać? W tym artykule użyto [`xskak` pakietu](https://ctan.org/pkg/xskak?lang=en), który jest gorąco polecany do składu szachów ze względu na szeroki zakres funkcji, rozbudowane opcje konfiguracji i doskonałą dokumentację. `xskak` ładuje i rozszerza oryginalny [`skak` pakietu](https://ctan.org/pkg/skak?lang=en) i ładuje również [`chessboard` pakietu](https://ctan.org/pkg/chessboard?lang=en) który oferuje ogromny zakres opcji konfiguracji i tworzenia szachownic.

Przykłady podane w tym artykule nie mogą zastąpić *doskonałej* dokumentacji towarzyszącej [`xskak`](https://texdoc.org/serve/xskak/0) i [`chessboard`](https://texdoc.org/serve/chessboard/0) pakietom, które gorąco zachęcamy, by przeglądać, czytać i zgłębiać, ponieważ oba zestawy dokumentacji zawierają liczne i bardzo pomocne przykłady.

**Uwaga**: Oba `skak` i `xskak` mogą analizować i składać partie szachowe w (podzbiorze) [Notacja Portable Game Notation (PGN)](#portable-game-notation). `xskak` rozszerza podzbiór PGN obsługiwany przez `skak`.

**Ciekawostki**: skak to duńskie słowo oznaczające szachy.

### Kilka uwag

Oto kilka ważnych uwag odnotowanych w `xskak` dokumentacji:

> `xskak` załaduje pakiet `skak` bez opcji (i nie przekaże mu opcji). Zatem jeśli chcesz załadować `skak` z opcjami, musisz to zrobić przed załadowaniem pakietu `xskak`.

> `xskak` jest rozszerzeniem (a nie zamiennikiem) **główna praca nadal jest wykonywana przez pakiet `skak`**... proszę najpierw przeczytać dokumentację pakietu `skak`...

* **Uwaga**: Wśród pakietów związanych z szachami [wymienionych w CTAN](https://ctan.org/search?phrase=chess\&ext=false&_PKG=\&PKG=on&_AUTHORS=\&AUTHORS=on&_TOPICS=\&TOPICS=on&_FILES=&_PORTAL=\&PORTAL=on\&wildcard=on\&max=32) jest jeden o nazwie [`skaknew`](https://ctan.org/pkg/skaknew). Mimo swojej nazwy, ten `skaknew` pakiet jest *nie* nową lub ulepszoną wersją oryginalnego `skak` pakietu: jest to zestaw czcionek szachowych Type 1. Pakiet `xskak` wykorzystuje `skaknew` czcionki, więc nie ma potrzeby ręcznego wczytywania ich do projektu.

### Minimalny przykład xskak

Aby „ustawić scenę” i bez dalszych wyjaśnień, oto minimalny `xskak` przykład pakietu składający dwie szachownice: jedna jest pusta, druga zawiera wszystkie bierki szachowe w ich początkowych pozycjach:

```latex
\documentclass{article}
% Uwaga: wystarczy załadować xskak,
% a nie pakiety skak ani chessboard.
\usepackage{xskak}
\begin{document}
% To polecenie \chessboard rysuje
% pustą szachownicę: opcja
% showmover=false zostanie omówiona
% później w artykule
\chessboard[showmover=false]
% Polecenie \newchessgame
% inicjuje nową partię:
\newchessgame
% Ponieważ zainicjowano nową partię,
% \chessboard teraz rysuje
% szachownicę z bierkami:
\chessboard
Mały biały kwadrat po prawej stronie drugiej szachownicy nazywa się \textit{mover}.
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+basic+xskak+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Note%3A+you+only+need+to+load+xskak%2C%0A%25+not+the+skak+or+chessboard+packages.%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%25+This+%5Cchessboard+command+draws+%0A%25+an+empty+chess+board%3A+the+option%0A%25+showmover%3Dfalse+will+be+discussed%0A%25+later+in+the+article%0A%5Cchessboard%5Bshowmover%3Dfalse%5D%0A%25+The+%5Cnewchessgame+command+%0A%25+initializes+a+new+game%3A%0A%5Cnewchessgame%0A%25+Because+a+new+game+was+initialized%2C+%0A%25+%5Cchessboard+now+draws+a+%0A%25+board+with+chess+pieces%3A%0A%5Cchessboard%0AThe+small+white+square+to+the+right+of+the+second+board+is+called+the+%5Ctextit%7Bmover%7D.%0A%5Cend%7Bdocument%7D)

Ten `xskak` przykład daje następujący wynik:

![](/files/9827be017ee4651370e02d6a08fa7d8dc6c3edec)

## Konwencje szachowe: krótkie omówienie

Dla czytelników nowych w szachach, zwłaszcza w ich składzie, poniższe sekcje zawierają *krótkie* wprowadzenia do zagadnień i konwencji, które napotkasz w pakietach szachowych LaTeX oraz w ich towarzyszącej dokumentacji. Czytelnicy zaznajomieni z konwencjami szachowymi mogą pominąć te sekcje i przejść do przykładów LaTeX.

### Notacja Portable Game Notation

Pakiety skak i xskak obsługują podzbiór [Notacja Portable Game Notation](https://en.wikipedia.org/wiki/Portable_Game_Notation) (PGN), standardu wynalezionego około 1994 roku przez [Steven Edwards](https://www.chessprogramming.org/Steven_Edwards). Oryginalna specyfikacja PGN z 1994 roku jest [dostępna na archive.org](https://archive.org/details/pgn-standard-1994-03-12). Bezpośredni link do standardu to <https://tim-mann.org/Standard>.

Według [tekstu standardu PGN](https://tim-mann.org/Standard):

> PGN to „Portable Game Notation”, standard przeznaczony do reprezentacji danych partii szachowych przy użyciu plików tekstowych ASCII. PGN jest zorganizowany tak, aby był łatwy do odczytu i zapisu przez użytkowników oraz łatwy do analizowania i generowania przez programy komputerowe... PGN jest proponowany jako uniwersalna przenośna reprezentacja do wymiany danych.

Należy zauważyć, że pliki PGN są przeznaczone do *wymiany **partii** danych*; tzn. pliki PGN są przeznaczone do zawierania *kompletnych informacji o partii* —takich jak nazwiska graczy, szczegóły wydarzenia/daty itd., wraz z zapisem, w notacji algebraicznej, *wszystkich posunięć* w partii.

**Uwaga**: Aby zapoznać się z innym krótkim wprowadzeniem do PGN, odwiedź <http://www.enpassant.dk/chess/palview/p3manual/p3pgn.htm>

### Rzędy i linie szachownicy

Szachownica to siatka 8×8 pól, którą normalnie można by opisać jako 8 poziomych wierszy i 8 pionowych kolumn; jednak do opisu szachownicy używa się innej terminologii:

* istnieje 8 poziomych ***rzędów*** (zamiast wierszy)
* istnieje 8 pionowych ***plikami*** (zamiast kolumn)

Każde pole na szachownicy można zidentyfikować (nazwać) za pomocą [kilku konwencji](https://en.wikipedia.org/wiki/Chessboard#Board_notation) ale [notacji algebraicznej](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)) (układu współrzędnych), który jest przyjętym międzynarodowym standardem.

### Notacja algebraiczna

W systemie notacji algebraicznej rzędy i linie są oznaczane następująco:

* 8 poziomych ***rzędów*** jest oznaczanych za pomocą cyfr `1` na `8`
* 8 pionowych ***plikami*** jest oznaczanych za pomocą liter `a` na `h`.

Poniższy diagram pokazuje szachownicę z oznaczeniami notacji algebraicznej używanymi dla linii i rzędów:

![](/files/9ff5e60b30a90b505b053e4723601dbae315807c)

Każde pole na szachownicy znajduje się na przecięciu określonej linii (kolumny) i rzędu (wiersza): odpowiadające im wartości linii i rzędu mogą być użyte jako współrzędne do jednoznacznej identyfikacji każdego pola w opisie położenia i ruchu bierek szachowych.

Dla przykładu poniższy diagram pokazuje pole znajdujące się na **e7** a następnie drugą szachownicę, która wylicza położenie wszystkich 64 pól:

![](/files/870a162a8432ad00a82c38efb3ec2164890144df)

Jeśli dopiero zaczynasz przygodę z szachami, strona Wikipedii [Notacja algebraiczna](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)) zawiera kilka przydatnych informacji wprowadzających, z których niektóre podsumowujemy poniżej.

### Notacja bierek szachowych

Każdy typ bierki szachowej, zwykle z wyjątkiem pionków, jest oznaczany wielką literą, która może się różnić w zależności od używanego języka. Angielskojęzyczni gracze używają następujących liter:

| Litera | Bierki  |
| ------ | ------- |
| K      | Król    |
| Q      | Hetman  |
| R      | Wieża   |
| B      | Goniec  |
| N      | Skoczek |

W standardowej notacji algebraicznej pionki nie są *zwykle* oznaczane wielką literą; zamiast tego można je rozpoznać po *braku* wielkiej litery. Jednak ta konwencja nie zawsze jest stosowana; do oznaczenia pionków może być używana wielka litera P. W [Notacji Forsytha-Edwardsa (FEN)](#forsyth-edwards-notation-fen) wielkie i małe litery są używane do reprezentowania bierek szachowych.

### Notacja pojedynczego posunięcia

Aby zapisać ruch bierki szachowej, trzeba zidentyfikować bierkę i jej pole docelowe. Można to osiągnąć, używając wielkiej litery oznaczającej bierkę oraz współrzędnych pola docelowego.

**Uwaga**: przy opisywaniu ruchu pionka litera oznaczająca, że bierką jest pionek, nie jest *zwykle* używana; podaje się tylko pole docelowe *zwykle* , jak pokazano w poniższych przykładach:

* *nie-pionkowe* posunięcia:
  * **Be5**: **B**goniec przemieszcza się na pole **e5**
  * **Nf3**: s**N**koczek przemieszcza się na pole **f3**
* *pionek* posunięcia:
  * **c5**: pionek przemieszcza się na pole **c5**
  * **Uwaga**: w pewnych okolicznościach (np. niektórych poleceniach LaTeX) pionki *są oznaczane* wielką literą **P**; więc **c5** mogłoby być zapisane **Pc5**.

#### Trzy kropki (...) oznaczenie ruchu czarnej bierki

Sekcja 8.2.2.2 [standardu Portable Game Notation](https://tim-mann.org/Standard) wyjaśnia użycie trzech kropek (...) po oznaczeniu numeru posunięcia (np., **3...e6**):

> Oznaczenie numeru białego posunięcia tworzy się z liczby całkowitej określającej numer pełnego ruchu, do której dodaje się pojedynczy znak kropki. Oznaczenie numeru czarnego posunięcia tworzy się z liczby całkowitej określającej numer pełnego ruchu, do której dodaje się ***trzy znaki kropki***.

### Konwencja dla serii posunięć

Jak wyjaśniono w artykule Wikipedii o [Notacja algebraiczna](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)#Formatting),

* każde pojedyncze posunięcie *zwykle* używa wielkich liter dla bierek innych niż pionki, chociaż, jak wspomniano powyżej, w niektórych okolicznościach (konwencjach) wielka litera P może być używana do oznaczenia ruchu pionka.
* seria posunięć szachowych to sekwencja `<ruch białej bierki> <ruch czarnej bierki>` par — zauważ, że każda para posunięć jest numerowana (patrz przykład poniżej)

### Inne notacje szachowe: FAN i FEN

#### Figurine Algebraic Notation (lub FAN)

Litery zależne od języka używane do reprezentowania bierek szachowych są często zastępowane powszechnie rozpoznawalnymi symbolami przedstawiającymi bierki szachowe. Ta symboliczna reprezentacja jest znana jako Figurine Algebraic Notation, czyli FAN. Na przykład symbol ♞ (lub ♘) może być użyty zamiast N (dla skoczka).

Specyfikacja Unicode koduje znaki szachowe w zestawie [zbiór Miscellaneous Symbols](https://www.unicode.org/charts/PDF/U2600.pdf). Poniższa tabela zawiera wartość Unicode, nazwę i symbol reprezentatywny dla każdego znaku szachowego — rzeczywiste glify (projekty znaków) używane do wyświetlania symboli szachowych będą zależeć od ustawień czcionek urządzenia/przeglądarki.

| Symbol reprezentatywny\n(glif) | Wartość Unicode\n(w HEX) | Nazwa znaku Unicode\n(formalna) |
| ------------------------------ | ------------------------ | ------------------------------- |
| ♔                              | 2654                     | BIAŁY KRÓL SZACHOWY             |
| ♕                              | 2655                     | BIAŁY HETMAN SZACHOWY           |
| ♖                              | 2656                     | BIAŁA WIEŻA SZACHOWA            |
| ♗                              | 2657                     | BIAŁY GONIEC SZACHOWY           |
| ♘                              | 2658                     | BIAŁY SKOCZEK SZACHOWY          |
| ♙                              | 2659                     | BIAŁY PIONEK SZACHOWY           |
| ♚                              | 265A                     | CZARNY KRÓL SZACHOWY            |
| ♛                              | 265B                     | CZARNY HETMAN SZACHOWY          |
| ♜                              | 265C                     | CZARNA WIEŻA SZACHOWA           |
| ♝                              | 265D                     | CZARNY GONIEC SZACHOWY          |
| ♞                              | 265E                     | CZARNY SKOCZEK SZACHOWY         |
| ♟                              | 265F                     | CZARNY PIONEK SZACHOWY          |

#### Notacji Forsytha-Edwardsa (FEN)

Jak zauważono, PGN służy do przechowywania i wymiany *całych partii*, włącznie ze wszystkimi ruchami wykonanymi w danej partii. Natomiast [Notacji Forsytha-Edwardsa (FEN)](https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation) stanowi migawkę partii w pewnym momencie. Notacja FEN wykorzystuje wielkie i małe litery do przedstawiania bierek szachowych:

* białe bierki są oznaczane wielkimi literami (PNBRQK)
* czarne bierki są oznaczane małymi literami (pnbrqk)

gdzie P oznacza białego pionka, a p czarnego pionka.

Szczegółowe omówienie FEN i porównanie go z PGN wykracza poza zakres tego artykułu. Czytelnicy chcący lepiej zrozumieć różnice między PGN a FEN mogą obejrzeć poniższy film:

{% embed url="<https://www.youtube.com/embed/3PvmsmqKF_I>" %}

## Pierwszy przykład z pakietem xskak

### Wykonywanie swoich ruchów

Aby składać ruchy szachowe w miarę postępu partii, używasz polecenia `\mainline{*list of moves*}` gdzie `*list of moves*` jest wyrażona w [algebraicznej notacji szachowej](#algebraic-notation). Zademonstrujemy składanie następującej sekwencji posunięć:

1. **e4 e5**: biały pionek przemieszcza się na **e4**, czarny pionek przemieszcza się na **e5**
2. **Nf3 Nc6**: biały k**N**koczek przemieszcza się na **f3**, czarny s**N**koczek przemieszcza się na **c6**
3. **Bb5 a6**: biały **B**goniec przemieszcza się na **b5**, czarny pionek przemieszcza się na **a6**

Tę sekwencję posunięć można zapisać za pomocą [`xskak` pakietu](https://ctan.org/pkg/xskak?lang=en) polecenie `\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}`—zauważ, że każda para posunięć jest numerowana (np., `**1.**e4 e5`):

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}
\showboard % Polecenie pakietu skak. Przyszłe przykłady będą używać \chessboard[...]
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+xskak+package+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6+3.Bb5+a6%7D%0A%5Cshowboard+%25+A+skak+package+command.+Future+examples+will+use+%5Cchessboard%5B...%5D%0A%5Cend%7Bdocument%7D)

Ten `xskak` przykład daje następujący wynik:

![](/files/f8f910739570747f669b0a8289da227bebcaea7d)

Używane są następujące polecenia:

* **`\newchessgame[〈key=value list〉]`**: rozpoczyna nową partię i inicjuje szachownicę. Lista `[〈key=value list〉]` jest opcjonalna, więc możesz też zapisać `\newchessgame` i polegać na domyślnym ustawieniu szachownicy. Zestaw opcjonalnych kluczy jest podany w [`xskak` dokumentację](https://texdoc.org/serve/xskak/0).
* **`\mainline{〈list of chess moves〉}`**: przetwarza `〈list of chess moves〉` i aktualizuje szachownicę tak, aby `\showboard` (lub `\chessboard`) składa aktualny stan szachownicy.
* **`\showboard`**: składa szachownicę. Polecenie `\showboard` pochodzi z bazowego `skak` pakietu, który `xskak` rozszerza. Pakiet [`chessboard` pakietu](https://ctan.org/pkg/chessboard?lang=en), który jest ładowany przez `xskak`, udostępnia bardzo wszechstronne polecenie **`\chessboard[〈key=value list〉]`** , do którego pakiet `xskak` dodaje dodatkowe klucze. Ponieważ `\chessboard[...]` ma zastąpić `\showboard`, w przyszłych przykładach w tym artykule będziemy używać wyłącznie `\chessboard[...]` polecenie.

### Wprowadzenie do polecenia \chessboard

Polecenie **`\chessboard[〈key=value list〉]`**: składa szachownice z użyciem opcjonalnej `〈key=value list〉`. Lista `kluczy` dostępnych do użycia znajduje się *rozległy*, zapewniając ogromną kontrolę nad rozmiarem, zawartością, układem, projektem, adnotacjami itd. szachownic. Czytelników zachęca się do przeczytania doskonałej dokumentacji pakietów [`chessboard` (PDF)](https://texdoc.org/serve/chessboard/0) i [`xskak` (PDF)](https://texdoc.org/serve/xskak/0), z których obie zawierają liczne pomocne przykłady—*wieloma* więcej, niż możemy pokazać w tym artykule.

Ponieważ klucze są opcjonalne, możesz napisać `\chessboard` co używa domyślnych wartości pakietu do składu szachownicy; na przykład poniższy kod składa dwie szachownice, używając `\chessboard` bez żadnych opcji. Dodatkowe adnotacje, dodane ręcznie w Inkscape, pokazują *wskaźniki ruchu* (tutaj jako kwadraty), które są składane domyślnie:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5}
\chessboard % zamiast \showboard

\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}
\chessboard % zamiast \showboard
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=chessboard+command+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6+3.Bb5%7D%0A%5Cchessboard+%25+instead+of+%5Cshowboard%0A%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6+3.Bb5+a6%7D%0A%5Cchessboard+%25+instead+of+%5Cshowboard%0A%5Cend%7Bdocument%7D)

Poniższa grafika pokazuje dwie szachownice wygenerowane przez powyższy kod, obie zostały złożone przy użyciu `\chessboard`:

![](/files/b8fe3de54ad296b4a05b48d82c64a9d290e8a3de)

Nic dziwnego, że dostępne są różne klucze do kontrolowania movera, w tym do jego pokazywania lub ukrywania; na przykład, aby ukryć movera, możesz użyć `showmover` klucza z wartością `false`:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}\par
\chessboard[showmover=false] % Ukryj movera
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Hiding+the+chessboard+mover\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6+3.Bb5+a6%7D%5Cpar%0A%5Cchessboard%5Bshowmover%3Dfalse%5D+%25+Hide+the+mover%0A%5Cend%7Bdocument%7D)

Ten przykład daje następujący wynik — szachownicę bez movera:

![](/files/528b69bc36aef5afad3bc2aad32f6c7c601253c0)

Ta [`chessboard` dokumentacja pakietu (PDF)](https://texdoc.org/serve/chessboard/0) zawiera listę kluczy do dostosowywania movera, a także wskazówkę, jak zaprojektować własny mover!

## Dodatkowe przykłady xskak

### Komentarze tekstowe

Specyfikacja PGN obsługuje dodawanie komentarzy za pomocą nawiasów klamrowych wokół tekstu komentarza: `{〈Text〉}`; jednak `xskak` pakiet preferuje, aby komentarze tekstowe zapisywać jako `\xskakcomment{〈Text〉}`, jak pokazano w następującym przykładzie:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame %Rozpocznij nową partię szachową
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 \xskakcomment{ To jest komentarz. }}\vspace{3mm}

\chessboard
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=xskak+chess+comment+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame+%25Start+a+new+chess+game%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6+3.Bb5+a6+%5Cxskakcomment%7B+This+is+a+comment.+%7D%7D%5Cvspace%7B3mm%7D%0A%0A%5Cchessboard%0A%5Cend%7Bdocument%7D)

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

![](/files/11886cdfac8d3253aee8405ff6fa3ae4d4c163ac)

### Inicjowanie szachownicy przy użyciu notacji FEN

Możesz użyć FEN, aby rozpocząć partię z dowolnej pozycji. Poniższy przykład używa `setfen` klucz w poleceniu `\chessboard` polecenie demonstrujące przykład FEN zaczerpnięty z `skak` dokumentacji pakietu:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\chessboard[setfen=r5k1/1b1p1ppp/p7/1p1Q4/2p1r3/PP4Pq/BBP2b1P/R4R1K w - - 0 20]
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=FEN+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cchessboard%5Bsetfen%3Dr5k1%2F1b1p1ppp%2Fp7%2F1p1Q4%2F2p1r3%2FPP4Pq%2FBBP2b1P%2FR4R1K+w+-+-+0+20%5D%0A%5Cend%7Bdocument%7D)

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

![](/files/21c55d1f4eb9346dda9189f746cba5de83c7f99c)

Notacja FEN wypełnia szachownicę, zaczynając od najwyższego rzędu (numer 8) i schodząc w dół, aby wypełnić kolejne rzędy. Na przykład inicjalizację szachownicy powyżej rzędu 8 opisuje się za pomocą **r5k1**:

* **r**wieża
* **5** puste pola
* stronie **k**ing
* **1** puste pole

stąd użycie notacji **r5k1**Zwróć uwagę na użycie małych liter do opisu czarnych figur szachowych, wraz z użyciem wielkich **P** dla białych pionów i małych **s** dla czarnych pionów.

### Użycie \lastmove

Ta `\lastmove` polecenia można użyć do komentowania ostatnio wykonanego ruchu:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4}

\chessboard

\lastmove{} jest najczęstszym ruchem otwarcia.
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=xskak+lastmove+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4%7D%0A%0A%5Cchessboard%0A%0A%5Clastmove%7B%7D+is+the+most+common+opening+move.%0A%5Cend%7Bdocument%7D)

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

![](/files/91bd973ad987fadcf06963f7ad5520d92cc21125)

### Wariacje i przykład notacji ...

Poniższy przykład odtwarza przykład zawarty w `skak` dokumentacji pakietu, zaktualizowany tak, aby używać `xskak` poleceń. Tutaj widzimy przykład `\variation` polecenia oraz składni trzech kropek (...) [używanej do oznaczenia czarnego ruchu](#three-dots-black-piece-move-indication):

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5}

\chessboard

\mainline{3...a6}

Wariant \variation{3...Nf6} jest tutaj użyty, aby pokazać polecenie \texttt{\string\variation}.

\mainline{4.Ba4}

\chessboard
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=xskak+variations+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6+3.Bb5%7D%0A%0A%5Cchessboard%0A%0A%5Cmainline%7B3...a6%7D%0A%0AA+variant+%5Cvariation%7B3...Nf6%7D+is+used+here+to+show+a+%5Ctexttt%7B%5Cstring%5Cvariation%7D+command.%0A%0A%5Cmainline%7B4.Ba4%7D%0A%0A%5Cchessboard%0A%5Cend%7Bdocument%7D)

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

![](/files/d87f1b83aecbbf07193a4d0e72127b96f6142999)

### Pokazywanie tylko wybranych figur szachowych

Ponieważ `xskak` wczytuje `chessboard` w pakiecie można użyć niezwykle potężnego **`\chessboard[〈key=value list〉]`** polecenia do pokazywania lub ukrywania obszarów szachownicy albo zbiorów figur szachowych, które nas interesują. Dokumentacja [chessboard](https://texdoc.org/serve/chessboard/0) zawiera liczne przykłady, takie jak te odtworzone poniżej.

#### Użycie kluczy do ukrywania wybranych pól

Ten przykład używa kluczy `hideall`, `showpieces` i `addpieces`:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\chessboard[hideall,
showpieces={P,p},
addpieces=pe5]
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Showing+selected+pieces+in+xskak+example+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cchessboard%5Bhideall%2C%0Ashowpieces%3D%7BP%2Cp%7D%2C%0Aaddpieces%3Dpe5%5D%0A%5Cend%7Bdocument%7D)

Ten `xskak` przykład daje następujący wynik:

![](/files/27a9c1762bf7aa041f08d4dac4d1363b64a6ebcc)

Ten przykład używa kluczy `hidefiles`, `showfiles` i `showranks`:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\def\myfiles{a,b}
\chessboard[hidefiles=\myfiles,
addpieces=Ra2,
showfiles=a,
showranks=2]
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Showing+selected+pieces+in+xskak+example+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cdef%5Cmyfiles%7Ba%2Cb%7D%0A%5Cchessboard%5Bhidefiles%3D%5Cmyfiles%2C%0Aaddpieces%3DRa2%2C%0Ashowfiles%3Da%2C%0Ashowranks%3D2%5D%0A%5Cend%7Bdocument%7D)

Ten `xskak` przykład daje następujący wynik:

![](/files/ddef70355819697bf4cb514e9938b0e9be247cb0)

#### Użycie kluczy do ukrycia wszystkich białych lub wszystkich czarnych figur

Poniższy przykład demonstruje klucze `hidewhite` i `hideblack`:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6}\chessboard[hidewhite]

\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6}\chessboard[hideblack]
\end{document}
```

[Otwórz ten przykład w Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Showing+selected+pieces+in+xskak+example+3\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6%7D%5Cchessboard%5Bhidewhite%5D%0A%0A%5Cnewchessgame%0A%5Cmainline%7B1.e4+e5+2.Nf3+Nc6%7D%5Cchessboard%5Bhideblack%5D%0A%5Cend%7Bdocument%7D)

Ten `xskak` przykład daje następujący wynik:

![](/files/59efddc44bafbcbecc83a48086657415ef4da197)

## Dalsze przykłady z tex.stackexchange

Poniższe przykłady wykorzystują rozwiązania znalezione na [tex.stackexchange.com](https://tex.stackexchange.com).

### Jak wyróżnić pola?

Źródło: na podstawie <https://tex.stackexchange.com/a/215334>

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newgame
\chessboard[setfen=8/8/8/3Q4/8/8/8/8 w - - 0 0,
            pgfstyle=border,markfields={d4,d6},
            color=blue!50,
            colorbackfield=c5,
            pgfstyle=color,
            opacity=0.5,
            color=red,
            markfield={d5}]
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Highlighting+chess+board+squares\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewgame%0A%5Cchessboard%5Bsetfen%3D8%2F8%2F8%2F3Q4%2F8%2F8%2F8%2F8+w+-+-+0+0%2C%0A++++++++++++pgfstyle%3Dborder%2Cmarkfields%3D%7Bd4%2Cd6%7D%2C%0A++++++++++++color%3Dblue%2150%2C%0A++++++++++++colorbackfield%3Dc5%2C%0A++++++++++++pgfstyle%3Dcolor%2C%0A++++++++++++opacity%3D0.5%2C%0A++++++++++++color%3Dred%2C%0A++++++++++++markfield%3D%7Bd5%7D%5D%0A%5Cend%7Bdocument%7D)

![](/files/6cb44882e18cd77a1049fc64af08c83e3b94d160)

### Tworzenie różnych stylów szachownicy

Źródło: na podstawie <https://tex.stackexchange.com/a/358041>

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\storechessboardstyle{4x16}{%
  maxfield=d16,
  borderwidth=1mm,
  color=white,
  colorwhitebackfields,
  color=black,
  colorblackbackfields,
  blackfieldmaskcolor=black,
  whitepiececolor=yellow,
  whitepiecemaskcolor=red,
  blackpiececolor=cyan,
  blackpiecemaskcolor=blue,
  addfontcolors,
  pgfstyle=border,
  color=white,
  markregion=a1-d16,
  showmover=false,
  hlabelwidth=18pt,
  vlabellift=16pt}
  \chessboard[
    style=4x16,
    setpieces={Qa8,Qb4,Qc1,Qd3,Qb16,Qc12,Qa7,Qc15,qa1,qb14,qc11,qd13,qb6,qc2,qa4,qc5},
    padding=1ex,
  ]
\end{document}
```

[Otwórz ten przykład w Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+custom+chess+board\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bxskak%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cstorechessboardstyle%7B4x16%7D%7B%25%0A++maxfield%3Dd16%2C%0A++borderwidth%3D1mm%2C%0A++color%3Dwhite%2C%0A++colorwhitebackfields%2C%0A++color%3Dblack%2C%0A++colorblackbackfields%2C%0A++blackfieldmaskcolor%3Dblack%2C%0A++whitepiececolor%3Dyellow%2C%0A++whitepiecemaskcolor%3Dred%2C%0A++blackpiececolor%3Dcyan%2C%0A++blackpiecemaskcolor%3Dblue%2C%0A++addfontcolors%2C%0A++pgfstyle%3Dborder%2C%0A++color%3Dwhite%2C%0A++markregion%3Da1-d16%2C%0A++showmover%3Dfalse%2C%0A++hlabelwidth%3D18pt%2C%0A++vlabellift%3D16pt%7D%0A++%5Cchessboard%5B%0A++++style%3D4x16%2C%0A++++setpieces%3D%7BQa8%2CQb4%2CQc1%2CQd3%2CQb16%2CQc12%2CQa7%2CQc15%2Cqa1%2Cqb14%2Cqc11%2Cqd13%2Cqb6%2Cqc2%2Cqa4%2Cqc5%7D%2C%0A++++padding%3D1ex%2C%0A++%5D%0A%5Cend%7Bdocument%7D)

Ten `xskak` przykład daje następujący wynik:

![](/files/4a40bfaa83a7329985493bd0a93a744c7dc97ab9)

## Dalsza lektura

Więcej informacji znajdziesz w:

* [Tworzenie dokumentu w LaTeX-u](/latex/pl/podstawy-latex-a/01-learn-latex-in-30-minutes.md)
* [Wstawianie obrazów](/latex/pl/wiecej-tematow/27-inserting-images.md)
* [Pozycjonowanie obrazów i tabel](/latex/pl/rysunki-i-tabele/02-positioning-images-and-tables.md)
* [Obsługa języków międzynarodowych](/latex/pl/jezyki/03-international-language-support.md)
* [Rozmiary czcionek, kroje i style](/latex/pl/czcionki/01-font-sizes-families-and-styles.md)
* [Kroje pisma](/latex/pl/czcionki/02-font-typefaces.md)
* [Zarządzanie w dużym projekcie](/latex/pl/struktura-dokumentu/07-management-in-a-large-project.md)
* [Ta `skak` pakietu](https://ctan.org/pkg/skak?lang=en)
* [Ta `xskak` pakietu](https://ctan.org/pkg/xskak?lang=en)
* [Algebraiczna notacja w szachach (na Wikipedii)](http://en.wikipedia.org/wiki/Algebraic_notation_\(chess\))
* [Notacja Forsytha-Edwardsa (FEN) (na Wikipedii)](http://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation)
* [Ta `chessboard` pakietu](https://ctan.org/pkg/chessboard?lang=en)
* [Tekst standardu PGN](https://tim-mann.org/Standard)


---

# 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/specyficzne-dla-dziedziny/05-chess-notation.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.
