> 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/ru/specializirovannye/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` пакет](https://ctan.org/pkg/xskak?lang=en), который настоятельно рекомендуется для верстки шахмат благодаря широкому набору возможностей, обширным параметрам настройки и отличной документации. `xskak` загружает и расширяет оригинальный [`skak` пакет](https://ctan.org/pkg/skak?lang=en) а также загружает [`chessboard` пакет](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 (PGN)](#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/cf519535cd4d3c4e464ba4d1fda237fbb49b76d5)

## Шахматные соглашения: краткий обзор

Для читателей, незнакомых с шахматами, особенно с их версткой, следующие разделы дают *краткие* введения в темы и соглашения, с которыми вы столкнетесь в пакетах LaTeX для шахмат и сопутствующей документации. Читатели, знакомые с шахматными соглашениями, могут пропустить эти разделы и перейти к примерам LaTeX.

### Portable Game Notation

Пакеты skak и xskak поддерживают подмножество [Portable Game Notation](https://en.wikipedia.org/wiki/Portable_Game_Notation) (PGN), стандарта, который был создан примерно в 1994 году [Стивеном Эдвардсом](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> <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 вертикальных ***линий*** обозначаются буквами `один` на `h`.

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

![](/files/90d1e7e9393c85ce496e2d3c25f282c056adb7ee)

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

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

![](/files/08703dfd2bf8965ad01c6b0a1af0aa3678fa66ca)

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

### Обозначение шахматных фигур

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

| Буква | Фигуры |
| ----- | ------ |
| K     | Король |
| Q     | Ферзь  |
| R     | Ладья  |
| B     | Слон   |
| N     | Конь   |

В стандартной алгебраической нотации пешки не *обычно* обозначаются заглавной буквой; вместо этого их можно распознать по *отсутствию* заглавной буквы. Однако это соглашение не всегда соблюдается; для обозначения пешек может использоваться заглавная буква P. В [Forsyth-Edwards Notation (FEN)](#forsyth-edwards-notation-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 для обозначения хода пешки.
* серия шахматных ходов — это последовательность `<ход белой фигуры> <ход черной фигуры>` пар — обратите внимание, что каждая пара ходов нумеруется (см. пример ниже)

### Другие шахматные нотации: FAN и FEN

#### Алгебраическая нотация фигур (или FAN)

Буквы, специфичные для языка, используемые для обозначения шахматных фигур, часто заменяются общепризнанными символами, представляющими шахматные фигуры. Такое символическое представление называется Figurine Algebraic Notation, или FAN. Например, символ ♞ (или ♘) можно использовать вместо N (для коня).

Спецификация 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*}` где `*list of moves*` записывается в [шахматной алгебраической нотации](#algebraic-notation). Мы продемонстрируем верстку следующей последовательности ходов:

1. **e4 e5**: белая пешка перемещается на **e4**, черная пешка перемещается на **e5**
2. **Nf3 Nc6**: белый к**N**онь перемещается на **f3**, черный к**N**онь перемещается на **c6**
3. **Bb5 a6**: белый **B**слон перемещается на **b5**, черная пешка перемещается на **a6**

Эта последовательность ходов может быть записана с использованием [`xskak` пакет](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/007b8a062c9ac8ca530b96a2b20a546c6ceb814a)

Используются следующие команды:

* **`\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` пакет](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/5ab388bbe8a00d8ea1f07f14687e270f97ea1c54)

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

```latex
\documentclass{article}
\usepackage{xskak}
\begin{document}
\newchessgame
\mainline{1.e4 e5 2.Nf3 Nc6 3.Bb5 a6}\par
\chessboard[showmover=false] % Скрыть указатель хода
\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)

Этот пример дает следующий результат — шахматную доску без указателя хода:

![](/files/e61acffe5f98c309b52f14e17e5b884b96e51d0e)

Это [`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/2fa5d109806e789c603aa3f0704807f5c92c73f9)

### Инициализация доски с использованием нотации FEN

Вы можете использовать FEN, чтобы начать доску в любой позиции. В следующем примере используется `setfen` ключ в `\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/8ff45ce3f4ee249e465b2386f73e3a3030e3f0a4)

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

* **r**ук
* **5** пустые клетки
* окружения **к**инг
* **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/83c4c2f92a1df9e4e73508c0018ceba7209e1df8)

### Вариации и пример записи ...

Ниже воспроизводится пример, содержащийся в `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/e82af60943f54ea93089df0186cb4639ef4cbb31)

### Показ только определённых шахматных фигур

Поскольку `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/e7950f25b5814c721f6a3b63a1c48d1273e80476)

В этом примере используются ключи `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/573720cb245c6f709421ec5439a62e0f2e7e6995)

#### Использование ключей для скрытия всех белых или всех чёрных фигур

Следующий пример демонстрирует ключи `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/e166c7f4decb764b3a7ea35a151b01b98cca5dbf)

## Дополнительные примеры с 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/e2dae25f9ebd0450a1579b7b7c51573da930c4d2)

### Создание различных стилей доски

Источник: на основе <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/5a71ba9294ac3aca374ae25cf037306b3dd0dfbf)

## Дополнительное чтение

Для получения дополнительной информации см.:

* [Создание документа в LaTeX](/latex/ru/osnovy-latex/01-learn-latex-in-30-minutes.md)
* [Вставка изображений](/latex/ru/drugie-temy/27-inserting-images.md)
* [Размещение изображений и таблиц](/latex/ru/risunki-i-tablicy/02-positioning-images-and-tables.md)
* [Поддержка международных языков](/latex/ru/yazyki/03-international-language-support.md)
* [Размеры, семейства и начертания шрифтов](/latex/ru/shrifty/01-font-sizes-families-and-styles.md)
* [Шрифтовые гарнитуры](/latex/ru/shrifty/02-font-typefaces.md)
* [Управление в большом проекте](/latex/ru/struktura-dokumenta/07-management-in-a-large-project.md)
* [Это `skak` пакет](https://ctan.org/pkg/skak?lang=en)
* [Это `xskak` пакет](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` пакет](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/ru/specializirovannye/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.
