可移植式棋局記號法

可移植式棋局記號法（，PGN），是一種用於紀錄國際象棋棋局的純文字檔案格式。PGN適合人類閱讀，多數的國際象棋軟體都有支援。

歷史
Steven J. Edwards在1993年左右發明了PGN格式，PGN後來在Usenet的新聞群組「rec.games.chess」中受到詳細制定及推廣。The Rise of Internet Chess , Mark Weeks' chess pages The page linking to the document is here.

使用
PGN的副檔名是.pgn。PGN的規範風格是為了「使人類能簡易地閱讀和書寫，也讓電腦能簡易地解析和產生」，PGN中的棋譜以代數記譜法表示。

PGN對程式規範了輸入和輸出兩種格式。輸入格式被刻意規定得比較寬鬆，方便人類手動輸入，支援PGN的程式需具備一些容錯能力；輸出格式被定義得相對嚴格，程式需美化輸出文字以便閱讀。對於相同的輸入，不同程式所輸出的PGN應完全相同。

PGN文件以數個「標籤對」（包含標籤名稱和對應參數）開頭，之後是棋局的棋譜區塊「movetext」（包含代數棋譜和可選填的註解）。

標籤對
一個標籤對（tag pair）以[開頭，之後是標籤名稱，然後是以雙引號（"）框起的對應參數，最後以]結尾。若要在參數中使用引號和反斜線，需在前面加上反斜線作為跳脫字元，此跳脫字元不作其他的控制用途。
七個必填的標籤對
為了歸檔保存，一個PGN文件必須要有七種標籤對，此七種標籤對被人合稱為「Seven Tag Roster」。在輸出格式中，這七個標籤對需擺在所有的標籤對前面，並遵照以下順序出現：
  標籤  參數
   Event  棋局所在的賽事名稱。
   Site  棋局的發生地點，格式為"城市, 地區 國家"，其中國家欄位為3個英文字母的國際奧委會國家或地區編碼。例如："New York City, NY USA"表示美國紐約州紐約市。一些線上國際象棋網站會以網址作為Site參數，For example, the PGN generated by lichess for the online match between grandmasters Pavel Smirnov and Andrew Tang (2020) lists a URL in the site field.但是PGN的規範中未提及這種做法。
   Date  棋局開始的日期，格式為"YYYY.MM.DD"，或填入"??"表示日期未知。
   Round  棋局在賽事中的回合編號。
   White  白方棋手的名字，格式為"姓氏, 名稱"。
   Black  黑方棋手的名字，格式和白方一樣。
   Result  對局的結果，格式為"白方得分-黑方得分"，或填入"*"表示其他結果（例如：對局尚未結束）。
選填的標籤對
以下為一些較常見的可選標籤對：
  標籤  參數
   Annotator  棋局評註者的名字。
   PlyCount  白方和黑方共下了幾步的棋。
   TimeControl  棋鐘設定的時間限制。例如："40/7200:3600"表示雙方都有7200秒的時間下前40步棋，之後在對局結束前各有3600秒的時間。
   Time  棋局開始時的當地時間，格式為"HH:MM:SS"。
   Termination  棋局結束的原因，可設為"abandoned"（拋棄對局）、"adjudication"（裁判依局面判定對局結果）、"death"（棋手死亡）、"emergency"（緊急情況）、"normal"（正常結束）、"rules infraction"（棋手違反規則）、"time forfeit"（棋手因為超過時間限制而輸棋）或"unterminated"（尚未結束）。
   Mode  比賽模式："OTB"（over-the-board，實體對局）或"ICS"（Internet Chess Server，線上對局）。
   FEN  各棋子的起始位置，以FEN格式表示。可用於國際象棋變體或某方選手讓子的情況。
須將SetUp參數設為"1"。
   SetUp  使用FEN標籤時必須將此參數設為"1"。

棋譜區塊
棋譜區塊（movetext）紀錄的是棋手對弈的過程。其包括步數編號、行棋方指示（以一個句點「.」表示此步為白方行棋；三個句點表示黑方），以及用代數記譜法描述的棋子移動。
代數棋譜

註解
在一行文字的前方加上分號（;），可使其成為單行註解；跨行的註解需以花括號（{、}）包圍兩側。

範例
以下PGN檔案記錄著在南斯拉夫舉行的的第29場棋局。由鮑比·菲舍爾執白，對決鮑里斯·斯帕斯基：

應用於國際象棋變體
許多國際象棋變體都能以PGN格式記錄，但是要把每種棋子的簡稱都限制在一個字內。這種PGN中通常會包含一個變體（variant）標籤，用來描述變體的名稱。FEN標籤可用於設定各棋子的起始位置，有些變體如菲舍爾任意制象棋會有特別的起始位置。

參見
 福斯夫－愛德華茲記號法（FEN）

 （PDN）
 （一種圍棋的記錄格式）

參考文獻

Category:国际象棋
Category:文件格式
Category:1993年面世