summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-02-24 22:51:32 +0000
committerKarl Berry <karl@freefriends.org>2013-02-24 22:51:32 +0000
commit0219257c1cda008db95d3b429139b8e0613c2044 (patch)
tree93d55263e91988738f35b416099784a0a9182bdb /Master/texmf-dist/tex/latex
parenta3c0a64b48a59420321a3e0f3279daf232b2bcc5 (diff)
battleship (24feb13)
git-svn-id: svn://tug.org/texlive/trunk@29220 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/battleship/battleship.sty227
-rw-r--r--Master/texmf-dist/tex/latex/battleship/logicpuzzle.sty176
2 files changed, 304 insertions, 99 deletions
diff --git a/Master/texmf-dist/tex/latex/battleship/battleship.sty b/Master/texmf-dist/tex/latex/battleship/battleship.sty
index 2195ddb8e84..e7b106df3b1 100644
--- a/Master/texmf-dist/tex/latex/battleship/battleship.sty
+++ b/Master/texmf-dist/tex/latex/battleship/battleship.sty
@@ -23,15 +23,10 @@
% http://en.wikipedia.org/wiki/Battleship_%28puzzle%29
% http://de.wikipedia.org/wiki/Bimaru
%
-\ProvidesPackage{battleship}[2013/02/16 battleship.sty v1.1 - Josef Kleber (C) 2013]%
+\ProvidesPackage{battleship}[2013/02/23 battleship.sty v1.2 - Josef Kleber (C) 2013]%
%
-\RequirePackage{xkeyval}%
-\RequirePackage{ifthen}%
-\RequirePackage{ragged2e}%
-\RequirePackage{etoolbox}%
-\RequirePackage{tikz}%
-\usetikzlibrary{decorations.pathmorphing}
-\tikzstyle{island} = [fill=yellow!30,draw, decorate, decoration={random steps,segment length=2.7pt,amplitude=1.7pt}]
+\RequirePackage{logicpuzzle}%
+\tikzstyle{island} = [fill=yellow!30,draw, decorate, decoration={random steps,segment length=2.7pt,amplitude=1.7pt}]%
%
% options
\newcommand*\BS@width{6cm}%
@@ -39,18 +34,17 @@
\newcommand*\BS@rows{5}%
\newcommand*\BS@columns{5}%
\newcommand*\BS@scale{1}%
+\newcommand*\BS@bgcolor{}%
\newcommand*\BS@shipcolor{green}%
+\newcommand*\BS@title{}%
+\newcommand*\BS@titleindent{0.75cm}%
+\newcommand*\BS@titlewidth{5.15cm}%
\newcommand*\BS@SB@indent{0.75cm}%
\newcommand*\BS@SB@width{5.15cm}%
\newcommand*\BS@SB@shipboxscale{1}%
%
\newcounter{BS@rows}%
\newcounter{BS@columns}%
-\newcounter{BS@counti}%
-\newcounter{BS@countii}%
-\newcounter{BS@countiii}%
-\newcounter{BS@countiv}%
-\newcounter{BS@whiledo}%
%
\setcounter{BS@rows}{\BS@rows}%
\setcounter{BS@columns}{\BS@columns}%
@@ -77,9 +71,19 @@
\renewcommand*\BS@scale{#1}%
}%
%
+\define@key{battleship.sty}{counterstyle}[none]%
+{%
+ \renewcommand*\LP@counterstyle{#1}%
+}%
+%
+\define@key{battleship.sty}{bgcolor}[]%
+{%
+ \renewcommand*\BS@bgcolor{#1}%
+}%
+%
\define@choicekey*{battleship.sty}{fontsize}[\BS@fontsize\nr]{tiny,scriptsize,footnotesize,small,normalsize,large,Large,LARGE,huge,Huge}[Large]%
{%
- \ifcase\nr\relax
+ \ifcase\nr\relax%
\renewcommand*\BS@fontsize{\tiny}%
\or%
\renewcommand*\BS@fontsize{\scriptsize}%
@@ -107,6 +111,21 @@
\renewcommand*\BS@width{#1}%
}%
%
+\define@key{battleship.sty}{title}[]%
+{%
+ \renewcommand*\BS@title{#1}%
+}%
+%
+\define@key{battleship.sty}{titleindent}[0.75cm]%
+{%
+ \renewcommand*\BS@titleindent{#1}%
+}%
+%
+\define@key{battleship.sty}{titlewidth}[5.15cm]%
+{%
+ \renewcommand*\BS@titlewidth{#1}%
+}%
+%
\define@key{battleship.sty}{sbindent}[0.75cm]%
{%
\renewcommand*\BS@SB@indent{#1}%
@@ -142,9 +161,19 @@
\renewcommand*\BS@scale{#1}%
}%
%
+\define@key{battleship}{bgcolor}%
+{%
+ \renewcommand*\BS@bgcolor{#1}%
+}%
+%
+\define@key{battleship}{counterstyle}%
+{%
+ \renewcommand*\LP@counterstyle{#1}%
+}%
+%
\define@choicekey*{battleship}{fontsize}[\BS@fontsize\nr]{tiny,scriptsize,footnotesize,small,normalsize,large,Large,LARGE,huge,Huge}[Large]%
{%
- \ifcase\nr\relax
+ \ifcase\nr\relax%
\renewcommand*\BS@fontsize{\tiny}%
\or%
\renewcommand*\BS@fontsize{\scriptsize}%
@@ -172,6 +201,21 @@
\renewcommand*\BS@width{#1}%
}%
%
+\define@key{battleship}{title}%
+{%
+ \renewcommand*\BS@title{#1}%
+}%
+%
+\define@key{battleship}{titleindent}%
+{%
+ \renewcommand*\BS@titleindent{#1}%
+}%
+%
+\define@key{battleship}{titlewidth}%
+{%
+ \renewcommand*\BS@titlewidth{#1}%
+}%
+%
\define@key{battleship}{sbindent}%
{%
\renewcommand*\BS@SB@indent{#1}%
@@ -187,11 +231,10 @@
\renewcommand*\BS@SB@shipboxscale{#1}%
}%
%
-\ExecuteOptionsX{rows,columns,width,fontsize,shipcolor,scale,sbindent,sbwidth,sbshipscale}%
+\ExecuteOptionsX{rows,columns,width,fontsize,shipcolor,scale,bgcolor,counterstyle,title,titleindent,titlewidth,sbindent,sbwidth,sbshipscale}%
%
\ProcessOptionsX\relax%
%
-\newcommand*\BS@Pfive{.5}%
\gdef\BS@shipbox{}%
%
\newcommand*\Ship{\tikz[scale=\BS@scale]\draw[scale=.36,fill=\BS@shipcolor] (0,0) circle (1);}%
@@ -210,52 +253,6 @@
\newcommand*\@ShipL{\tikz\draw[scale=.144,fill=\BS@shipcolor](1,2)--(2,2)--(2,0)--(1,0) arc (270:90:1);}%
\newcommand*\@ShipR{\tikz\draw[scale=.144,fill=\BS@shipcolor](1,2)--(0,2)--(0,0)--(1,0) arc (270:450:1);}%
%
-\newcommand*\BS@shipparts[3]%
-{%
- \node at (#1\BS@Pfive,#2\BS@Pfive){\BS@fontsize#3};%
-}%
-%
-\newcommand*\BS@printpartsH[1]%
-{%
- \stepcounter{BS@counti}%
- \BS@shipparts{\arabic{BS@counti}}{\arabic{BS@countii}}{#1}%
-}%
-%
-\newcommand*\BS@printpartsV[1]%
-{%
- \stepcounter{BS@countii}%
- \BS@shipparts{\arabic{BS@counti}}{\arabic{BS@countii}}{#1}%
-}%
-%
-\newcommand*\BS@ingrid[2]%
-{%
- \setcounter{BS@countiii}{#1}% column
- \setcounter{BS@countiv}{#2}% row
- \ifnum\value{BS@countiii}<1%
- \PackageError{battleship}%
- {ship segment outside of the grid}%
- {You tried to set a ship segment at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (\BS@columns,\BS@rows)}%
- \fi%
- \ifnum\value{BS@countiv}<1%
- \PackageError{battleship}%
- {ship segment outside of the grid}%
- {You tried to set a ship segment at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (\BS@columns,\BS@rows)}%
- \fi%
- % BS@columns = \BS@columns + 1
- \stepcounter{BS@countiii}%
- \stepcounter{BS@countiv}%
- \ifnum\value{BS@countiii}>\value{BS@columns}%
- \PackageError{battleship}%
- {ship segment outside of the grid}%
- {You tried to set a ship segment at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (\BS@columns,\BS@rows)}%
- \fi%
- \ifnum\value{BS@countiv}>\value{BS@rows}%
- \PackageError{battleship}%
- {ship segment outside of the grid}%
- {You tried to set a ship segment at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (\BS@columns,\BS@rows)}%
- \fi%
-}%
-%
\newcommand*\BS@printship[1]%
{%
\ifthenelse{\equal{#1}{1}}{\scalebox{\BS@SB@shipboxscale}{\@Ship}\space\allowbreak}{}%
@@ -272,41 +269,37 @@
%
\newcommand*\BS@printshipbox[1]%
{% \expandafters needed because csv list is stored in macro
- \expandafter\forcsvlist\expandafter\BS@printship\expandafter{#1}
+ \expandafter\forcsvlist\expandafter\BS@printship\expandafter{#1}%
}%
%
\newcommand*\shipH[1]%
{%
- \setcounter{BS@countii}{\value{BS@rows}}%
- \setcounter{BS@counti}{0}%
- \forcsvlist\BS@printpartsH{#1}%
+ \LP@setcolumncontents{#1}{1}{\value{BS@rows}}{\BS@fontsize}%
}%
%
\newcommand*\shipV[1]%
{%
- \setcounter{BS@countii}{0}%
- \setcounter{BS@counti}{0}%
- \forcsvlist\BS@printpartsV{#1}%
+ \LP@setrowcontents{#1}{0}{1}{\BS@fontsize}%
}%
%
\newcommand*\placesegment[3]%
{%
- \BS@ingrid{#1}{#2}%
- \node at (#1\BS@Pfive,#2\BS@Pfive){#3};%
+ \LP@ingrid{#1}{#2}{\BS@columns}{\BS@rows}{battleship}%
+ \LP@setcellcontent{#1}{#2}{#3}%
}%
%
\let\ship\placesegment%
%
\newcommand*\placeisland[2]%
{%
- \BS@ingrid{#1}{#2}%
- \node at (#1\BS@Pfive,#2\BS@Pfive){\Island};%
+ \LP@ingrid{#1}{#2}{\BS@columns}{\BS@rows}{battleship}%
+ \LP@setcellcontent{#1}{#2}{\Island}%
}%
%
\newcommand*\placewater[2]%
{%
- \BS@ingrid{#1}{#2}%
- \node at (#1\BS@Pfive,#2\BS@Pfive){\Water};%
+ \LP@ingrid{#1}{#2}{\BS@columns}{\BS@rows}{battleship}%
+ \LP@setcellcontent{#1}{#2}{\Water}%
}%
%
\newcommand*\shipbox[2][]%
@@ -317,53 +310,54 @@
%
\newcommand*\placeship[4]%
{%
- \setcounter{BS@counti}{#4}% length
- \ifnum\value{BS@counti}<1%
+ \setcounter{LP@counti}{#4}% length
+ \ifnum\value{LP@counti}<1%
\PackageError{battleship}%
{ship length < 1}%
{The length of your ship should be at least 1}%
\fi%
- \ifnum\value{BS@counti}>10%
+ \ifnum\value{LP@counti}>10%
\PackageError{battleship}%
{ship length > 10}%
{The supported max length of ships is 10!}%
\fi%
- \ifnum\value{BS@counti}=1%
+ \ifnum\value{LP@counti}=1%
\placesegment{#2}{#3}{\Ship}%
\else%
- \setcounter{BS@whiledo}{\value{BS@counti}}%
- \addtocounter{BS@whiledo}{-2}% length of middle ship
+ \setcounter{LP@whiledo}{\value{LP@counti}}%
+ \addtocounter{LP@whiledo}{-2}% length of middle ship
\ifthenelse{\equal{#1}{V}}%
{%
\placesegment{#2}{#3}{\ShipB}%
- \setcounter{BS@countii}{#3}%
- \whiledo{\value{BS@whiledo}>0}%
+ \setcounter{LP@countii}{#3}%
+ \whiledo{\value{LP@whiledo}>0}%
{%
- \addtocounter{BS@whiledo}{-1}%
- \stepcounter{BS@countii}%
- \placesegment{#2}{\theBS@countii}{\ShipC}%
+ \addtocounter{LP@whiledo}{-1}%
+ \stepcounter{LP@countii}%
+ \placesegment{#2}{\theLP@countii}{\ShipC}%
}%
- \stepcounter{BS@countii}%
- \placesegment{#2}{\theBS@countii}{\ShipT}%
+ \stepcounter{LP@countii}%
+ \placesegment{#2}{\theLP@countii}{\ShipT}%
}%
{%
\ifthenelse{\equal{#1}{H}}%
{%
\placesegment{#2}{#3}{\ShipL}%
- \setcounter{BS@counti}{#2}%
- \whiledo{\value{BS@whiledo}>0}%
+ \setcounter{LP@counti}{#2}%
+ \whiledo{\value{LP@whiledo}>0}%
{%
- \addtocounter{BS@whiledo}{-1}%
- \stepcounter{BS@counti}%
- \placesegment{\theBS@counti}{#3}{\ShipC}%
+ \addtocounter{LP@whiledo}{-1}%
+ \stepcounter{LP@counti}%
+ \placesegment{\theLP@counti}{#3}{\ShipC}%
}%
- \stepcounter{BS@counti}%
- \placesegment{\theBS@counti}{#3}{\ShipR}%
+ \stepcounter{LP@counti}%
+ \placesegment{\theLP@counti}{#3}{\ShipR}%
}%
{\PackageError{battleship}%
{invalid direction (H/V)}%
{You can place your ship only\MessageBreak%
- horizontally (H) or vertically (V)!}}%
+ horizontally (H) or vertically (V)!}%
+ }%
}%
\fi%
}%
@@ -373,6 +367,35 @@
\setkeys{battleship.sty}{#1}%
}%
%
+\newcommand{\classicgame}[1]%
+{%
+ \begin{center}%
+ \begin{battleship}[rows=10,columns=10,width=6.5cm,title=Me,sbindent=0.65cm,titleindent=0.55cm,titlewidth=5.7cm,sbwidth=5.7cm,scale=0.59,fontsize=normalsize]%
+ \shipV{J,I,H,G,F,E,D,C,B,A}%
+ \shipH{1,2,3,4,5,6,7,8,9,10}%
+ \shipbox{#1}%
+ \end{battleship}%
+ \hspace{1cm}%
+ \begin{battleship}[rows=10,columns=10,width=6.5cm,title=Enemy,sbindent=0.65cm,titleindent=0.55cm,titlewidth=5.7cm,sbwidth=5.7cm,scale=0.59,fontsize=normalsize]%
+ \shipV{J,I,H,G,F,E,D,C,B,A}%
+ \shipH{1,2,3,4,5,6,7,8,9,10}%
+ \end{battleship}%
+ \end{center}%
+ \par\vspace{1cm}%
+ \begin{center}%
+ \begin{battleship}[rows=10,columns=10,width=6.5cm,title=Me,sbindent=0.65cm,titleindent=0.55cm,titlewidth=5.7cm,sbwidth=5.7cm,scale=0.59,fontsize=normalsize]%
+ \shipV{J,I,H,G,F,E,D,C,B,A}%
+ \shipH{1,2,3,4,5,6,7,8,9,10}%
+ \shipbox{#1}%
+ \end{battleship}%
+ \hspace{1cm}%
+ \begin{battleship}[rows=10,columns=10,width=6.5cm,title=Enemy,sbindent=0.65cm,titleindent=0.55cm,titlewidth=5.7cm,sbwidth=5.7cm,scale=0.59,fontsize=normalsize]%
+ \shipV{J,I,H,G,F,E,D,C,B,A}%
+ \shipH{1,2,3,4,5,6,7,8,9,10}%
+ \end{battleship}%
+ \end{center}%
+}%
+%
\newenvironment{battleship}[1][]%
{%
\setkeys{battleship}{#1}%
@@ -382,13 +405,19 @@
\stepcounter{BS@rows}%
\stepcounter{BS@columns}%
\begin{minipage}[t]{\BS@width}%
+ \ifthenelse{\equal{\BS@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\BS@titleindent}\parbox{\BS@titlewidth}{\strut\LP@titleformat\BS@title}\vspace{3mm}\par}%
\begin{tikzpicture}[scale=\BS@scale]%
- \draw[step=1cm] (1,1) grid (\value{BS@columns},\value{BS@rows});%
+ \LP@drawbackground{1}{1}{\BS@columns}{\BS@rows}{\BS@bgcolor}%
+ \LP@drawgrid{1}{1}{\BS@columns}{\BS@rows}{1cm}%
}%
{%
\end{tikzpicture}%
+ \LP@drawcounter{\LP@counterstyle}%
\par\hbadness=10000\medskip\noindent\hspace{\BS@SB@indent}\begin{minipage}{\BS@SB@width}{\hbadness=10000\RaggedRight\BS@printshipbox{\BS@shipbox}}\end{minipage}%
- \end{minipage}
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
}%
%
\endinput% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/battleship/logicpuzzle.sty b/Master/texmf-dist/tex/latex/battleship/logicpuzzle.sty
new file mode 100644
index 00000000000..0d408428934
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/battleship/logicpuzzle.sty
@@ -0,0 +1,176 @@
+%%
+%% Copyright (C) 2013 by:
+%% Josef Kleber
+%% <josef.kleber@gmx.de>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% The Current Maintainer of this work is Josef Kleber.
+%%
+%% This work consists of all files listed in manifest.txt.
+%%
+\ProvidesPackage{logicpuzzle}[2013/02/23 logicpuzzle.sty v1.0 - Josef Kleber (C) 2013]%
+%
+\RequirePackage{xkeyval}%
+\RequirePackage{ifthen}%
+\RequirePackage{ragged2e}%
+\RequirePackage{etoolbox}%
+\RequirePackage{marginnote}%
+\RequirePackage{tikz}%
+\usetikzlibrary{decorations.pathmorphing}%
+%
+\newcounter{LP@counti}%
+\newcounter{LP@countii}%
+\newcounter{LP@countiii}%
+\newcounter{LP@countiv}%
+\newcounter{LP@whiledo}%
+\newcounter{LP@puzzlecounter}%
+\setcounter{LP@puzzlecounter}{1}%
+%
+\newcommand*\LP@counterstyle{none}%
+\newcommand*\LP@titleformat{}%
+%
+\newcommand*\LP@Pfive{.5}%
+%
+\newcommand*\LP@ingrid[5]%
+{%
+ \setcounter{LP@counti}{#1}% column
+ \setcounter{LP@countii}{#2}% row
+ \setcounter{LP@countiii}{#3}% max column
+ \setcounter{LP@countiv}{#4}% max row
+ %#5 style
+ %
+ \ifnum\value{LP@counti}<1%
+ \PackageError{#5}%
+ {element outside of the grid}%
+ {You tried to set an element at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (#3,#4)}%
+ \fi%
+ \ifnum\value{LP@countii}<1%
+ \PackageError{#5}%
+ {element outside of the grid}%
+ {You tried to set an element at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (#3,#4)}%
+ \fi%
+ \ifnum\value{LP@counti}>\value{LP@countiii}%
+ \PackageError{#5}%
+ {element outside of the grid}%
+ {You tried to set an element at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (#3,#4)}%
+ \fi%
+ \ifnum\value{LP@countii}>\value{LP@countiv}%
+ \PackageError{#5}%
+ {element outside of the grid}%
+ {You tried to set an element at (#1,#2),\MessageBreak which is outside the grid (1,1) .. (#3,#4)}%
+ \fi%
+}%
+%
+\newcommand*\titleformat[1]%
+{%
+ \renewcommand*\LP@titleformat{#1}%
+}%
+\titleformat{\centering\Large\color{blue}}%
+%
+\newcommand*\puzzlecounter{\theLP@puzzlecounter}%
+%
+\newcommand*\setpuzzlecounter[1]%
+{%
+ \setcounter{LP@puzzlecounter}{#1}%
+}%
+\newcommand*{\definecounterstyle}[2]%
+{%
+ \expandafter\gdef\csname LP@cs@#1\endcsname{#2}%
+}%
+%
+\definecounterstyle{none}{}%
+\definecounterstyle{left}{\begingroup\reversemarginpar\marginnote{\tikz\node[shape=rectangle,fill=yellow!40,inner sep=7pt,draw,rounded corners=3pt,thick]{\Huge\puzzlecounter};}[-23pt]\endgroup}%
+\definecounterstyle{right}{\marginnote{\tikz\node[shape=rectangle,fill=yellow!40,inner sep=7pt,draw,rounded corners=3pt,thick]{\Huge\puzzlecounter};}[-23pt]}%
+%
+% #1 grid x min
+% #2 grid y min
+% #3 grid x max
+% #4 grid y max
+% #5 step
+\newcommand*\LP@drawgrid[5]%
+{%
+ \setcounter{LP@counti}{#3}% max column
+ \setcounter{LP@countii}{#4}% max row
+ \stepcounter{LP@counti}%
+ \stepcounter{LP@countii}%
+ \draw[step=#5] (#1,#2) grid (\value{LP@counti},\value{LP@countii});%
+}%
+%
+% #1 grid x min
+% #2 grid y min
+% #3 grid x max
+% #4 grid y max
+% #5 bgcolor
+\newcommand*\LP@drawbackground[5]%
+{%
+ \ifthenelse{\equal{#5}{}}%
+ {}% no bgcolor
+ {%
+ \setcounter{LP@counti}{#3}% max column
+ \setcounter{LP@countii}{#4}% max row
+ \stepcounter{LP@counti}%
+ \stepcounter{LP@countii}%
+ \draw[fill=#5] (#1,#2) rectangle (\value{LP@counti},\value{LP@countii});%
+ }%
+}%
+%
+% #1 counterstyle
+\newcommand*\LP@drawcounter[1]%
+{%
+ \csname LP@cs@#1\endcsname%
+}%
+%
+% #1 column
+% #2 row
+% #3 content
+\newcommand*\LP@setcellcontent[3]%
+{%
+ \node at (#1\LP@Pfive,#2\LP@Pfive){#3};%
+}%
+%
+% #1 csv list
+% #2 column
+% #3 row
+% #4 fontsize
+\newcommand*\LP@setcolumncontents[4]%
+{%
+ \setcounter{LP@counti}{#2}%
+ \setcounter{LP@countii}{#3}%
+ \forcsvlist\LP@setcolumncontents@i{#4#1}%
+}%
+%
+\newcommand*\LP@setcolumncontents@i[1]%
+{%
+ \LP@setcellcontent{\arabic{LP@counti}}{\arabic{LP@countii}}{#1}%
+ \stepcounter{LP@counti}%
+}%
+%
+% #1 csv list
+% #2 column
+% #3 row
+% #4 fontsize
+\newcommand*\LP@setrowcontents[4]%
+{%
+ \setcounter{LP@counti}{#2}%
+ \setcounter{LP@countii}{#3}%
+ \forcsvlist\LP@setrowcontents@i{#4#1}%
+}%
+%
+\newcommand*\LP@setrowcontents@i[1]%
+{%
+ \LP@setcellcontent{\arabic{LP@counti}}{\arabic{LP@countii}}{#1}%
+ \stepcounter{LP@countii}%
+}%
+%
+\endinput% \ No newline at end of file