%%
%% This is file `rubiktwocube.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% rubiktwocube.dtx  (with options: `rubiktwocube')
%% 
%% -----------------------------------------------------------------
%%   Authors: RWD Nickalls (dick@nickalls.org)
%%           and Apostolos Syropoulos (asyropoulos@yahoo.com)
%% 
%%   Copyright   February 25, 2018  RWD Nickalls and A Syropoulos
%% 
%%   VERSION 5.0
%% 
%%   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: <http://www.latex-project.org/lppl.txt>
%% 
%%   This work consists of the files listed in the README file.
%% -----------------------------------------------------------------
%% 
%%   This is a LaTeX/TikZ package for drawing Rubik cubes
%%   Please report errors or suggestions for improvement to
%% 
%%          RWD Nickalls  (dick@nickalls.org)
%%          Apostolos Syropoulos (asyropoulos@yahoo.com)
%% 
%%   This package requires the basic TikZ package to be loaded already
%% ------------------------------------------------------------------
%%% \CheckSum{2308}
%%% \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         \~}

\def\RTCfileversion{5.0}%
\def\RTCfiledate{2018/02/25}% February 25, 2018
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{rubiktwocube}[\RTCfiledate\space (v\RTCfileversion)]
\@ifpackageloaded{tikz}{}{%
  \typeout{---rubiktwocube requires the TikZ package.}%
  \RequirePackage{tikz}}%
\@ifpackageloaded{rubikcube}{}{%
   \typeout{---rubiktwocube requires the rubikcube package.}%
   }%
\@ifpackageloaded{rubikrotation}{}{%
   \typeout{---rubiktwocube requires the rubikrotation package.}%
   }%
