Replacement for chess support

This layout does not use lyxskak.sty, which depends on skak.sty
Instead it uses chessboard.sty, depending on chessfss and xskak.
Compiles and displays fine with pdflatex, XeTeX
but still does not compile with lualatex.
We are now able again to mark fields and moves on the chessboard
This commit is contained in:
Kornel Benko 2018-08-23 11:58:32 +02:00
parent 30abecd437
commit 2877032791
3 changed files with 811 additions and 0 deletions

View File

@ -329,6 +329,7 @@ dist_examples_DATA = \
examples/beamerposter.lyx \
examples/biblioExample.bib \
examples/chess-article.lyx \
examples/chessboard-article.lyx \
examples/chessgame.lyx \
examples/colored-boxes.lyx \
examples/docbook_article.lyx \
@ -2168,6 +2169,7 @@ dist_layouts_DATA =\
layouts/bxjsslide.layout \
layouts/changebars.module \
layouts/chess.layout \
layouts/chessboard.layout \
layouts/cl2emult.layout \
layouts/copernicus.layout \
layouts/ctex-article.layout \

View File

@ -0,0 +1,677 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
\lyxformat 563
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass chessboard
\begin_preamble
\usepackage{multicol}
\columnsep 0.25in
\columnseprule 0.4pt
\hyphenpenalty 10000
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding auto
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\float_placement class
\float_alignment class
\paperfontsize 10
\spacing single
\use_hyperref false
\papersize default
\use_geometry true
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine biblatex-natbib
\cite_engine_type authoryear
\biblatex_bibstyle authoryear
\biblatex_citestyle authoryear
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 1cm
\topmargin 1cm
\rightmargin 1cm
\secnumdepth 3
\tocdepth 3
\paragraph_separation skip
\defskip medskip
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Title
\series bold
\size larger
Email Chess Game analyzed
\end_layout
\begin_layout Author
\series bold
\size large
Kayvan A.
Sylvan
\begin_inset Newline newline
\end_inset
<kayvan@sylvan.com>
\end_layout
\begin_layout Author
\series bold
\emph on
Game start 05/29/2001
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
begin{multicols}{2}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The following game was played at the IECC (International Email Chess Club).
It is presented as an example of the fun you can have with \SpecialChar LyX
's new chessboard
layout (based on the
\begin_inset Quotes eld
\end_inset
xskak.sty
\begin_inset Quotes erd
\end_inset
package from CTAN
\end_layout
\begin_layout Standard
\begin_inset CommandInset line
LatexCommand rule
offset "0.5ex"
width "100line%"
height "1pt"
\end_inset
\end_layout
\begin_layout Standard
\noun on
Sylvan, Kayvan
\begin_inset space \hfill{}
\end_inset
Wakeham, Marc
\noun default
\begin_inset Newline newline
\end_inset
(1623)
\begin_inset space \hfill{}
\end_inset
(1639)
\end_layout
\begin_layout Standard
\noindent
\begin_inset CommandInset line
LatexCommand rule
offset "0.5ex"
width "100line%"
height "1pt"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status collapsed
\begin_layout Plain Layout
outvar
\end_layout
\end_inset
\begin_inset Argument 2
status open
\begin_layout Plain Layout
1.
e4 c5 2.
Nc3 d6 3.
g3 Nc6 4.
Bg2 e6 5.
Nge2
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align center
\begin_inset Flex ChessBoard
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status open
\begin_layout Plain Layout
d2-d4
\end_layout
\end_inset
\begin_inset Argument 3
status open
\begin_layout Plain Layout
d4,f4
\end_layout
\end_inset
\begin_inset Argument 2
status open
\begin_layout Plain Layout
g1-e2
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align block
So far, so good.
The e2 knight controls the d4 and f4 squares, preparing an eventual d4
push.
The diagrammed position has been reached before in hundreds of GM games.
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
5...
Be7?!
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align block
\begin_inset Flex Variation
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status open
\begin_layout Plain Layout
invar
\end_layout
\end_inset
\begin_inset Argument 2
status open
\begin_layout Plain Layout
5...
Ng7
\end_layout
\end_inset
\begin_inset Argument 3
status open
\begin_layout Plain Layout
\backslash
equal{} was better
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status collapsed
\begin_layout Plain Layout
outvar
\end_layout
\end_inset
\begin_inset Argument 2
status open
\begin_layout Plain Layout
6.
d4 cxd4 7.
Nxd4 a6
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
With 7...
a6, we are back in the well-trodden theory of this opening.
\end_layout
\begin_layout Standard
\noindent
\align center
\begin_inset Flex ChessBoard
status open
\begin_layout Plain Layout
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
8.
Nxc6 bxc6 9.
O-O Bb7 10.
Qg4 Bf6 11.
Bf4 Ne7 12.
Rad1
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align center
\begin_inset Flex ChessBoard
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status open
\begin_layout Plain Layout
a1-d1
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
White continues to develop pieces and also sets a trap for Black.
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
12...
O-O?
\end_layout
\end_inset
\begin_inset Argument 3
status open
\begin_layout Plain Layout
This move loses instantly.
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The following was better, even though white retains the upper hand.
\end_layout
\begin_layout Standard
\begin_inset Flex Variation
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status open
\begin_layout Plain Layout
invar
\end_layout
\end_inset
\begin_inset Argument 2
status open
\begin_layout Plain Layout
12...
e5 13.
Be3 Qc7 14.
Na4 O-O
\end_layout
\end_inset
\begin_inset Argument 3
status open
\begin_layout Plain Layout
\backslash
wbetter
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 1
status open
\begin_layout Plain Layout
outvar
\end_layout
\end_inset
\begin_inset Argument 2
status open
\begin_layout Plain Layout
13.
e5!
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Black's knight and bishop form a bumbling pair here.
The bishop is doomed.
\end_layout
\begin_layout Standard
\begin_inset Flex Mainline
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
13...
Nd5!? 14.
Bxd5 cxd5 15.
exf6 Qxf6 16.
Bxd6 Rfd8 17.
Bc7 Rd7 18.
Bf4 1-0
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align center
\begin_inset Flex ChessBoard
status open
\begin_layout Plain Layout
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
end{multicols}
\end_layout
\end_inset
\end_layout
\end_body
\end_document

View File

@ -0,0 +1,132 @@
#% Do not delete the line below; configure depends on this
# \DeclareLaTeXClass[scrartcl]{Chessboard}
# \DeclareCategory{Articles}
# chessboard article textclass definition file.
Format 69
Requires chessfss
ClassOptions
Other "parskip"
End
Preamble
\usepackage{xskak}
\pagestyle{empty}
\AtBeginDocument{
\newchessgame
\setchessboard{pgfstyle=straightmove, arrow=to,linewidth=0.1em, smallboard}
}
EndPreamble
Style Standard
Align Block
AlignPossible Block, Left, Right, Center
End
Input stdsections.inc
Input stdtitle.inc
InsetLayout Flex:Mainline
LyXType custom
LatexType Command
LatexName mainline
Decoration Classic
LabelString "Mainline:"
PassThru 1
ParbreakIsNewline 1
LabelFont
Color blue
Series bold
EndFont
Font
Color blue
EndFont
Argument 1
LabelString id
ToolTip "'invar' or 'outvar'"
Decoration Conglomerate
EndArgument
Argument 2
Mandatory 1
LabelString "Moves"
Decoration Conglomerate
EndArgument
Argument 3
LabelString "Comment"
Mandatory 1
LeftDelim "{ "
Font
Color Green
EndFont
Decoration Conglomerate
EndArgument
End
InsetLayout Flex:Variation
CopyStyle Flex:Mainline
LatexName variation
LabelString Variation
End
InsetLayout Flex:ChessBoard
LyXType custom
LatexType Command
LatexName chessboard
LabelString "[chessboard]"
Decoration Classic
KeepEmpty 1
LabelFont
Color Red
EndFont
Argument 1
LabelString "Arrows"
ToolTip "Comma separated list of the form from-to (like d2-d4)"
LeftDelim "[pgfstyle=straightmove,markmoves={"
RightDelim "},"
DefaultArg " "
PassThru 1
Decoration Conglomerate
EndArgument
Argument 2
LabelString "Knigt"
ToolTip "List of knight moves (crooked arrows) g1-e2, g1-h3"
LeftDelim "pgfstyle=knightmove,markmove={"
RightDelim "},"
Decoration Conglomerate
EndArgument
Argument 3
LabelString "Mark"
ToolTip "Comma separated list of fields to be marked with a circle (like d4,f4,c7)"
DefaultArg " "
LeftDelim "pgfstyle=circle,markfields={"
RightDelim "}]"
Decoration Conglomerate
EndArgument
End
InsetLayout Flex:ChessBoardStore
CopyStyle Flex:ChessBoard
ResetArgs 1
LabelString "StoreChessboard"
Argument 1
LabelString "Store FEN"
ToolTip "Store the 'FEN' under the given name"
LeftDelim "[print=false,storefen={"
RightDelim "}]"
EndArgument
End
InsetLayout Flex:ChessBoardRestore
CopyStyle Flex:ChessBoard
ResetArgs 1
LabelString "RestoreChessboard"
Argument 1
LabelString "Restore FEN"
ToolTip "Restore the 'FEN' to the version saved under the given name"
LeftDelim "[print=false,restorefen={"
RightDelim "}]"
EndArgument
End