From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/rubik/rubikpatterns.dtx | 609 +++++++++++++++++++++++++++
 1 file changed, 609 insertions(+)
 create mode 100644 macros/latex/contrib/rubik/rubikpatterns.dtx

(limited to 'macros/latex/contrib/rubik/rubikpatterns.dtx')

diff --git a/macros/latex/contrib/rubik/rubikpatterns.dtx b/macros/latex/contrib/rubik/rubikpatterns.dtx
new file mode 100644
index 0000000000..26995cce27
--- /dev/null
+++ b/macros/latex/contrib/rubik/rubikpatterns.dtx
@@ -0,0 +1,609 @@
+% \iffalse meta-comment
+%
+% rubikpatterns.dtx
+%
+% version 5.0
+%
+% Authors: RWD Nickalls (dick@nickalls.org) 
+%        and Apostolos Syropoulos (asyropoulos@yahoo.com)
+%
+% Copyright   25 February 2018  RWD Nickalls + A Syropoulos
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any
+% later version. The latest version of this licence is in 
+%
+%       http://www.latex-project.org/lppl.txt
+%
+%<*readme>
+%
+% The rubikpatterns package provides a collection of LaTeX commands and macros 
+% for the typesetting of Rubik cube configurations and rotation 
+% sequences using the TikZ graphic language.
+%
+% Please report errors or suggestions for improvement to
+%
+%         Dick Nickalls or Apostolos Syropoulos
+%
+% This package requires the basic TikZ package to be loaded already
+%</readme>
+%
+%<*driver>
+\listfiles
+\documentclass{ltxdoc}
+\IfFileExists{rubikpatterns.sty}{\usepackage{rubikpatterns}}{%
+    \GenericWarning{rubikpatterns.dtx}{Package file rubikpatterns.sty not found.
+    Documentation will be messed up!^^J
+    (Generate rubikpatterns.sty by (La)TeXing rubikpatterns.ins, and then^^J
+    process rubikpatterns.dtx again)^^J}\stop
+}%
+\pagestyle{myheadings}
+\markright{\texttt{rubikpatterns} \ \ (Rubik bundle v5.0, 2018) \ \ \texttt{www.ctan.org/pkg/rubik}}
+\usepackage{ifpdf}
+\usepackage{url,path}  %% for references and paths
+\usepackage{graphicx}  %% for the two pdf figs
+\usepackage{hypdoc}    %% for pdf bookmarks + hyperref documenting of packages
+%%\OnlyDescription
+\EnableCrossrefs
+\PageIndex
+\CodelineIndex
+\CodelineNumbered
+\RecordChanges
+\setcounter{StandardModuleDepth}{1}
+\begin{document}
+  \DocInput{rubikpatterns.dtx}
+  \PrintChanges
+  \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+%
+% 
+%%% \CheckSum{187}
+%
+%%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%
+%
+%
+% \title{%
+%       \ifpdf\pdfbookmark[1]{Title}{Title}\else\fi%
+%       The \textsc{rubikpatterns} package}
+%
+% \author{
+%      RWD Nickalls (dick@nickalls.org) \\
+%     A Syropoulos (asyropoulos@yahoo.com)
+%       }
+%  \date{This file describes version \RPfileversion\ (\RPfiledate)\\
+%  \texttt{www.ctan.org/pkg/rubik}}
+%  \maketitle
+%
+%  \begin{abstract}
+%  The \rubikpatterns\ package is a small data-base of well-known named 
+%  Rubik patterns and associated rotation sequences, for use  in conjunction 
+%  with the other Rubik `bundle' packages. 
+%  \end{abstract}
+%
+%
+%  \tableofcontents
+%
+% \pagebreak
+%
+% \section{Introduction}
+%
+%  The \textsc{rubikpatterns}  package is a small a data-base of well-known  Rubik 
+%  rotation sequences  for use  in  conjunction with the Rubik bundle packages. 
+%  These rotation sequences, which are well-known and  widely available, 
+%  were  sourced from the Rubik-related
+%  websites  of Reid M and Kociemba H (see References for URLs). 
+%
+%
+%
+%      \section{Requirements}
+%
+%  The \textsc{rubikpatterns} package requires (a)~the TikZ package, since it makes  
+%  use  of the TikZ picture environment, (b)~the \textsc{rubikcube} package, and 
+%  (c)~the \textsc{rubikrotation} package, since it uses
+%  the Perl program \texttt{rubikrotation.pl}.
+%  The \verb!TikZ! package must be loaded \textit{before} the \textsc{rubikcube}  package.
+%  The \textsc{rubikrotation}  package  requires  Perl to be installed.
+%
+%
+%
+%   \section{Installation}
+%
+%
+% The Rubik bundle consists of the four packages \textsc{rubikcube}, \textsc{rubikrotation},
+% \textsc{rubikpatterns} and  \textsc{rubiktwocube}.
+%
+% Here we describe only the installation of the \textsc{rubikpatterns} package, 
+% which  consists of the  following files:
+%\begin{quote}
+% \begin{verbatim}
+% rubikpatterns.ins
+% rubikpatterns.dtx
+% rubikpatterns.pdf       --this document
+% rubikpatternsLIST.tex
+% rubikpatternsLIST.pdf   --a graphic list of all patterns in this package  
+% rubikpatterns-doc-figA.pdf
+%\end{verbatim}
+%\end{quote}
+% The package documentation is the file \texttt{rubikpatterns.pdf}.
+%  The  style option \texttt{rubikpatterns.sty} is generated  by  running (pdf)\LaTeX\ on  
+% the file \texttt{rubikpatterns.ins}  as follows:
+%\begin{quote}
+%\begin{verbatim}
+%   pdflatex  rubikpatterns.ins 
+%\end{verbatim}
+%\end{quote}
+% The documentation file (\texttt{rubikpatterns.pdf}) is then generated using the following 
+% sequence of steps\,\footnote{Since the documentation includes a complicated indexing 
+% system as well a \textsc{pdf} index and hyperef links (the package \texttt{hypdoc}
+%  is used), then a lot of pdflatex runs are required. Prior to the first run it is
+% a good idea to delete any relevant \texttt{.toc}, \texttt{.aux}, \texttt{.out} files.}:
+%\begin{quote}
+% \begin{verbatim}
+%  pdflatex    rubikpatterns.dtx
+%  pdflatex    rubikpatterns.dtx
+%  makeindex -s gind.ist  rubikpatterns
+%  makeindex -s gglo.ist -o rubikpatterns.gls  rubikpatterns.glo
+%  pdflatex    rubikpatterns.dtx
+%  pdflatex    rubikpatterns.dtx
+%\end{verbatim}
+%\end{quote}
+%
+%
+% 
+%  \subsection{Placing the files}
+% \label{sec:placingfiles}
+%
+% Place the files either in a working directory, or where your system 
+% will find them, e.g.,~in your \texttt{/texmf-local/} directory tree. 
+% For example, on a Linux platform with a standard \TeX\ Directory Structure (TDS), then:
+%
+%\medskip
+%{\noindent}*.sty  $\rightarrow$  \texttt{/usr/local/texlive/texmf-local/tex/latex/rubik/}
+%{\newline}*.pdf  $\rightarrow$  \texttt{/usr/local/texlive/texmf-local/doc/rubik/}
+%
+%\medskip
+%
+%\medskip
+%{\noindent}\textsc{file database}:\ \ Finally, (depending on your system) update the 
+% \TeX\ file database. 
+% For example, on a Linux platform  this is achieved using the \texttt{texhash} command.
+%
+% 
+%  \subsection{The  rubikpatternsLIST file}
+%
+
+% Note that the package includes a  `rubikpatternsLIST' file (\texttt{rubikpatternsLIST.pdf}), 
+% as well  as the source file  (\texttt{rubikpatternsLIST.tex}), and
+%  associated  \texttt{.sh} (Linux) and \texttt{.bat} (Microsoft) batch 
+% files, which can be used to facilitate processing the  source \texttt{.tex} file. 
+% The file \texttt{rubikpatternsLIST.pdf} showcases the  Rubik cube 
+% patterns made available in this package.
+%
+% Note that should you need to generate the file \texttt{rubikpatternsLIST.pdf} 
+% from the  source file (\texttt{rubikpatternsLIST.tex}) you will require
+% the \textsc{rubikcube} and  \textsc{rubikrotation} packages to be installed,
+%  and will also need to use the \verb!--shell-escape! command-line 
+% option  (see Section~\ref{sec:rubikrotation} for details). 
+%
+%
+%
+%
+%
+%       \subsection{Usage}
+% \label{sec:usage}
+% Load the  packages \textsc{rubikcube}, 
+%  \textsc{rubikrotation} and \textsc{rubikpatterns} in the \TeX\ file preamble  \textit{after} loading 
+% the TikZ package; for example, as follows: 
+%\begin{quote}
+% \begin{verbatim}
+% \usepackage{tikz}
+% \usepackage{rubikcube,rubikrotation,rubikpatterns}
+%\end{verbatim}
+%\end{quote}
+% Since the sequence macros made available  by this package are accessed using commands 
+% provided by the \textsc{rubikcube} and \textsc{rubikrotation} packages, please read the 
+% documentation of these  packages.
+%
+%
+% 
+%   \section{Rubik patterns}
+%
+% A Rubik pattern  is the configuration generated by a sequence of rotations 
+% (or `moves') from some initial starting configuration (typically a `solved' 
+% configuration). For example, `sixspot' is a well known pattern  generated  
+% from a solved Rubik cube by the  rotation sequence  
+% \texttt{U,Dp,R,Lp,F,Bp,U,Dp}, as follows:
+%
+% \bigskip
+%
+% \noindent\begin{minipage}{\textwidth}
+% \centering
+% \ifpdf
+%   \includegraphics[height=3cm]{rubikpatterns-doc-figA.pdf}
+% \else
+% \fi
+% \end{minipage}
+%
+% \bigskip
+%
+% {\noindent}The code for the above image is as follows:
+%
+%\begin{verbatim}
+% \noindent\hfil%
+% \RubikCubeSolvedWB% 
+% \ShowCube{2.4cm}{0.6}{\DrawRubikCubeRU}%
+% \RubikRotation{\SixSpot}%
+% \quad\SequenceBraceA{sixspot}{\ShowSequence{}{\Rubik}{\SequenceLong}}\quad%
+% \ShowCube{2.4cm}{0.6}{\DrawRubikCubeRU}%
+% \hfil%
+%\end{verbatim}
+%
+% \bigskip
+%
+% Note that the  appearance of a pattern generated by  a given 
+% rotation sequence is, of course, sensitive  to (a)~the particular colour 
+% configuration of the solved cube used, and (b)~the initial  orientation of 
+% the Rubik cube.
+% 
+% 
+% Consequently the appearance generated  by a given sequence
+% may appear  slightly different from 
+% that on some websites, although the  colour configuration (pattern's \textit{geometry})   
+% will, of course, be the same  (isomorphic). You may therefore need 
+% to adjust the pre- (and possibly the post-)  x,y,z rotations in 
+% order to obtain  a particular configuration as displayed elsewhere.
+%
+%
+%  \subsection{Sequence macros}
+%
+% Each of the  rotation sequences of `patterns'  made available by the 
+% \textsc{rubikpatterns} package is defined in  the file \texttt{rubikpatterns.sty}  
+% in the following  compact macro form.
+% For~example, the rotation sequence associated with the pattern known 
+% as `SixSpot' (shown in the figure above) is defined as follows:
+%\begin{verbatim}
+%\newcommand{\SixSpot}{[SixSpot],U,Dp,R,Lp,F,Bp,U,Dp,<(8q*, 8f*)>}
+%\newcommand{\sixspot}{\SixSpot}
+%\end{verbatim}
+% The macro name is \verb!\SixSpot! (the lower-case version \verb!\sixspot! can also be used). 
+% Note that the second argument which 
+% includes the  rotation sequence, also includes the pattern name in 
+% square brackets \verb![SixSpot]!  as the first element in the sequence.
+% Additional metadata (held by the macro \verb!\SequenceInfo!) is appended 
+% in angle brackets (separated by a comma) as follows: \verb!<(8q*, 8f*)>!.
+% For  details see  the \textsc{rubikrotation} package documentation.
+%
+%
+%
+%   \subsection{List of macros}
+%
+% The following is a list of the macro names of all the Rubik patterns supplied by
+% the \textsc{rubikpatterns} package.  Note that for convenience each macro-name listed
+% has an equivalent lower-case version. See the companion file \texttt{rubikpatternsLIST.pdf}
+% for a detailed list  showing  each pattern  and its associated 
+% sequence\,\footnote{We show all these images in a separate
+% file (\texttt{rubikpatternsLIST.pdf}) purely because  generating them requires 
+% using the \LaTeX\ command-line  option \texttt{--shell-escape} in conjunction 
+% with the \textsc{rubikrotation} package.}. 
+%
+%  All the pattern names encoded here (as macros) are  well-known and widely available. 
+% However, some pattern names have been slightly modified
+% in order to avoid spaces and to keep them as similar to the original as possible.
+% On finding different sequences which generate the same pattern, then the  
+% shortest  sequence has been selected   (they can be readily distinguished by their metadata).
+% 
+% Finally, we note that there is a serious need for a standardised one-word nomenclature 
+% in order to  avoid confusion, and to facilitate computerisation and an electronic database.
+% Such a notation also needs to accommodate  those sequence variations which generate the same pattern.
+% We welcome suggestions and/or help for improvement.
+
+%
+%\begin{verbatim}
+%  \PonsAsinorum
+%  \CheckerboardsThree
+%  \CheckerboardsSix
+%  \Stripes
+%  \CubeInCube
+%  \CubeInCubeInCube
+%  \ChristmasCross
+%  \PlummersCross
+%  \Anaconda
+%  \Python
+%  \BlackMamba
+%  \GreenMamba
+%  \FemaleRattlesnake
+%  \MaleRattlesnake
+%  \FemaleBoa
+%  \MaleBoa
+%  \FourSpot
+%  \SixSpot
+%  \OrthogonalBars
+%  \SixTs
+%  \SixTwoOne
+%  \ExchangedPeaks
+%  \TwoTwistedPeaks
+%  \FourTwistedPeaks
+%  \ExchangedChickenFeet
+%  \TwistedChickenFeet
+%  \ExchangedRings
+%  \TwistedRings
+%  \EdgeHexagonTwo
+%  \EdgeHexagonThree
+%  \TomParksPattern
+%  \RonsCubeInCube
+%  \TwistedDuckFeet
+%  \ExchangedDuckFeet
+%  \Superflip
+%\end{verbatim}
+%
+% Note that  the particular  superflip sequence made available by this package 
+% (shown in \texttt{rubikpatternsLIST.pdf}) is due to  Reid (1995), and is detailed 
+% on the Kociemba webpage  \texttt{http://www.kociemba.org/math/oh.htm}. Indeed, this was the 
+% first sequence to define the `20-move' (HTM) upper boundary for solving a Rubik cube 
+% (see  Rokicki \textit{et~al.}, 2013). 
+%
+% The superflip configuration is also significant  since it is its own inverse. 
+% For example, the following two \verb!\RubikRotation! commands will generate the same 
+% configuration (starting from a solved cube):
+%\begin{verbatim}
+% \RubikRotation{\superflip}
+% \RubikRotation{\superflip,<inverse>}
+%\end{verbatim}
+% This property  is shown as  one of the examples in the Rubik bundle  file \texttt{rubikexamples.pdf}.
+%
+%
+%
+%     \section{Change history}
+%
+% \begin{itemize}
+%
+% \item Version 4.0 (March 2017)
+%
+% --- First release of this package.
+%
+% \end{itemize}
+%
+%
+%
+%   \section{References}
+%     \label{sec:references}
+%
+%\begin{itemize}
+%
+% \item Fridrich website (Fridrich J). 
+% See the `Pretty patterns'  webpage \url{http://www.ws.binghamton.edu/fridrich/ptrns.html}
+%
+% \item  Kociemba website (Kociemba H).  \url{http://www.kociemba.org/cube.htm}
+% {\newline}---for superflip see: \url{http://www.kociemba.org/math/oh.htm}
+%
+% \item Randelshofer website (Randelshofer W).  Pretty patterns. 
+% \url{http://www.randelshofer.ch/rubik/patterns/U080.01.html}
+%
+% \item Reid M. \  Patterns.  \url{http://www.cflmath.com/Rubik/patterns.html}
+%
+% \item Reid M. (1995). Superflip requires 20 face turns. (January 1995) 
+%   \url{http://www.math.ucf.edu/~reid/Rubik/CubeLovers/} 
+%  (see Section~\ref{sec:superflip})  
+% {\newline}[cited from Rokicki \textit{et~al.}, 2013]. 
+% {\newline}(Note: easier to use is the following html indexed version of the 
+% archive of the Cube-Lovers usenet group (1982--1997)  
+% \url{http://www.math.rwth-aachen.de/~Martin.Schoenert/Cube-Lovers/})
+%
+%  \item Rokicki T, Kociemba H, Davidson M and Dethridge J (2013). The diameter of the Rubik's 
+%  cube is twenty.  \textit{SIAM.\ J.\ Discrete Math.}, \textbf{27}, 1082--1105. 
+%   \url{http://tomas.rokicki.com/rubik20.pdf}
+%
+%\end{itemize}
+% 
+%
+%
+%
+% ^^A ==================================================
+% \StopEventually{\PrintIndex}
+%
+%
+%
+%        \section[The code]{The code (\texttt{rubikpatterns.sty})} 
+%
+% 
+%   \subsection{Package heading}
+%   \label{sec:CodePackageHeading}
+%
+%    \begin{macrocode}
+%<*rubikpatterns>
+\def\RPfileversion{5.0}%
+\def\RPfiledate{2018/02/25}%  25 February 2018
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{rubikpatterns}[\RPfiledate\space (v\RPfileversion)]
+%    \end{macrocode}
+%
+%
+%    \begin{macro}{\rubikpatterns}
+% First we create a suitable logo
+%    \begin{macrocode}
+\newcommand{\rubikpatterns}{\textsc{rubikpatterns}}
+%    \end{macrocode}
+%    \end{macro}
+%
+%   \subsection{Patterns}
+%   \label{sec:patternscode}
+%
+%
+%
+%
+%  \subsubsection{Superflip}
+%   \label{sec:superflip}
+%
+% This particular superflip sequence is from the Kociemba website (his Oh webpage). 
+% It is due to  Reid (1995).
+%  \begin{macrocode}
+\newcommand{\Superflip}{[Superflip],Dp,R2,Fp,D2,F2,U2,Lp,R,Dp,R2,B,F,Rp,%
+U2,Lp,F2,Rp,U2,Rp,Up,<(20f*)>}%
+\newcommand{\superflip}{\Superflip}
+%    \end{macrocode}
+%
+%
+%  \subsubsection{Reid data}
+%
+% These named sequences are derived from the Reid website. 
+%  \begin{macrocode}
+\newcommand{\PonsAsinorum}{[PonsAsinorum],F2,B2,R2,L2,U2,D2,%
+   <(12q*, 6f*)>}%
+\newcommand{\ponsasinorum}{\PonsAsinorum}%
+\newcommand{\CheckerboardsThree}%
+   {[CheckerboardsThree],F,B2,Rp,D2,B,R,U,Dp,R,Lp,Dp,Fp,R2,D,F2,Bp,%
+   <(20q*, 16f*), order 3>}%  
+\newcommand{\checkerboardsthree}{\CheckerboardsThree}%
+\newcommand{\CheckerboardsSix}%
+   {[CheckerboardsSix],R2,L2,U,B,L2,Dp,F,B2,R,Lp,Fp,B,R,D,F2,Lp,Up,%
+   <(17f*, 22q), order 6>}%  
+\newcommand{\checkerboardssix}{\CheckerboardsSix}%
+\newcommand{\Stripes}{[Stripes],F,U,F,R,L2,B,Dp,R,D2,L,Dp,B,R2,L,F,U,F,%
+   <(20q*, 17f*)>}%  
+\newcommand{\stripes}{\Stripes}%
+\newcommand{\CubeInCube}{[CubeInCube],F,L,F,Up,R,U,F2,L2,Up,Lp,B,Dp,Bp,L2,U,%
+   <(18q*, 15f*)>}%  
+\newcommand{\cubeincube}{\CubeInCube}%
+\newcommand{\CubeInCubeInCube}%
+   {[CubeInCubeInCube],Fp,U,Bp,Rp,U,F2,U2,Fp,Up,F,U2,D,Bp,Dp,R2,B2,Up,%
+   <(17f*, 22q)>}%  
+\newcommand{\cubeincubeincube}{\CubeInCubeInCube}%
+\newcommand{\ChristmasCross}{[ChristmasCross],U,F,Bp,L2,U2,L2,Fp,B,U2,L2,U,%
+   <(16q*, 11f*)>}%  
+\newcommand{\christmascross}{\ChristmasCross}%
+\newcommand{\PlummersCross}%
+   {[PlummersCross],R2,Lp,D,F2,Rp,Dp,Rp,L,Up,D,R,D,B2,Rp,U,D2,%
+   <(20q*, 16f*)>}%  
+\newcommand{\plummerscross}{\PlummersCross}%
+\newcommand{\Anaconda}{[Anaconda],L,U,Bp,Up,R,Lp,B,Rp,F,Bp,D,R,Dp,Fp,%
+   <(14q*, 14f*)>}%  
+\newcommand{\anaconda}{\Anaconda}%
+\newcommand{\Python}{[Python],F2,Rp,Bp,U,Rp,L,Fp,L,Fp,B,Dp,R,B,L2,%
+   <(16q*, 14f*)>}%  
+\newcommand{\python}{\Python}%
+\newcommand{\BlackMamba}{[BlackMamba],R,D,L,Fp,R,Lp,D,Rp,U,Dp,B,Up,Rp,Dp,%
+   <(14q*, 14f*)>}%  
+\newcommand{\blackmamba}{\BlackMamba}%
+\newcommand{\GreenMamba}{[GreenMamba],R,D,R,F,Rp,Fp,B,D,Rp,Up,Bp,U,D2,%
+   <(14q*, 13f*)>}%    
+\newcommand{\greenmamba}{\GreenMamba}%
+\newcommand{\FemaleRattlesnake}%
+   {[FemaleRattlesnake],U2,Dp,L2,D,B,U,Bp,Rp,L2,U2,F,Up,F,R,%
+   <(18q*, 14f*)>}%  
+\newcommand{\femalerattlesnake}{\FemaleRattlesnake}%
+\newcommand{\MaleRattlesnake}%
+   {[MaleRattlesnake],Rp,Fp,U,Fp,U2,R,L2,B,Up,Bp,Dp,L2,U2,D,%
+   <(18q*, 14f*)>}%  
+\newcommand{\malerattlesnake}{\MaleRattlesnake}%
+\newcommand{\FemaleBoa}{[FemaleBoa],R,Up,R2,U2,F,D2,R2,Up,Dp,R,Dp,Fp,%
+   <(16q*, 12f*)>}%  
+\newcommand{\femaleboa}{\FemaleBoa}%
+\newcommand{\MaleBoa}{[MaleBoa],F,D,Rp,U,D,R2,D2,Fp,U2,R2,U,Rp,%
+   <(16q*, 12f*)>}%  
+\newcommand{\maleboa}{\MaleBoa}%
+\newcommand{\FourSpot}{[FourSpot],F2,B2,U,Dp,R2,L2,U,Dp,%
+   <(12q*, 8f*)>}%  
+\newcommand{\fourspot}{\FourSpot}%
+\newcommand{\SixSpot}{[SixSpot],U,Dp,R,Lp,F,Bp,U,Dp,%
+   <(8q*, 8f*)>}%  
+\newcommand{\sixspot}{\SixSpot}%
+\newcommand{\OrthogonalBars}%
+   {[OrthogonalBars],F,Rp,U,L,Fp,Lp,F,Up,R,U,Lp,Up,L,Fp,%
+   <(14q*, 14f*)>}%  
+\newcommand{\orthogonalbars}{\OrthogonalBars}%
+\newcommand{\SixTs}{[SixTs],F2,R2,U2,Fp,B,D2,L2,F,B,%
+   <(14q*, 9f*)>}% 
+\newcommand{\sixts}{\SixTs}%
+\newcommand{\SixTwoOne}{[SixTwoOne],U,B2,D2,L,Bp,Lp,Up,Lp,B,D2,B2,%
+   <(15q*, 11f*)>}%  
+\newcommand{\sixtwoone}{\SixTwoOne}%
+\newcommand{\ExchangedPeaks}%
+   {[ExchangedPeaks],F2,R2,D,R2,U,D,F2,Dp,Rp,Dp,F,L2,Fp,D,R,Up,%
+   <(16f*, 21q)>}%  
+\newcommand{\exchangedpeaks}{\ExchangedPeaks}%
+\newcommand{\TwoTwistedPeaks}%
+   {[TwoTwistedPeaks],F,D2,B,R,Bp,Lp,F,Dp,L2,F2,R,Fp,Rp,F2,Lp,Fp,%
+   <(16f*, 20q)>}%
+\newcommand{\twotwistedpeaks}{\TwoTwistedPeaks}%
+\newcommand{\FourTwistedPeaks}%
+   {[FourTwistedPeaks],Up,D,B,Rp,F,R,Bp,Lp,Fp,B,L,F,Rp,Bp,R,Fp,Up,D,%
+   <(18q*, 18f*)>}%
+\newcommand{\fourtwistedpeaks}{\FourTwistedPeaks}%
+\newcommand{\ExchangedChickenFeet}%
+   {[ExchangedChickenFeet],F,Lp,Dp,Bp,L,F,U,Fp,Dp,F,L2,Bp,Rp,U,L2,Dp,F,%
+   <(19q*, 17f*)>}%
+\newcommand{\exchangedchickenfeet}{\ExchangedChickenFeet}%
+\newcommand{\TwistedChickenFeet}%
+   {[TwistedChickenFeet],F,Lp,D,Fp,Up,B,U,F,Up,F,Rp,F2,L,Up,Rp,D2,%
+   <(18q*, 16f*)>}%
+\newcommand{\twistedchickenfeet}{\TwistedChickenFeet}%
+\newcommand{\ExchangedRings}%
+   {[ExchangedRings],F,U,Dp,Lp,B2,L,Up,D,F,U,R2,L2,Up,L2,F2,%
+   <(15f*, 20q)>}%
+\newcommand{\exchangedrings}{\ExchangedRings}%
+\newcommand{\TwistedRings}%
+   {[TwistedRings],F,D,Fp,D2,Lp,Bp,U,L,D,R,U,Lp,Fp,U,L,U2,%
+   <(18q*, 16f*)>}%
+\newcommand{\twistedrings}{\TwistedRings}%
+\newcommand{\EdgeHexagonTwo}%
+   {[EdgeHexagonTwo],U,B2,Up,Fp,Up,D,Lp,D2,L,U,Dp,F,Dp,L2,B2,Dp,%
+   <(20q*, 16f*) order2>}% 
+\newcommand{\edgehexagontwo}{\EdgeHexagonTwo}%
+\newcommand{\EdgeHexagonThree}%
+   {[EdgeHexagonThree],F,L,B,U,L,F2,B2,Rp,F2,B2,Up,Bp,Lp,Fp,%
+   <(14f*, 18q) order 3>}%
+\newcommand{\edgehexagonthree}{\EdgeHexagonThree}%
+\newcommand{\TomParksPattern}%
+   {[TomParksPattern],L,U,F2,R,Lp,U2,Bp,U,D,B2,L,F,Bp,Rp,L,Fp,R,%
+   <(20q*, 17f*)>}%
+\newcommand{\tomparkspattern}{\TomParksPattern}%
+\newcommand{\RonsCubeInCube}%
+   {[RonsCubeInCube],L2,D2,Lp,D2,B2,L2,B2,Lp,D2,L2,B2,Lp,B2,%
+   <(13f*, 23q)>}%
+\newcommand{\ronscubeincube}{\RonsCubeInCube}%
+\newcommand{\TwistedDuckFeet}%
+   {[TwistedDuckFeet],F,Rp,B,R,U,Fp,Lp,Fp,U2,Lp,Up,D2,B,Dp,F,Bp,U2,%
+   <(20q*, 17f*)>}%
+\newcommand{\twistedduckfeet}{\TwistedDuckFeet}%
+\newcommand{\ExchangedDuckFeet}%
+   {[ExchangedDuckFeet],U,F,R2,Fp,Dp,R,U,B2,U2,Fp,R2,F,D,B2,R,Bp,%
+   <(21q*, 16f*)>}%
+\newcommand{\exchangedduckfeet}{\ExchangedDuckFeet}%
+%    \end{macrocode}
+% --------------------------
+%    End of this package
+% --------------------------
+%    \begin{macrocode}
+%</rubikpatterns>
+%    \end{macrocode}
+%
+%
+%
+%
+% \Finale
+%
+\endinput
+
+
+
+
+
-- 
cgit v1.2.3

