diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/logicpuzzle/lpenv.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/logicpuzzle/lpenv.sty | 936 |
1 files changed, 936 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/logicpuzzle/lpenv.sty b/Master/texmf-dist/tex/latex/logicpuzzle/lpenv.sty new file mode 100644 index 00000000000..dc5ff8c261f --- /dev/null +++ b/Master/texmf-dist/tex/latex/logicpuzzle/lpenv.sty @@ -0,0 +1,936 @@ +%% +%% 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{lpenv}[2013/05/03 lpenv.sty v2.0 - Josef Kleber (C) 2013]% +% +% battleship environment and options +% +\newcommand*\LP@BS@init@prefix{LP@BS}% +\newcommand*\LP@BS@init@package{battleship}% +% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{rows}{5}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{columns}{5}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{shipcolor}{green}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{scale}{1}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{counterstyle}{none}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{bgcolor}{}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{width}{6cm}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{title}{}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{titleindent}{0.75cm}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{titlewidth}{5.15cm}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{sbindent}{0.75cm}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{sbwidth}{5.15cm}% +\LP@define@key{\LP@BS@init@prefix}{\LP@BS@init@package}{sbshipscale}{1}% +\LP@define@choicekey@fontsize{\LP@BS@init@prefix}{\LP@BS@init@package}{{Large}}% +% +\LP@init@counter{\LP@BS@init@prefix}% +% +\gdef\LP@BS@shipbox{}% +\tikzstyle{island} = [fill=yellow!30,draw, decorate, decoration={random steps,segment length=2.7pt,amplitude=1.7pt}]% +% +\newcommand*\Ship{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill=\LP@BS@shipcolor] (0,0) circle (1);}% +\newcommand*\ShipC{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill=\LP@BS@shipcolor] (0,0)--(0,2)--(2,2)--(2,0)--cycle;}% +\newcommand*\ShipT{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill=\LP@BS@shipcolor](2,1)--(2,0)--(0,0)--(0,1) arc (180:0:1);}% +\newcommand*\ShipB{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill=\LP@BS@shipcolor](2,1)--(2,2)--(0,2)--(0,1) arc (180:360:1);}% +\newcommand*\ShipL{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill=\LP@BS@shipcolor](1,2)--(2,2)--(2,0)--(1,0) arc (270:90:1);}% +\newcommand*\ShipR{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill=\LP@BS@shipcolor](1,2)--(0,2)--(0,0)--(1,0) arc (270:450:1);}% +\newcommand*\Island{\tikz[scale=\LP@BS@scale]\draw[scale=.36,island] (0,0) rectangle (2,2);}% +\newcommand*\Water{\tikz[scale=\LP@BS@scale]\draw[scale=.36,fill,blue!40] (1,1) circle (0.2);}% +% versions for \shipbox without second scale +\newcommand*\@Ship{\tikz\draw[scale=.144,fill=\LP@BS@shipcolor] (0,0) circle (1);}% +\newcommand*\@ShipC{\tikz\draw[scale=.144,fill=\LP@BS@shipcolor] (0,0)--(0,2)--(2,2)--(2,0)--cycle;}% +\newcommand*\@ShipT{\tikz\draw[scale=.144,fill=\LP@BS@shipcolor](2,1)--(2,0)--(0,0)--(0,1) arc (180:0:1);}% +\newcommand*\@ShipB{\tikz\draw[scale=.144,fill=\LP@BS@shipcolor](2,1)--(2,2)--(0,2)--(0,1) arc (180:360:1);}% +\newcommand*\@ShipL{\tikz\draw[scale=.144,fill=\LP@BS@shipcolor](1,2)--(2,2)--(2,0)--(1,0) arc (270:90:1);}% +\newcommand*\@ShipR{\tikz\draw[scale=.144,fill=\LP@BS@shipcolor](1,2)--(0,2)--(0,0)--(1,0) arc (270:450:1);}% +% +\newcommand*\LP@BS@printship[1]% +{% + \ifthenelse{\equal{#1}{1}}{\scalebox{\LP@BS@sbshipscale}{\@Ship}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{2}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{3}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{4}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{5}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{6}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{7}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{8}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{9}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% + \ifthenelse{\equal{#1}{10}}{\scalebox{\LP@BS@sbshipscale}{\@ShipL\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipC\,\@ShipR}\space\allowbreak}{}% +}% +% +\newcommand*\LP@BS@printshipbox[1]% +{% \expandafters needed because csv list is stored in macro + \expandafter\forcsvlist\expandafter\LP@BS@printship\expandafter{#1}% +}% +% +\newcommand*\shipH[1]% +{% + \LP@setrowcontents{#1}{1}{\value{LP@BS@rows}}% +}% +% +\newcommand*\shipV[1]% +{% + \LP@setcolumncontents{#1}{0}{1}% +}% +% +\newcommand*\placesegment[3]% +{% + \LP@ingrid{#1}{#2}{\LP@BS@columns}{\LP@BS@rows}{battleship}% + \LP@setcellcontent{#1}{#2}{#3}% +}% +% +\let\ship\placesegment% +% +\newcommand*\placeisland[2]% +{% + \LP@ingrid{#1}{#2}{\LP@BS@columns}{\LP@BS@rows}{battleship}% + \LP@setcellcontent{#1}{#2}{\Island}% +}% +% +\newcommand*\placewater[2]% +{% + \LP@ingrid{#1}{#2}{\LP@BS@columns}{\LP@BS@rows}{battleship}% + \LP@setcellcontent{#1}{#2}{\Water}% +}% +% +\newcommand*\shipbox[2][]% +{% + \setkeys{shipbox}{#1}% + \gdef\LP@BS@shipbox{#2}% +}% +% +\newcommand*\placeship[4]% +{% + \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{LP@counti}>10% + \PackageError{battleship}% + {ship length > 10}% + {The supported max length of ships is 10!}% + \fi% + \ifnum\value{LP@counti}=1% + \placesegment{#2}{#3}{\Ship}% + \else% + \setcounter{LP@whiledo@i}{\value{LP@counti}}% + \addtocounter{LP@whiledo@i}{-2}% length of middle ship + \ifthenelse{\equal{#1}{V}}% + {% + \placesegment{#2}{#3}{\ShipB}% + \setcounter{LP@countii}{#3}% + \whiledo{\value{LP@whiledo@i}>0}% + {% + \addtocounter{LP@whiledo@i}{-1}% + \stepcounter{LP@countii}% + \placesegment{#2}{\theLP@countii}{\ShipC}% + }% + \stepcounter{LP@countii}% + \placesegment{#2}{\theLP@countii}{\ShipT}% + }% + {% + \ifthenelse{\equal{#1}{H}}% + {% + \placesegment{#2}{#3}{\ShipL}% + \setcounter{LP@counti}{#2}% + \whiledo{\value{LP@whiledo@i}>0}% + {% + \addtocounter{LP@whiledo@i}{-1}% + \stepcounter{LP@counti}% + \placesegment{\theLP@counti}{#3}{\ShipC}% + }% + \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)!}% + }% + }% + \fi% +}% +% +\newcommand*\battleshipsetup[1]% +{% + \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}% + \LP@set@package{battleship}% + \LP@set@env@prefix{LP@BS}% + \shipbox{}% clear shipbox + \setcounter{LP@BS@rows}{\LP@BS@rows}% + \setcounter{LP@BS@columns}{\LP@BS@columns}% + \stepcounter{LP@BS@rows}% + \stepcounter{LP@BS@columns}% + \begin{minipage}[t]{\LP@BS@width}% + \ifthenelse{\equal{\LP@BS@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@BS@titleindent}\parbox{\LP@BS@titlewidth}{\strut\LP@titleformat\LP@BS@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@BS@scale]% + \LP@drawbackground{1}{1}{\LP@BS@columns}{\LP@BS@rows}{\LP@BS@bgcolor}% + \LP@drawgrid{1}{1}{\LP@BS@columns}{\LP@BS@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@BS@counterstyle}% + \par\hbadness=10000\medskip\noindent\hspace{\LP@BS@sbindent}\begin{minipage}{\LP@BS@sbwidth}{\hbadness=10000\RaggedRight\LP@BS@printshipbox{\LP@BS@shipbox}}\end{minipage}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% bokkusu environment and options +% +\newcommand*\LP@BK@init@prefix{LP@BK}% +\newcommand*\LP@BK@init@package{bokkusu}% +% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{rows}{5}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{columns}{5}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{scale}{1}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{counterstyle}{none}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{color}{black}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{bgcolor}{}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{width}{6.7cm}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{cvoffset}{-38pt}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{title}{}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{titleindent}{0.75cm}% +\LP@define@key{\LP@BK@init@prefix}{\LP@BK@init@package}{titlewidth}{5.85cm}% +\LP@define@choicekey@fontsize{\LP@BK@init@prefix}{\LP@BK@init@package}{Large}% +% +\LP@init@counter{\LP@BK@init@prefix}% +% +\let\valueH\LP@bottomrow% +\let\valueV\LP@leftcolumn% +\let\sumH\LP@toprow% +\let\sumV\LP@rightcolumn% +% +\newcommand*\bokkususetup[1]% +{% + \setkeys{bokkusu.sty}{#1}% +}% +% +\newenvironment{bokkusu}[1][]% +{% + \setkeys{bokkusu}{#1}% + \LP@set@package{bokkusu}% + \LP@set@env@prefix{LP@BK}% + \setcounter{LP@BK@rows}{\LP@BK@rows}% + \setcounter{LP@BK@columns}{\LP@BK@columns}% + \stepcounter{LP@BK@rows}% + \stepcounter{LP@BK@columns}% + \begin{minipage}[t]{\LP@BK@width}% + \ifthenelse{\equal{\LP@BK@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@BK@titleindent}\parbox{\LP@BK@titlewidth}{\strut\LP@titleformat\LP@BK@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@BK@scale]% + \LP@drawbackground{1}{1}{\LP@BK@columns}{\LP@BK@rows}{\LP@BK@bgcolor}% + \LP@drawgrid{1}{1}{\LP@BK@columns}{\LP@BK@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@BK@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% chaossudoku environment and options +% +\newcommand*\LP@CS@init@prefix{LP@CS}% +\newcommand*\LP@CS@init@package{chaossudoku}% +% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{rows}{5}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{columns}{5}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{scale}{1}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{counterstyle}{none}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{bgcolor}{}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{width}{5.1cm}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{title}{}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@CS@init@prefix}{\LP@CS@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@CS@init@prefix}{\LP@CS@init@package}{Large}% +% +\LP@init@counter{\LP@CS@init@prefix}% +% +\let\chaossudokucell\setcell% +% +\newcommand*\chaossudokusetup[1]% +{% + \setkeys{chaossudoku.sty}{#1}% +}% +% +\newenvironment{chaossudoku}[1][]% +{% + \setkeys{chaossudoku}{#1}% + \LP@set@package{chaossudoku}% + \LP@set@env@prefix{LP@CS}% + \setcounter{LP@CS@rows}{\LP@CS@rows}% + \setcounter{LP@CS@columns}{\LP@CS@columns}% + \stepcounter{LP@CS@rows}% + \stepcounter{LP@CS@columns}% + \begin{minipage}[t]{\LP@CS@width}% + \ifthenelse{\equal{\LP@CS@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@CS@titleindent}\parbox{\LP@CS@titlewidth}{\strut\LP@titleformat\LP@CS@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@CS@scale]% + \LP@drawbackground{1}{1}{\LP@CS@columns}{\LP@CS@rows}{\LP@CS@bgcolor}% + \LP@drawgrid{1}{1}{\LP@CS@columns}{\LP@CS@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@CS@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% ddsudoku environment and options +% +\newcommand*\LP@DDS@init@prefix{LP@DDS}% +\newcommand*\LP@DDS@init@package{ddsudoku}% +% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{rows}{5}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{columns}{5}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{scale}{1}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{counterstyle}{none}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{bgcolor}{}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{width}{5.1cm}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{title}{}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@DDS@init@prefix}{\LP@DDS@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@DDS@init@prefix}{\LP@DDS@init@package}{Large}% +% +\LP@init@counter{\LP@DDS@init@prefix}% +% +\let\ddsudokucell\setcell% +% +\newcommand*\ddsudokusetup[1]% +{% + \setkeys{ddsudoku.sty}{#1}% +}% +% +\newenvironment{ddsudoku}[1][]% +{% + \setkeys{ddsudoku}{#1}% + \LP@set@package{ddsudoku}% + \LP@set@env@prefix{LP@DDS}% + \setcounter{LP@DDS@rows}{\LP@DDS@rows}% + \setcounter{LP@DDS@columns}{\LP@DDS@columns}% + \stepcounter{LP@DDS@rows}% + \stepcounter{LP@DDS@columns}% + \begin{minipage}[t]{\LP@DDS@width}% + \ifthenelse{\equal{\LP@DDS@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@DDS@titleindent}\parbox{\LP@DDS@titlewidth}{\strut\LP@titleformat\LP@DDS@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@DDS@scale]% + \LP@drawbackground{1}{1}{\LP@DDS@columns}{\LP@DDS@rows}{\LP@DDS@bgcolor}% + \LP@drawgrid{1}{1}{\LP@DDS@columns}{\LP@DDS@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@DDS@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% hakyuu environment and options +% +\newcommand*\LP@HY@init@prefix{LP@HY}% +\newcommand*\LP@HY@init@package{hakyuu}% +% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{rows}{5}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{columns}{5}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{scale}{1}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{counterstyle}{none}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{bgcolor}{}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{width}{5.1cm}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{title}{}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@HY@init@prefix}{\LP@HY@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@HY@init@prefix}{\LP@HY@init@package}{Large}% +% +\LP@init@counter{\LP@HY@init@prefix}% +% +\let\hakyuucell\setcell% +% +\newcommand*\hakyuusetup[1]% +{% + \setkeys{hakyuu.sty}{#1}% +}% +% +\newenvironment{hakyuu}[1][]% +{% + \setkeys{hakyuu}{#1}% + \LP@set@package{hakyuu}% + \LP@set@env@prefix{LP@HY}% + \setcounter{LP@HY@rows}{\LP@HY@rows}% + \setcounter{LP@HY@columns}{\LP@HY@columns}% + \stepcounter{LP@HY@rows}% + \stepcounter{LP@HY@columns}% + \begin{minipage}[t]{\LP@HY@width}% + \ifthenelse{\equal{\LP@HY@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@HY@titleindent}\parbox{\LP@HY@titlewidth}{\strut\LP@titleformat\LP@HY@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@HY@scale]% + \LP@drawbackground{1}{1}{\LP@HY@columns}{\LP@HY@rows}{\LP@HY@bgcolor}% + \LP@drawgrid{1}{1}{\LP@HY@columns}{\LP@HY@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@HY@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% hitori environment and options +% +\newcommand*\LP@HT@init@prefix{LP@HT}% +\newcommand*\LP@HT@init@package{hitori}% +% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{rows}{5}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{columns}{5}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{scale}{1}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{counterstyle}{none}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{bgcolor}{}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{width}{5.1cm}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{title}{}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@HT@init@prefix}{\LP@HT@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@HT@init@prefix}{\LP@HT@init@package}{Large}% +% +\LP@init@counter{\LP@HT@init@prefix}% +% +\let\hitoricell\setcell% +% +\newcommand*\hitorisetup[1]% +{% + \setkeys{hitori.sty}{#1}% +}% +% +\newenvironment{hitori}[1][]% +{% + \setkeys{hitori}{#1}% + \LP@set@package{hitori}% + \LP@set@env@prefix{LP@HT}% + \setcounter{LP@HT@rows}{\LP@HT@rows}% + \setcounter{LP@HT@columns}{\LP@HT@columns}% + \stepcounter{LP@HT@rows}% + \stepcounter{LP@HT@columns}% + \begin{minipage}[t]{\LP@HT@width}% + \ifthenelse{\equal{\LP@HT@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@HT@titleindent}\parbox{\LP@HT@titlewidth}{\strut\LP@titleformat\LP@HT@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@HT@scale]% + \LP@drawbackground{1}{1}{\LP@HT@columns}{\LP@HT@rows}{\LP@HT@bgcolor}% + \LP@drawgrid{1}{1}{\LP@HT@columns}{\LP@HT@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@HT@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% kendoku environment and options +% +\newcommand*\LP@KD@init@prefix{LP@KD}% +\newcommand*\LP@KD@init@package{kendoku}% +% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{rows}{5}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{columns}{5}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{scale}{1}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{counterstyle}{none}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{bgcolor}{}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{width}{5.1cm}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{title}{}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@KD@init@prefix}{\LP@KD@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@KD@init@prefix}{\LP@KD@init@package}{Large}% +% +\LP@init@counter{\LP@KD@init@prefix}% +% +\let\kendokucell\setcell% +% +\newcommand*\kendokusetup[1]% +{% + \setkeys{kendoku.sty}{#1}% +}% +% +\newenvironment{kendoku}[1][]% +{% + \setkeys{kendoku}{#1}% + \LP@set@package{kendoku}% + \LP@set@env@prefix{LP@KD}% + \setcounter{LP@KD@rows}{\LP@KD@rows}% + \setcounter{LP@KD@columns}{\LP@KD@columns}% + \stepcounter{LP@KD@rows}% + \stepcounter{LP@KD@columns}% + \begin{minipage}[t]{\LP@KD@width}% + \ifthenelse{\equal{\LP@KD@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@KD@titleindent}\parbox{\LP@KD@titlewidth}{\strut\LP@titleformat\LP@KD@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@KD@scale]% + \LP@drawbackground{1}{1}{\LP@KD@columns}{\LP@KD@rows}{\LP@KD@bgcolor}% + \LP@drawgrid{1}{1}{\LP@KD@columns}{\LP@KD@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@KD@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% killersudoku environment and options +% +\newcommand*\LP@KSDK@init@prefix{LP@KSDK}% +\newcommand*\LP@KSDK@init@package{killersudoku}% +% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{rows}{5}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{columns}{5}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{scale}{1}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{counterstyle}{none}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{bgcolor}{}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{width}{5.1cm}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{title}{}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@KSDK@init@prefix}{\LP@KSDK@init@package}{Large}% +% +\LP@init@counter{\LP@KSDK@init@prefix}% +% +\let\killersudokucell\setcell% +% +\newcommand*\killersudokusetup[1]% +{% + \setkeys{killersudoku.sty}{#1}% +}% +% +\newenvironment{killersudoku}[1][]% +{% + \setkeys{killersudoku}{#1}% + \LP@set@package{killersudoku}% + \LP@set@env@prefix{LP@KSDK}% + \setcounter{LP@KSDK@rows}{\LP@KSDK@rows}% + \setcounter{LP@KSDK@columns}{\LP@KSDK@columns}% + \stepcounter{LP@KSDK@rows}% + \stepcounter{LP@KSDK@columns}% + \begin{minipage}[t]{\LP@KSDK@width}% + \ifthenelse{\equal{\LP@KSDK@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@KSDK@titleindent}\parbox{\LP@KSDK@titlewidth}{\strut\LP@titleformat\LP@KSDK@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@KSDK@scale]% + \LP@drawbackground{1}{1}{\LP@KSDK@columns}{\LP@KSDK@rows}{\LP@KSDK@bgcolor}% + \LP@drawgrid{1}{1}{\LP@KSDK@columns}{\LP@KSDK@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@KSDK@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% laserbeam environment and options +% +\newcommand*\LP@LB@init@prefix{LP@LB}% +\newcommand*\LP@LB@init@package{laserbeam}% +% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{rows}{5}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{columns}{5}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{scale}{1}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{counterstyle}{none}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{bgcolor}{}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{width}{6.5cm}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{cvoffset}{-38pt}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{title}{}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@LB@init@prefix}{\LP@LB@init@package}{titlewidth}{6.5cm}% +\LP@define@choicekey@fontsize{\LP@LB@init@prefix}{\LP@LB@init@package}{Large}% +% +\LP@init@counter{\LP@LB@init@prefix}% +% +\let\laserH\LP@toprow% +\let\laserV\LP@leftcolumn% +\let\mirrorH\LP@bottomrow@edge% +\let\mirrorV\LP@rightcolumn@edge% +% +\newcommand*\laser[2][red]% +{% + % avoid little laser peaks outside grid + \clip (1,1) rectangle (\arabic{LP@LB@columns},\arabic{LP@LB@rows}); + \framearea{#1}{#2}% +}% +% +\newcommand*\laserbeamsetup[1]% +{% + \setkeys{laserbeam.sty}{#1}% +}% +% +\newenvironment{laserbeam}[1][]% +{% + \setkeys{laserbeam}{#1}% + \LP@set@package{laserbeam}% + \LP@set@env@prefix{LP@LB}% + \setcounter{LP@LB@rows}{\LP@LB@rows}% + \setcounter{LP@LB@columns}{\LP@LB@columns}% + \stepcounter{LP@LB@rows}% + \stepcounter{LP@LB@columns}% + \begin{minipage}[t]{\LP@LB@width}% + \ifthenelse{\equal{\LP@LB@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@LB@titleindent}\parbox{\LP@LB@titlewidth}{\strut\LP@titleformat\LP@LB@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@LB@scale]% + \LP@drawbackground{1}{1}{\LP@LB@columns}{\LP@LB@rows}{\LP@LB@bgcolor}% + \LP@drawgrid{1}{1}{\LP@LB@columns}{\LP@LB@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@LB@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% lpsudoku environment and options +% +\newcommand*\LP@SDK@init@prefix{LP@SDK}% +\newcommand*\LP@SDK@init@package{lpsudoku}% +% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{rows}{9}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{columns}{9}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{scale}{1}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{counterstyle}{none}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{bgcolor}{}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{width}{9.1cm}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{title}{}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@SDK@init@prefix}{\LP@SDK@init@package}{titlewidth}{9.1cm}% +\LP@define@choicekey@fontsize{\LP@SDK@init@prefix}{\LP@SDK@init@package}{Large}% +% +\LP@init@counter{\LP@SDK@init@prefix}% +% +\let\lpsudokucell\setcell% +% +\newcommand*\lpsudokusetup[1]% +{% + \setkeys{lpsudoku.sty}{#1}% +}% +% +\newenvironment{lpsudoku}[1][]% +{% + \setkeys{lpsudoku}{#1}% + \LP@set@package{lpsudoku}% + \LP@set@env@prefix{LP@SDK}% + \setcounter{LP@SDK@rows}{\LP@SDK@rows}% + \setcounter{LP@SDK@columns}{\LP@SDK@columns}% + \stepcounter{LP@SDK@rows}% + \stepcounter{LP@SDK@columns}% + \begin{minipage}[t]{\LP@SDK@width}% + \ifthenelse{\equal{\LP@SDK@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@SDK@titleindent}\parbox{\LP@SDK@titlewidth}{\strut\LP@titleformat\LP@SDK@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@SDK@scale]% + \LP@drawbackground{1}{1}{\LP@SDK@columns}{\LP@SDK@rows}{\LP@SDK@bgcolor}% + \LP@drawgrid{1}{1}{\LP@SDK@columns}{\LP@SDK@rows}{1cm}% + \LP@drawsudokugrid% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% minesweeper environment and options +% +\newcommand*\LP@MS@init@prefix{LP@MS}% +\newcommand*\LP@MS@init@package{minesweeper}% +% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{rows}{5}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{columns}{5}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{scale}{1}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{counterstyle}{none}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{bgcolor}{}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{width}{5.1cm}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{title}{}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@MS@init@prefix}{\LP@MS@init@package}{titlewidth}{5.1cm}% +\LP@define@choicekey@fontsize{\LP@MS@init@prefix}{\LP@MS@init@package}{Large}% +% +\LP@init@counter{\LP@MS@init@prefix}% +% +\let\minesweepercell\setcell% +% +\newcommand*\minesweepersetup[1]% +{% + \setkeys{minesweeper.sty}{#1}% +}% +% +\newenvironment{minesweeper}[1][]% +{% + \setkeys{minesweeper}{#1}% + \LP@set@package{minesweeper}% + \LP@set@env@prefix{LP@MS}% + \setcounter{LP@MS@rows}{\LP@MS@rows}% + \setcounter{LP@MS@columns}{\LP@MS@columns}% + \stepcounter{LP@MS@rows}% + \stepcounter{LP@MS@columns}% + \begin{minipage}[t]{\LP@MS@width}% + \ifthenelse{\equal{\LP@MS@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@MS@titleindent}\parbox{\LP@MS@titlewidth}{\strut\LP@titleformat\LP@MS@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@MS@scale]% + \LP@drawbackground{1}{1}{\LP@MS@columns}{\LP@MS@rows}{\LP@MS@bgcolor}% + \LP@drawgrid{1}{1}{\LP@MS@columns}{\LP@MS@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@MS@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% skyline environment and options +% +\newcommand*\LP@SL@init@prefix{LP@SL}% +\newcommand*\LP@SL@init@package{skyline}% +% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{rows}{5}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{columns}{5}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{scale}{1}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{counterstyle}{none}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{bgcolor}{}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{width}{6.7cm}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{cvoffset}{-38pt}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{title}{}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{titleindent}{0.75cm}% +\LP@define@key{\LP@SL@init@prefix}{\LP@SL@init@package}{titlewidth}{5.85cm}% +\LP@define@choicekey@fontsize{\LP@SL@init@prefix}{\LP@SL@init@package}{Large}% +% +\newcommand*\LP@SL@sudoku{false}% +% +\define@choicekey*{skyline.sty}{sudoku}[\LP@SL@sudoku\nr]{true,false}[true]% +{% + \ifcase\nr\relax% + \renewcommand*\LP@SL@sudoku{true}% + \renewcommand*\LP@SL@rows{9}% + \renewcommand*\LP@SL@columns{9}% + \or% + \renewcommand*\LP@SL@sudoku{false}% + \fi% +}% +% +\define@choicekey*{skyline}{sudoku}[\LP@SL@sudoku\nr]{true,false}[true]% +{% + \ifcase\nr\relax% + \renewcommand*\LP@SL@sudoku{true}% + \renewcommand*\LP@SL@rows{9}% + \renewcommand*\LP@SL@columns{9}% + \or% + \renewcommand*\LP@SL@sudoku{false}% + \fi% +}% +% +\LP@init@counter{\LP@SL@init@prefix}% +% +\let\skylineB\LP@bottomrow% +\let\skylineT\LP@toprow% +\let\skylineL\LP@leftcolumn% +\let\skylineR\LP@rightcolumn% +\let\skylinecell\setcell% +% +\newcommand*\skylinesetup[1]% +{% + \setkeys{skyline.sty}{#1}% +}% +% +\newenvironment{skyline}[1][]% +{% + \setkeys{skyline}{#1}% + \LP@set@package{skyline}% + \LP@set@env@prefix{LP@SL}% + \setcounter{LP@SL@rows}{\LP@SL@rows}% + \setcounter{LP@SL@columns}{\LP@SL@columns}% + \stepcounter{LP@SL@rows}% + \stepcounter{LP@SL@columns}% + \begin{minipage}[t]{\LP@SL@width}% + \ifthenelse{\equal{\LP@SL@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@SL@titleindent}\parbox{\LP@SL@titlewidth}{\strut\LP@titleformat\LP@SL@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@SL@scale]% + \LP@drawbackground{1}{1}{\LP@SL@columns}{\LP@SL@rows}{\LP@SL@bgcolor}% + \LP@drawgrid{1}{1}{\LP@SL@columns}{\LP@SL@rows}{1cm}% + \ifthenelse{\equal{\LP@SL@sudoku}{true}}% + {\LP@drawsudokugrid}% + {}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@SL@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% slitherlink environment and options +% +\newcommand*\LP@SK@init@prefix{LP@SK}% +\newcommand*\LP@SK@init@package{slitherlink}% +% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{rows}{5}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{columns}{5}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{scale}{1}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{counterstyle}{none}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{bgcolor}{}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{width}{5.2cm}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{title}{}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@SK@init@prefix}{\LP@SK@init@package}{titlewidth}{5.2cm}% +\LP@define@choicekey@fontsize{\LP@SK@init@prefix}{\LP@SK@init@package}{Large}% +% +\LP@init@counter{\LP@SK@init@prefix}% +% +\let\slitherlinkcell\setcell% +% +\newcommand*\slitherlinksetup[1]% +{% + \setkeys{slitherlink.sty}{#1}% +}% +% +\newenvironment{slitherlink}[1][]% +{% + \setkeys{slitherlink}{#1}% + \LP@set@package{slitherlink}% + \LP@set@env@prefix{LP@SK}% + \ifthenelse{\equal{\LP@grid@linestyle}{}}% + {\setgridlinestyle{dashed}}{}% + \setcounter{LP@SK@rows}{\LP@SK@rows}% + \setcounter{LP@SK@columns}{\LP@SK@columns}% + \stepcounter{LP@SK@rows}% + \stepcounter{LP@SK@columns}% + \begin{minipage}[t]{\LP@SK@width}% + \ifthenelse{\equal{\LP@SK@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@SK@titleindent}\parbox{\LP@SK@titlewidth}{\strut\LP@titleformat\LP@SK@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@SK@scale]% + \LP@drawbackground{1}{1}{\LP@SK@columns}{\LP@SK@rows}{\LP@SK@bgcolor}% + \LP@drawgrid{1}{1}{\LP@SK@columns}{\LP@SK@rows}{1cm}% + \LP@drawgriddots% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@SK@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +% tunnel environment and options +% +\newcommand*\LP@TN@init@prefix{LP@TN}% +\newcommand*\LP@TN@init@package{tunnel}% +% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{rows}{5}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{columns}{5}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{scale}{1}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{counterstyle}{none}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{bgcolor}{}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{width}{5.9cm}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{cvoffset}{-23pt}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{title}{}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{titleindent}{0cm}% +\LP@define@key{\LP@TN@init@prefix}{\LP@TN@init@package}{titlewidth}{5.9cm}% +\LP@define@choicekey@fontsize{\LP@TN@init@prefix}{\LP@TN@init@package}{Large}% +% +\LP@init@counter{\LP@TN@init@prefix}% +% +\let\tunnelH\LP@toprow% +\let\tunnelV\LP@leftcolumn% +% +\newcommand*\tunnelsetup[1]% +{% + \setkeys{tunnel.sty}{#1}% +}% +% +\newenvironment{tunnel}[1][]% +{% + \setkeys{tunnel}{#1}% + \LP@set@package{tunnel}% + \LP@set@env@prefix{LP@TN}% + \setcounter{LP@TN@rows}{\LP@TN@rows}% + \setcounter{LP@TN@columns}{\LP@TN@columns}% + \stepcounter{LP@TN@rows}% + \stepcounter{LP@TN@columns}% + \begin{minipage}[t]{\LP@TN@width}% + \ifthenelse{\equal{\LP@TN@title}{}}% + {\par\enspace\par}% empty + {\enspace\par\noindent\hspace{\LP@TN@titleindent}\parbox{\LP@TN@titlewidth}{\strut\LP@titleformat\LP@TN@title}\vspace{3mm}\par}% + \begin{tikzpicture}[scale=\LP@TN@scale]% + \LP@drawbackground{1}{1}{\LP@TN@columns}{\LP@TN@rows}{\LP@TN@bgcolor}% + \LP@drawgrid{1}{1}{\LP@TN@columns}{\LP@TN@rows}{1cm}% +}% +{% + \end{tikzpicture}% + \LP@drawcounter{\LP@TN@counterstyle}% + \stepcounter{LP@puzzlecounter}% + \end{minipage}% +}% +% +\endinput%
\ No newline at end of file |