> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/latex/uk/specializovani/05-chess-notation.md).

# Шахова нотація

## Вступ

Ця стаття досліджує основи шахової верстки, зокрема [короткі огляди/підсумки деяких шахових умовностей](#chess-conventions-a-brief-review) які ви можете зустріти в документації до шахових пакетів LaTeX. Читачі, яким не потрібен цей вступний матеріал, можуть одразу перейти до [прикладів пакетів LaTeX](#a-first-example-with-the-xskak-package).

## Один пакет, щоб керувати всіма

Сховище 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), тож ви, мабуть, замислюєтеся, який обрати? У цій статті використано [`xskak` accents](https://ctan.org/pkg/xskak?lang=en), який настійно рекомендується для верстки шахів завдяки широкому набору можливостей, великій кількості параметрів конфігурації та чудовій документації. `xskak` завантажує та розширює оригінальний [`skak` accents](https://ctan.org/pkg/skak?lang=en) а також завантажує [`chessboard` accents](https://ctan.org/pkg/chessboard?lang=en) який надає величезний набір параметрів для налаштування та створення шахівниць.

Наведені в цій статті приклади не можуть замінити *чудову* документацію, що супроводжує [`xskak`](https://texdoc.org/serve/xskak/0) та [`chessboard`](https://texdoc.org/serve/chessboard/0) пакети, які ми наполегливо рекомендуємо переглянути, вивчити й дослідити, адже обидва набори документації містять численні й дуже корисні приклади.

**Примітка**: Обидва `skak` та `xskak` можуть розбирати та верстати шахові партії в (підмножині) [Портативна нотація партії](#portable-game-notation). `xskak` розширює підмножину PGN, підтримувану `skak`.

**Цікавинка**: skak — данське слово для шахів.

### Деякі зауваги

Ось кілька важливих моментів, зазначених у `xskak` документації:

> `xskak` завантажить пакет `skak` без параметрів (і не передасть йому параметри). Тож, якщо ви хочете завантажити `skak` із параметрами, ви маєте зробити це до завантаження пакета `xskak`.

> `xskak` є розширенням (а не заміною) для **основна робота все ще виконується пакетом `skak`**... будь ласка, спершу прочитайте документацію пакета `skak`...

* **Примітка**: Серед шахових пакетів [зазначених у 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) є пакет під назвою [`skaknew`](https://ctan.org/pkg/skaknew). Попри свою назву, `skaknew` пакет є *не* новою або вдосконаленою версією оригінального `skak` пакета: це набір шахових шрифтів Type 1. Пакет `xskak` використовує `skaknew` шрифти, тож немає потреби завантажувати їх у ваш проєкт вручну.

### Мінімальний приклад xskak

Щоб «створити обстановку» без подальших пояснень, ось мінімальний `xskak` приклад пакета, який верстає дві шахівниці: одна порожня, на іншій усі шахові фігури розташовані у початкових позиціях:

```latex
\documentclass{article}
% Примітка: вам потрібно завантажити лише xskak,
% а не пакети skak чи chessboard.
\usepackage{xskak}
\begin{document}
% Ця команда \chessboard малює
% порожню шахівницю: параметр
% showmover=false буде обговорено
% пізніше в статті
\chessboard[showmover=false]
% Команда \newchessgame
% ініціалізує нову партію:
\newchessgame
% Оскільки нову партію було ініціалізовано,
% \chessboard тепер малює
% шахівницю з шаховими фігурами:
\chessboard
Маленький білий квадрат праворуч від другої шахівниці називається \textit{mover}.
\end{document}
```

[Відкрити цей приклад в 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)

Цей `xskak` приклад дає такий результат:

![](/files/e9ff84ad88fe64027b6b6b84c8f0ce991c9ad1eb)

## Шахові умовності: короткий огляд

Для зручності читачів, нових у шахах, особливо у їх верстці, у наступних розділах подано *короткі* вступи до тем і умовностей, які ви зустрінете в шахових пакетах LaTeX та їхній супровідній документації. Читачі, знайомі з шаховими умовностями, можуть пропустити ці розділи й перейти до прикладів LaTeX.

### Портативна нотація партії

Пакети skak і xskak підтримують підмножину [Портативна нотація партії](https://en.wikipedia.org/wiki/Portable_Game_Notation) (PGN) — стандарту, який було створено приблизно 1994 року [Steven Edwards](https://www.chessprogramming.org/Steven_Edwards). Оригінальна специфікація PGN від 1994 року [доступна на archive.org](https://archive.org/details/pgn-standard-1994-03-12). Пряме посилання на стандарт: <https://tim-mann.org/Standard>.

Згідно з [текстом стандарту PGN](https://tim-mann.org/Standard):

> PGN — це «Portable Game Notation», стандарт, призначений для подання даних шахової партії за допомогою текстових файлів ASCII. PGN структуровано так, щоб його було легко читати й записувати людям, а також легко розбирати й генерувати комп’ютерним програмам... PGN пропонується як універсальне переносне подання для обміну даними.

Зверніть увагу, що файли PGN призначені для *обміну **ігрових** даних*; тобто файли PGN призначені містити *повну інформацію про партію* —таку як імена гравців, відомості про подію/дату тощо, разом із записом у алгебраїчній нотації *усіх ходів* у партії.

**Примітка**: Для іншого короткого вступу до PGN відвідайте <http://www.enpassant.dk/chess/palview/p3manual/p3pgn.htm>

### Ряди та вертикалі шахівниці

Шахівниця — це сітка 8×8 із клітинок, яку зазвичай можна описати як 8 горизонтальних рядів і 8 вертикальних стовпців; однак для шахівниці використовується інша термінологія:

* є 8 горизонтальних ***рядів*** (замість рядків)
* є 8 вертикальних ***файлами*** (замість стовпців)

Кожну клітинку на шахівниці можна ідентифікувати (назвати) за допомогою [кількох умовностей](https://en.wikipedia.org/wiki/Chessboard#Board_notation) але [алгебраїчної нотації](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)) (координатної системи), що є загальноприйнятим міжнародним стандартом.

### Алгебраїчна нотація

У системі алгебраїчної нотації ряди та вертикалі позначаються так:

* 8 горизонтальних ***рядів*** позначаються числами `1` на `8`
* 8 вертикальних ***файлами*** позначаються літерами `a` на `h`.

Наступна діаграма показує шахівницю з позначеннями алгебраїчної нотації, які використовуються для вертикалей і рядів:

![](/files/dbbddd65f6d370c1a34db62f9ae2380cf07efc11)

Кожна клітинка на шахівниці розташована на перетині певної вертикалі (стовпця) і ряду (рядка): відповідні значення вертикалі та ряду можна використовувати як координати, щоб однозначно ідентифікувати кожну клітинку для опису розташування й переміщення шахових фігур.

Наприклад, на наступній діаграмі показано клітинку, розташовану на **e7** після чого йде друга шахівниця, що перелічує розташування всіх 64 клітинок:

![](/files/6debdaef4a28999d505420502b02c74001a3f4ab)

Якщо ви новачок у шахах, сторінка Вікіпедії [Алгебраїчна нотація](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)) містить корисну довідкову інформацію, частину якої ми коротко викладемо нижче.

### Позначення шахових фігур

Кожен тип шахової фігури, зазвичай за винятком пішаків, позначається великою літерою, яка може відрізнятися залежно від мови. Англомовні гравці використовують такі літери:

| Літера | Фігури |
| ------ | ------ |
| K      | Король |
| Q      | Ферзь  |
| R      | Тура   |
| B      | Слон   |
| N      | Кінь   |

У стандартній алгебраїчній нотації пішаки не *зазвичай* позначаються великою літерою; натомість їх можна впізнати за *відсутністю* великої літери. Однак цю умовність не завжди застосовують; для позначення пішаків може використовуватися велика літера P. У [Forsyth-Edwards Notation (FEN)](#forsyth-edwards-notation-fen) FEN для позначення шахових фігур використовуються великі та малі літери.

### Позначення окремого ходу

Щоб записати переміщення шахової фігури, потрібно визначити фігуру та клітинку призначення. Це можна зробити, використавши велику літеру фігури плюс координати клітинки призначення.

**Примітка**: коли описують хід пішака, літера, що позначає пішака, не *зазвичай* використовується; вказується лише клітинка призначення *зазвичай* подана, як показано в наведених нижче прикладах:

* *непішацький* ходи:
  * **Be5**: **B**слон ходить на клітинку **e5**
  * **Nf3**: к**N**інь ходить на клітинку **f3**
* *пішак* ходи:
  * **c5**: пішак ходить на клітинку **c5**
  * **Примітка**: у певних обставинах (наприклад, деякі команди LaTeX) пішаки *позначаються* великою літерою **І**; тож **c5** може записуватися як **Pc5**.

#### Три крапки (...) позначення ходу чорної фігури

Розділ 8.2.2.2 [стандарту Portable Game Notation](https://tim-mann.org/Standard) пояснює використання трьох крапок (...) після позначника номера ходу (наприклад, **3...e6**):

> Позначення номера ходу білих утворюється з цілого числа, що задає номер повного ходу, до якого додається один символ крапки. Позначення номера ходу чорних утворюється з цілого числа, що задає номер повного ходу, до якого додається ***три символи крапки***.

### Умовність для серії ходів

Як пояснюється у статті Вікіпедії про [Алгебраїчна нотація](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)#Formatting), щоб описати серію ходів:

* кожен окремий хід *зазвичай* використовує великі літери для фігур, що не є пішаками, хоча, як зазначалося вище, у деяких обставинах (за умовністю) велика літера P може використовуватися для позначення ходу пішака.
* серія шахових ходів — це послідовність `<white piece move> <black piece move>` пар — зверніть увагу, що кожна пара ходів нумерується (див. приклад нижче)

### Інші шахові нотації: FAN і FEN

#### Фігурна алгебраїчна нотація (або FAN)

Літери, специфічні для певної мови, які використовуються для позначення шахових фігур, часто замінюють на загальновизнані символи, що зображають шахові фігури. Таке символічне подання називається фігурною алгебраїчною нотацією, або FAN. Наприклад, символ ♞ (або ♘) можна використовувати замість N (для kNight).

Специфікація Unicode кодує шахові символи в наборі [Miscellaneous Symbols](https://www.unicode.org/charts/PDF/U2600.pdf). Наступна таблиця перелічує значення Unicode, назву та репрезентативний символ для кожного шахового символу — фактичні гліфи (зображення символів), які використовуються для відображення шахових символів, залежать від налаштувань шрифтів вашого пристрою/браузера.

| <p>Репрезентативний символ<br>(гліф)</p> | <p>Значення Unicode<br>(у HEX)</p> | <p>Назва символу Unicode<br>(офіційна)</p> |
| ---------------------------------------- | ---------------------------------- | ------------------------------------------ |
| ♔                                        | 2654                               | БІЛИЙ ШАХОВИЙ КОРОЛЬ                       |
| ♕                                        | 2655                               | БІЛИЙ ШАХОВИЙ ФЕРЗЬ                        |
| ♖                                        | 2656                               | БІЛА ШАХОВА ТУРА                           |
| ♗                                        | 2657                               | БІЛИЙ ШАХОВИЙ СЛОН                         |
| ♘                                        | 2658                               | БІЛИЙ ШАХОВИЙ КІНЬ                         |
| ♙                                        | 2659                               | БІЛИЙ ШАХОВИЙ ПІШАК                        |
| ♚                                        | 265A                               | ЧОРНИЙ ШАХОВИЙ КОРОЛЬ                      |
| ♛                                        | 265B                               | ЧОРНИЙ ШАХОВИЙ ФЕРЗЬ                       |
| ♜                                        | 265C                               | ЧОРНА ШАХОВА ТУРА                          |
| ♝                                        | 265D                               | ЧОРНИЙ ШАХОВИЙ СЛОН                        |
| ♞                                        | 265E                               | ЧОРНИЙ ШАХОВИЙ КІНЬ                        |
| ♟                                        | 265F                               | ЧОРНИЙ ШАХОВИЙ ПІШАК                       |

#### Forsyth-Edwards Notation (FEN)

Як уже зазначалося, PGN використовується для зберігання та обміну *цілих партій*, включно з усіма ходами, зробленими в цій партії. Натомість [Forsyth-Edwards Notation (FEN)](https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation) дає знімок партії в певний момент часу. Нотація FEN використовує великі та малі літери для позначення шахових фігур:

* білі фігури позначаються великими літерами (PNBRQK)
* чорні фігури позначаються малими літерами (pnbrqk)

де P означає білого пішака, а p — чорного пішака.

Докладне обговорення FEN і порівняння його з PGN виходить за межі цієї статті. Читачам, які хочуть краще зрозуміти відмінності між PGN і FEN, варто переглянути наступне відео:

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

## Перший приклад із пакетом xskak

### Робимо ходи

Щоб верстати шахові ходи в міру розвитку партії, використовують команду `\mainline{*list of moves*}` де `*список ходів*` записується в [алгебраїчній шаховій нотації](#algebraic-notation). Ми продемонструємо верстку такої послідовності ходів:

1. **e4 e5**: білий пішак ходить на **e4**, чорний пішак ходить на **e5**
2. **Nf3 Nc6**: білий к**N**інь ходить на **f3**, чорний к**N**інь ходить на **c6**
3. **Bb5 a6**: білий **B**слон ходить на **b5**, чорний пішак ходить на **a6**

Цю послідовність ходів можна записати за допомогою [`xskak` accents](https://ctan.org/pkg/xskak?lang=en) команду `\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}`—зверніть увагу, що кожна пара ходів нумерується (наприклад, `**1.**e4 e5`):

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}
\showboard % Команда пакета skak. У наступних прикладах буде використано \chessboard[...]
\end{document}
```

[Відкрити цей приклад в 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)

Цей `xskak` приклад дає такий результат:

![](/files/1a6bbde6c6d602609191eaf942ca06290131dcaf)

Використовуються такі команди:

* **`\newchessgame[〈key=value list〉]`**: починає нову партію та ініціалізує шахівницю.  `[〈key=value list〉]` є необов’язковим, тож ви також можете написати `\newchessgame` і покластися на стандартне налаштування шахівниці. Набір необов’язкових ключів перелічено в [`xskak` документації](https://texdoc.org/serve/xskak/0).
* **`\mainline{〈list of chess moves〉}`**: обробляє `〈list of chess moves〉` і оновлює шахівницю так, щоб `\showboard` (або `\chessboard`) верстає поточний стан шахівниці.
* **`\showboard`**: верстає шахівницю. Команда `\showboard` походить із базового `skak` пакета, який `xskak` розширює. Пакет [`chessboard` accents](https://ctan.org/pkg/chessboard?lang=en), який завантажується `xskak`, надає дуже універсальну **`\chessboard[〈key=value list〉]`** команду, до якої `xskak` пакет додає додаткові ключі. Оскільки `\chessboard[...]` покликана замінити `\showboard`, у наступних прикладах цієї статті буде використовуватися лише `\chessboard[...]` команду.

### Знайомство з командою \chessboard

Команда **`\chessboard[〈key=value list〉]`**: верстає шахівниці з використанням необов’язкового `〈key=value list〉`. Список `ключів` доступних для використання *використовують*, забезпечуючи широкі можливості керування розміром, вмістом, компонуванням, дизайном, анотаціями тощо шахівниць. Читачам рекомендується ознайомитися з чудовою документацією пакетів [`chessboard` (PDF)](https://texdoc.org/serve/chessboard/0) та [`xskak` (PDF)](https://texdoc.org/serve/xskak/0), обидві з яких містять численні корисні приклади—*багатьма* більше, ніж ми можемо показати в цій статті.

Оскільки ключі необов’язкові, ви можете написати `\chessboard` яка використовує значення пакета за замовчуванням для верстки шахівниці; наприклад, наведений нижче код верстає дві шахівниці, використовуючи `\chessboard` без жодних параметрів. Додаткові анотації, додані вручну в Inkscape, показують *індикатори ходу* (тут у вигляді клітинок), які за замовчуванням верстаються:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5}
\chessboard % замість \showboard

\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}
\chessboard % замість \showboard
\end{document}
```

[Відкрийте цей приклад в 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)

Наступна графіка показує дві шахівниці, створені наведеним вище кодом; обидві було верстано за допомогою `\chessboard`:

![](/files/c1172dfddc11e330d65f989dd08fe3940e073fa6)

Не дивно, що передбачено різні ключі для керування індикатором ходу, зокрема для його показу або приховування; наприклад, щоб приховати індикатор ходу, можна використати `showmover` ключ зі значенням `false`:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}\par
\chessboard[showmover=false] % Сховати mover
\end{document}
```

[Відкрийте цей приклад в 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)

Цей приклад дає такий результат — шахівницю без mover:

![](/files/bea9d2eebe8415503a9df78e72828ec2f5ccc49b)

Функція [`chessboard` документація пакета (PDF)](https://texdoc.org/serve/chessboard/0) містить список ключів для налаштування індикатора ходу, а також примітку про те, як створити власний індикатор ходу!

## Додаткові приклади xskak

### Текстові коментарі

Специфікація PGN підтримує коментарі, які записуються за допомогою фігурних дужок навколо тексту коментаря: `{〈Text〉}`; однак `xskak` пакет надає перевагу тому, щоб текстові коментарі записувалися як `\xskakcomment{〈Text〉}`, як показано в наступному прикладі:

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame %Почати нову шахову партію
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 \xskakcomment{ Це коментар. }}\vspace{3mm}

\chessboard
\end{document}
```

[Відкрийте цей приклад в 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)

Цей приклад дає такий результат:

![](/files/87ad0d640fa183c6a7d954ace578e0bb9f2ee0c0)

### Ініціалізація шахівниці за допомогою нотації FEN

Ви можете використовувати FEN, щоб розташувати шахівницю в будь-якій позиції. Наведений нижче приклад використовує `setfen` ключ у a `\chessboard` команда для демонстрації прикладу FEN, взятого з `skak` документації пакета:

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

[Відкрийте цей приклад в 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)

Цей приклад дає такий результат:

![](/files/927ecfe4a124b5fc4a295d6c972343bc9493aa91)

Нотація FEN заповнює дошку, починаючи з найверхнішого ряду (номер 8), і рухається вниз, заповнюючи наступні ряди. Наприклад, щоб ініціалізувати дошку, верхній ряд 8 описується за допомогою **r5k1**:

* **r**тура
* **5** порожні клітинки
* сайті **k**король
* **1** порожня клітинка

отже, використовуючи нотацію **r5k1**. Зверніть увагу на використання малих літер для опису чорних шахових фігур разом із використанням великих **І** для білих пішаків і малих **p** для чорних пішаків.

### Використання \lastmove

Функція `\lastmove` команду можна використати для коментування останнього зробленого ходу:

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

\chessboard

\lastmove{} — найпоширеніший початковий хід.
\end{document}
```

[Відкрийте цей приклад в 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)

Цей приклад дає такий результат:

![](/files/4d0aec5fdcf1e943dbb9a49e36ecfff2a1d0903c)

### Варіації та приклад нотації ...

Наведений нижче приклад відтворює приклад, що міститься в `skak` документації пакета, оновлений для використання `xskak` команд. Тут ми бачимо приклад `\variation` команди та синтаксису з трьома крапками (...) [що використовується для позначення ходу чорних](#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}

Тут використано варіант \variation{3...Nf6}, щоб показати команду \texttt{\string\variation}.

\mainline{4.Ba4}

\chessboard
\end{document}
```

[Відкрийте цей приклад в 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)

Цей приклад дає такий результат:

![](/files/32e14c5eef3c4f862ce04cb7482f1663765d6dee)

### Показ лише певних шахових фігур

Оскільки `xskak` завантажує `chessboard` пакеті ви можете використовувати надзвичайно потужну **`\chessboard[〈key=value list〉]`** команду, щоб показувати або приховувати ділянки дошки чи набори шахових фігур, які вас цікавлять. Документація [документація chessboard](https://texdoc.org/serve/chessboard/0) містить численні приклади, такі як наведені нижче.

#### Використання ключів для приховування певних клітинок

У цьому прикладі використовуються ключі `hideall`, `showpieces` та `addpieces`:

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

[Відкрити цей приклад в 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)

Цей `xskak` приклад дає такий результат:

![](/files/34915c74c359b30ac108c246981f1a0eed862096)

У цьому прикладі використовуються ключі `hidefiles`, `showfiles` та `showranks`:

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

[Відкрити цей приклад в 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)

Цей `xskak` приклад дає такий результат:

![](/files/1bbb5e7da6bf5f33782409b140935b53590a4ddc)

#### Використання ключів для приховування всіх білих або всіх чорних фігур

Наведений нижче приклад демонструє ключі `hidewhite` та `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}
```

[Відкрити цей приклад в 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)

Цей `xskak` приклад дає такий результат:

![](/files/7c912bc19cf80a372c67368b76848b2f3b81bf80)

## Додаткові приклади з tex.stackexchange

Наведені нижче приклади використовують рішення, знайдені на [tex.stackexchange.com](https://tex.stackexchange.com).

### Як підсвітити клітинки?

Джерело: на основі <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}
```

[Відкрийте цей приклад в 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/3d4305abf5271f73216d2072d36db3048b2c2d0f)

### Створення різних стилів дошки

Джерело: на основі <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}
```

[Відкрийте цей приклад в 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)

Цей `xskak` приклад дає такий результат:

![](/files/b406f60ed639b19f0eccb700d4c937014a65633c)

## Додаткове читання

Докладніше див.:

* [Створення документа в LaTeX](/latex/uk/osnovi-latex/01-learn-latex-in-30-minutes.md)
* [Вставлення зображень](/latex/uk/inshi-temi/27-inserting-images.md)
* [Розміщення зображень і таблиць](/latex/uk/risunki-ta-tablici/02-positioning-images-and-tables.md)
* [Підтримка міжнародних мов](/latex/uk/movi/03-international-language-support.md)
* [Розміри, гарнітури та стилі шрифтів](/latex/uk/shrifti/01-font-sizes-families-and-styles.md)
* [Гарнітури шрифтів](/latex/uk/shrifti/02-font-typefaces.md)
* [Керування у великому проєкті](/latex/uk/struktura-dokumenta/07-management-in-a-large-project.md)
* [Функція `skak` accents](https://ctan.org/pkg/skak?lang=en)
* [Функція `xskak` accents](https://ctan.org/pkg/xskak?lang=en)
* [Алгебраїчна нотація в шахах (у Вікіпедії)](http://en.wikipedia.org/wiki/Algebraic_notation_\(chess\))
* [Нотація Форсайта—Едвардса (FEN) (у Вікіпедії)](http://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation)
* [Функція `chessboard` accents](https://ctan.org/pkg/chessboard?lang=en)
* [Текст стандарту 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://ayakaleaf-pro.ayaka.space/latex/uk/specializovani/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.
