The PGN standard specification differentiates between an ``Import'' and an ``Export'' format. The ``Export'' specification is much stricter, giving a lot of restrictions like: "Every PGN tag has to stand on a single line." a.s.o. and should be used for all programs that output PGN data.
In general, you won't have to care about this. If your PGN files stem from another program and are not handwritten Pgn2ltx should cope with them easily. It is supposed to support the full, rather lax, ``Import'' format with one little exception.
Just for the case that you experience some problems, a short overview of the Pgn2ltx input syntax follows...
The input from ``
stdin'' is read line by line and may contain
an arbitrary number of chess games in PGN notation. Every single
game should consist of a ``
tags'' section followed by a
pgndata -> pgngame_list pgngame_list -> pgngame NL pgngame_list | pgngame pgngame -> tags NL movetext
As specified in the last two ``syntax rules'' the ``
have to be separated from the ``
movetext'' sections by a ``newline''
tags'' section may include empty lines and ``
tagline'' is recognized if it contains an opening square bracket `['
and a closing one `]'.
Several tags can make up a ``
tagline'' but - and this is the only exception
from the PGN ``Import'' format specification - a tag may not span over
more than one line.
The first nonempty line that doesn't contain a PGN tag is recognized as the
beginning of the ``
movetext'' section and starts a new game in the
While scanning the input, Pgn2ltx covers the whole range of PGN comments
;'', the ``
%'' in the first column and
Please, also refer to the
PGN standard specification
for more details about the allowed PGN input syntax of the single ``
and the ``
Every time a PGN tag is encountered, Pgn2ltx checks if it is supported. If yes, a LaTeX command is written to the output, defining a macro that contains the text of the tag.
Here is a list of the recognized PGN tags with the equivalent LaTeX macro name in parantheses:
If a "FEN" tag is found, the chess board is set to the
given position and displayed by the ``
immediately (the value of the "SetUp" tag is disregarded in