> 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/ko/field-specific/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` (PGN의 하위 집합을) 사용해 체스 게임을 파싱하고 조판할 수 있습니다 [포터블 기보 표기법(PGN)](#portable-game-notation). `xskak` 은 `skak`.

**흥미로운 사실**: skak은 체스를 뜻하는 덴마크어입니다.

### 몇 가지 메모

다음은 `xskak` 문서:

> `xskak` 패키지를 불러옵니다 `skak` 옵션 없이(그리고 옵션도 전달하지 않은 채) 불러옵니다. 따라서 `skak` 를 옵션과 함께 불러오고 싶다면, 패키지 `xskak`.

> `xskak` 는 확장판이며(대체품이 아닙니다) **실제 핵심 작업은 여전히 패키지 `skak`**&#xC5D0; 의해 수행되므로, 먼저 패키지 `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` 패키지의 새 버전이나 향상판이 아닙니다. 그것은 1형(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/36a512f451f5ba5cd61a6e22dd3d48db7dd728f4)

## 체스 규약: 간단한 검토

체스, 특히 체스 조판을 처음 접하는 독자를 위해, 다음 절에서는 *간단한* LaTeX 체스 패키지와 그 문서에서 마주치게 될 주제와 규약을 소개합니다. 체스 규약에 익숙한 독자는 이 절을 건너뛰고 LaTeX 예시로 바로 이동해도 됩니다.

### 포터블 기보 표기법

skak과 xskak 패키지는 [포터블 기보 표기법](https://en.wikipedia.org/wiki/Portable_Game_Notation) (PGN)의 하위 집합을 지원합니다. 이 표준은 대략 1994년에 [Steven Edwards](https://www.chessprogramming.org/Steven_Edwards)에 의해 만들어졌습니다. 1994년 날짜가 붙은 원래 PGN 명세는 [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개의 세로 ***파일*** 는 다음 문자로 표시됩니다 `하나의` 을 `h`.

다음 도표는 파일과 랭크에 알제브라식 표기 라벨이 붙은 체스판을 보여 줍니다:

![](/files/dc7e8674d8e2208c88b75634e622f7408a1930a3)

체스판의 각 칸은 특정 파일(열)과 랭크(행)가 만나는 지점에 있습니다. 해당 파일과 랭크 값을 좌표로 사용해 각 칸을 고유하게 식별할 수 있으며, 이를 체스 말의 위치와 이동을 설명하는 데 사용합니다.

예를 들어, 다음 도표는 **e7** 에 있는 칸을 보여 주고, 이어서 64개 모든 칸의 위치를 열거한 두 번째 체스판을 보여 줍니다:

![](/files/ce04bb9bdf3491d2df03c9ffb977012a7633086f)

체스를 처음 접한다면, 위키백과 페이지 [알제브라식 표기법](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)) 에는 유용한 배경 정보가 있으며, 그중 일부를 아래에 요약했습니다.

### 체스 말의 표기

각 체스 말의 종류는, 보통 폰을 제외하고, 사용하는 언어에 따라 달라질 수 있는 대문자 하나로 식별됩니다. 영어권 플레이어는 다음 문자를 사용합니다:

| 문자 | 말   |
| -- | --- |
| K  | 킹   |
| Q  | 퀸   |
| 오  | 룩   |
| B  | 비숍  |
| N  | 나이트 |

표준 알제브라식 표기에서 폰은 *보통* 대문자로 식별되지 않습니다. 대신 *대문자가 없는 것* 으로 알아볼 수 있습니다. 그러나 그 규약이 항상 채택되는 것은 아닙니다. 폰을 식별하기 위해 대문자 P를 사용할 수 있습니다. [Forsyth-Edwards 표기법(FEN)](#forsyth-edwards-notation-fen) 에서는 대문자와 소문자를 사용해 체스 말을 나타냅니다.

### 개별 수의 표기

체스 말의 이동을 기록하려면 해당 말과 목적지 칸을 식별해야 합니다. 이는 말의 대문자와 목적지 칸의 좌표를 함께 사용해 할 수 있습니다.

**참고**: 폰의 이동을 설명할 때는 해당 말이 폰임을 나타내는 문자를 *보통* 사용하지 *보통* 않고, 다음 예시처럼 목적지 칸만

* *비폰* 수:
  * **Be5**: **B**숍이 칸 **e5**
  * **Nf3**: 나**N**이트가 칸 **f3**
* *폰* 수:
  * **c5**: 폰이 칸 **c5**
  * **참고**: 특정한 상황(예: 일부 LaTeX 명령)에서는 폰이 *식별됩니다* 대문자 **P**로; 따라서 **c5** 다음과 같이 쓸 수 있습니다 **Pc5**.

#### 세 개의 점 (...) 흑의 기물 이동 표시

표준 포터블 기보 표기법의 8.2.2.2절은 [포터블 기보 표기법 표준](https://tim-mann.org/Standard) 에서 수 번호 표시 뒤에 세 개의 점(...)을 붙여 사용하는 방법(예: **3...e6**):

> 을 설명합니다. 백의 수 번호 표시는 전체 수 번호를 나타내는 정수 뒤에 마침표 하나를 붙여 만듭니다. 흑의 수 번호 표시는 전체 수 번호를 나타내는 정수 뒤에 ***마침표 세 개를 붙여 만듭니다***.

### 수열에 대한 규약

위키백과의 [알제브라식 표기법](https://en.wikipedia.org/wiki/Algebraic_notation_\(chess\)#Formatting)기사에서 설명하듯이, 수열을 설명하려면:

* 각 개별 수는 *보통* 비폰 기물에 대문자를 사용합니다. 다만 위에서 언급했듯이, 일부 상황(규약)에서는 폰 수를 나타내기 위해 대문자 P를 사용할 수 있습니다.
* 체스 수열은 `<백 기물 수> <흑 기물 수>` 쌍들의 연속입니다—각 수 쌍에는 번호가 붙습니다(아래 예시 참조)

### 다른 체스 표기법: FAN과 FEN

#### 피규린 알제브라식 표기법(FAN)

체스 말을 나타내는 데 사용되는 언어별 문자는 흔히 체스 말을 나타내는 보편적으로 인식되는 기호로 대체됩니다. 이러한 기호 표현을 피규린 알제브라식 표기법, 즉 FAN이라고 합니다. 예를 들어, 기호 ♞(또는 ♘)는 N(나이트) 대신 사용할 수 있습니다.

유니코드 규격은 체스 문자들을 [기타 기호 집합](https://www.unicode.org/charts/PDF/U2600.pdf)에 인코딩합니다. 다음 표는 각 체스 문자에 대한 유니코드 값, 이름, 대표 기호를 나열합니다. 체스 기호를 표시하는 데 사용되는 실제 글리프(문자 모양)는 기기/브라우저의 글꼴 설정에 따라 달라집니다.

| <p>대표 기호<br>(글리프)</p> | <p>유니코드 값<br>(HEX)</p> | <p>유니코드 문자 이름<br>(공식)</p> |
| --------------------- | ---------------------- | ------------------------- |
| ♔                     | 2654                   | 백 체스 킹                    |
| ♕                     | 2655                   | 백 체스 퀸                    |
| ♖                     | 2656                   | 백 체스 룩                    |
| ♗                     | 2657                   | 백 체스 비숍                   |
| ♘                     | 2658                   | 백 체스 나이트                  |
| ♙                     | 2659                   | 백 체스 폰                    |
| ♚                     | 265A                   | 흑 체스 킹                    |
| ♛                     | 265B                   | 흑 체스 퀸                    |
| ♜                     | 265C                   | 흑 체스 룩                    |
| ♝                     | 265D                   | 흑 체스 비숍                   |
| ♞                     | 265E                   | 흑 체스 나이트                  |
| ♟                     | 265F                   | 흑 체스 폰                    |

#### Forsyth-Edwards 표기법(FEN)

앞서 언급했듯이, PGN은 *전체 게임*의 저장과 교환에 사용됩니다. 즉, 그 게임에서 두어진 모든 수를 포함합니다. 반면 [Forsyth-Edwards 표기법(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{*수 목록*}` 여기서 `*수 목록*` 은 [알제브라식 체스 표기법으로](#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/fe054f48315abfae540d86721a5bbbd8ec821f73)

다음 명령이 사용됩니다:

* **`\newchessgame[〈key=value list〉]`**: 새 게임을 시작하고 체스판을 초기화합니다. `[〈key=value list〉]` 는 선택 사항이므로 다음처럼 쓸 수도 있습니다 `\newchessgame` 그리고 기본 보드 설정에 의존할 수 있습니다. 선택적 키의 집합은 [`xskak` 문서](https://texdoc.org/serve/xskak/0).
* **`\mainline{〈체스 수 목록〉}`**: `〈체스 수 목록〉` 를 처리하고 보드를 업데이트하여 `\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에서 수동으로 추가한 추가 주석은 기본으로 조판되는 *mover* (여기서는 사각형으로)

```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/2994f99cfd416f25b0fd2ce5cb392dcedea0c2f9)

으로 조판되었습니다. 예상할 수 있듯이, mover를 제어하기 위한 다양한 키가 제공되며, 표시하거나 숨길 수도 있습니다. 예를 들어 mover를 숨기려면 `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/c77ad1c6314587311422da1fc2c326de4b9a15df)

다음 [`chessboard` 패키지 문서(PDF)](https://texdoc.org/serve/chessboard/0) 는 mover를 사용자 지정하기 위한 키 목록과, 자신만의 mover를 설계하는 방법에 대한 설명을 제공합니다!

## 추가 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/432f0a994a87c2cdf76fba646bf32beb4c07552f)

### 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/6796bceb4edeb3be96103d8891bda3602b8b8eaa)

FEN 표기는 가장 위쪽 행(8번 행)부터 보드를 채우기 시작해 아래쪽으로 내려가며 다음 행들을 채웁니다. 예를 들어, 위의 보드를 초기화하는 데 사용되는 8번 행은 **r5k1**:

* **r**ook
* **5** 빈 칸들
* 다음 **k**ing
* **1** 빈 칸

따라서 다음 표기를 사용합니다 **r5k1**. 검은색 체스 말을 설명할 때는 소문자를 사용하는 것과 함께 대문자를 사용하는 점에 유의하세요 **P** 백색 폰에는 대문자를 **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/c04a0bee19fee1fa75e463b744b7da25644c4a5e)

### 변화수와 ... 표기법의 예

다음은 `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/0a851855b8d848982c8743db8ec0d92aa2221cf8)

