home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-13 | 58.7 KB | 1,773 lines |
- Newsgroups: comp.sources.misc
- From: hthomas@ph.tn.tudelft.nl (Henry Thomas)
- Subject: v28i038: notation - chess preprocessor v3.9, Part03/04
- Message-ID: <1992Feb11.204750.9168@sparky.imd.sterling.com>
- X-Md4-Signature: bbe75fc8e7e3596716bdb03bf680ebec
- Date: Tue, 11 Feb 1992 20:47:50 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: hthomas@ph.tn.tudelft.nl (Henry Thomas)
- Posting-number: Volume 28, Issue 38
- Archive-name: notation/part03
- Environment: UNIX
- Supersedes: notation: Volume20, Issue 52-55
-
- #! /bin/sh
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # Contents: COPYING notation.doc notation.h notation.n notation.tex
- # shortened.ntn
- # Wrapped by kent@sparky on Tue Feb 11 14:22:45 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 3 (of 4)."'
- if test -f 'COPYING' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'COPYING'\"
- else
- echo shar: Extracting \"'COPYING'\" \(12488 characters\)
- sed "s/^X//" >'COPYING' <<'END_OF_FILE'
- X
- X GNU GENERAL PUBLIC LICENSE
- X Version 1, February 1989
- X
- X Copyright (C) 1989 Free Software Foundation, Inc.
- X 675 Mass Ave, Cambridge, MA 02139, USA
- X Everyone is permitted to copy and distribute verbatim copies
- X of this license document, but changing it is not allowed.
- X
- X Preamble
- X
- X The license agreements of most software companies try to keep users
- Xat the mercy of those companies. By contrast, our General Public
- XLicense is intended to guarantee your freedom to share and change free
- Xsoftware--to make sure the software is free for all its users. The
- XGeneral Public License applies to the Free Software Foundation's
- Xsoftware and to any other program whose authors commit to using it.
- XYou can use it for your programs, too.
- X
- X When we speak of free software, we are referring to freedom, not
- Xprice. Specifically, the General Public License is designed to make
- Xsure that you have the freedom to give away or sell copies of free
- Xsoftware, that you receive source code or can get it if you want it,
- Xthat you can change the software or use pieces of it in new free
- Xprograms; and that you know you can do these things.
- X
- X To protect your rights, we need to make restrictions that forbid
- Xanyone to deny you these rights or to ask you to surrender the rights.
- XThese restrictions translate to certain responsibilities for you if you
- Xdistribute copies of the software, or if you modify it.
- X
- X For example, if you distribute copies of a such a program, whether
- Xgratis or for a fee, you must give the recipients all the rights that
- Xyou have. You must make sure that they, too, receive or can get the
- Xsource code. And you must tell them their rights.
- X
- X We protect your rights with two steps: (1) copyright the software, and
- X(2) offer you this license which gives you legal permission to copy,
- Xdistribute and/or modify the software.
- X
- X Also, for each author's protection and ours, we want to make certain
- Xthat everyone understands that there is no warranty for this free
- Xsoftware. If the software is modified by someone else and passed on, we
- Xwant its recipients to know that what they have is not the original, so
- Xthat any problems introduced by others will not reflect on the original
- Xauthors' reputations.
- X
- X The precise terms and conditions for copying, distribution and
- Xmodification follow.
- X
- X GNU GENERAL PUBLIC LICENSE
- X TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- X
- X 0. This License Agreement applies to any program or other work which
- Xcontains a notice placed by the copyright holder saying it may be
- Xdistributed under the terms of this General Public License. The
- X"Program", below, refers to any such program or work, and a "work based
- Xon the Program" means either the Program or any work containing the
- XProgram or a portion of it, either verbatim or with modifications. Each
- Xlicensee is addressed as "you".
- X
- X 1. You may copy and distribute verbatim copies of the Program's source
- Xcode as you receive it, in any medium, provided that you conspicuously and
- Xappropriately publish on each copy an appropriate copyright notice and
- Xdisclaimer of warranty; keep intact all the notices that refer to this
- XGeneral Public License and to the absence of any warranty; and give any
- Xother recipients of the Program a copy of this General Public License
- Xalong with the Program. You may charge a fee for the physical act of
- Xtransferring a copy.
- X
- X 2. You may modify your copy or copies of the Program or any portion of
- Xit, and copy and distribute such modifications under the terms of Paragraph
- X1 above, provided that you also do the following:
- X
- X a) cause the modified files to carry prominent notices stating that
- X you changed the files and the date of any change; and
- X
- X b) cause the whole of any work that you distribute or publish, that
- X in whole or in part contains the Program or any part thereof, either
- X with or without modifications, to be licensed at no charge to all
- X third parties under the terms of this General Public License (except
- X that you may choose to grant warranty protection to some or all
- X third parties, at your option).
- X
- X c) If the modified program normally reads commands interactively when
- X run, you must cause it, when started running for such interactive use
- X in the simplest and most usual way, to print or display an
- X announcement including an appropriate copyright notice and a notice
- X that there is no warranty (or else, saying that you provide a
- X warranty) and that users may redistribute the program under these
- X conditions, and telling the user how to view a copy of this General
- X Public License.
- X
- X d) You may charge a fee for the physical act of transferring a
- X copy, and you may at your option offer warranty protection in
- X exchange for a fee.
- X
- XMere aggregation of another independent work with the Program (or its
- Xderivative) on a volume of a storage or distribution medium does not bring
- Xthe other work under the scope of these terms.
- X
- X 3. You may copy and distribute the Program (or a portion or derivative of
- Xit, under Paragraph 2) in object code or executable form under the terms of
- XParagraphs 1 and 2 above provided that you also do one of the following:
- X
- X a) accompany it with the complete corresponding machine-readable
- X source code, which must be distributed under the terms of
- X Paragraphs 1 and 2 above; or,
- X
- X b) accompany it with a written offer, valid for at least three
- X years, to give any third party free (except for a nominal charge
- X for the cost of distribution) a complete machine-readable copy of the
- X corresponding source code, to be distributed under the terms of
- X Paragraphs 1 and 2 above; or,
- X
- X c) accompany it with the information you received as to where the
- X corresponding source code may be obtained. (This alternative is
- X allowed only for noncommercial distribution and only if you
- X received the program in object code or executable form alone.)
- X
- XSource code for a work means the preferred form of the work for making
- Xmodifications to it. For an executable file, complete source code means
- Xall the source code for all modules it contains; but, as a special
- Xexception, it need not include source code for modules which are standard
- Xlibraries that accompany the operating system on which the executable
- Xfile runs, or for standard header files or definitions files that
- Xaccompany that operating system.
- X
- X 4. You may not copy, modify, sublicense, distribute or transfer the
- XProgram except as expressly provided under this General Public License.
- XAny attempt otherwise to copy, modify, sublicense, distribute or transfer
- Xthe Program is void, and will automatically terminate your rights to use
- Xthe Program under this License. However, parties who have received
- Xcopies, or rights to use copies, from you under this General Public
- XLicense will not have their licenses terminated so long as such parties
- Xremain in full compliance.
- X
- X 5. By copying, distributing or modifying the Program (or any work based
- Xon the Program) you indicate your acceptance of this license to do so,
- Xand all its terms and conditions.
- X
- X 6. Each time you redistribute the Program (or any work based on the
- XProgram), the recipient automatically receives a license from the original
- Xlicensor to copy, distribute or modify the Program subject to these
- Xterms and conditions. You may not impose any further restrictions on the
- Xrecipients' exercise of the rights granted herein.
- X
- X 7. The Free Software Foundation may publish revised and/or new versions
- Xof the General Public License from time to time. Such new versions will
- Xbe similar in spirit to the present version, but may differ in detail to
- Xaddress new problems or concerns.
- X
- XEach version is given a distinguishing version number. If the Program
- Xspecifies a version number of the license which applies to it and "any
- Xlater version", you have the option of following the terms and conditions
- Xeither of that version or of any later version published by the Free
- XSoftware Foundation. If the Program does not specify a version number of
- Xthe license, you may choose any version ever published by the Free Software
- XFoundation.
- X
- X 8. If you wish to incorporate parts of the Program into other free
- Xprograms whose distribution conditions are different, write to the author
- Xto ask for permission. For software which is copyrighted by the Free
- XSoftware Foundation, write to the Free Software Foundation; we sometimes
- Xmake exceptions for this. Our decision will be guided by the two goals
- Xof preserving the free status of all derivatives of our free software and
- Xof promoting the sharing and reuse of software generally.
- X
- X NO WARRANTY
- X
- X 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
- XFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
- XOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
- XPROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
- XOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- XMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
- XTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
- XPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
- XREPAIR OR CORRECTION.
- X
- X 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- XWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
- XREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
- XINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
- XOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
- XTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
- XYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
- XPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
- XPOSSIBILITY OF SUCH DAMAGES.
- X
- X END OF TERMS AND CONDITIONS
- X
- X Appendix: How to Apply These Terms to Your New Programs
- X
- X If you develop a new program, and you want it to be of the greatest
- Xpossible use to humanity, the best way to achieve this is to make it
- Xfree software which everyone can redistribute and change under these
- Xterms.
- X
- X To do so, attach the following notices to the program. It is safest to
- Xattach them to the start of each source file to most effectively convey
- Xthe exclusion of warranty; and each file should have at least the
- X"copyright" line and a pointer to where the full notice is found.
- X
- X <one line to give the program's name and a brief idea of what it does.>
- X Copyright (C) 19yy <name of author>
- X
- X This program is free software; you can redistribute it and/or modify
- X it under the terms of the GNU General Public License as published by
- X the Free Software Foundation; either version 1, or (at your option)
- X any later version.
- X
- X This program is distributed in the hope that it will be useful,
- X but WITHOUT ANY WARRANTY; without even the implied warranty of
- X MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- X GNU General Public License for more details.
- X
- X You should have received a copy of the GNU General Public License
- X along with this program; if not, write to the Free Software
- X Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- X
- XAlso add information on how to contact you by electronic and paper mail.
- X
- XIf the program is interactive, make it output a short notice like this
- Xwhen it starts in an interactive mode:
- X
- X Gnomovision version 69, Copyright (C) 19xx name of author
- X Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- X This is free software, and you are welcome to redistribute it
- X under certain conditions; type `show c' for details.
- X
- XThe hypothetical commands `show w' and `show c' should show the
- Xappropriate parts of the General Public License. Of course, the
- Xcommands you use may be called something other than `show w' and `show
- Xc'; they could even be mouse-clicks or menu items--whatever suits your
- Xprogram.
- X
- XYou should also get your employer (if you work as a programmer) or your
- Xschool, if any, to sign a "copyright disclaimer" for the program, if
- Xnecessary. Here a sample; alter the names:
- X
- X Yoyodyne, Inc., hereby disclaims all copyright interest in the
- X program `Gnomovision' (a program to direct compilers to make passes
- X at assemblers) written by James Hacker.
- X
- X <signature of Ty Coon>, 1 April 1989
- X Ty Coon, President of Vice
- X
- XThat's all there is to it!
- END_OF_FILE
- if test 12488 -ne `wc -c <'COPYING'`; then
- echo shar: \"'COPYING'\" unpacked with wrong size!
- fi
- # end of 'COPYING'
- fi
- if test -f 'notation.doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'notation.doc'\"
- else
- echo shar: Extracting \"'notation.doc'\" \(15342 characters\)
- sed "s/^X//" >'notation.doc' <<'END_OF_FILE'
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- XNAME
- X notation - transform chess notation
- X
- X
- XSYNOPSYS
- X notation [input file] [-o output file] [-options...]
- X
- X
- XDESCRIPTION
- X This program reads chess games, either full algebraic or
- X shortened (ie Nf1-g3 or Ng3) and is able to ouptut the board
- X after any move, in either ascii , postscript, nroff, latex,
- X xboard or gnuan save format. This program is also multi-
- X lingual: it handles english, french, spanish, german,
- X italian, dutch, romanian etc... symbols. So nearly all euro-
- X peans languages are understood (except greek and russian,
- X but I can't handle greek or cyrillic on ascii computers,
- X eh).
- X
- X
- XOPTIONS
- X Command line options:
- X
- X
- X -a
- X algebraic move notation output
- X
- X
- X -s
- X shortened move notation output
- X
- X
- X -f <language>
- X specifies the chess symbol input language. The
- X language can be any of french, english, italian,
- X spanish, german, dutch, czech, hungarian, polish,
- X romanian, FIDE.
- X
- X
- X -t <language>
- X specifies the chess symbol output language. Same
- X options as input language.
- X
- X
- X <inputfile>
- X specifies the input file. If none, keyboard is
- X assumed.
- X
- X
- X -o <outputfile>
- X specifies the output file. If none, screen is
- X assumed.
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 1
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X -c <number>[,<number]
- X specifies the number of the moves at which to
- X display the board. If none, board is displayed at
- X end of file. Several numbers may be specified, as a
- X comma-separated list.
- X
- X
- X -e <number>
- X display the board at the move number and then stops
- X
- X
- X -b
- X display only the board, not the moves
- X
- X
- X -d <drivername>
- X specifies the output driver. It can be any of the
- X following: ascii, postscript, tex, roff, xchess
- X (xchess or xboard save format), gnu (gnuan input
- X format).
- X
- X
- X -i
- X suppress headers/footers printing. This is useful
- X with tex or ps drivers, if you want to include the
- X output in a larger file.
- X
- X
- X -v
- X displays version number and exits
- X
- X
- X -h
- X displays help screen
- X
- X
- XINPUT LANGUAGE
- X The input language has four types of input: moves,
- X move numbers, comments and keywords. All these are separated
- X by blanks, TAB, CR, commas and semi-columns.
- X
- X
- X move format:
- X The moves are accepted in algebraic or shortened
- X algebraic notation. That means that the following
- X are equivalent and accepted Nf1-g3 N-f1xg3, Nxg3,
- X Ng3, Nfg3. The ugly english notation P-K4 is not
- X understood, neither by the program nor me. The pro-
- X gram allows and parse variations.
- X
- X Nota: provided you remove the three first line,
- X xchess save format is accepted.
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 2
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X Also you can have move comments. So Kg4!!, Ra5++
- X are correct, as Kg4 !!, Ra5 ++. Castling is recog-
- X nized with the following 0-0 O-O o-o 0-0-0 O-O-O o-
- X o-o. "En passant" and promotion are now correctly
- X handled. For "en passant", you just indicate them
- X move and it is correctly parsed ex: "d5-d7 e5xd6".
- X Promotion is indicated with the "=" sign followed by
- X the new piece name. So you just write "a7-a8=Q" or
- X "d8=K". If you omit the piece name, promotion is
- X made to Queen by default; so "a8=" is equivalent to
- X "a8=Q".
- X
- X For example, see the files algebraic.txt,
- X shortened.txt and boudy.txt
- X
- X
- X move numbers:
- X move numbers are in the form 23. or 36. The full
- X point is optional. Move numbers are checked against
- X internal move counter.
- X
- X
- X comments:
- X chess codified comments can be put in the input.
- X There are two ways or doing so. The first one is to
- X use the usual chess notation !?, !, ,+, ++, #, ep,
- X etc ... However, international magazine use other
- X no-ascii symbols : triangles, squares, infinity and
- X so on. You can have these symbols on LaTeX output.
- X This is the second way. I defined three letters
- X abbreviations for such symbols (look at the file
- X chesssymb.txt for an extensive description). These
- X abbreviations are following a $ sign. For instance
- X $wsb means "white slightly better". This is, IMHO,
- X a very interesting feature of the program.
- X
- X
- X text: plain text, such as explanations etc... must be
- X enclosed in brackets or parenthesis [Here Karpov
- X made a very bright move ...] (this is also a com-
- X ment). Comments are not parsed, but directly
- X inserted in the output, for the ascii ,nroff and
- X latex drivers. The closing characters (ie "]" or ")"
- X depending of the opening characters may be placed in
- X the text, provided it is escaped by a "\" ( so you
- X input "\]" or "\)" ).
- X
- X
- X variations:
- X You can have variations in the source. Variation
- X are in enclosing { } . You can have up to three
- X level of variation. It would be enough for human
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 3
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X players. A variation always follows the move. Here
- X is an exemple of variation : 25. Rb2 { Ce4 de4 26
- X Fc3 Fa3! 27. Ff6 Tb3 } Fa3!
- X
- X
- X keywords:
- X You can insert keywords in the input text to pre-
- X cisely define what you want: displaying the board,
- X configuring it... Keywords are detailled in the next
- X section.
- X
- X
- XKEYWORDS
- X all keywords are prefixed with @
- X
- X @startplay
- X begins the play. Obligatory after a @configxxx key-
- X word.
- X
- X @clearboard
- X clears the board. Used prior to any @configxxx.
- X
- X @showboard
- X displays the board. Can be used anywhere
- X
- X @whitesmove
- X tells the program that is the white's turn of play.
- X Useful after a @configxxx and @startplay
- X
- X @blacksmove
- X tells the program that it is black's turn
- X
- X @configwhite
- X initializes configuration of white side. Pieces are
- X then expected, in form of (optional for Pawn) name,
- X the position. Example @configwhite Ke3 Rg8 e4.
- X
- X @configblack
- X initializes configuration of black side. Pieces are
- X then expected, in form of (optional for Pawn) name,
- X the position. Example: @configblack Ka8 Nf6 e6.
- X
- X Note that black pieces are given in uppercase!
- X
- X
- X @default
- X resets the board to the default start configuration.
- X
- X @special all following text up to the next cariage
- X return is not processed, but instead directly print.
- X This allows to insert comments in ascii files, or
- X tex commands when tex output is selected.
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 4
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X @null null keyword. Does nothing. Used for convenience in
- X programming.
- X
- X
- X See the file keywords.txt for an example of keywords
- X use.
- X
- X
- XNATIONAL LANGUAGES
- X Here are the symbols used in the differents languages. ()
- X mean optional in the input.
- X
- X
- X english-name King Queen Rook Bishop Knight Pawn
- X english K Q R B N (P)
- X french R D T F C (P)
- X italian R D T A C (P)
- X spanish R D T A C (P)
- X german K D T L S (B)
- X dutch K D T L P (O)
- X czech K D V S J (P)
- X hungarian K V B F H (G)
- X polish K H W G S (P)
- X romanian R D T N C (P)
- X FIDE K D T S N (P)
- X
- X
- XDRIVERS
- X ascii this is the default driver, it outputs move and
- X boards.
- X
- X
- X postscript
- X It generates a file using the font file Cheq
- X licensed for free by Adobe. It is only able to
- X display one board per run. Move are not displayed.
- X You need the font "Cheq", freely distributed by
- X Adobe. Send a mail to "ps-file-server@adobe.com"
- X with the body "send Programs chessfont.ps".
- X
- X
- X tex This is a latex driver. It uses the TeX/LaTeX
- X chess macros designed by Piet Tutalaers
- X "rcpt@urc.tue.nl". The complete distribution is
- X available on sol.cs.ruu.nl (131.211.80.5) with path
- X TEX/chess.tar.Z. Refer to your local latex guru to
- X install it.
- X
- X
- X roff This is a driver for nroff output. It is crude,
- X but it works. Moves and boards are displayed.
- X
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 5
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X xchess This driver generates compatible xchess/xboard
- X save files, thus allowing you to replay a game with
- X xchess.
- X
- X
- X gnu This driver generates "bare" output, with only the
- X algebraic move. It is suitable for any low-level
- X analyser, such as gnuan.
- X
- X
- XEXAMPLES
- X Try the following commands:
- X
- X notation algebraic.txt
- X this will read the Karpov-Kasparov game 13 (Lyon
- X 1990) in algebraic form, display move in shortened
- X algebraic and display board at end of game.
- X
- X notation algebraic.txt -s
- X this will do the same thing, as -a stands for alge-
- X braic output.
- X
- X notation algebraic.txt -a
- X the game will now be output in full-length algebraic
- X
- X notation shortened.txt
- X there is no problem to read shortened algebraic.
- X
- X notation shortened -s -o result
- X the moves and board will be directed to file result
- X
- X notation shortened.txt -s -t french
- X output will use french notation
- X
- X notation a_dutch_file -f dutch -t spanish
- X game will be translated form dutch to spanish
- X
- X notation shortened -c 2
- X board after move 2 will be displayed, along with
- X moves and end-of-game board
- X
- X notation shortened.txt -e 2
- X board after move 2 will be displayed, along with
- X moves. The program will then stops
- X
- X notation shortened.txt -c 2,5,20
- X board after moves 2, 5 and 20 will be displayed,
- X along with moves and end-of-game board
- X
- X notation shortened.txt -c 2,5,20 -b
- X board after moves 2, 5 and 20 will be displayed,
- X with end-of-game board, but no moves.
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 6
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X notation shortened.txt -c 2,5,20 -d tex
- X the output will be formatted to use with latex. You
- X can directly latex the output file.
- X
- X notation shortened.txt -c 2,5,20 -d gnu
- X you can now replay the game by using xchess -r
- X out.gnu.
- X
- X notation shortened.txt -e 5 -d postscript
- X Now issue cat lib/Cheq out.ps | lpr to display on a
- X Laser Printer the board at move 5. You can also
- X issue sh print-ps out-ps. The postcript driver does
- X not support the -c option.
- X
- X notation boudy.txt -d tex -o boudy.tex
- X This is the all-star, all-singing demonstration of
- X the notation program. Runs latex on boudy.tex and
- X print result.
- X
- X
- XFILES
- X algebraic.txt shortened.txt keywords.txt boudy.txt
- X these are examples of input files
- X
- X
- X chesssymb.tex
- X this is the LaTeX file containing the definitions
- X of the codified comment. You can include it in your
- X own LaTeX files: you will be able to use the chess
- X comments. The file is stand-alone. To iclude comment
- X in LaTeX, just type \COM<three letter name>. For
- X instance \COMwsb inserts the symbol for "whites
- X stands lightly better".
- X
- X
- X chesssymb.txt
- X explanation of codified comments
- X
- X
- X convsymb.txt
- X used to prduce chesssymb.txt
- X
- X
- X ($LIBDIR/)HELPFILE
- X this is the on-line helpfile
- X
- X
- X ($LIBDIR/) Cheq Header.ps Footer.ps
- X these files are needed by the postscript driver
- X
- X
- X ($LIBDIR/)Header.tex
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 7
- X
- X
- X
- X
- X
- X
- Xnotation(n) MISC. REFERENCE MANUAL PAGES notation(n)
- X
- X
- X
- X these file is needed by the (la)tex driver
- X
- X
- XSEE ALSO
- X xchess(1), chess(6), gnuchess(1), latex(1), nroff(1), lpr(1)
- X
- X
- XDIAGNOSTICS
- X Errors messages are hoped to be self-explanative.
- X
- X
- XCOMMENTS
- X The program is quite large, due to the extensive use of
- X tables and variables to control its features. The advantage
- X is you only need the modify these tables to customize it:
- X for instance adding a new language or tuning the output for-
- X mat to your own needs.
- X
- X
- XBUGS
- X Too many. Report them to Henry.Thomas@irisa.fr.
- X
- X The postscript driver *might* fail if you try to display the
- X board two times. Anyway, it is not designed to do this. Use
- X -e option to specify the move at which you want to display
- X board.
- X
- X Do not enter two levels of variation without any move
- X between them. It will cause the crash of the program. For
- X instance, { { is wrong, but { Qd1 { is correct.
- X
- X
- X
- XAUTHOR
- X Henry Thomas IRISA-Rennes, FRANCE. E-mail to
- X Henry.Thomas@irisa.fr or hthomas@irisa.fr.
- X
- XTHANKS
- X Thanks to Jacques Schuurman for the piece names in Dutch,
- X Philippe Louarn for explaining me some TeX tricks, Lael for
- X czech, hungarian, polish, romanian and FIDE piece names, to
- X Steven Young. Thank also to Brian Molinari, Markus Geltz and
- X Jose Esquer Ruiz for pointing me to bugs Most of all, thank
- X to Jean-Luc Scharbarg for introducing me to chess.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- XSun Release 4.1 Last change: 10 December 1990 8
- X
- X
- X
- END_OF_FILE
- if test 15342 -ne `wc -c <'notation.doc'`; then
- echo shar: \"'notation.doc'\" unpacked with wrong size!
- fi
- # end of 'notation.doc'
- fi
- if test -f 'notation.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'notation.h'\"
- else
- echo shar: Extracting \"'notation.h'\" \(5757 characters\)
- sed "s/^X//" >'notation.h' <<'END_OF_FILE'
- X/*
- X Notation program
- X @(#)notation.h 3.9 (C) Henry Thomas Release 3 Dated 12/10/91
- X */
- X#ifndef _NOTATION_HEADERS
- X#define _NOTATION_HEADERS
- X
- X
- X/* ---- KEYWORDS ---- */
- X
- X/* prefix for keywords */
- X#define PREFIX '@'
- X
- X
- X#define START 0
- X#define CLEAR 1
- X#define SHOWBOARD 2
- X#define TOWHITE 3
- X#define TOBLACK 4
- X#define CONFIGWH 5
- X#define CONFIGBL 6
- X#define DEFAULTP 7
- X#define TITLE 8
- X#define SUBTITLE 9
- X#define SCORE 10
- X#define LANGUE 11
- X#define SPECIAL 12
- X#define KNULL 13
- X
- X#define NBKEYWORD (KNULL+1)
- X
- X
- X/* ---- LANGUAGES ---- */
- X
- X#define FRENCH 0
- X#define ENGLISH 1
- X#define ITALIAN 2
- X#define SPANISH 3
- X#define GERMAN 4
- X#define DUTCH 5
- X#define CZECH 6
- X#define HUNGARIAN 7
- X#define POLISH 8
- X#define ROMANIAN 9
- X#define FIDE 10
- X
- X#define USERDEF 11
- X
- X#define NBLANGUAGES (USERDEF+0)
- X
- X#ifndef DEFAULT_INPUT_LANGUAGE
- X#define DEFAULT_INPUT_LANGUAGE FRENCH
- X#endif
- X
- X#ifndef DEFAULT_OUTPUT_LANGUAGE
- X#define DEFAULT_OUTPUT_LANGUAGE FRENCH
- X#endif
- X
- X
- X/* a convenient way to get a value for NUM_COMMENT
- X look at GNU-CC source, it's full of *neat* tricks
- X */
- X
- X#define CHESSSYMB(LET,LASC,SASC,TEX,PS,ENG,FRA) LET,
- X
- Xenum com_code {
- X#include "chesssymb.def"
- X LAST_UNUSED_NUM_COM_CODE
- X };
- X#undef CHESSSYMB
- X
- X#define NUM_COM_CODE ((int) LAST_UNUSED_NUM_COM_CODE)
- X
- X/* ---- MISC TABLES ---- */
- X
- X/* roque ascii table */
- X#define NBROQUE 6
- X#define SPETITROQUE 0
- X#define SGRANDROQUE 1
- X
- X
- X/* ---- DRIVERS ---- */
- X
- X/* output drivers name table */
- X#define DEFAULT_DRIVER D_ASCII
- X
- X/* ---- IO ---- */
- X
- X#ifndef LIB_DIR
- X#define LIB_DIR "./lib/"
- X#endif
- X
- X#define HELP_FILE "notation.hlp"
- X
- Xextern FILE * infile;
- X
- X/* ------------- service routines -------------------*/
- X
- X/* Output an error message and exit */
- X#define fatal(A) (void) fprintf A , close_files() , exit(1)
- X
- X/* Output an error message and set the error flag */
- X#define error(A) (void) fprintf A , error_flag = TRUE , (void)fflush(stderr)
- X
- X/* Output an error message and set the error flag */
- X#define message(A) (void) fprintf A
- X
- X#define MALLOC(T) (T *)malloc((unsigned)sizeof(T))
- X#define ALLOCP(P) if ( (P) == NULL ) { fatal((stderr,"malloc failed")) ; };
- X
- X/* ------- conversion of input character --------------------- */
- X
- X#define lettertocol(c) ((c)-'a'+1)
- X#define lettertolig(c) ((c)-'1'+1)
- X#define coltoletter(n) ((n)-1+'a')
- X#define ligtoletter(n) ((n)-1+'1')
- X
- X
- X/* ------- variables and functions --------------------------- */
- Xextern char *version_string;
- Xextern int configuring;
- Xextern int configside;
- Xextern char *in_table;
- Xextern char *out_table;
- Xextern char *c_roque[];
- Xextern char *c_en_passant[];
- Xextern char c_prise;
- Xextern char *c_comments[];
- Xextern int error_flag;
- X
- Xextern char *com_short[];
- Xextern char *com_long[];
- X
- X/* ---------- service routines ---------- */
- X
- X#ifdef __STDC__
- Xextern void clear_board(game *g);
- Xextern game *new_board(void);
- Xextern game *copy_board(game *from, game *to);
- Xextern void init_board(game *tgm);
- Xextern depl *new_move(void);
- Xextern void init_move(depl *m);
- Xextern depl *copy_move(depl *from, depl *to);
- Xextern void do_move(game *g,depl *m);
- Xextern void undo_move(game *g,depl *m);
- Xextern void enter_variation(void);
- Xextern void exit_variation(void);
- X#else
- Xextern void clear_board(/*game *g*/);
- Xextern game *new_board(/*void*/);
- Xextern game *copy_board(/*game *from, game *to*/);
- Xextern void init_board(/*game *tgm*/);
- Xextern depl *new_move(/*void*/);
- Xextern void init_move(/*depl *m*/);
- Xextern depl *copy_move(/*depl *from, depl *to*/);
- Xextern void do_move(/*game *g,depl *m*/);
- Xextern void undo_move(/*game *g,depl *m*/);
- Xextern void enter_variation(/*void*/);
- Xextern void exit_variation(/*void*/);
- X#endif
- X
- X/* ------ parse and analysis routines ------ */
- X
- X#ifdef __STDC__
- Xextern int in_board(int l, int c);
- Xextern int path_free(int l1, int c1, int l2, int c2);
- Xextern int check_roque(void);
- Xextern int guess_piece(void);
- Xextern int guess_depl(int nb, int tab[][2], int *pl1, int *pc1, int l2, int c2, int path);
- Xextern int ambiguity(depl *d, int * amline, int *amcols);
- Xextern int check_move(depl *m);
- Xextern int guess_move(void);
- Xextern int clear_pos(int lig, int col);
- Xextern int configure(void);
- Xextern int execute_move(void);
- Xextern int typechar(char c);
- Xextern int execute(int num, char c);
- Xextern int parse_number(char *token);
- Xextern int parse_text(char *text);
- Xextern int parse_comment(char *com);
- Xextern int parse_keyword(char *token, char *text);
- Xextern int parse_roque(char *token);
- Xextern int parse_move(char *token);
- Xextern void init_parse(depl *m);
- X#else
- Xextern int in_board(/*int l, int c*/);
- Xextern int path_free(/*int l1, int c1, int l2, int c2*/);
- Xextern int check_roque(/*void*/);
- Xextern int guess_piece(/*void*/);
- Xextern int guess_depl(/*int nb, int tab[][2], int *pl1, int *pc1, int l2, int c2, int path*/);
- Xextern int ambiguity(/*depl *d ...*/);
- Xextern int check_move(/*depl *m*/);
- Xextern int guess_move(/*void*/);
- Xextern int clear_pos(/*int lig, int col*/);
- Xextern int configure(/*void*/);
- Xextern int execute_move(/*void*/);
- Xextern int typechar(/*char c*/);
- Xextern int execute(/*int num, char c*/);
- Xextern int parse_number(/*char *token*/);
- Xextern int parse_text(/*char *text*/);
- Xextern int parse_comment(/*char *com*/);
- Xextern int parse_keyword(/*char *token, char *text*/);
- Xextern int parse_roque(/*char *token*/);
- Xextern int parse_move(/*char *token*/);
- Xextern void init_parse(/*depl *m*/);
- X#endif
- X
- X/* ------ top-level interface functions -------- */
- X
- X#ifdef __STDC__
- Xextern int parse_options(int argc, char *argv[]);
- Xextern void close_files(void);
- Xextern int associe_traduction(char **table, int langage);
- X
- X#else
- Xextern int parse_options(/*int argc, char *argv[]*/);
- Xextern void close_files(/*void*/);
- Xextern int associe_traduction(/*char **table, int langage*/);
- X
- X#endif
- X
- X
- X#endif
- END_OF_FILE
- if test 5757 -ne `wc -c <'notation.h'`; then
- echo shar: \"'notation.h'\" unpacked with wrong size!
- fi
- # end of 'notation.h'
- fi
- if test -f 'notation.n' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'notation.n'\"
- else
- echo shar: Extracting \"'notation.n'\" \(12397 characters\)
- sed "s/^X//" >'notation.n' <<'END_OF_FILE'
- X.\" @(#)notation.n 3.9 (C) Henry Thomas Release 3 Dated 12/10/91
- X.TH notation n "10 December 1990"
- X
- X.SH NAME
- X
- Xnotation \- transform chess notation
- X
- X.SH SYNOPSYS
- X
- Xnotation [input file] [-o output file] [-options...]
- X
- X.SH DESCRIPTION
- X
- XThis program reads chess games, either full algebraic or shortened (ie
- XNf1-g3 or Ng3) and is able to ouptut the board after any move, in
- Xeither ascii , postscript, nroff, latex, xboard or gnuan save
- Xformat. This program is also multi-lingual: it handles english,
- Xfrench, spanish, german, italian, dutch, romanian etc... symbols. So
- Xnearly all europeans languages are understood (except greek and
- Xrussian, but I can't handle greek or cyrillic on ascii computers, eh).
- X
- X.SH OPTIONS
- XCommand line options:
- X
- X.TP 8
- X.B -a
- Xalgebraic move notation output
- X
- X.TP 8
- X.B -s
- Xshortened move notation output
- X
- X.TP 8
- X.B -f <language>
- Xspecifies the chess symbol input language. The language can be any of
- X\fBfrench\fR, \fBenglish\fR, \fBitalian\fR, \fBspanish\fR,
- X\fBgerman\fR, \fBdutch\fR, \fBczech\fR, \fBhungarian\fR, \fBpolish\fR,
- X\fBromanian\fR, \fBFIDE\fR.
- X
- X.TP 8
- X.B -t <language>
- Xspecifies the chess symbol output language. Same options as input language.
- X
- X.TP 8
- X.B <inputfile>
- Xspecifies the input file. If none, keyboard is assumed.
- X
- X.TP 8
- X.B -o <outputfile>
- Xspecifies the output file. If none, screen is assumed.
- X
- X.TP 8
- X.B -c <number>[,<number]
- Xspecifies the \fBnumber\fR of the moves at which to display the board. If
- Xnone, board
- Xis displayed at end of file. Several numbers may be specified, as a
- Xcomma-separated list.
- X
- X.TP 8
- X.B -e <number>
- Xdisplay the board at the move \fBnumber\fR and then stops
- X
- X.TP 8
- X.B -b
- Xdisplay only the board, not the moves
- X
- X.TP 8
- X.B -d <drivername>
- Xspecifies the output driver. It can be any of the following:
- X\fBascii\fR, \fBpostscript\fR, \fBtex\fR, \fBroff\fR, \fBxchess\fR
- X(xchess or xboard save format), \fBgnu\fR (gnuan input format).
- X
- X.TP 8
- X.B -i
- Xsuppress headers/footers printing. This is useful with tex or ps
- Xdrivers, if you want to include the output in a larger file.
- X
- X.TP 8
- X.B -v
- Xdisplays version number and exits
- X
- X.TP 8
- X.B -h
- Xdisplays help screen
- X
- X.SH "INPUT LANGUAGE"
- X
- XThe input language has four types of input: moves, move numbers,
- Xcomments and keywords. All these are separated by blanks, TAB, CR,
- Xcommas and semi-columns.
- X
- X.TP 8
- X.B move format:
- X The moves are accepted in algebraic or shortened algebraic notation.
- XThat means that the following are equivalent and accepted \fB Nf1-g3
- XN-f1xg3, Nxg3, Ng3, Nfg3\fR. The ugly english notation \fBP-K4\fR is
- Xnot understood, neither by the program nor me. The program allows and
- Xparse variations.
- X
- XNota: provided you remove the three first line, xchess save format is
- Xaccepted.
- X
- X Also you can have move comments. So \fBKg4!!, Ra5++\fR are correct,
- Xas \fBKg4 !!, Ra5 ++\fR. Castling is recognized with the following
- X\fB0-0 O-O o-o 0-0-0 O-O-O o-o-o\fR. "En passant" and promotion are
- Xnow correctly handled. For "en passant", you just indicate them move
- Xand it is correctly parsed ex: "d5-d7 e5xd6". Promotion is indicated
- Xwith the "=" sign followed by the new piece name. So you just write
- X"a7-a8=Q" or "d8=K". If you omit the piece name, promotion is made to
- XQueen by default; so "a8=" is equivalent to "a8=Q".
- X
- XFor example, see the files \fBalgebraic.txt\fR,
- X\fBshortened.txt\fR and \fBboudy.txt\fR
- X
- X.TP 8
- X.B move numbers:
- X move numbers are in the form \fB23.\fR or \fB36\fR. The full point is
- Xoptional. Move numbers are checked against internal move counter.
- X
- X.TP 8
- X.B comments:
- X chess codified comments can be put in the input. There are two ways
- Xor doing so. The first one is to use the usual chess notation \fB!?,
- X!, ,+, ++, #, ep, etc \fR... However, international magazine use other
- Xno-ascii symbols : triangles, squares, infinity and so on. You can
- Xhave these symbols \fB on LaTeX output\fR. This is the second way. I
- Xdefined three letters abbreviations for such symbols (look at the file
- X\fBchesssymb.txt\fR for an extensive description). These abbreviations
- Xare following a \fB$\fr sign. For instance \fB$wsb\fR means "white
- Xslightly better". This is, IMHO, a very interesting feature of the
- Xprogram.
- X
- X.TP 8
- X.B text:
- X plain text, such as explanations etc... must be enclosed in brackets
- Xor parenthesis \fB[Here Karpov made a very bright move ...]\fR
- X\fB(this is also a comment)\fR. Comments are not parsed, but directly
- Xinserted in the output, for the \fBascii\fR ,\fBnroff\fR and
- X\fBlatex\fR drivers. The closing characters (ie "]" or ")" depending
- Xof the opening characters may be placed in the text, provided it is
- Xescaped by a "\\" ( so you input "\\]" or "\\)" ).
- X
- X.TP 8
- X.B variations:
- X You can have variations in the source. Variation are in enclosing \fB
- X{ } \fR. You can have up to three level of variation. It would be
- Xenough for human players. A variation always follows the move. Here is
- Xan exemple of variation : \fB25. Rb2 { Ce4 de4 26 Fc3 Fa3! 27. Ff6 Tb3
- X} Fa3!\fR
- X
- X.TP 8
- X.B keywords:
- X You can insert keywords in the input text to precisely define what
- Xyou want: displaying the board, configuring it... Keywords are
- Xdetailled in the next section.
- X
- X.SH KEYWORDS
- Xall keywords are prefixed with \fB@\fR
- X.TP8
- X.B @startplay
- X begins the play. Obligatory after a \fB@configxxx\fR keyword.
- X.TP8
- X.B @clearboard
- Xclears the board. Used prior to any \fB@configxxx\fR.
- X.TP8
- X.B @showboard
- Xdisplays the board. Can be used anywhere
- X.TP8
- X.B @whitesmove
- Xtells the program that is the white's turn of play. Useful after a
- X\fB@configxxx\fR and \fB@startplay\fR
- X.TP8
- X.B @blacksmove
- Xtells the program that it is black's turn
- X.TP8
- X.B @configwhite
- Xinitializes configuration of white side. Pieces are then expected, in
- Xform of (optional for Pawn) name, the position. Example
- X\fB@configwhite Ke3 Rg8 e4\fR.
- X.TP8
- X.B @configblack
- Xinitializes configuration of black side. Pieces are then expected, in
- Xform of (optional for Pawn) name, the position. Example:
- X\fB@configblack Ka8 Nf6 e6\fR.
- X
- XNote that black pieces are given in uppercase!
- X
- X.TP8
- X.B @default
- Xresets the board to the default start configuration.
- X.TP8
- X
- X.TP8
- X.B @title{ <title>}
- Xthis keyword accept one argument enclosed in {}. Example:
- X\fB@title{Karpov-Kasporov}\fR. Note that you can put \fB}\fR in the
- Xtext itself, if it is escaped (\fB\\}\fR).
- X
- X.TP8
- X.B @subtitle{ <subtitle>}
- Xprints a subtitle
- X
- X.TP8
- X.B @score{ <text> }
- Xprints the score.
- X
- X.TP8
- X.B @language{french|english|...|FIDE}
- Xthis keyword specifies in which language the pieces names are
- Xexpressed. This option overides command-line option.
- X
- X.B @special
- Xall following text up to the next cariage return is not processed, but
- Xinstead directly print. This allows to insert comments in ascii files,
- Xor tex commands when tex output is selected.
- X.TP8
- X.B @null
- Xnull keyword. Does nothing. Used for convenience in programming.
- X
- X
- XSee the file \fBkeywords.txt\fR for an example of keywords use.
- X
- X.SH "NATIONAL LANGUAGES"
- X
- XHere are the symbols used in the differents languages. () mean
- Xoptional in the input.
- X
- X
- Xenglish-name King Queen Rook Bishop Knight Pawn
- Xenglish K Q R B N (P)
- Xfrench R D T F C (P)
- Xitalian R D T A C (P)
- Xspanish R D T A C (P)
- Xgerman K D T L S (B)
- Xdutch K D T L P (O)
- Xczech K D V S J (P)
- Xhungarian K V B F H (G)
- Xpolish K H W G S (P)
- Xromanian R D T N C (P)
- XFIDE K D T S N (P)
- X
- X.SH DRIVERS
- X
- X.TP 8
- X.B ascii
- X this is the default driver, it outputs move and boards.
- X
- X.TP 8
- X.B postscript
- X It generates a file using the font file \fBCheq\fR licensed for free
- Xby Adobe. It is only able to display one board per run. Move are not
- Xdisplayed. You need the font "Cheq", freely distributed by Adobe.
- XSend a mail to "ps-file-server@adobe.com" with the body "send Programs
- Xchessfont.ps".
- X
- X.TP 8
- X.B tex
- X This is a \fBlatex\fR driver. It uses the TeX/LaTeX chess macros
- Xdesigned by Piet Tutalaers "rcpt@urc.tue.nl". The complete
- Xdistribution is available on sol.cs.ruu.nl (131.211.80.5) with path
- XTEX/chess.tar.Z. Refer to your local latex guru to install it.
- X
- X.TP 8
- X.B roff
- X This is a driver for nroff output. It is crude, but it works. Moves and
- Xboards are displayed.
- X
- X.TP 8
- X.B xchess
- X This driver generates compatible xchess/xboard save files, thus allowing you
- Xto replay a game with xchess.
- X
- X.TP 8
- X.B gnu
- X This driver generates "bare" output, with only the algebraic move.
- XIt is suitable for any low-level analyser, such as gnuan.
- X
- X.SH EXAMPLES
- X Try the following commands:
- X.TP 8
- X.B notation algebraic.txt
- Xthis will read the Karpov-Kasparov game 13 (Lyon 1990) in algebraic form,
- Xdisplay move in shortened algebraic and display board at end of game.
- X.TP 8
- X.B notation algebraic.txt -s
- Xthis will do the same thing, as \fB-a\fR stands for algebraic
- Xoutput.
- X.TP 8
- X.B notation algebraic.txt -a
- Xthe game will now be output in full-length algebraic
- X.TP 8
- X.B notation shortened.txt
- Xthere is no problem to read shortened algebraic.
- X.TP 8
- X.B notation shortened -s -o result
- Xthe moves and board will be directed to file \fBresult\fR
- X.TP 8
- X.B notation shortened.txt -s -t french
- Xoutput will use french notation
- X.TP 8
- X.B notation a_dutch_file -f dutch -t spanish
- Xgame will be translated form dutch to spanish
- X.TP 8
- X.B notation shortened -c 2
- Xboard after move 2 will be displayed, along with moves and end-of-game
- Xboard
- X.TP 8
- X.B notation shortened.txt -e 2
- Xboard after move 2 will be displayed, along with moves. The program
- Xwill then stops
- X.TP 8
- X.B notation shortened.txt -c 2,5,20
- Xboard after moves 2, 5 and 20 will be displayed, along with moves and
- Xend-of-game board
- X.TP 8
- X.B notation shortened.txt -c 2,5,20 -b
- Xboard after moves 2, 5 and 20 will be displayed, with end-of-game
- Xboard, but no moves.
- X.TP 8
- X.B notation shortened.txt -c 2,5,20 -d tex -o out.tex
- Xthe output will be formatted to use with latex. You can directly latex
- Xthe output file.
- X.TP 8
- X.B notation shortened.txt -c 2,5,20 -d gnu -o out.gnu
- Xyou can now replay the game by using \fBxchess -r out.gnu\fB.
- X.TP 8
- X.B notation shortened.txt -e 5 -d postscript -o out.ps
- XNow issue \fBcat lib/Cheq out.ps | lpr\fR to display on a Laser
- XPrinter the board at move 5. You can also issue \fBsh print-ps
- Xout-ps\fR.
- XThe postcript driver does not support the \fB-c\fR option.
- X.TP 8
- X.B notation boudy.txt -d tex -o boudy.tex
- XThis is the all-star, all-singing demonstration of the notation
- Xprogram. Runs latex on boudy.tex and print result.
- X
- X.SH FILES
- X
- X.TP 8
- X.B algebraic.txt shortened.txt keywords.txt boudy.txt
- Xthese are examples of input files
- X
- X.TP8
- X.B chesssymb.tex
- X this is the LaTeX file containing the definitions of the codified
- Xcomment. You can include it in your own LaTeX files: you will be able
- Xto use the chess comments. The file is stand-alone. To iclude
- Xcomment in LaTeX, just type \fB\\COM<three letter name>\fR. For
- Xinstance \fB\\COMwsb\fR inserts the symbol for "whites stands lightly
- Xbetter".
- X
- X.TP8
- X.B chesssymb.txt
- Xexplanation of codified comments
- X
- X.TP8
- X.B convsymb.txt
- Xused to prduce chesssymb.txt
- X
- X.TP 8
- X.B ($LIBDIR/)HELPFILE
- Xthis is the on-line helpfile
- X
- X.TP 8
- X.B ($LIBDIR/) Cheq Header.ps Footer.ps
- Xthese files are needed by the postscript driver
- X
- X.TP 8
- X.B ($LIBDIR/)Header.tex
- Xthese file is needed by the (la)tex driver
- X
- X.SH "SEE ALSO"
- Xxchess(1), chess(6), gnuchess(1), latex(1), nroff(1), lpr(1)
- X
- X.SH DIAGNOSTICS
- XErrors messages are hoped to be self-explanative.
- X
- X.SH COMMENTS
- XThe program is quite large, due to the extensive use of tables and
- Xvariables to control its features. The advantage is you only need the
- Xmodify these tables to customize it: for instance adding a new
- Xlanguage or tuning the output format to your own needs.
- X
- X.SH BUGS
- XToo many. Report them to \fBHenry.Thomas@irisa.fr\fR.
- X
- XThe postscript driver *might* fail if you try to display the board
- Xtwo times. Anyway, it is not designed to do this. Use \fB-e\fR option
- Xto specify the move at which you want to display board.
- X
- XDo not enter two levels of variation without any move between them. It
- Xwill cause the crash of the program. For instance, \fB{ {\fR is wrong,
- Xbut \fB { Qd1 {\fR is correct.
- X
- X
- X.SH AUTHOR
- XHenry Thomas IRISA-Rennes, FRANCE. E-mail to
- X\fBHenry.Thomas@irisa.fr\fR or \fBhthomas@irisa.fr\fR.
- X.SH "THANKS"
- X
- XThanks to Jacques Schuurman for the piece names in Dutch, Philippe
- XLouarn for explaining me some TeX tricks, Lael for czech, hungarian,
- Xpolish, romanian and FIDE piece names, to Steven Young. Thank also to
- XBrian Molinari, Markus Geltz and Jose Esquer Ruiz for pointing me to
- Xbugs Most of all, thank to Jean-Luc Scharbarg for introducing me to
- Xchess.
- END_OF_FILE
- if test 12397 -ne `wc -c <'notation.n'`; then
- echo shar: \"'notation.n'\" unpacked with wrong size!
- fi
- # end of 'notation.n'
- fi
- if test -f 'notation.tex' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'notation.tex'\"
- else
- echo shar: Extracting \"'notation.tex'\" \(1708 characters\)
- sed "s/^X//" >'notation.tex' <<'END_OF_FILE'
- X% Name: notation.tex
- X% Copyright: %W% (C) Henry Thomas. Release %R% Dated %G%
- X% Version: %R%
- X% Purpose: Definition file for notation
- X% Comment: Relies on Piet Tutelaers macros for chess typesetting
- X% Author: Henry Thomas
- X% Date: %G%
- X%
- X%% Some symbols
- X\newcommand{\FigDash}{{--}}
- X\newcommand{\FigCapt}{$\times$}
- X\newcommand{\FigDots}{$\ldots$}
- X\newcommand{\FigDot}{\char46}
- X%
- X% Redefine chess.sty to get similar layout as in Informator
- X\makeatletter
- X\gdef\@dots{\ldots}
- X\resetat
- X%
- X% These macros allows a move number to be bolfaced in the main line,
- X% and typset in roman in the variations (like in Informant)
- X\newcommand{\mn}[1]{{\OutLine #1\char46}}
- X%
- X% Some macros to improve readability...
- X\newcommand{\OutLine}{\bf}
- X\newenvironment{Mainline}[2]{\newcommand{\result}{#1}%
- X \newcommand{\commentator}{#2}\begin{chess}}%
- X {\end{chess}\finito{\result}{\commentator}}
- X\newenvironment{Variation}{{\OutLine
- X[}\begingroup\renewcommand{\OutLine}{\rm}\ignorespaces}%
- X {\endgroup{\OutLine ]}\renewcommand{\OutLine}{\bf}\ignorespaces}
- X\newenvironment{diagram}{\begin{nochess}}{$$\showboard$$\end{nochess}}
- X\newcommand{\finito}[2]{{\bf\hfill#1\hfill[#2]\par}}
- X
- X\setlength{\parindent}{0pt}
- X
- X% If you compiled notation with the flag -DOLDTEX, you will need to
- X% define these macros.
- X% They allow to typeset in horizontal or vertical mode. You ``simply''
- X% have to define them.
- X%
- X\newcommand{\MoveNumber}[1]{{#1}~}
- X\newcommand{\WhiteMove}[1]{{#1}\ }
- X\newcommand{\BlackMove}[1]{{#1}\ }
- X%
- X% These macros are for tiles and score formatting.
- X\newcommand{\ChessTitle}[1]{\begin{center}{\large\bf #1}\end{center}}
- X\newcommand{\ChessSubTitle}[1]{\begin{center}{\sc #1}\end{center}}
- X\newcommand{\ChessScore}[1]{{\bf #1}}
- X%
- END_OF_FILE
- if test 1708 -ne `wc -c <'notation.tex'`; then
- echo shar: \"'notation.tex'\" unpacked with wrong size!
- fi
- # end of 'notation.tex'
- fi
- if test -f 'shortened.ntn' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'shortened.ntn'\"
- else
- echo shar: Extracting \"'shortened.ntn'\" \(7032 characters\)
- sed "s/^X//" >'shortened.ntn' <<'END_OF_FILE'
- X[This is the commentary from the USA Today Sports Center, written by
- XIM Bjarke Kristiansen (and polished a bit by me).][ They are probably
- Xthe quickest way to get the moves (perhaps AP access is quicker, I
- Xdon't know how fast the AP gets updated on Compuserve); their number
- Xfor subscribing (no online newuser service) is 800-826-9688.]
- X
- X[I was told it was okay to post this from there, as long as I gave
- Xappropriate reference.]
- X
- X[WORLD CHESS CHAMPIONSHIP
- XGAME 13 - Drawn after Adjournment
- XNovember 24, 1990]
- X
- X[KARPOV KASPAROV]
- X
- X@language{english}
- X
- X1. d4 Nf6
- X2. c4 g6
- X3. Nc3 d5
- X
- X[Welcome to game 13th ..and the GI that's Grunfeld-Indian. Fight
- Xfrom the start.]
- X
- X4. cxd5 Nd5
- X5. e4 Nxc3
- X6. bxc3 Bg7
- X7. Be3 c5
- X8. Qd2 O-O
- X
- X[So far on two minutes each. GK.. Garry Kasparov looks tensed, says
- XMike Valvo. Now Karpov took full 9 minutes to play ...]
- X
- X9. Rc1 Qa5
- X
- X[Kasparov thought six minutes here. Time now: White 0:19 Black: 0:08.
- XNow 9 minutes has gone and AK is still thinks. Kasparov has left
- Xthe stage. Who is fooling who? 9..Qa5 might be a new move. Its
- Xnot in the pressroom database. Karpov is still thinking, so time for a
- Xlittle presentation. At your service in Lyon IM Bjarke Kristensen (Now Valvo:
- XAK is nodding his head up and down alone on stage.) As kommentators:
- XBoris Spassky and a number of strong french IM's. IM Mike Valvo from New Jersey
- Xis here for a week.]
- X
- X10. Nf3 e6
- X
- X[And the 'soon-to-be' GM Will Watson from England is here too.
- X'I don't understand the GI' he just said. Kasparov stays on stage.
- XTime: White: 0:37 Black: 0:10. Says Will Watson (now WW): 'I
- Xpredicted the opening this morning. And so did many others.'
- XValvo: 'I think this shows that the Kings Indian hasn't worked
- Xout for Kasparov'. IM Levy suggests b7-b6 for Black. IM Jonathan Tisdall says:
- XI've seen this before. But nobody can find a game with it'.]
- X
- X11. d5 exd5
- X12. exd5 Re8
- X13. Be2
- X
- X[Time: White: 0:53 Black: 0:24. Valvo observed GK tapping his
- Xfingers impatiently on the table after move Re8. It just might all
- Xbe preparations! Both are sitting deeply concentrated at the table.]
- X
- X13. ... Bf5
- X14. O-O
- X
- X[The atmosphere in the pressroom is a bit 'fuzzy'. The game hasn't
- Xfound it's own personality yet, and the fact that the US plays
- Xthe Soviets at the Chess Olympiad in Novi Sad at this very moment is
- Xalso widely discussed.]
- X
- X14. ... Nd7
- X
- X[Interesting is now: 15.Nh4 Be4 16.f3 Bxd5! 17.Qxd5 Rxe3 18.Qxd7
- X18...Rxe2 with a big Black plus. say Watson. Rumours say that
- XGK might be better here, but nobody really dares to risk his
- Xneck. The game is still in its childhood. But AK surely is in for
- Xa deep think. Now he's on 1:16 and still thinking. Garry has left the
- Xstage. Valvo say: The Mephisto computer thinks Black is better!
- XIt's no 'Deep Thought', but the Mephisto Chess Computer IS
- Xalready world champion in its class. No one else dared to test
- Xtheir program against it!]
- X
- X15. h3
- X
- X[Time: White: 1:18 Black: 0:31. Now Karpov has left stage. And GK
- Xhangs over the board as if to power up his chessmuscles. Kasparov seems
- Xrelaxed and satisfied. White's problem is his weakened pawns on the Q-side.
- XAnd as for his pride-pawn on d5? In an endgame it could be pure
- Xgold, but until then it gives a good square to a Black piece
- Xon d6. Kasparov now 'hangs' his head between his hands. A very typical
- Xposture for the WC.]
- X
- X15. ... Nb6
- X
- X[GM Lein thinks White is in deep trouble. GK might play Nb6-a4.
- XAnother of GK's ideas might be Qa5-a4.]
- X
- X16. g4
- X
- X[Now ...that's a man! Karpov's idea obviously is 16... Be4 17.c4 Qxd2
- X18.Nxd2 with 19.Nxe4 and 20.Bd3 to come. After a very slow start suddenly
- Xthe game is very exciting. Now the Russians GMs in the pressroom find:
- X16...Be4 17.c4.. Qa3! with a Black edge. But...]
- X
- X16. ... Bd7
- X
- X[Time: AK: 1:31 GK: 0:49. GM-elects Watson and Gallagher say Karpov is still
- Xunder pressure, but improving. Mephisto 'thinks' it's slightly better for
- XBlack. And the Russians say that Kasparov should have played h7-h5, not
- XNd7-b6.]
- X
- X17. c4 Qxd2
- X18. Nxd2 Na4
- X19. Bf3 Nc3
- X20. Rxc3 Bxc3
- X21. Ne4
- X
- X[The heat is on, in the Palais des Congress. Watson thinks GK is still
- Xdoing well. Might be a British understatement. Kasparov is in for at deep
- Xthink. Time: White: 1:42 Black: 1:12 IM Tisdall: He'll take on e4 now,
- Xand it is a draw.]
- X
- X21. ... Rxe4
- X22. Bxe4 Re8
- X23. Bd3 b6
- X24. Kg2
- X
- X[Tisdall says: The first one who can bring himself to offer a draw
- Xwill get it. He might be right. A drastic change of the game has
- Xtaken place. And where did Kasparov drop his advantage? Maybe ...Nc3
- Xshould have been prepared. Time: White: 1:46 Black: 1:17.
- XIf Karpov plays Be3-c1 to press f2-f4 (hoping for an endgame
- Xadvantage with f4-f5) GK might play Re8-e1 to enter a tame
- Xdobble-bishop ending. Draw.]
- X
- X24. ... f5
- X25. gxf5 Bxf5
- X26. Bxf5 gxf5
- X
- X[Karpov sits thinking alone at the board. Black's Bc3 is potentially weaker
- Xthan Be3, but White's c4 pawn is GK's major target. I think that Black's
- Xstill better. White's d-pawn looks strong (and it is) but right now it's
- Xquite impotent. If advanced it'll just be lost, since Kg8 is to close.]
- X
- X27. Rd1 Kf7
- X
- X[Time: White: 2:07 Black: 1:28. Now Kasparov's lead on the clock
- Xbegins to count. Karpov must be considering lines like: 28.d6 Ke6 29.Bf4
- XBe5 30.Bxe5 Kxe5 31.Rd5+ Ke6 32.d7 Rd8 and Black is much better.]
- X
- X28. Rd3 Bf6
- X29. Ra3 a5
- X30. Rb3
- X
- X[Time: White: 2:12 Black: 1:31. It might look simple, but in fact
- Xthe game is balanced on an edge. Which is most important: Black's
- Xweakness on b6 or White's on c4?]
- X
- X30. ... Bd8
- X
- X[People in the pressroom seems to be losing interest a bit. I think
- Xthat a long endgame battle may be ahead. The fight for the
- Xinitiative is still very much on. Now Watson arrived with news,..
- Xhe said: The Russians think GK is slightly better, the Americans
- Xthinks AK is slightly better and it might be a draw' says Watson.]
- X
- X31. Rc3
- X
- X[Both are leaning across the board. If Karpov can get his king to d3,
- Xhe might play on forever. Kasparov seems 'speculative' now.
- XOne point in Karpov's favour is: 31...Bc7 32.Kf3 Re4 33.Ke2 f4
- X34.Kd3 and Re4 has to move.]
- X
- X31. ... Bc7
- X
- X[Karpov is hiding his head behind his hands, looking through his
- Xfingers. Nine minutes left.]
- X
- X32. a4 Kf6
- X33. Kf1 f4
- X
- X[33...f4! GK played this with determination. I don't understand
- XKarpov's Kg2-f1.]
- X
- X34. Bc1 Kf5
- X35. Rc2 Rg8
- X36. Re2 Be5
- X37. Bb2 Bd4
- X38. Bxd4 cxd4
- X39. Re7 d3
- X40. Ke1 Rc8
- X41. Kd2 Rxc4
- X
- X[Kasparov has moved from c8 to c4. Move 41 made. The last seven
- Xmoves took only 11 minutes Now all analysis goes: 42.Kxd3
- XRxa4 43.d6 Ra3+ 44.Kc4 Ra1 45. Kd5 Rd1+ 46.Kc6 a4 and White
- Xmight be the one who in trouble. Both still sits at the board. GK
- Xis looking everywhere else, waiting for Karpov to decide on
- Xif he want to sealed his move now. Some say that Kasparov might
- Xhave proposed a draw earlier on. Not verified. Time: 2:42 - 2:08.
- XKarpov sealed his 42nd move. The game will be continued (maybe)
- Xtomorrow at 11:00 AM ET.
- X
- X
- XGame 13 Adjournment Update
- XA draw was agreed upon before adjournement has resumed.]
- X
- X
- END_OF_FILE
- if test 7032 -ne `wc -c <'shortened.ntn'`; then
- echo shar: \"'shortened.ntn'\" unpacked with wrong size!
- fi
- # end of 'shortened.ntn'
- fi
- echo shar: End of archive 3 \(of 4\).
- cp /dev/null ark3isdone
- MISSING=""
- for I in 1 2 3 4 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 4 archives.
- rm -f ark[1-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-