\newcommand{\rubiktwocube}{\textsc{rubiktwocube}}%
\newcommand{\@printTWOstate}{%
   \@print{cubesize,two}%
   \@print{\space \space up,\Ult,\Umt,\Urt,\Ulm,\Umm,\Urm,\Ulb,\Umb,\Urb}%
   \@print{down,\Dlt,\Dmt,\Drt,\Dlm,\Dmm,\Drm,\Dlb,\Dmb,\Drb}%
   \@print{left,\Llt,\Lmt,\Lrt,\Llm,\Lmm,\Lrm,\Llb,\Lmb,\Lrb}%
   \@print{right,\Rlt,\Rmt,\Rrt,\Rlm,\Rmm,\Rrm,\Rlb,\Rmb,\Rrb}%
   \@print{front,\Flt,\Fmt,\Frt,\Flm,\Fmm,\Frm,\Flb,\Fmb,\Frb}%
   \@print{back,\Blt,\Bmt,\Brt,\Blm,\Bmm,\Brm,\Blb,\Bmb,\Brb}%
}
\newcommand{\SaveTwoState}{\SaveRubikState}
\newcommand{\TwoRotation}[2][1]{%
   \typeout{---TeX process}%
   \typeout{---script = TwoRotation cmd (rubiktwocube.sty)%
                         v\RTCfileversion\space (\RTCfiledate)}%
   \typeout{---NEW rotation command}%
   \typeout{---command = TwoRotation[#1]{#2}}%
   \typeout{---writing current TWOcube state to file rubikstate.dat}%
   \@openstatefile% open data file
   \@print{\@comment filename: rubikstate.dat}%
   \@print{\@comment written by TwoRotation cmd (rubiktwocube.sty)%
                              v\RTCfileversion\space (\RTCfiledate)}%
   \@printTWOstate%
   %% countingloop code from Feuersaenger (2015)
   \newcount\ourRRcounter%
   \@countingloop{\ourRRcounter} in 1:{#1}{%
         \immediate\write\outfile{rotation,#2}}%
   \@closestatefile% close data file
   \typeout{---CALLing Perl script (rubikrotation.pl)}%
   \immediate\write18{\rubikperlcmd}%
   \typeout{---inputting NEW datafile (data written by Perl script)}%
   \input{rubikstateNEW.dat}%
   \typeout{-----------------------------------------}%
 }
\newcommand{\TwoFaceUp}[4]{%
   \def\Ult{#1}\def\Urt{#2}\def\Ulb{#3}\def\Urb{#4}}
\newcommand{\TwoFaceFront}[4]{%
   \def\Flt{#1}\def\Frt{#2}\def\Flb{#3}\def\Frb{#4}}
\newcommand{\TwoFaceRight}[4]{%
   \def\Rlt{#1}\def\Rrt{#2}\def\Rlb{#3}\def\Rrb{#4}}
\newcommand{\TwoFaceDown}[4]{%
   \def\Dlt{#1}\def\Drt{#2}\def\Dlb{#3}\def\Drb{#4}}
\newcommand{\TwoFaceLeft}[4]{%
   \def\Llt{#1}\def\Lrt{#2}\def\Llb{#3}\def\Lrb{#4}}
\newcommand{\TwoFaceBack}[4]{%
   \def\Blt{#1}\def\Brt{#2}\def\Blb{#3}\def\Brb{#4}}
\newcommand{\TwoFaceUpAll}[1]{%
   \def\Ult{#1}\def\Urt{#1}\def\Ulb{#1}\def\Urb{#1}}
\newcommand{\TwoFaceFrontAll}[1]{%
   \def\Flt{#1}\def\Frt{#1}\def\Flb{#1}\def\Frb{#1}}
\newcommand{\TwoFaceRightAll}[1]{%
   \def\Rlt{#1}\def\Rrt{#1}\def\Rlb{#1}\def\Rrb{#1}}
\newcommand{\TwoFaceLeftAll}[1]{%
   \def\Llt{#1}\def\Lrt{#1}\def\Llb{#1}\def\Lrb{#1}}
\newcommand{\TwoFaceDownAll}[1]{%
   \def\Dlt{#1}\def\Drt{#1}\def\Dlb{#1}\def\Drb{#1}}
\newcommand{\TwoFaceBackAll}[1]{%
   \def\Blt{#1}\def\Brt{#1}\def\Blb{#1}\def\Brb{#1}}
%% set the default colour = grey = X
\TwoFaceUpAll{X}%
\TwoFaceDownAll{X}%
\TwoFaceLeftAll{X}%
\TwoFaceRightAll{X}%
\TwoFaceFrontAll{X}%
\TwoFaceBackAll{X}%
\newcommand{\TwoSolvedConfig}[6]{%
  \TwoFaceRightAll{#1}%
  \TwoFaceLeftAll{#2}%
  \TwoFaceUpAll{#3}%
  \TwoFaceDownAll{#4}%
  \TwoFaceFrontAll{#5}%
  \TwoFaceBackAll{#6}%
}
\newcommand{\TwoCubeGrey}{\RubikCubeGreyAll\TwoSolvedConfig{X}{X}{X}{X}{X}{X}}%
\newcommand{\TwoCubeGreyAll}{\TwoCubeGrey}
\newcommand{\TwoCubeGray}{\TwoCubeGrey}
\newcommand{\TwoCubeGrayAll}{\TwoCubeGrey}
\newcommand{\TwoCubeSolvedWY}{\RubikCubeGreyAll\TwoSolvedConfig{G}{B}{W}{Y}{O}{R}}%
\newcommand{\TwoCubeSolved}{\TwoCubeSolvedWY}%
\newcommand{\TwoCubeSolvedWB}{\RubikCubeGreyAll\TwoSolvedConfig{R}{O}{W}{B}{G}{Y}}%
\newcommand{\TwoSliceTopR}[4]{%
   \def\Flt{#1}\def\Frt{#2}\def\Rlt{#3}\def\Rrt{#4}}
\newcommand{\TwoSliceTopL}[4]{%
   \def\Llt{#1}\def\Lrt{#2}\def\Flt{#3}\def\Frt{#4}}
\newcommand{\TwoSliceBottomR}[4]{%
   \def\Flb{#1}\def\Frb{#2}\def\Rlb{#3}\def\Rrb{#4}}
\newcommand{\TwoSliceBottomL}[4]{%
   \def\Llb{#1}\def\Lrb{#2}\def\Flb{#3}\def\Frb{#4}}
%%---------------------
\newcommand{\DrawTwoCubeFrontFace}{%
\draw[line join=round,line cap=round,ultra thick,fill=\Flt]%
(0,1) -- (0, 2) -- (1,2) -- (1,1)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Frt]%
(1,1) -- (1, 2) -- (2,2) -- (2,1) -- cycle;
%%
\draw[line join=round,line cap=round,ultra thick,fill=\Flb]%
(0,0) -- (0, 1) -- (1,1) -- (1,0)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Frb]%
(1,0) -- (1, 1) -- (2,1) -- (2,0) -- cycle;
}
\newcommand{\DrawTwoCubeRU}{%
%%-----------Front face----------
\DrawTwoCubeFrontFace %% frontface
%%-----------Up face----------
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Ult]%
(0.33,2.33) -- (0.66,2.66) -- (1.66,2.66) -- (1.33,2.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Urt]%
(1.33,2.33) -- (1.66,2.66) -- (2.66,2.66) -- (2.33,2.33)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Ulb]%
(0,2) -- (0.33,2.33) -- (1.33,2.33) -- (1,2)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Urb]%
(1,2) -- (1.33,2.33) -- (2.33,2.33) -- (2,2)  -- cycle;
%%-----------Right face----------
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Rlt]%
(2,1) -- (2, 2) -- (2.33,2.33) -- (2.33,1.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Rrt]%
(2.33,1.33) -- (2.33, 2.33) -- (2.66,2.66) -- (2.66,1.66)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Rlb]%
(2,0) -- (2, 1) -- (2.33,1.33) -- (2.33,0.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Rrb]%
(2.33,0.33) -- (2.33, 1.33) -- (2.66,1.66) -- (2.66,0.66)  -- cycle;
}
%%
\newcommand{\DrawTwoCube}{\DrawTwoCubeRU}
%%
\newcommand{\DrawTwoCubeRD}{%
\DrawTwoCubeFrontFace %% frontface
%%----------Right face--------
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Rlt]%
(2,1) -- (2, 2) -- (2.33,1.66) -- (2.33,0.66)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Rrt]%
(2.33,0.66) -- (2.33, 1.66) -- (2.66,1.33) -- (2.66,0.33)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Rlb]%
(2,0) -- (2, 1) -- (2.33,0.66) -- (2.33,-0.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Rrb]%
(2.33,-0.33) -- (2.33, 0.66) -- (2.66,0.33) -- (2.66,-0.66)  -- cycle;
%%-----------Down face---------
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Dlt]%
(0.33,-0.33) -- (0, 0) -- (1,0) -- (1.33,-0.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Drt]%
(1.33,-0.33) -- (1, 0) -- (2,0) -- (2.33,-0.33)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Dlb]%
(0.66,-0.66) -- (0.33, -0.33) -- (1.33,-0.33) -- (1.66,-0.66)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Drb]%
(1.66,-0.66) -- (1.33, -0.33) -- (2.33,-0.33) -- (2.66,-0.66)  -- cycle;
}
%%
\newcommand{\DrawTwoCubeLD}{%
\DrawTwoCubeFrontFace %% frontface
%%------------Left face--------
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Llt]%
(-0.66,0.33) -- (-0.66, 1.33) -- (-0.33,1.66) -- (-0.33,0.66)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Lrt]%
(-0.33,0.66) -- (-0.33, 1.66) -- (0,2) -- (0,1)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Llb]%
(-0.66,-0.66) -- (-0.66, 0.33) -- (-0.33,0.66) -- (-0.33,-0.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Lrb]%
(-0.33,-0.33) -- (-0.33, 0.66) -- (0,1) -- (0,0)  -- cycle;
%%------------Down face----------
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Dlt]%
(-0.33,-0.33) -- (0, 0) -- (1,0) -- (0.66,-0.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Drt]%
(0.66,-0.33) -- (1, 0) -- (2,0) -- (1.66,-0.33)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Dlb]%
(-0.66,-0.66) -- (-0.33, -0.33) -- (0.66,-0.33) -- (0.33,-0.66)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Drb]%
(0.33,-0.66) -- (0.66, -0.33) -- (1.66,-0.33) -- (1.33,-0.66)  -- cycle;
}
%%
\newcommand{\DrawTwoCubeLU}{%
\DrawTwoCubeFrontFace %% frontface
%%-----------Left face-----------
%%------top row
\draw[line join=round,line cap=round,ultra thick,fill=\Llt]%
(-0.66,1.66) -- (-0.66, 2.66) -- (-0.33,2.33) -- (-0.33,1.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Lrt]%
(-0.33,1.33) -- (-0.33, 2.33) -- (0,2) -- (0,1)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Llb]%
(-0.66,0.66) -- (-0.66, 1.66) -- (-0.33,1.33) -- (-0.33,0.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Lrb]%
(-0.33,0.33) -- (-0.33, 1.33) -- (0,1) -- (0,0)  -- cycle;
%%-----------Up face---------
\draw[line join=round,line cap=round,ultra thick,fill=\Ult]%
(-0.33,2.33) -- (-0.66, 2.66) -- (0.33,2.66) -- (0.66,2.33)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Urt]%
(0.66,2.33) -- (0.33, 2.66) -- (1.33,2.66) -- (1.66,2.33)  -- cycle;
%%---bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Ulb]%
(0,2) -- (-0.33, 2.33) -- (0.66,2.33) -- (1,2)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Urb]%
(1,2) -- (0.66, 2.33) -- (1.66,2.33) -- (2,2)  -- cycle;
}
%%----------------------
\newcommand{\DrawTwoFlatUp}[2]{%
\pgfmathsetmacro{\ux}{#1}%
\pgfmathsetmacro{\uy}{#2}%
%%-----top row
\draw[line join=round,line cap=round,ultra thick,fill=\Ult]%
(\ux + 0,\uy + 1) -- (\ux + 0,\uy + 2) -- (\ux + 1,\uy + 2)%
 -- (\ux + 1,\uy + 1)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Urt]%
(\ux + 1,\uy + 1) -- (\ux + 1,\uy + 2) -- (\ux + 2,\uy + 2)%
 -- (\ux + 2,\uy + 1) -- cycle;
%%----bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Ulb]%
(\ux + 0,\uy + 0) -- (\ux + 0,\uy + 1) -- (\ux + 1,\uy + 1)%
 -- (\ux + 1,\uy + 0)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Urb]%
(\ux + 1,\uy + 0) -- (\ux + 1,\uy + 1) -- (\ux + 2,\uy + 1)%
 -- (\ux + 2,\uy + 0) -- cycle;
}
%%-------------------------
\newcommand{\DrawTwoFlatDown}[2]{%
\pgfmathsetmacro{\ddx}{#1}%
\pgfmathsetmacro{\ddy}{#2}%
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Dlt]%
(\ddx + 0,\ddy + 1) -- (\ddx + 0,\ddy + 2) -- (\ddx + 1,\ddy + 2)%
 -- (\ddx + 1,\ddy + 1)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Drt]%
(\ddx + 1,\ddy + 1) -- (\ddx + 1,\ddy + 2) -- (\ddx + 2,\ddy + 2)%
 -- (\ddx + 2,\ddy + 1) -- cycle;
%%----bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Dlb]%
(\ddx + 0,\ddy + 0) -- (\ddx + 0,\ddy + 1) -- (\ddx + 1,\ddy + 1)%
 -- (\ddx + 1,\ddy + 0)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Drb]%
(\ddx + 1,\ddy + 0) -- (\ddx + 1,\ddy + 1) -- (\ddx + 2,\ddy + 1)%
 -- (\ddx + 2,\ddy + 0) -- cycle;
}
%%-------------------------
\newcommand{\DrawTwoFlatLeft}[2]{%
\pgfmathsetmacro{\lx}{#1}%
\pgfmathsetmacro{\ly}{#2}%
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Llt]%
(\lx + 0, \ly + 1) -- (\lx + 0, \ly +  2) -- (\lx + 1, \ly + 2)%
 -- (\lx + 1, \ly + 1)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Lrt]%
(\lx + 1, \ly + 1) -- (\lx + 1, \ly + 2) -- (\lx + 2, \ly + 2)%
 -- (\lx + 2, \ly + 1) -- cycle;
%%----bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Llb]%
(\lx + 0, \ly + 0) -- (\lx + 0, \ly + 1) -- (\lx + 1, \ly + 1)%
 -- (\lx + 1, \ly + 0)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Lrb]%
(\lx + 1, \ly + 0) -- (\lx + 1, \ly + 1) -- (\lx + 2, \ly + 1)%
 -- (\lx + 2, \ly + 0) -- cycle;
}
%%--------------------------
\newcommand{\DrawTwoFlatRight}[2]{%
\pgfmathsetmacro{\rx}{#1}%
\pgfmathsetmacro{\ry}{#2}%
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Rlt]%
(\rx + 0, \ry + 1) -- (\rx + 0, \ry + 2) -- (\rx + 1, \ry + 2)%
 -- (\rx + 1, \ry + 1)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Rrt]%
(\rx + 1, \ry + 1) -- (\rx + 1, \ry + 2) -- (\rx + 2, \ry + 2)%
 -- (\rx + 2, \ry + 1) -- cycle;
%%----bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Rlb]%
(\rx + 0, \ry + 0) -- (\rx + 0, \ry + 1) -- (\rx + 1, \ry + 1)%
 -- (\rx + 1, \ry + 0)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Rrb]%
(\rx + 1, \ry + 0) -- (\rx + 1, \ry + 1) -- (\rx + 2, \ry + 1)%
 -- (\rx + 2, \ry + 0) -- cycle;
}
%%--------------
\newcommand{\DrawTwoFlatFront}{%
%% This command is used /only/ by  the \cmd{\DrawRubikFlat} command.
%% NOTE: x, y variables not implemented as not required here
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Flt]%
(0,1) -- (0, 2) -- (1,2) -- (1,1)  -- cycle;
%%
\draw[line join=round,line cap=round,ultra thick,fill=\Frt]%
(1,1) -- (1, 2) -- (2,2) -- (2,1) -- cycle;
%%----bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Flb]%
(0,0) -- (0, 1) -- (1,1) -- (1,0)  -- cycle;
%%
\draw[line join=round,line cap=round,ultra thick,fill=\Frb]%
(1,0) -- (1, 1) -- (2,1) -- (2,0) -- cycle;
}
%%--------------------------
\newcommand{\DrawTwoFlatBack}[2]{%
\pgfmathsetmacro{\bx}{#1}%
\pgfmathsetmacro{\by}{#2}%
%%---top row
\draw[line join=round,line cap=round,ultra thick,fill=\Blt]%
(\bx + 0,\by + 1) -- (\bx + 0,\by + 2) -- (\bx + 1,\by + 2)%
 -- (\bx + 1,\by + 1)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Brt]%
(\bx + 1,\by + 1) -- (\bx + 1,\by + 2) -- (\bx + 2,\by + 2)%
 -- (\bx + 2,\by + 1) -- cycle;
%%----bottom row
\draw[line join=round,line cap=round,ultra thick,fill=\Blb]%
(\bx + 0,\by + 0) -- (\bx + 0,\by + 1) -- (\bx + 1,\by + 1)%
 -- (\bx + 1,\by + 0)  -- cycle;
\draw[line join=round,line cap=round,ultra thick,fill=\Brb]%
(\bx + 1,\by + 0) -- (\bx + 1,\by + 1) -- (\bx + 2,\by + 1)%
 -- (\bx + 2,\by + 0) -- cycle;
}
%%------------------------------
\newcommand{\DrawTwoCubeF}{%
  \DrawTwoFlatUp{0}{2}%
  \DrawTwoFlatDown{0}{-2}%
  \DrawTwoFlatLeft{-2}{0}%
  \DrawTwoFlatFront%
  \DrawTwoFlatRight{2}{0}%
  \DrawTwoFlatBack{4}{0}%
}
%%
\newcommand{\DrawTwoCubeSF}{%
  \DrawTwoCubeRU% RU
  \DrawTwoFlatDown{0}{-2}%
  \DrawTwoFlatLeft{-2}{0}%
  \DrawTwoFlatBack{2.666}{0.66}%
}
\newcommand{\TwoSidebarWidth}[1]{\pgfmathsetmacro{\tbw}{#1}}
\newcommand{\TwoSidebarLength}[1]{\pgfmathsetmacro{\tbl}{#1}}
\newcommand{\TwoSidebarSep}[1]{\pgfmathsetmacro{\tbs}{#1}}
\TwoSidebarWidth{0.2}
\TwoSidebarLength{1.0}
\TwoSidebarSep{0.2}

\newcommand{\TWOside@barL}[2]{%
  %% #1 = cubie possn no, #2 = colour
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{0 - \tbs - \tbw}%
  \pgfmathsetmacro{\tdy}{#1-1+0.5-\tblh}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbl)
  -- (\tdx+\tbw,\tdy+\tbl) -- (\tdx+\tbw,\tdy) -- cycle;
}}
%% changed  Rubik value  (3 + \bs)  --> (2 + \tbs) (as only TWO squares)
\newcommand{\TWOside@barR}[2]{%
  %% #1 = cubie possn no, #2 = colour
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{2 + \tbs}%
  \pgfmathsetmacro{\tdy}{#1 -1+0.5-\tblh}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbl)
  -- (\tdx+\tbw,\tdy+\tbl) -- (\tdx+\tbw,\tdy) -- cycle;
}}
%%  changed Rubik value  (3 + \bs)  --> (2 + \tbs) (as only TWO squares)
\newcommand{\TWOside@barT}[2]{%
  %% #1 = cubie possn no, #2 = colour
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{#1 -1+0.5-\tblh}%
  \pgfmathsetmacro{\tdy}{2 +\tbs}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbw)
  -- (\tdx+\tbl,\tdy+\tbw) -- (\tdx+\tbl,\tdy) -- cycle;
}}
\newcommand{\TWOside@barB}[2]{%
  %% #1 = cubie possn no, #2 = colour
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{#1 -1+0.5-\tblh}%
  \pgfmathsetmacro{\tdy}{0 -\tbs-\tbw}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbw)
  -- (\tdx+\tbl,\tdy+\tbw) -- (\tdx+\tbl,\tdy) -- cycle;
}}

\newcommand{\DrawTwoFaceUpSide}{%
 \DrawTwoFlatUp{0}{0}%
 \TWOside@barT{1}{\Brt}%
 \TWOside@barT{2}{\Blt}%
 \TWOside@barL{2}{\Llt}%
 \TWOside@barL{1}{\Lrt}%
 \TWOside@barR{2}{\Rrt}%
 \TWOside@barR{1}{\Rlt}%
 \TWOside@barB{1}{\Flt}%
 \TWOside@barB{2}{\Frt}%
}
\newcommand{\DrawTwoFaceFrontSide}{%
 \DrawTwoFlatFront{0}{0}%
 \TWOside@barT{1}{\Ulb}%
 \TWOside@barT{2}{\Urb}%
 \TWOside@barL{2}{\Lrt}%
 \TWOside@barL{1}{\Lrb}%
 \TWOside@barR{2}{\Rlt}%
 \TWOside@barR{1}{\Rlb}%
 \TWOside@barB{1}{\Dlt}%
 \TWOside@barB{2}{\Drt}%
}
\newcommand{\DrawTwoFaceRightSide}{%
 \DrawTwoFlatRight{0}{0}%
 \TWOside@barT{1}{\Urb}%
 \TWOside@barT{2}{\Urt}%
 \TWOside@barL{2}{\Frt}%
 \TWOside@barL{1}{\Frb}%
 \TWOside@barR{2}{\Blt}%
 \TWOside@barR{1}{\Blb}%
 \TWOside@barB{1}{\Drt}%
 \TWOside@barB{2}{\Drb}%
}
\newcommand{\DrawTwoFaceLeftSide}{%
 \DrawTwoFlatLeft{0}{0}%
 \TWOside@barT{1}{\Ult}%
 \TWOside@barT{2}{\Ulb}%
 \TWOside@barL{2}{\Brt}%
 \TWOside@barL{1}{\Brb}%
 \TWOside@barR{2}{\Flt}%
 \TWOside@barR{1}{\Flb}%
 \TWOside@barB{1}{\Dlb}%
 \TWOside@barB{2}{\Dlt}%
}
\newcommand{\DrawTwoFaceBackSide}{%
 \DrawTwoFlatBack{0}{0}%
 \TWOside@barT{1}{\Urt}%
 \TWOside@barT{2}{\Ult}%
 \TWOside@barL{2}{\Rrt}%
 \TWOside@barL{1}{\Rrb}%
 \TWOside@barR{2}{\Llt}%
 \TWOside@barR{1}{\Llb}%
 \TWOside@barB{1}{\Drb}%
 \TWOside@barB{2}{\Dlb}%
}
\newcommand{\DrawTwoFaceDownSide}{%
 \DrawTwoFlatDown{0}{0}%
 \TWOside@barT{1}{\Flb}%
 \TWOside@barT{2}{\Frb}%
 \TWOside@barL{2}{\Lrb}%
 \TWOside@barL{1}{\Llb}%
 \TWOside@barR{2}{\Rlb}%
 \TWOside@barR{1}{\Rrb}%
 \TWOside@barB{1}{\Brb}%
 \TWOside@barB{2}{\Blb}%
}
%%
%% v5: made Face versions (for USER) without the (x,y) coordinates
\newcommand{\DrawTwoFaceUp}{\DrawTwoFlatUp{0}{0}}
\newcommand{\DrawTwoFaceDown}{\DrawTwoFlatDown{0}{0}}
\newcommand{\DrawTwoFaceLeft}{\DrawTwoFlatLeft{0}{0}}
\newcommand{\DrawTwoFaceRight}{\DrawTwoFlatRight{0}{0}}
\newcommand{\DrawTwoFaceFront}{\DrawTwoFlatFront{0}{0}}
\newcommand{\DrawTwoFaceBack}{\DrawTwoFlatBack{0}{0}}
%%
%% v5: made short forms --> abbreviations
\newcommand{\DrawTwoFaceU}{\DrawTwoFlatUp{0}{0}}
\newcommand{\DrawTwoFaceD}{\DrawTwoFlatDown{0}{0}}
\newcommand{\DrawTwoFaceL}{\DrawTwoFlatLeft{0}{0}}
\newcommand{\DrawTwoFaceR}{\DrawTwoFlatRight{0}{0}}
\newcommand{\DrawTwoFaceF}{\DrawTwoFlatFront{0}{0}}
\newcommand{\DrawTwoFaceB}{\DrawTwoFlatBack{0}{0}}
%%
%% v5: made short forms --> abbreviations
\newcommand{\DrawTwoFaceUS}{\DrawTwoFaceUpSide}
\newcommand{\DrawTwoFaceDS}{\DrawTwoFaceDownSide}
\newcommand{\DrawTwoFaceLS}{\DrawTwoFaceLeftSide}
\newcommand{\DrawTwoFaceRS}{\DrawTwoFaceRightSide}
\newcommand{\DrawTwoFaceFS}{\DrawTwoFaceFrontSide}
\newcommand{\DrawTwoFaceBS}{\DrawTwoFaceBackSide}
\newcommand{\TWOside@barRbackRU}[2]{%
  %% #1 = cubie possn no, #2 = colour
  %% tdx --> tdx + (2/3)
  %% tdy --> tdy + (2/3)
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{2 + \tbs        +0.666}%
  \pgfmathsetmacro{\tdy}{#1 -1+0.5-\tblh +0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbl)
  -- (\tdx+\tbw,\tdy+\tbl) -- (\tdx+\tbw,\tdy) -- cycle;%
}}
\newcommand{\DrawTwoCubeSidebarRBRU}{%
 \TWOside@barRbackRU{2}{\Blt}%
 \TWOside@barRbackRU{1}{\Blb}%
}
\newcommand{\DrawTwoCubeSidebarBRRU}{\DrawTwoCubeSidebarRBRU}
\newcommand{\DrawTwoCubeSidebarRB}[1]{\@join{\DrawTwoCubeSidebarRB}{#1}}
\newcommand{\DrawTwoCubeSidebarBR}[1]{\@join{\DrawTwoCubeSidebarBR}{#1}}
\newcommand{\TWOside@barTbackRU}[2]{%
  %% #1 = cubie possn no; #2 = colour
  %% tdx --> tdx + (2/3)
  %% tdy --> tdy + (2/3)
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{#1 -1+0.5-\tblh +0.666}%
  \pgfmathsetmacro{\tdy}{2 +\tbs         +0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbw)
  -- (\tdx+\tbl,\tdy+\tbw) -- (\tdx+\tbl,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarUBRU}{%
 \TWOside@barTbackRU{1}{\Brt}%
 \TWOside@barTbackRU{2}{\Blt}%
}
\newcommand{\DrawTwoCubeSidebarBURU}{\DrawTwoCubeSidebarUBRU}
\newcommand{\DrawTwoCubeSidebarUB}[1]{\@join{\DrawTwoCubeSidebarUB}{#1}}
\newcommand{\DrawTwoCubeSidebarBU}[1]{\@join{\DrawTwoCubeSidebarBU}{#1}}
\newcommand{\DrawTwoCubeSidebarFLRU}{%
 \TWOside@barL{2}{\Lrt}%
 \TWOside@barL{1}{\Lrb}%
}
\newcommand{\DrawTwoCubeSidebarLFRU}{\DrawTwoCubeSidebarFLRU}
\newcommand{\DrawTwoCubeSidebarFL}[1]{\@join{\DrawTwoCubeSidebarFL}{#1}}
\newcommand{\DrawTwoCubeSidebarLF}[1]{\@join{\DrawTwoCubeSidebarLF}{#1}}
\newcommand{\DrawTwoCubeSidebarFDRU}{%
 \TWOside@barB{1}{\Dlt}%
 \TWOside@barB{2}{\Drt}%
}
\newcommand{\DrawTwoCubeSidebarDFRU}{\DrawTwoCubeSidebarFDRU}
\newcommand{\DrawTwoCubeSidebarFD}[1]{\@join{\DrawTwoCubeSidebarFD}{#1}}
\newcommand{\DrawTwoCubeSidebarDF}[1]{\@join{\DrawTwoCubeSidebarDF}{#1}}
\newcommand{\DrawTwoCubeSidebarDFLU}{\DrawTwoCubeSidebarDFRU}
\newcommand{\DrawTwoCubeSidebarFDLU}{\DrawTwoCubeSidebarFDRU}
\newcommand{\TWOside@barLbackLU}[2]{%
  %% #1 = cubie possn no, #2 = colour
  %% tdx --> tdx - 2/3
  %% tdy --> tdy + 2/3
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{0 - \tbs -\tbw   -0.666}%
  \pgfmathsetmacro{\tdy}{#1 -1+0.5-\tblh +0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbl)
  -- (\tdx+\tbw,\tdy+\tbl) -- (\tdx+\tbw,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarLBLU}{%
 \TWOside@barLbackLU{2}{\Brt}%
 \TWOside@barLbackLU{1}{\Brb}%
}
\newcommand{\DrawTwoCubeSidebarBLLU}{\DrawTwoCubeSidebarLBLU}
\newcommand{\DrawTwoCubeSidebarLB}[1]{\@join{\DrawTwoCubeSidebarLB}{#1}}
\newcommand{\DrawTwoCubeSidebarBL}[1]{\@join{\DrawTwoCubeSidebarBL}{#1}}
\newcommand{\TWOside@barTbackLU}[2]{%
  %% #1 = cubie possn no; #2 = colour
  %% tdx --> tdx-2/3
  %% tdy --> tdy+2/3
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{#1 -1+0.5-\tblh  -0.666}%
  \pgfmathsetmacro{\tdy}{2 +\tbs          +0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbw)
  -- (\tdx+\tbl,\tdy+\tbw) -- (\tdx+\tbl,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarUBLU}{%
 \TWOside@barTbackLU{1}{\Brt}%
 \TWOside@barTbackLU{2}{\Blt}%
}
\newcommand{\DrawTwoCubeSidebarBULU}{\DrawTwoCubeSidebarUBLU}
\newcommand{\DrawTwoCubeSidebarFRLU}{%
 \TWOside@barR{2}{\Rlt}%
 \TWOside@barR{1}{\Rlb}%
}
\newcommand{\DrawTwoCubeSidebarRFLU}{\DrawTwoCubeSidebarFRLU}
\newcommand{\DrawTwoCubeSidebarFR}[1]{\@join{\DrawTwoCubeSidebarFR}{#1}}
\newcommand{\DrawTwoCubeSidebarRF}[1]{\@join{\DrawTwoCubeSidebarRF}{#1}}
\newcommand{\DrawTwoCubeSidebarFURD}{%
 \TWOside@barT{1}{\Ulb}%
 \TWOside@barT{2}{\Urb}%
}
\newcommand{\DrawTwoCubeSidebarUFRD}{\DrawTwoCubeSidebarFURD}
\newcommand{\DrawTwoCubeSidebarFU}[1]{\@join{\DrawTwoCubeSidebarFU}{#1}}
\newcommand{\DrawTwoCubeSidebarUF}[1]{\@join{\DrawTwoCubeSidebarUF}{#1}}
\newcommand{\DrawTwoCubeSidebarFLRD}{\DrawTwoCubeSidebarFLRU}
\newcommand{\DrawTwoCubeSidebarLFRD}{\DrawTwoCubeSidebarLFRU}
\newcommand{\TWOside@barRbackRD}[2]{%
  %% #1 = cubie possn no, #2 = colour
  %% tdx --> tdx + (2/3)
  %% tdy --> tdy - (2/3)
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{2 + \tbs        +0.666}%
  \pgfmathsetmacro{\tdy}{#1 -1+0.5-\tblh -0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbl)
  -- (\tdx+\tbw,\tdy+\tbl) -- (\tdx+\tbw,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarRBRD}{%
\TWOside@barRbackRD{2}{\Blt}%
\TWOside@barRbackRD{1}{\Blb}%
}
\newcommand{\DrawTwoCubeSidebarBRRD}{\DrawTwoCubeSidebarRBRD}
\newcommand{\TWOside@barBbackRD}[2]{%
  %% #1 = cubie possn no; #2 = colour
  %% tdx --> tdx+2/3
  %% tdy --> tdy-2/3
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{#1 -1+0.5-\tblh +0.666}%
  \pgfmathsetmacro{\tdy}{0 -\tbs - \tbw   -0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbw)
  -- (\tdx+\tbl,\tdy+\tbw) -- (\tdx+\tbl,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarDBRD}{%
 \TWOside@barBbackRD{1}{\Brb}%
 \TWOside@barBbackRD{2}{\Blb}%
}
\newcommand{\DrawTwoCubeSidebarBDRD}{\DrawTwoCubeSidebarDBRD}
%% Now make the join commands
\newcommand{\DrawTwoCubeSidebarDB}[1]{\@join{\DrawTwoCubeSidebarDB}{#1}}
\newcommand{\DrawTwoCubeSidebarBD}[1]{\@join{\DrawTwoCubeSidebarBD}{#1}}
\newcommand{\DrawTwoCubeSidebarFULD}{\DrawTwoCubeSidebarFURD}
\newcommand{\DrawTwoCubeSidebarUFLD}{\DrawTwoCubeSidebarUFRD}
\newcommand{\DrawTwoCubeSidebarFRLD}{\DrawTwoCubeSidebarFRLU}
\newcommand{\DrawTwoCubeSidebarRFLD}{\DrawTwoCubeSidebarRFLU}
\newcommand{\TWOside@barLbackLD}[2]{%
  %% #1 = cubie possn no, #2 = colour
  %% tdx --> tdx-2/3
  %% tdy --> tdy-2/3
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{0 - \tbs -\tbw   -0.666}%
  \pgfmathsetmacro{\tdy}{#1 -1+0.5-\tblh -0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbl)
  -- (\tdx+\tbw,\tdy+\tbl) -- (\tdx+\tbw,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarLBLD}{%
 \TWOside@barLbackLD{2}{\Brt}%
 \TWOside@barLbackLD{1}{\Brb}%
}
\newcommand{\DrawTwoCubeSidebarBLLD}{\DrawTwoCubeSidebarLBLD}
\newcommand{\TWOside@barBbackLD}[2]{%
  %% #1 = cubie possn no; #2 = colour
  %% tdx --> tdx-2/3
  %% tdy --> tdy-2/3
  \ifthenelse{\equal{#2}{\no@sidebar}}{}{%
  \pgfmathsetmacro{\tblh}{\tbl*(0.5)}%
  \pgfmathsetmacro{\tdx}{#1 -1+0.5-\tblh -0.666}%
  \pgfmathsetmacro{\tdy}{0 -\tbs - \tbw   -0.666}%
  \draw[fill=#2] (\tdx,\tdy) -- (\tdx,\tdy + \tbw)
  -- (\tdx+\tbl,\tdy+\tbw) -- (\tdx+\tbl,\tdy) -- cycle;
}}
\newcommand{\DrawTwoCubeSidebarDBLD}{%
\TWOside@barBbackLD{1}{\Brb}%
\TWOside@barBbackLD{2}{\Blb}%
}
\newcommand{\DrawTwoCubeSidebarBDLD}{\DrawTwoCubeSidebarDBLD}
\pgfmathsetmacro{\@tx}{0.0833}
\pgfmathsetmacro{\@ty}{0.0833}
\newcommand{\@tr}[1]{{\@rubikfont #1}}
\newcommand{\@trp}[1]{{\@rubikfont #1\@rubikprime}}
\newcommand*{\tr}[1]{\@join{\tr}{#1}}
\newcommand*{\trh}[1]{\@join{\trh}{#1}}
\newcommand*{\Two}[1]{\@join{\Two}{#1}}
\newcommand*{\textTwo}[1]{\@join{\textTwo}{#1}}
\newcommand{\trB}{\rrB}
\newcommand{\trBp}{\rrBp}
\newcommand{\trhB}{\rrhB}
\newcommand{\trhBp}{\rrhBp}
\newcommand{\TwoB}{\RubikB}
\newcommand{\TwoBp}{\RubikBp}
\newcommand{\textTwoB}{\textRubikB}
\newcommand{\textTwoBp}{\textRubikBp}
%%
\newcommand{\trD}{\@tr{D}}
%%
\newcommand{\SquaretD}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick] (\@sb,\@sddd - \@ty) -- (\@sbh, \@sddd - \@ty);
\draw [thick, ->]     (\@sb,\@sd + \@ty) --   (\@sbh, \@sd + \@ty);
\end{tikzpicture}%
}
\newcommand{\trhD}{\raisebox{-0.333\height}{\@tlen\SquaretD\@tlen}}
%%
\newcommand{\TwoD}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretD\\
\trD%
\end{minipage}%
}}
\newcommand{\textTwoD}{\trD\,\trhD}
\newcommand{\trDp}{\@trp{D}}
%%
\newcommand{\SquaretDp}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick]     (\@sb,\@sddd - \@ty) -- (\@sbh, \@sddd - \@ty);
\draw [thick, <-] (\@sb,\@sd   + \@ty)  -- (\@sbh, \@sd + \@ty);
\end{tikzpicture}%
}
\newcommand{\trhDp}{\raisebox{-0.333\height}{\@tlen\SquaretDp\@tlen}}
%%
\newcommand{\TwoDp}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretDp\\
\trDp%
\end{minipage}%
}}
\newcommand{\textTwoDp}{\trDp\,\trhDp}
\newcommand{\trF}{\rrF}
\newcommand{\trFp}{\rrFp}
\newcommand{\trhF}{\rrhF}
\newcommand{\trhFp}{\rrhFp}
\newcommand{\TwoF}{\RubikF}
\newcommand{\TwoFp}{\RubikFp}
\newcommand{\textTwoF}{\textRubikF}
\newcommand{\textTwoFp}{\textRubikFp}
\newcommand{\trL}{\@tr{L}}
%%
\newcommand{\SquaretL}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick, <-] (\@sd + \@tx, \@sb) -- (\@sd + \@tx, \@sbh);
\draw [thick] (\@sddd - \@tx, \@sb) -- (\@sddd - \@tx, \@sbh);
\end{tikzpicture}%
}
\newcommand{\trhL}{\raisebox{-0.333\height}{\@tlen\SquaretL\@tlen}}
%%
\newcommand{\TwoL}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretL\\
\trL%
\end{minipage}%
}}
\newcommand{\textTwoL}{\trL\,\trhL}
\newcommand{\trLp}{\@trp{L}}
%%
\newcommand{\SquaretLp}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick,->] (\@sd + \@tx, \@sb) -- (\@sd + \@tx, \@sbh);
\draw [thick] (\@sddd - \@tx, \@sb) -- (\@sddd - \@tx, \@sbh);
\end{tikzpicture}%
}
\newcommand{\trhLp}{\raisebox{-0.333\height}{\@tlen\SquaretLp\@tlen}}
%%
\newcommand{\TwoLp}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretLp\\
\trLp%
\end{minipage}%
}}
\newcommand{\textTwoLp}{\trLp\,\trhLp}
\newcommand{\trR}{\@tr{R}}
%%
\newcommand{\SquaretR}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
%% draw three lines in the square, one with an arrow
\draw [thick] (\@sd + \@tx, \@sb) -- (\@sd + \@tx, \@sbh);
\draw [thick, ->] (\@sddd - \@tx, \@sb) -- (\@sddd - \@tx, \@sbh);
\end{tikzpicture}%
}
\newcommand{\trhR}{\raisebox{-0.333\height}{\@tlen\SquaretR\@tlen}}
%%
\newcommand{\TwoR}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretR\\
\trR%
\end{minipage}%
}}
\newcommand{\textTwoR}{\trR\,\trhR}
\newcommand{\trRp}{\@trp{R}}
%%
\newcommand{\SquaretRp}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick] (\@sd + \@tx, \@sb) -- (\@sd + \@tx, \@sbh);
\draw [thick, <-] (\@sddd - \@tx, \@sb) -- (\@sddd - \@tx, \@sbh);
\end{tikzpicture}%
}
\newcommand{\trhRp}{\raisebox{-0.333\height}{\@tlen\SquaretRp\@tlen}}
%%
\newcommand{\TwoRp}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretRp\\
\trRp%
\end{minipage}%
}}
\newcommand{\textTwoRp}{\trRp\,\trhRp}
\newcommand{\trU}{\@tr{U}}
%%
\newcommand{\SquaretU}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick, <-] (\@sb,\@sddd - \@ty) -- (\@sbh, \@sddd - \@ty);
\draw [thick]     (\@sb,\@sd + \@ty) --   (\@sbh, \@sd + \@ty);
\end{tikzpicture}%
}
\newcommand{\trhU}{\raisebox{-0.333\height}{\@tlen\SquaretU\@tlen}}
%%
\newcommand{\TwoU}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretU\\
\trU%
\end{minipage}%%
}}
\newcommand{\textTwoU}{\trU\,\trhU}
\newcommand{\trUp}{\@trp{U}}
%%
\newcommand{\SquaretUp}{%
\begin{tikzpicture}[scale=0.5]
\DrawNotationBox;
\draw [thick, ->] (\@sb,\@sddd - \@ty) -- (\@sbh, \@sddd - \@ty);
\draw [thick]     (\@sb,\@sd + \@ty) --   (\@sbh, \@sd + \@ty);
\end{tikzpicture}%
}
\newcommand{\trhUp}{\raisebox{-0.333\height}{\@tlen\SquaretUp\@tlen}}
%%
\newcommand{\TwoUp}{%
{\@rubikfont%
\begin{minipage}{0.6cm}
\centering%
\SquaretUp\\
\trUp%
\end{minipage}%%
}}
\newcommand{\textTwoUp}{\trUp\,\trhUp}
\newcommand{\trx}{\rrx}
\newcommand{\trxp}{\rrxp}
\newcommand{\try}{\rry}
\newcommand{\tryp}{\rryp}
\newcommand{\trz}{\rrz}
\newcommand{\trzp}{\rrzp}
\newcommand{\trl}{\rrl}
  \newcommand{\trlp}{\rrlp} %%new
\newcommand{\trr}{\rrr}
  \newcommand{\trrp}{\rrrp} %%new
\newcommand{\tru}{\rru}
  \newcommand{\trup}{\rrup} %%new
\newcommand{\trd}{\rrd}
  \newcommand{\trdp}{\rrdp} %%new
\newcommand{\trf}{\rrf}
  \newcommand{\trfp}{\rrfp} %%new
\newcommand{\trb}{\rrb}
  \newcommand{\trbp}{\rrbp} %%new
\newcommand{\trLc}{\rrLc}
\newcommand{\trLcp}{\rrLcp}
\newcommand{\trRc}{\rrRc}
\newcommand{\trRcp}{\rrRcp}
\newcommand{\trUc}{\rrUc}
\newcommand{\trUcp}{\rrUcp}
\newcommand{\trDc}{\rrDc}
\newcommand{\trDcp}{\rrDcp}
\newcommand{\trFc}{\rrFc}
\newcommand{\trFcp}{\rrFcp}
\newcommand{\trBc}{\rrBc}
\newcommand{\trBcp}{\rrBcp}
\newcommand{\trCL}{\rrCL}
\newcommand{\trCLp}{\rrCLp}
\newcommand{\trCR}{\rrCR}
\newcommand{\trCRp}{\rrCRp}
\newcommand{\trCU}{\rrCU}
\newcommand{\trCUp}{\rrCUp}
\newcommand{\trCD}{\rrCD}
\newcommand{\trCDp}{\rrCDp}
\newcommand{\trCF}{\rrCF}
\newcommand{\trCFp}{\rrCFp}
\newcommand{\trCB}{\rrCB}
\newcommand{\trCBp}{\rrCBp}
\newcommand{\trhx}{\rrhx}
\newcommand{\trhxp}{\rrhxp}
\newcommand{\trhy}{\rrhy}
\newcommand{\trhyp}{\rrhyp}
\newcommand{\trhz}{\rrhz}
\newcommand{\trhzp}{\rrhzp}
\newcommand{\trhl}{\rrhl}
   \newcommand{\trhlp}{\rrhlp} % new
\newcommand{\trhr}{\rrhr}
   \newcommand{\trhrp}{\rrhrp} % new
\newcommand{\trhu}{\rrhu}
   \newcommand{\trhup}{\rrhup} % new
\newcommand{\trhd}{\rrhd}
   \newcommand{\trhdp}{\rrhdp} % new
\newcommand{\trhf}{\rrhf}
   \newcommand{\trhfp}{\rrhfp} % new
\newcommand{\trhb}{\rrhb}
   \newcommand{\trhbp}{\rrhbp} % new
\newcommand{\trhLc}{\rrhLc}
\newcommand{\trhLcp}{\rrhLcp}
\newcommand{\trhRc}{\rrhRc}
\newcommand{\trhRcp}{\rrhRcp}
\newcommand{\trhUc}{\rrhUc}
\newcommand{\trhUcp}{\rrhUcp}
\newcommand{\trhDc}{\rrhDc}
\newcommand{\trhDcp}{\rrhDcp}
\newcommand{\trhFc}{\rrhFc}
\newcommand{\trhFcp}{\rrhFcp}
\newcommand{\trhBc}{\rrhBc}
\newcommand{\trhBcp}{\rrhBcp}
\newcommand{\trhCL}{\rrhCL}
\newcommand{\trhCLp}{\rrhCLp}
\newcommand{\trhCR}{\rrhCR}
\newcommand{\trhCRp}{\rrhCRp}
\newcommand{\trhCU}{\rrhCU}
\newcommand{\trhCUp}{\rrhCUp}
\newcommand{\trhCD}{\rrhCD}
\newcommand{\trhCDp}{\rrhCDp}
\newcommand{\trhCF}{\rrhCF}
\newcommand{\trhCFp}{\rrhCFp}
\newcommand{\trhCB}{\rrhCB}
\newcommand{\trhCBp}{\rrhCBp}
\newcommand{\Twox}{\Rubikx}
\newcommand{\Twoxp}{\Rubikxp}
\newcommand{\Twoy}{\Rubiky}
\newcommand{\Twoyp}{\Rubikyp}
\newcommand{\Twoz}{\Rubikz}
\newcommand{\Twozp}{\Rubikzp}
\newcommand{\Twol}{\Rubikl}
   \newcommand{\Twolp}{\Rubiklp} % new
\newcommand{\Twor}{\Rubikr}
   \newcommand{\Tworp}{\Rubikrp} % new
\newcommand{\Twou}{\Rubiku}
   \newcommand{\Twoup}{\Rubikup} % new
\newcommand{\Twod}{\Rubikd}
   \newcommand{\Twodp}{\Rubikdp} % new
\newcommand{\Twof}{\Rubikf}
   \newcommand{\Twofp}{\Rubikfp} % new
\newcommand{\Twob}{\Rubikb}
   \newcommand{\Twobp}{\Rubikbp} % new
\newcommand{\TwoLc}{\RubikLc}
\newcommand{\TwoLcp}{\RubikLcp}
\newcommand{\TwoRc}{\RubikRc}
\newcommand{\TwoRcp}{\RubikRcp}
\newcommand{\TwoUc}{\RubikUc}
\newcommand{\TwoUcp}{\RubikUcp}
\newcommand{\TwoDc}{\RubikDc}
\newcommand{\TwoDcp}{\RubikDcp}
\newcommand{\TwoFc}{\RubikFc}
\newcommand{\TwoFcp}{\RubikFcp}
\newcommand{\TwoBc}{\RubikBc}
\newcommand{\TwoBcp}{\RubikBcp}
\newcommand{\TwoCL}{\RubikCL}
\newcommand{\TwoCLp}{\RubikCLp}
\newcommand{\TwoCR}{\RubikCR}
\newcommand{\TwoCRp}{\RubikCRp}
\newcommand{\TwoCU}{\RubikCU}
\newcommand{\TwoCUp}{\RubikCUp}
\newcommand{\TwoCD}{\RubikCD}
\newcommand{\TwoCDp}{\RubikCDp}
\newcommand{\TwoCF}{\RubikCF}
\newcommand{\TwoCFp}{\RubikCFp}
\newcommand{\TwoCB}{\RubikCB}
\newcommand{\TwoCBp}{\RubikCBp}
\newcommand{\textTwox}{\rrhx}
\newcommand{\textTwoxp}{\rrhxp}
\newcommand{\textTwoy}{\rrhy}
\newcommand{\textTwoyp}{\rrhyp}
\newcommand{\textTwoz}{\rrhz}
\newcommand{\textTwozp}{\rrhzp}
\newcommand{\textTwol}{\rrhl}
   \newcommand{\textTwolp}{\rrhlp} %new
\newcommand{\textTwor}{\rrhr}
   \newcommand{\textTworp}{\rrhrp} %new
\newcommand{\textTwou}{\rrhu}
   \newcommand{\textTwoup}{\rrhup} %new
\newcommand{\textTwod}{\rrhd}
   \newcommand{\textTwodp}{\rrhdp} %new
\newcommand{\textTwof}{\rrhf}
   \newcommand{\textTwofp}{\rrhfp} %new
\newcommand{\textTwob}{\rrhb}
   \newcommand{\textTwobp}{\rrhbp} %new
\newcommand{\textTwoLc}{\rrhLc}
\newcommand{\textTwoLcp}{\rrhLcp}
\newcommand{\textTwoRc}{\rrhRc}
\newcommand{\textTwoRcp}{\rrhRcp}
\newcommand{\textTwoUc}{\rrhUc}
\newcommand{\textTwoUcp}{\rrhUcp}
\newcommand{\textTwoDc}{\rrhDc}
\newcommand{\textTwoDcp}{\rrhDcp}
\newcommand{\textTwoFc}{\rrhFc}
\newcommand{\textTwoFcp}{\rrhFcp}
\newcommand{\textTwoBc}{\rrhBc}
\newcommand{\textTwoBcp}{\rrhBcp}
\newcommand{\textTwoCL}{\rrhCL}
\newcommand{\textTwoCLp}{\rrhCLp}
\newcommand{\textTwoCR}{\rrhCR}
\newcommand{\textTwoCRp}{\rrhCRp}
\newcommand{\textTwoCU}{\rrhCU}
\newcommand{\textTwoCUp}{\rrhCUp}
\newcommand{\textTwoCD}{\rrhCD}
\newcommand{\textTwoCDp}{\rrhCDp}
\newcommand{\textTwoCF}{\rrhCF}
\newcommand{\textTwoCFp}{\rrhCFp}
\newcommand{\textTwoCB}{\rrhCB}
\newcommand{\textTwoCBp}{\rrhCBp}
\endinput
%%
%% End of file `rubiktwocube.sty'.