### 특정 체스 말만 표시하기

왜냐하면 `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/211152969f8473e64d1695ef6714901c2900a666)

이 예제에서는 다음 키를 사용합니다 `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/d04ce9244923aac4b90092875ca9b955b215adda)

#### 키를 사용하여 모든 백색 말 또는 모든 흑색 말을 숨기기

다음 예제는 다음 키를 보여 줍니다 `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/75169e299e2ec437a1be456ca6af5655edb132a7)

## 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/68462dcf1f8f742b806b14c1038fb3d5fb72b031)

### 다양한 보드 스타일 만들기

출처: 다음을 바탕으로 함 <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/6c1242683c3835c16349fe35b8cba39ce91678a6)

## 추가 읽을거리

자세한 내용은 다음을 참조하세요:

* [LaTeX에서 문서 만들기](/latex/ko/latex/01-learn-latex-in-30-minutes.md)
* [이미지 삽입](/latex/ko/more-topics/27-inserting-images.md)
* [이미지와 표 배치하기](/latex/ko/figures-and-tables/02-positioning-images-and-tables.md)
* [국제 언어 지원](/latex/ko/languages/03-international-language-support.md)
* [글꼴 크기, 패밀리 및 스타일](/latex/ko/fonts/01-font-sizes-families-and-styles.md)
* [글꼴 서체](/latex/ko/fonts/02-font-typefaces.md)
* [대규모 프로젝트에서의 관리](/latex/ko/document-structure/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://overleaf-pro.ayaka.space/latex/ko/field-specific/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.
