%% %% This is file `rubikcube.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% rubikcube.dtx (with options: `rubikcube') %% %% ----------------------------------------------------------------- %% Authors: RWD Nickalls (dick@nickalls.org) %% and Apostolos Syropoulos (asyropoulos@yahoo.com) %% %% Copyright 2014 RWD Nickalls and A Syropoulos %% %% %% This work 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: %% %% 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 %% ------------------------------------------------------------------ %% rubikcube.dtx %% Copyright 2014 RWD Nickalls (dick@nickalls.org) and A Syropoulos (asyropoulos@yahoo.com) %%% \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\RCfileversion{2.0}% \def\RCfiledate{2014/01/20}% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{rubikcube}[\RCfiledate\space (v\RCfileversion)] \@ifpackageloaded{tikz}{}{% \typeout{---rubikcube requires the TikZ package.}% \RequirePackage{tikz}}% \newcommand{\rubikcube}{\textsf{rubikcube}}% \newcommand{\@rr}[1]{\textbf{\textsf{#1}}} \newcommand{\@rrp}[1]{\textbf{\textsf{#1}$^\prime$}} \newcommand{\@rrw}[1]{\textbf{\textsf{#1\footnotesize{w}}}} \newcommand{\@rrwp}[1]{\textbf{\textsf{#1\footnotesize{w}}$^\prime$}} \newcommand{\@rrs}[1]{\textbf{\textsf{#1\footnotesize{s}}}} \newcommand{\@rrsp}[1]{\textbf{\textsf{#1\footnotesize{s}}$^\prime$}} \newcommand{\@rra}[1]{\textbf{\textsf{#1\footnotesize{a}}}} \newcommand{\@rrap}[1]{\textbf{\textsf{#1\footnotesize{a}}$^\prime$}} \newcommand{\@xyzh}[1]{\textbf{[\textsf{#1}]}\,} \newcommand{\@xyzhp}[1]{\textbf{[\textsf{#1}$^\prime$]}\,} \newcommand{\@xyzRubik}[1]{\raisebox{3.45pt}{\textbf{[\textsf{#1}]}}} \newcommand{\@xyzRubikp}[1]{\raisebox{3.45pt}{\textbf{[\textsf{#1}$^\prime$]}}} \newcommand{\@SquareLetter}[1]{\setlength\fboxsep{2.5pt}\fboxrule=0.8pt% \fbox{\rule[-1pt]{0pt}{8.5pt}\raisebox{-0.5pt}{#1}}} \newlength\@hRubik% \setlength{\@hRubik}{0.185cm}% \definecolor{R}{HTML}{C41E33}% \definecolor{G}{HTML}{00BE38}% \definecolor{B}{HTML}{0051BA}% \definecolor{Y}{HTML}{FFFF00}% \colorlet{X}{black!30}% grey \colorlet{O}{orange}% \colorlet{W}{white}% \newcommand{\RubikFaceUp}[9]{% \def\Ult{#1}\def\Umt{#2}\def\Urt{#3}% \def\Ulm{#4}\def\Umm{#5}\def\Urm{#6}% \def\Ulb{#7}\def\Umb{#8}\def\Urb{#9}% } \newcommand{\RubikFaceFront}[9]{% \def\Flt{#1}\def\Fmt{#2}\def\Frt{#3}% \def\Flm{#4}\def\Fmm{#5}\def\Frm{#6}% \def\Flb{#7}\def\Fmb{#8}\def\Frb{#9}% } \newcommand{\RubikFaceRight}[9]{% \def\Rlt{#1}\def\Rmt{#2}\def\Rrt{#3}% \def\Rlm{#4}\def\Rmm{#5}\def\Rrm{#6}% \def\Rlb{#7}\def\Rmb{#8}\def\Rrb{#9}% } \newcommand{\RubikFaceDown}[9]{% \def\Dlt{#1}\def\Dmt{#2}\def\Drt{#3}% \def\Dlm{#4}\def\Dmm{#5}\def\Drm{#6}% \def\Dlb{#7}\def\Dmb{#8}\def\Drb{#9}% } \newcommand{\RubikFaceLeft}[9]{% \def\Llt{#1}\def\Lmt{#2}\def\Lrt{#3}% \def\Llm{#4}\def\Lmm{#5}\def\Lrm{#6}% \def\Llb{#7}\def\Lmb{#8}\def\Lrb{#9}% } \newcommand{\RubikFaceBack}[9]{% \def\Blt{#1}\def\Bmt{#2}\def\Brt{#3}% \def\Blm{#4}\def\Bmm{#5}\def\Brm{#6}% \def\Blb{#7}\def\Bmb{#8}\def\Brb{#9}% } \newcommand{\RubikFaceUpAll}[1]{% \def\Ult{#1}\def\Umt{#1}\def\Urt{#1}% \def\Ulm{#1}\def\Umm{#1}\def\Urm{#1}% \def\Ulb{#1}\def\Umb{#1}\def\Urb{#1}% } \newcommand{\RubikFaceFrontAll}[1]{% \def\Flt{#1}\def\Fmt{#1}\def\Frt{#1}% \def\Flm{#1}\def\Fmm{#1}\def\Frm{#1}% \def\Flb{#1}\def\Fmb{#1}\def\Frb{#1}% } \newcommand{\RubikFaceRightAll}[1]{% \def\Rlt{#1}\def\Rmt{#1}\def\Rrt{#1}% \def\Rlm{#1}\def\Rmm{#1}\def\Rrm{#1}% \def\Rlb{#1}\def\Rmb{#1}\def\Rrb{#1}% } \newcommand{\RubikFaceLeftAll}[1]{% \def\Llt{#1}\def\Lmt{#1}\def\Lrt{#1}% \def\Llm{#1}\def\Lmm{#1}\def\Lrm{#1}% \def\Llb{#1}\def\Lmb{#1}\def\Lrb{#1}% } \newcommand{\RubikFaceDownAll}[1]{% \def\Dlt{#1}\def\Dmt{#1}\def\Drt{#1}% \def\Dlm{#1}\def\Dmm{#1}\def\Drm{#1}% \def\Dlb{#1}\def\Dmb{#1}\def\Drb{#1}% } \newcommand{\RubikFaceBackAll}[1]{% \def\Blt{#1}\def\Bmt{#1}\def\Brt{#1}% \def\Blm{#1}\def\Bmm{#1}\def\Brm{#1}% \def\Blb{#1}\def\Bmb{#1}\def\Brb{#1}% } \RubikFaceUpAll{X}% \RubikFaceDownAll{X}% \RubikFaceLeftAll{X}% \RubikFaceRightAll{X}% \RubikFaceFrontAll{X}% \RubikFaceBackAll{X}% \newcommand{\RubikCubeSolved}{% \RubikFaceUpAll{W}% \RubikFaceDownAll{Y}% \RubikFaceLeftAll{B}% \RubikFaceRightAll{G}% \RubikFaceFrontAll{O}% \RubikFaceBackAll{R}% } \newcommand{\RubikSliceTopR}[6]{% \def\Flt{#1}\def\Fmt{#2}\def\Frt{#3}% \def\Rlt{#4}\def\Rmt{#5}\def\Rrt{#6}% } \newcommand{\RubikSliceTopL}[6]{% \def\Llt{#1}\def\Lmt{#2}\def\Lrt{#3}% \def\Flt{#4}\def\Fmt{#5}\def\Frt{#6}% } \newcommand{\RubikSliceEquatorR}[6]{% \def\Flm{#1}\def\Fmm{#2}\def\Frm{#3}% \def\Rlm{#4}\def\Rmm{#5}\def\Rrm{#6}% } \newcommand{\RubikSliceEquatorL}[6]{% \def\Llm{#1}\def\Lmm{#2}\def\Lrm{#3}% \def\Flm{#4}\def\Fmm{#5}\def\Frm{#6}% } \newcommand{\RubikSliceBottomR}[6]{% \def\Flb{#1}\def\Fmb{#2}\def\Frb{#3}% \def\Rlb{#4}\def\Rmb{#5}\def\Rrb{#6}% } \newcommand{\RubikSliceBottomL}[6]{% \def\Llb{#1}\def\Lmb{#2}\def\Lrb{#3}% \def\Flb{#4}\def\Fmb{#5}\def\Frb{#6}% } \newcommand{\DrawRubikCubeFrontFace}{% \draw[line join=round,line cap=round,ultra thick,fill=\Flt]% (0,2) -- (0, 3) -- (1,3) -- (1,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Fmt]% (1,2) -- (1, 3) -- (2,3) -- (2,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Frt]% (2,2) -- (2, 3) -- (3,3) -- (3,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Flm]% (0,1) -- (0, 2) -- (1,2) -- (1,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Fmm]% (1,1) -- (1, 2) -- (2,2) -- (2,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Frm]% (2,1) -- (2, 2) -- (3,2) -- (3,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=\Fmb]% (1,0) -- (1, 1) -- (2,1) -- (2,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Frb]% (2,0) -- (2, 1) -- (3,1) -- (3,0) -- cycle; } \newcommand{\DrawRubikCubeRU}{% \DrawRubikCubeFrontFace %% frontface %%-----------Up face---------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Ult]% (0.66,3.66) -- (1,4) -- (2,4) -- (1.66,3.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umt]% (1.66,3.66) -- (2,4) -- (3,4) -- (2.66,3.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urt]% (2.66,3.66) -- (3,4) -- (4,4) -- (3.66,3.66) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Ulm]% (0.33,3.33) -- (0.66,3.66) -- (1.66,3.66) -- (1.33,3.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umm]% (1.33,3.33) -- (1.66,3.66) -- (2.66,3.66) -- (2.33,3.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urm]% (2.33,3.33) -- (2.66,3.66) -- (3.66,3.66) -- (3.33,3.33) -- cycle; %%---bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Ulb]% (0,3) -- (0.33,3.33) -- (1.33,3.33) -- (1,3) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umb]% (1,3) -- (1.33,3.33) -- (2.33,3.33) -- (2,3) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urb]% (2,3) -- (2.33,3.33) -- (3.33,3.33) -- (3,3) -- cycle; %%-----------Right face---------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Rlt]% (3,2) -- (3, 3) -- (3.33,3.33) -- (3.33,2.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmt]% (3.33,2.33) -- (3.33, 3.33) -- (3.66,3.66) -- (3.66,2.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrt]% (3.66,2.66) -- (3.66, 3.66) -- (4,4) -- (4,3) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Rlm]% (3,1) -- (3, 2) -- (3.33,2.33) -- (3.33,1.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmm]% (3.33,1.33) -- (3.33, 2.33) -- (3.66,2.66) -- (3.66,1.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrm]% (3.66,1.66) -- (3.66, 2.66) -- (4,3) -- (4,2) -- cycle; %%---bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Rlb]% (3,0) -- (3, 1) -- (3.33,1.33) -- (3.33,0.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmb]% (3.33,0.33) -- (3.33, 1.33) -- (3.66,1.66) -- (3.66,0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrb]% (3.66,0.66) -- (3.66, 1.66) -- (4,2) -- (4,1) -- cycle; } \newcommand{\DrawRubikCube}{\DrawRubikCubeRU} \newcommand{\DrawRubikCubeRD}{% \DrawRubikCubeFrontFace %% frontface %%----------Right face-------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Rlt]% (3,2) -- (3, 3) -- (3.33,2.66) -- (3.33,1.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmt]% (3.33,1.66) -- (3.33, 2.66) -- (3.66,2.33) -- (3.66,1.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrt]% (3.66,1.33) -- (3.66, 2.33) -- (4,2) -- (4,1) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Rlm]% (3,1) -- (3, 2) -- (3.33,1.66) -- (3.33,0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmm]% (3.33,0.66) -- (3.33, 1.66) -- (3.66,1.33) -- (3.66,0.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrm]% (3.66,0.33) -- (3.66, 1.33) -- (4,1) -- (4,0) -- cycle; %%---bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Rlb]% (3,0) -- (3, 1) -- (3.33,0.66) -- (3.33,-0.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmb]% (3.33,-0.33) -- (3.33, 0.66) -- (3.66,0.33) -- (3.66,-0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrb]% (3.66,-0.66) -- (3.66, 0.33) -- (4,0) -- (4,-1) -- 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=\Dmt]% (1.33,-0.33) -- (1, 0) -- (2,0) -- (2.33,-0.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drt]% (2.33,-0.33) -- (2, 0) -- (3,0) -- (3.33,-0.33) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Dlm]% (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=\Dmm]% (1.66,-0.66) -- (1.33, -0.33) -- (2.33,-0.33) -- (2.66,-0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drm]% (2.66,-0.66) -- (2.33, -0.33) -- (3.33,-0.33) -- (3.66,-0.66) -- cycle; %%---bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Dlb]% (1,-1) -- (0.66, -0.66) -- (1.66,-0.66) -- (2,-1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Dmb]% (2,-1) -- (1.66, -0.66) -- (2.66,-0.66) -- (3,-1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drb]% (3,-1) -- (2.66, -0.66) -- (3.66,-0.66) -- (4,-1) -- cycle; } \newcommand{\DrawRubikCubeLD}{% \DrawRubikCubeFrontFace %% frontface %%------------Left face-------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Llt]% (-1,1) -- (-1, 2) -- (-0.66,2.33) -- (-0.66,1.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmt]% (-0.66,1.33) -- (-0.66, 2.33) -- (-0.33,2.66) -- (-0.33,1.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lrt]% (-0.33,1.66) -- (-0.33, 2.66) -- (0,3) -- (0,2) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Llm]% (-1,0) -- (-1, 1) -- (-0.66,1.33) -- (-0.66,0.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmm]% (-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=\Lrm]% (-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]% (-1,-1) -- (-1, 0) -- (-0.66,0.33) -- (-0.66,-0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmb]% (-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=\Dmt]% (0.66,-0.33) -- (1, 0) -- (2,0) -- (1.66,-0.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drt]% (1.66,-0.33) -- (2, 0) -- (3,0) -- (2.66,-0.33) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Dlm]% (-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=\Dmm]% (0.33,-0.66) -- (0.66, -0.33) -- (1.66,-0.33) -- (1.33,-0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drm]% (1.33,-0.66) -- (1.66, -0.33) -- (2.66,-0.33) -- (2.33,-0.66) -- cycle; %%---bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Dlb]% (-1,-1) -- (-0.66, -0.66) -- (0.33,-0.66) -- (0,-1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Dmb]% (0,-1) -- (0.33, -0.66) -- (1.33,-0.66) -- (1,-1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drb]% (1,-1) -- (1.33, -0.66) -- (2.33,-0.66) -- (2,-1) -- cycle; } \newcommand{\DrawRubikCubeLU}{% \DrawRubikCubeFrontFace %% frontface %%-----------Left face----------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Llt]% (-1,3) -- (-1, 4) -- (-0.66,3.66) -- (-0.66,2.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmt]% (-0.66,2.66) -- (-0.66, 3.66) -- (-0.33,3.33) -- (-0.33,2.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lrt]% (-0.33,2.33) -- (-0.33, 3.33) -- (0,3) -- (0,2) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Llm]% (-1,2) -- (-1, 3) -- (-0.66,2.66) -- (-0.66,1.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmm]% (-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=\Lrm]% (-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]% (-1,1) -- (-1, 2) -- (-0.66,1.66) -- (-0.66,0.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmb]% (-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--------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Ult]% (-0.66,3.66) -- (-1, 4) -- (0,4) -- (0.33,3.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umt]% (0.33,3.66) -- (0, 4) -- (1,4) -- (1.33,3.66) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urt]% (1.33,3.66) -- (1, 4) -- (2,4) -- (2.33,3.66) -- cycle; %%---middle row \draw[line join=round,line cap=round,ultra thick,fill=\Ulm]% (-0.33,3.33) -- (-0.66, 3.66) -- (0.33,3.66) -- (0.66,3.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umm]% (0.66,3.33) -- (0.33, 3.66) -- (1.33,3.66) -- (1.66,3.33) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urm]% (1.66,3.33) -- (1.33, 3.66) -- (2.33,3.66) -- (2.66,3.33) -- cycle; %%---bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Ulb]% (0,3) -- (-0.33, 3.33) -- (0.66,3.33) -- (1,3) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umb]% (1,3) -- (0.66, 3.33) -- (1.66,3.33) -- (2,3) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urb]% (2,3) -- (1.66, 3.33) -- (2.66,3.33) -- (3,3) -- cycle;% \ %%trailing space } \newcommand{\DrawRubikLayerFace}[9]{% %%-----------FRONT face--------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=#1]% (0,2) -- (0, 3) -- (1,3) -- (1,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#2]% (1,2) -- (1, 3) -- (2,3) -- (2,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#3]% (2,2) -- (2, 3) -- (3,3) -- (3,2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=#4]% (0,1) -- (0, 2) -- (1,2) -- (1,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#5]% (1,1) -- (1, 2) -- (2,2) -- (2,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#6]% (2,1) -- (2, 2) -- (3,2) -- (3,1) -- cycle; %%----bottom row \draw[line join=round,line cap=round,ultra thick,fill=#7]% (0,0) -- (0, 1) -- (1,1) -- (1,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#8]% (1,0) -- (1, 1) -- (2,1) -- (2,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#9]% (2,0) -- (2, 1) -- (3,1) -- (3,0) -- cycle; } \newcommand{\DrawRubikLayerFaceAll}[1]{% %%----------FRONT face----------- %%---top row \draw[line join=round,line cap=round,ultra thick,fill=#1]% (0,2) -- (0, 3) -- (1,3) -- (1,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#1]% (1,2) -- (1, 3) -- (2,3) -- (2,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#1]% (2,2) -- (2, 3) -- (3,3) -- (3,2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=#1]% (0,1) -- (0, 2) -- (1,2) -- (1,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#1]% (1,1) -- (1, 2) -- (2,2) -- (2,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#1]% (2,1) -- (2, 2) -- (3,2) -- (3,1) -- cycle; %%----bottom row \draw[line join=round,line cap=round,ultra thick,fill=#1]% (0,0) -- (0, 1) -- (1,1) -- (1,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#1]% (1,0) -- (1, 1) -- (2,1) -- (2,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=#1]% (2,0) -- (2, 1) -- (3,1) -- (3,0) -- cycle; } \newcommand{\FlatUp}[2]{% \pgfmathsetmacro{\ux}{#1}% \pgfmathsetmacro{\uy}{#2}% %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Ult]% (\ux + 0,\uy + 2) -- (\ux + 0,\uy + 3) -- (\ux + 1,\uy + 3)% -- (\ux + 1,\uy + 2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Umt]% (\ux + 1,\uy + 2) -- (\ux + 1,\uy + 3) -- (\ux + 2,\uy + 3)% -- (\ux + 2,\uy + 2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urt]% (\ux + 2,\uy + 2) -- (\ux + 2,\uy + 3) -- (\ux + 3,\uy + 3)% -- (\ux + 3,\uy + 2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=\Ulm]% (\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=\Umm]% (\ux + 1,\uy + 1) -- (\ux + 1,\uy + 2) -- (\ux + 2,\uy + 2)% -- (\ux + 2,\uy + 1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urm]% (\ux + 2,\uy + 1) -- (\ux + 2,\uy + 2) -- (\ux + 3,\uy + 2)% -- (\ux + 3,\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=\Umb]% (\ux + 1,\uy + 0) -- (\ux + 1,\uy + 1) -- (\ux + 2,\uy + 1)% -- (\ux + 2,\uy + 0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Urb]% (\ux + 2,\uy + 0) -- (\ux + 2,\uy + 1) -- (\ux + 3,\uy + 1)% -- (\ux + 3,\uy + 0) -- cycle; } %%------------------------- \newcommand{\FlatDown}[2]{% \pgfmathsetmacro{\ddx}{#1}% \pgfmathsetmacro{\ddy}{#2}% %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Dlt]% (\ddx + 0,\ddy + 2) -- (\ddx + 0,\ddy + 3) -- (\ddx + 1,\ddy + 3)% -- (\ddx + 1,\ddy + 2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Dmt]% (\ddx + 1,\ddy + 2) -- (\ddx + 1,\ddy + 3) -- (\ddx + 2,\ddy + 3)% -- (\ddx + 2,\ddy + 2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drt]% (\ddx + 2,\ddy + 2) -- (\ddx + 2,\ddy + 3) -- (\ddx + 3,\ddy + 3)% -- (\ddx + 3,\ddy + 2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=\Dlm]% (\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=\Dmm]% (\ddx + 1,\ddy + 1) -- (\ddx + 1,\ddy + 2) -- (\ddx + 2,\ddy + 2)% -- (\ddx + 2,\ddy + 1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drm]% (\ddx + 2,\ddy + 1) -- (\ddx + 2,\ddy + 2) -- (\ddx + 3,\ddy + 2)% -- (\ddx + 3,\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=\Dmb]% (\ddx + 1,\ddy + 0) -- (\ddx + 1,\ddy + 1) -- (\ddx + 2,\ddy + 1)% -- (\ddx + 2,\ddy + 0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Drb]% (\ddx + 2,\ddy + 0) -- (\ddx + 2,\ddy + 1) -- (\ddx + 3,\ddy + 1)% -- (\ddx + 3,\ddy + 0) -- cycle; } %%----------------------- \newcommand{\FlatFront}{% %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Flt]% (0,2) -- (0, 3) -- (1,3) -- (1,2) -- cycle; %% \draw[line join=round,line cap=round,ultra thick,fill=\Fmt]% (1,2) -- (1, 3) -- (2,3) -- (2,2) -- cycle; %% \draw[line join=round,line cap=round,ultra thick,fill=\Frt]% (2,2) -- (2, 3) -- (3,3) -- (3,2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=\Flm]% (0,1) -- (0, 2) -- (1,2) -- (1,1) -- cycle; %% \draw[line join=round,line cap=round,ultra thick,fill=\Fmm]% (1,1) -- (1, 2) -- (2,2) -- (2,1) -- cycle; %% \draw[line join=round,line cap=round,ultra thick,fill=\Frm]% (2,1) -- (2, 2) -- (3,2) -- (3,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=\Fmb]% (1,0) -- (1, 1) -- (2,1) -- (2,0) -- cycle; %% \draw[line join=round,line cap=round,ultra thick,fill=\Frb]% (2,0) -- (2, 1) -- (3,1) -- (3,0) -- cycle; } %%------------------------- \newcommand{\FlatBack}[2]{% \pgfmathsetmacro{\bx}{#1}% \pgfmathsetmacro{\by}{#2}% %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Blt]% (\bx + 0,\by + 2) -- (\bx + 0,\by + 3) -- (\bx + 1,\by + 3)% -- (\bx + 1,\by + 2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Bmt]% (\bx + 1,\by + 2) -- (\bx + 1,\by + 3) -- (\bx + 2,\by + 3)% -- (\bx + 2,\by + 2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Brt]% (\bx + 2,\by + 2) -- (\bx + 2,\by + 3) -- (\bx + 3,\by + 3)% -- (\bx + 3,\by + 2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=\Blm]% (\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=\Bmm]% (\bx + 1,\by + 1) -- (\bx + 1,\by + 2) -- (\bx + 2,\by + 2)% -- (\bx + 2,\by + 1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Brm]% (\bx + 2,\by + 1) -- (\bx + 2,\by + 2) -- (\bx + 3,\by + 2)% -- (\bx + 3,\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=\Bmb]% (\bx + 1,\by + 0) -- (\bx + 1,\by + 1) -- (\bx + 2,\by + 1)% -- (\bx + 2,\by + 0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Brb]% (\bx + 2,\by + 0) -- (\bx + 2,\by + 1) -- (\bx + 3,\by + 1)% -- (\bx + 3,\by + 0) -- cycle; } %%------------------------- \newcommand{\FlatLeft}[2]{% \pgfmathsetmacro{\lx}{#1}% \pgfmathsetmacro{\ly}{#2}% %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Llt]% (\lx + 0,2) -- (\lx + 0, 3) -- (\lx + 1,3) -- (\lx + 1,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmt]% (\lx + 1,2) -- (\lx + 1, 3) -- (\lx + 2,3) -- (\lx + 2,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lrt]% (\lx + 2,2) -- (\lx + 2, 3) -- (\lx + 3,3) -- (\lx + 3,2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=\Llm]% (\lx + 0,1) -- (\lx + 0, 2) -- (\lx + 1,2) -- (\lx + 1,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmm]% (\lx + 1,1) -- (\lx + 1, 2) -- (\lx + 2,2) -- (\lx + 2,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lrm]% (\lx + 2,1) -- (\lx + 2, 2) -- (\lx + 3,2) -- (\lx + 3,1) -- cycle; %%----bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Llb]% (\lx + 0,0) -- (\lx + 0, 1) -- (\lx + 1,1) -- (\lx + 1,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lmb]% (\lx + 1,0) -- (\lx + 1, 1) -- (\lx + 2,1) -- (\lx + 2,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Lrb]% (\lx + 2,0) -- (\lx + 2, 1) -- (\lx + 3,1) -- (\lx + 3,0) -- cycle; } %%-------------------------- \newcommand{\FlatRight}[2]{% \pgfmathsetmacro{\rx}{#1}% %3 \pgfmathsetmacro{\ry}{#2}% %0 %%---top row \draw[line join=round,line cap=round,ultra thick,fill=\Rlt]% (\rx + 0,2) -- (\rx + 0, 3) -- (\rx + 1,3) -- (\rx + 1,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmt]% (\rx + 1,2) -- (\rx + 1, 3) -- (\rx + 2,3) -- (\rx + 2,2) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrt]% (\rx + 2,2) -- (\rx + 2, 3) -- (\rx + 3,3) -- (\rx + 3,2) -- cycle; %%-----middle row \draw[line join=round,line cap=round,ultra thick,fill=\Rlm]% (\rx + 0,1) -- (\rx + 0, 2) -- (\rx + 1,2) -- (\rx + 1,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmm]% (\rx + 1,1) -- (\rx + 1, 2) -- (\rx + 2,2) -- (\rx + 2,1) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrm]% (\rx + 2,1) -- (\rx + 2, 2) -- (\rx + 3,2) -- (\rx + 3,1) -- cycle; %%----bottom row \draw[line join=round,line cap=round,ultra thick,fill=\Rlb]% (\rx + 0,0) -- (\rx + 0, 1) -- (\rx + 1,1) -- (\rx + 1,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rmb]% (\rx + 1,0) -- (\rx + 1, 1) -- (\rx + 2,1) -- (\rx + 2,0) -- cycle; \draw[line join=round,line cap=round,ultra thick,fill=\Rrb]% (\rx + 2,0) -- (\rx + 2, 1) -- (\rx + 3,1) -- (\rx + 3,0) -- cycle; } \newcommand{\DrawRubikFlat}{% \FlatUp{0}{3}% \FlatDown{0}{-3}% \FlatLeft{-3}{0}% \FlatFront% \FlatRight{3}{0}% \FlatBack{6}{0}% } \newcommand{\DrawRubikCubeFlat}{% \DrawRubikCube% \FlatDown{0}{-3}% \FlatLeft{-3}{0}% \FlatBack{4}{1}% } \newcommand{\RubikSideBarWidth}[1]{\pgfmathsetmacro{\bw}{#1}} \newcommand{\RubikSideBarLength}[1]{\pgfmathsetmacro{\bl}{#1}} \newcommand{\RubikSideBarSep}[1]{\pgfmathsetmacro{\bs}{#1}} \RubikSideBarWidth{0.3}% \RubikSideBarLength{1}% \RubikSideBarSep{0.3}% \newcommand{\side@barL}[2]{% %% #1 = cubie possn no, #2 = colour \pgfmathsetmacro{\blh}{\bl*(0.5)}% \pgfmathsetmacro{\dx}{0 - \bs - \bw}% \pgfmathsetmacro{\dy}{#1-1+0.5-\blh}% \draw[fill=#2] (\dx,\dy) -- (\dx,\dy + \bl) -- (\dx+\bw,\dy+\bl) -- (\dx+\bw,\dy) -- cycle; } \newcommand{\side@barR}[2]{% %% #1 = cubie possn no, #2 = colour \pgfmathsetmacro{\blh}{\bl*(0.5)}% \pgfmathsetmacro{\dx}{3 + \bs}% \pgfmathsetmacro{\dy}{#1 -1+0.5-\blh}% \draw[fill=#2] (\dx,\dy) -- (\dx,\dy + \bl) -- (\dx+\bw,\dy+\bl) -- (\dx+\bw,\dy) -- cycle; } \newcommand{\side@barT}[2]{% %% #1 = cubie possn no, #2 = colour \pgfmathsetmacro{\blh}{\bl*(0.5)}% \pgfmathsetmacro{\dx}{#1 -1+0.5-\blh}% \pgfmathsetmacro{\dy}{3 +\bs}% \draw[fill=#2] (\dx,\dy) -- (\dx,\dy + \bw) -- (\dx+\bl,\dy+\bw) -- (\dx+\bl,\dy) -- cycle; } \newcommand{\side@barB}[2]{% %% #1 = cubie possn no, #2 = colour \pgfmathsetmacro{\blh}{\bl*(0.5)}% \pgfmathsetmacro{\dx}{#1 -1+0.5-\blh}% \pgfmathsetmacro{\dy}{0 -\bs-\bw}% \draw[fill=#2] (\dx,\dy) -- (\dx,\dy + \bw) -- (\dx+\bl,\dy+\bw) -- (\dx+\bl,\dy) -- cycle; } %%---Left side \newcommand{\DrawRubikLayerSideLTx}[1]{\side@barL{3}{#1}} \newcommand{\DrawRubikLayerSideLEx}[1]{\side@barL{2}{#1}} \newcommand{\DrawRubikLayerSideLE}[1]{\side@barL{2}{#1}} \newcommand{\DrawRubikLayerSideLBx}[1]{\side@barL{1}{#1}} \newcommand{\DrawRubikLayerSideRTx}[1]{\side@barR{3}{#1}} \newcommand{\DrawRubikLayerSideREx}[1]{\side@barR{2}{#1}} \newcommand{\DrawRubikLayerSideRE}[1]{\side@barR{2}{#1}} \newcommand{\DrawRubikLayerSideRBx}[1]{\side@barR{1}{#1}} \newcommand{\DrawRubikLayerSideLTy}[1]{\side@barT{1}{#1}} \newcommand{\DrawRubikLayerSideMTy}[1]{\side@barT{2}{#1}} \newcommand{\DrawRubikLayerSideMT}[1]{\side@barT{2}{#1}} \newcommand{\DrawRubikLayerSideRTy}[1]{\side@barT{3}{#1}} \newcommand{\DrawRubikLayerSideLBy}[1]{\side@barB{1}{#1}} \newcommand{\DrawRubikLayerSideMBy}[1]{\side@barB{2}{#1}} \newcommand{\DrawRubikLayerSideMB}[1]{\side@barB{2}{#1}} \newcommand{\DrawRubikLayerSideRBy}[1]{\side@barB{3}{#1}} %%--Top side--- \newcommand{\DrawRubikLayerSideT}[3]{% \DrawRubikLayerSideLTy{#1}% \DrawRubikLayerSideMTy{#2}% \DrawRubikLayerSideRTy{#3}% } %%--Bottom side--- \newcommand{\DrawRubikLayerSideB}[3]{% \DrawRubikLayerSideLBy{#1}% \DrawRubikLayerSideMBy{#2}% \DrawRubikLayerSideRBy{#3}% } %%--Left side-------- %% colours run vertically DOWN \newcommand{\DrawRubikLayerSideL}[3]{% \DrawRubikLayerSideLTx{#1}% \DrawRubikLayerSideLEx{#2}% \DrawRubikLayerSideLBx{#3}% } %%--Right side-------- %% colours run vertically DOWN \newcommand{\DrawRubikLayerSideR}[3]{% \DrawRubikLayerSideRTx{#1}% \DrawRubikLayerSideREx{#2}% \DrawRubikLayerSideRBx{#3}% } \newcommand{\DrawRubikLayerSideLR}[6]{% \DrawRubikLayerSideLTx{#1}% \DrawRubikLayerSideRTx{#2}% \DrawRubikLayerSideLEx{#3}% \DrawRubikLayerSideREx{#4}% \DrawRubikLayerSideLBx{#5}% \DrawRubikLayerSideRBx{#6}% } \newcommand{\DrawNCubeAll}[4]{% \pgfmathsetmacro{\ncubes}{#1-1}% %% need to subtract 1 from the given number of cubies per side %% to avoid the origin of the initial cube to be displaced \foreach \x in {0,...,\ncubes}{% \foreach \y in {0,...,\ncubes}{% \foreach \z in {0,...,\ncubes}{% \cube@dxdydz{1}{#2}{#3}{#4}{\x}{\y}{\z}% }}}} \newcommand{\cube@dxdydz}[7]{% \pgfmathsetmacro{\dx}{#1+#5}% %% calculates the 'displacement' (distance from the origin) of the %% far corners of the cube along the x axis from the arguments \pgfmathsetmacro{\dy}{#1+#6}% %% calculates the 'displacement' (distance from the origin) of the %% far corners of the cube along the y axis from the arguments \pgfmathsetmacro{\dz}{#1+#7}% %% calculates the 'displacement' (distance from the origin) of the %% far corners of the cube along the z axis from the arguments %% Draw FRONT face (using the X colour = #4) \draw[line join=round,line cap=round,ultra thick,fill=#4]% (#5,#6,\dz) -- (\dx,#6,\dz) -- (\dx,\dy,\dz) -- (#5,\dy,\dz) -- cycle; %% The 'rectangle' command does not work with 3D coordinates, %% so this is the way to draw the squres with space coordinates %% Draw UP face (using the Y colour = #3) \draw[line join=round,line cap=round,ultra thick,fill=#3]% (#5,\dy,\dz) -- (\dx,\dy,\dz) -- (\dx,\dy,#7) -- (#5,\dy,#7) -- cycle; %% Draw RIGHT face (using the X colour = #2) \draw[line join=round,line cap=round,ultra thick,fill=#2]% (\dx,#6,\dz) -- (\dx,#6,#7) -- (\dx,\dy,#7) -- (\dx,\dy,\dz) -- cycle; } \newcommand{\Cubiedx}[1]{\pgfmathsetmacro{\cx}{#1}} \newcommand{\Cubiedy}[1]{\pgfmathsetmacro{\cy}{#1}} \Cubiedx{0.4} \Cubiedy{0.4} \newcommand{\DrawCubieRU}[3]{% %% Front face (z) \draw[line join=round,line cap=round,ultra thick,fill=#3]% (0,0) -- (0, 1) -- (1, 1) -- (1,0) -- cycle; %% Up face(y) \draw[line join=round,line cap=round,ultra thick,fill=#2]% (0,1) -- (\cx, 1+\cy) -- (1+\cx,1+\cy) -- (1,1) -- cycle; %% Right face(x) \draw[line join=round,line cap=round,ultra thick,fill=#1]% (1,0) -- (1,1) -- (1+\cx,1+\cy) -- (1+\cx, \cy) -- cycle; } \newcommand{\DrawCubieRD}[3]{% %% Front face (z) \draw[line join=round,line cap=round,ultra thick,fill=#3]% (0,0) -- (0, 1) -- (1, 1) -- (1,0) -- cycle; %% Down face (y) \draw[line join=round,line cap=round,ultra thick,fill=#2]% (\cx,-\cy) -- (0, 0) -- (1,0) -- (1+\cx,-\cy) -- cycle; %% Right face (x) \draw[line join=round,line cap=round,ultra thick,fill=#1]% (1,0) -- (1,1) -- (1+\cx,-\cy+1) -- (1+\cx, -\cy) -- cycle; } \newcommand{\DrawCubieLD}[3]{% %% Front face (z) \draw[line join=round,line cap=round,ultra thick,fill=#3]% (0,0) -- (0, 1) -- (1, 1) -- (1,0) -- cycle; %% Down face (y) \draw[line join=round,line cap=round,ultra thick,fill=#2]% (-\cx,-\cy) -- (0, 0) -- (1,0) -- (1-\cx,-\cy) -- cycle; %% Left face (x) \draw[line join=round,line cap=round,ultra thick,fill=#1]% (-\cx,-\cy) -- (-\cx,-\cy+1) -- (0,1) -- (0,0) -- cycle; } \newcommand{\DrawCubieLU}[3]{% %% Front face (z) \draw[line join=round,line cap=round,ultra thick,fill=#3]% (0,0) -- (0, 1) -- (1, 1) -- (1,0) -- cycle; %% Up face (y) \draw[line join=round,line cap=round,ultra thick,fill=#2]% (-\cx,1+\cy) -- (1-\cx, 1+\cy) -- (1,1) -- (0,1) -- cycle; %% Left face (x) \draw[line join=round,line cap=round,ultra thick,fill=#1]% (-\cx, \cy) -- (-\cx,\cy+1) -- (0,1) -- (0,0) -- cycle; } \newcommand{\textCubieRU}[3]{% \begin{minipage}{0.66cm} \centering \begin{tikzpicture}[scale=0.5] \Cubiedx{0.4}\Cubiedy{0.4} \DrawCubieRU{#1}{#2}{#3} \end{tikzpicture} \end{minipage} } \newcommand{\textCubieRD}[3]{% \begin{minipage}{0.66cm} \centering \begin{tikzpicture}[scale=0.5] \Cubiedx{0.4}\Cubiedy{0.4} \DrawCubieRD{#1}{#2}{#3} \end{tikzpicture} \end{minipage} } \newcommand{\textCubieLD}[3]{% \begin{minipage}{0.66cm} \centering \begin{tikzpicture}[scale=0.5] \Cubiedx{0.4}\Cubiedy{0.4} \DrawCubieLD{#1}{#2}{#3} \end{tikzpicture} \end{minipage} } \newcommand{\textCubieLU}[3]{% \begin{minipage}{0.66cm} \centering \begin{tikzpicture}[scale=0.5] \Cubiedx{0.4}\Cubiedy{0.4} \DrawCubieLU{#1}{#2}{#3} \end{tikzpicture} \end{minipage} } \newcommand{\DrawNotationBox}{% \draw [thick] (0,0) -- (0,1) -- (1,1) -- (1,0) -- (0,0) -- (0,1)% } \pgfmathsetmacro{\sd}{0.25} % horiz space \pgfmathsetmacro{\sdd}{2*\sd} \pgfmathsetmacro{\sddd}{3*\sd} \pgfmathsetmacro{\sh}{0.6} % height \pgfmathsetmacro{\sb}{0.2} % base \pgfmathsetmacro{\sbh}{\sb + \sh} % UP \pgfmathsetmacro{\scx}{\sdd+0.2} % Start of CircleX \pgfmathsetmacro{\scy}{\sd*2/3} % Start of CircleY \pgfmathsetmacro{\sqcx}{\scx-0.13} %% SQuare CenterX \pgfmathsetmacro{\sqcy}{\scy+0.25} %% SQuare CenterY \newcommand{\rrB}{\@rr{B}} \newcommand{\SquareB}{\@SquareLetter{\rrB}} \newcommand{\rrhB}{\raisebox{-0.25mm}{\SquareB}\,} \newcommand{\RubikB}{\raisebox{\@hRubik}{\SquareB}\,} \newcommand{\textRubikB}{\rrhB\,} \newcommand{\rrBp}{\@rrp{B}} \newcommand{\SquareBp}{\@SquareLetter{\rrBp}} \newcommand{\rrhBp}{\raisebox{-0.25mm}{\SquareBp}\,} \newcommand{\RubikBp}{\raisebox{\@hRubik}{\SquareBp}\,} \newcommand{\textRubikBp}{\rrhBp\,} \newcommand{\rrBw}{\@rrw{B}} \newcommand{\SquareBw}{\@SquareLetter{\rrBw}} \newcommand{\rrhBw}{\raisebox{-0.25mm}{\SquareBw}\,} \newcommand{\RubikBw}{\raisebox{\@hRubik}{\SquareBw}\,} \newcommand{\textRubikBw}{\rrhBw\,} \newcommand{\rrBwp}{\@rrwp{B}} \newcommand{\SquareBwp}{\@SquareLetter{\rrBwp}} \newcommand{\rrhBwp}{\raisebox{-0.25mm}{\SquareBwp}\,} \newcommand{\RubikBwp}{\raisebox{\@hRubik}{\SquareBwp}\,} \newcommand{\textRubikBwp}{\rrhBwp\,} \newcommand{\rrBs}{\@rrs{B}} \newcommand{\SquareBs}{\@SquareLetter{\rrBs}} \newcommand{\rrhBs}{\raisebox{-0.25mm}{\SquareBs}\,} \newcommand{\RubikBs}{\raisebox{\@hRubik}{\SquareBs}\,} \newcommand{\textRubikBs}{\rrhBs\,} \newcommand{\rrBsp}{\@rrsp{B}} \newcommand{\SquareBsp}{\@SquareLetter{\rrBsp}} \newcommand{\rrhBsp}{\raisebox{-0.25mm}{\SquareBsp}\,} \newcommand{\RubikBsp}{\raisebox{\@hRubik}{\SquareBsp}\,} \newcommand{\textRubikBsp}{\rrhBsp\,} \newcommand{\rrBa}{\@rra{B}} \newcommand{\SquareBa}{\@SquareLetter{\rrBa}} \newcommand{\rrhBa}{\raisebox{-0.25mm}{\SquareBa}\,} \newcommand{\RubikBa}{\raisebox{\@hRubik}{\SquareBa}\,} \newcommand{\textRubikBa}{\rrhBa\,} \newcommand{\rrBap}{\@rrap{B}} \newcommand{\SquareBap}{\@SquareLetter{\rrBap}} \newcommand{\rrhBap}{\raisebox{-0.25mm}{\SquareBap}\,} \newcommand{\RubikBap}{\raisebox{\@hRubik}{\SquareBap}\,} \newcommand{\textRubikBap}{\rrhBap\,} \newcommand{\rrD}{\textbf{\textsf{D}}} %% \newcommand{\SquareD}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, ->] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}%% } \newcommand{\rrhD}{\raisebox{-0.333\height}{\SquareD}\,} %% \newcommand{\RubikD}{% \begin{minipage}{0.6cm} \centering \SquareD\\ \rrD \end{minipage}% } \newcommand{\textRubikD}{\rrD\,\rrhD} \newcommand{\rrDp}{\textbf{\textsf{D}$^\prime$}} %% \newcommand{\SquareDp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, <-] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDp}{\raisebox{-0.333\height}{\SquareDp}\,} %% \newcommand{\RubikDp}{% \begin{minipage}{0.6cm} \centering \SquareDp\\ \rrDp \end{minipage}% } \newcommand{\textRubikDp}{\rrDp\,\rrhDp} \newcommand{\rrDw}{\textbf{\textsf{D\footnotesize{w}}}} %% \newcommand{\SquareDw}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick, ->] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, ->] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDw}{\raisebox{-0.333\height}{\SquareDw}\,} %% \newcommand{\RubikDw}{% \begin{minipage}{0.6cm} \centering \SquareDw\\ \rrDw \end{minipage}% } \newcommand{\textRubikDw}{\rrDw\,\rrhDw} \newcommand{\rrDwp}{\textbf{\textsf{D\footnotesize{w}}$^\prime$}} %% \newcommand{\SquareDwp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick, <-] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, <-] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDwp}{\raisebox{-0.333\height}{\SquareDwp}\,} %% \newcommand{\RubikDwp}{% \begin{minipage}{0.6cm} \centering \SquareDwp\\ \rrDwp \end{minipage}% } \newcommand{\textRubikDwp}{\rrDwp\,\rrhDwp} \newcommand{\rrDs}{\@rrs{D}} %% \newcommand{\SquareDs}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, ->] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDs}{\raisebox{-0.333\height}{\SquareDs}\,} %% \newcommand{\RubikDs}{% \begin{minipage}{0.6cm} \centering \SquareDs\\ \rrDs \end{minipage}% } \newcommand{\textRubikDs}{\rrDs\,\rrhDs} \newcommand{\rrDsp}{\@rrsp{D}} %% \newcommand{\SquareDsp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, <-] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDsp}{\raisebox{-0.333\height}{\SquareDsp}\,} %% \newcommand{\RubikDsp}{% \begin{minipage}{0.6cm} \centering \SquareDsp\\ \rrDsp \end{minipage}% } \newcommand{\textRubikDsp}{\rrDsp\,\rrhDsp} \newcommand{\rrDa}{\@rra{D}} %% \newcommand{\SquareDa}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, ->] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDa}{\raisebox{-0.333\height}{\SquareDa}\,} %% \newcommand{\RubikDa}{% \begin{minipage}{0.6cm} \centering \SquareDa\\ \rrDa \end{minipage}% } \newcommand{\textRubikDa}{\rrDa\,\rrhDa} \newcommand{\rrDap}{\@rrap{D}} %% \newcommand{\SquareDap}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, <-] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhDap}{\raisebox{-0.333\height}{\SquareDap}\,} %% \newcommand{\RubikDap}{% \begin{minipage}{0.6cm} \centering \SquareDap\\ \rrDap \end{minipage}% } \newcommand{\textRubikDap}{\rrDap\,\rrhDap} \newcommand{\rrE}{\textbf{\textsf{E}}} %% \newcommand{\SquareE}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick, ->] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhE}{\raisebox{-0.333\height}{\SquareE}\,} %% \newcommand{\RubikE}{% \begin{minipage}{0.6cm} \centering \SquareE\\ \rrE \end{minipage}% } \newcommand{\textRubikE}{\rrE\,\rrhE} \newcommand{\rrEp}{\textbf{\textsf{E}$^\prime$}} %% \newcommand{\SquareEp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick, <-] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhEp}{\raisebox{-0.333\height}{\SquareEp}\,} %% \newcommand{\RubikEp}{% \begin{minipage}{0.6cm} \centering \SquareEp\\ \rrEp \end{minipage}% } \newcommand{\textRubikEp}{\rrEp\,\rrhEp} \newcommand{\rrF}{\textbf{\textsf{F}}} %% \newcommand{\SquareF}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\scx, \scy) arc[radius=0.35, start angle=-60, delta angle=290]; \end{tikzpicture}% } \newcommand{\rrhF}{\raisebox{-0.333\height}{\SquareF}\,} %% \newcommand{\RubikF}{% \begin{minipage}{0.6cm} \centering \SquareF\\ \rrF \end{minipage}% } \newcommand{\textRubikF}{\rrF\,\rrhF} \newcommand{\rrFp}{\textbf{\textsf{F}$^\prime$}} %% \newcommand{\SquareFp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\scx, \scy) arc[radius=0.35, start angle=-60, delta angle=290]; \end{tikzpicture}% } \newcommand{\rrhFp}{\raisebox{-0.333\height}{\SquareFp}\,} %% \newcommand{\RubikFp}{% \begin{minipage}{0.6cm} \centering \SquareFp\\ \rrFp \end{minipage}% } \newcommand{\textRubikFp}{\rrFp\,\rrhFp} \newcommand{\rrFw}{\textbf{\textsf{F\footnotesize{w}}}} %% \newcommand{\SquareFw}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\scx, \scy) arc[radius=0.35, start angle=-60, delta angle=290]; \draw [thick] (\sqcx,\sqcy) arc[radius=0.1, start angle=-60, delta angle=360]; \end{tikzpicture}% } \newcommand{\rrhFw}{\raisebox{-0.333\height}{\SquareFw}\,} %% \newcommand{\RubikFw}{% \begin{minipage}{0.6cm} \centering \SquareFw\\ \rrFw \end{minipage}% } \newcommand{\textRubikFw}{\rrFw\,\rrhFw} \newcommand{\rrFwp}{\textbf{\textsf{F\footnotesize{w}}$^\prime$}} %% \newcommand{\SquareFwp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\scx, \scy) arc[radius=0.35, start angle=-60, delta angle=290]; \draw [thick] (\sqcx,\sqcy) arc[radius=0.1, start angle=-60, delta angle=360]; \end{tikzpicture}% } \newcommand{\rrhFwp}{\raisebox{-0.333\height}{\SquareFwp}\,} %% \newcommand{\RubikFwp}{% \begin{minipage}{0.6cm} \centering \SquareFwp\\ \rrFwp \end{minipage}% } \newcommand{\textRubikFwp}{\rrFwp\,\rrhFwp} %% \newcommand{\rrFs}{\@rrs{F}} \newcommand{\SquareFs}{\@SquareLetter{\rrFs}} \newcommand{\rrhFs}{\raisebox{-0.25mm}{\SquareFs}\,} \newcommand{\RubikFs}{\raisebox{\@hRubik}{\SquareFs}\,} \newcommand{\textRubikFs}{\rrhFs\,} \newcommand{\rrFsp}{\@rrsp{F}} \newcommand{\SquareFsp}{\@SquareLetter{\rrFsp}} \newcommand{\rrhFsp}{\raisebox{-0.25mm}{\SquareFsp}\,} \newcommand{\RubikFsp}{\raisebox{\@hRubik}{\SquareFsp}\,} \newcommand{\textRubikFsp}{\rrhFsp\,} \newcommand{\rrFa}{\@rra{F}} \newcommand{\SquareFa}{\@SquareLetter{\rrFa}} \newcommand{\rrhFa}{\raisebox{-0.25mm}{\SquareFa}\,} \newcommand{\RubikFa}{\raisebox{\@hRubik}{\SquareFa}\,} \newcommand{\textRubikFa}{\rrhFa\,} \newcommand{\rrFap}{\@rrap{F}} \newcommand{\SquareFap}{\@SquareLetter{\rrFap}} \newcommand{\rrhFap}{\raisebox{-0.25mm}{\SquareFap}\,} \newcommand{\RubikFap}{\raisebox{\@hRubik}{\SquareFap}\,} \newcommand{\textRubikFap}{\rrhFap\,} \newcommand{\rrL}{\textbf{\textsf{L}}} %% \newcommand{\SquareL}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhL}{\raisebox{-0.333\height}{\SquareL}\,} %% \newcommand{\RubikL}{% \begin{minipage}{0.6cm} \centering \SquareL\\ \rrL \end{minipage}% } \newcommand{\textRubikL}{\rrL\,\rrhL} \newcommand{\rrLp}{\textbf{\textsf{L}$^\prime$}} %% \newcommand{\SquareLp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick,->] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLp}{\raisebox{-0.333\height}{\SquareLp}\,} %% \newcommand{\RubikLp}{% \begin{minipage}{0.6cm} \centering \SquareLp\\ \rrLp \end{minipage}% } \newcommand{\textRubikLp}{\rrLp\,\rrhLp} \newcommand{\rrLw}{\textbf{\textsf{L\footnotesize{w}}}} %% \newcommand{\SquareLw}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sd, \sb) -- (\sd, \sbh); \draw [thick, <-] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLw}{\raisebox{-0.333\height}{\SquareLw}\,} %% \newcommand{\RubikLw}{% \begin{minipage}{0.6cm} \centering \SquareLw\\ \rrLw \end{minipage}% } \newcommand{\textRubikLw}{\rrLw\,\rrhLw} \newcommand{\rrLwp}{\textbf{\textsf{L\footnotesize{w}}$^\prime$}} %% \newcommand{\SquareLwp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick,->] (\sd, \sb) -- (\sd, \sbh); \draw [thick,->] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLwp}{\raisebox{-0.333\height}{\SquareLwp}\,} %% \newcommand{\RubikLwp}{% \begin{minipage}{0.6cm} \centering \SquareLwp\\ \rrLwp \end{minipage}% } \newcommand{\textRubikLwp}{\rrLwp\,\rrhLwp} \newcommand{\rrLs}{\@rrs{L}} %% \newcommand{\SquareLs}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, <-] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLs}{\raisebox{-0.333\height}{\SquareLs}\,} %% \newcommand{\RubikLs}{% \begin{minipage}{0.6cm} \centering \SquareLs\\ \rrLs \end{minipage}% } \newcommand{\textRubikLs}{\rrLs\,\rrhLs} \newcommand{\rrLsp}{\@rrsp{L}} %% \newcommand{\SquareLsp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, ->] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLsp}{\raisebox{-0.333\height}{\SquareLsp}\,} %% \newcommand{\RubikLsp}{% \begin{minipage}{0.6cm} \centering \SquareLsp\\ \rrLsp \end{minipage}% } \newcommand{\textRubikLsp}{\rrLsp\,\rrhLsp} \newcommand{\rrLa}{\@rra{L}} %% \newcommand{\SquareLa}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, ->] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLa}{\raisebox{-0.333\height}{\SquareLa}\,} %% \newcommand{\RubikLa}{% \begin{minipage}{0.6cm} \centering \SquareLa\\ \rrLa \end{minipage}% } \newcommand{\textRubikLa}{\rrLa\,\rrhLa} \newcommand{\rrLap}{\@rrap{L}} %% \newcommand{\SquareLap}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, <-] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhLap}{\raisebox{-0.333\height}{\SquareLap}\,} %% \newcommand{\RubikLap}{% \begin{minipage}{0.6cm} \centering \SquareLap\\ \rrLap \end{minipage}% } \newcommand{\textRubikLap}{\rrLap\,\rrhLap} \newcommand{\rrM}{\textbf{\textsf{M}}} %% \newcommand{\SquareM}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sd, \sb) -- (\sd, \sbh); \draw [thick, <-] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhM}{\raisebox{-0.333\height}{\SquareM}\,} %% \newcommand{\RubikM}{% \begin{minipage}{0.6cm} \centering \SquareM\\ \rrM \end{minipage}% } \newcommand{\textRubikM}{\rrM\,\rrhM} \newcommand{\rrMp}{\textbf{\textsf{M}$^\prime$}} %% \newcommand{\SquareMp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sd, \sb) -- (\sd, \sbh); \draw [thick,->] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhMp}{\raisebox{-0.333\height}{\SquareMp}\,} %% \newcommand{\RubikMp}{% \begin{minipage}{0.6cm} \centering \SquareMp\\ \rrMp \end{minipage}% } \newcommand{\textRubikMp}{\rrMp\,\rrhMp} \newcommand{\rrR}{\textbf{\textsf{R}}} %% \newcommand{\SquareR}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; %% draw three lines in the square, one with an arrow \draw [thick] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, ->] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhR}{\raisebox{-0.333\height}{\SquareR}\,} %% \newcommand{\RubikR}{% \begin{minipage}{0.6cm} \centering \SquareR\\ \rrR \end{minipage}% } \newcommand{\textRubikR}{\rrR\,\rrhR} \newcommand{\rrRp}{\textbf{\textsf{R}$^\prime$}} %% \newcommand{\SquareRp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, <-] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRp}{\raisebox{-0.333\height}{\SquareRp}\,} %% \newcommand{\RubikRp}{% \begin{minipage}{0.6cm} \centering \SquareRp\\ \rrRp \end{minipage}% } \newcommand{\textRubikRp}{\rrRp\,\rrhRp} \newcommand{\rrRw}{\textbf{\textsf{R\footnotesize{w}}}} %% \newcommand{\SquareRw}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sd, \sb) -- (\sd, \sbh); \draw [thick, ->] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, ->] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRw}{\raisebox{-0.333\height}{\SquareRw}\,} %% \newcommand{\RubikRw}{% \begin{minipage}{0.6cm} \centering \SquareRw\\ \rrRw \end{minipage}% } \newcommand{\textRubikRw}{\rrRw\,\rrhRw} \newcommand{\rrRwp}{\textbf{\textsf{R\footnotesize{w}}$^\prime$}} %% \newcommand{\SquareRwp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick] (\sd, \sb) -- (\sd, \sbh); \draw [thick, <-] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick, <-] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRwp}{\raisebox{-0.333\height}{\SquareRwp}\,} %% \newcommand{\RubikRwp}{% \begin{minipage}{0.6cm} \centering \SquareRwp\\ \rrRwp \end{minipage}% } \newcommand{\textRubikRwp}{\rrRwp\,\rrhRwp} \newcommand{\rrRs}{\@rrs{R}} %% \newcommand{\SquareRs}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick,->] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick,->] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRs}{\raisebox{-0.333\height}{\SquareRs}\,} %% \newcommand{\RubikRs}{% \begin{minipage}{0.6cm} \centering \SquareRs\\ \rrRs \end{minipage}% } \newcommand{\textRubikRs}{\rrRs\,\rrhRs} \newcommand{\rrRsp}{\@rrsp{R}} %% \newcommand{\SquareRsp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick,<-] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick,<-] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRsp}{\raisebox{-0.333\height}{\SquareRsp}\,} %% \newcommand{\RubikRsp}{% \begin{minipage}{0.6cm} \centering \SquareRsp\\ \rrRsp \end{minipage}% } \newcommand{\textRubikRsp}{\rrRsp\,\rrhRsp} \newcommand{\rrRa}{\@rra{R}} %% \newcommand{\SquareRa}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick,<-] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick,->] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRa}{\raisebox{-0.333\height}{\SquareRa}\,} %% \newcommand{\RubikRa}{% \begin{minipage}{0.6cm} \centering \SquareRa\\ \rrRa \end{minipage}% } \newcommand{\textRubikRa}{\rrRa\,\rrhRa} \newcommand{\rrRap}{\@rrap{R}} %% \newcommand{\SquareRap}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick,->] (\sd, \sb) -- (\sd, \sbh); \draw [thick] (\sdd,\sb) -- (\sdd, \sbh); \draw [thick,<-] (\sddd, \sb) -- (\sddd, \sbh); \end{tikzpicture}% } \newcommand{\rrhRap}{\raisebox{-0.333\height}{\SquareRap}\,} %% \newcommand{\RubikRap}{% \begin{minipage}{0.6cm} \centering \SquareRap\\ \rrRap \end{minipage}% } \newcommand{\textRubikRap}{\rrRap\,\rrhRap} \newcommand{\rrS}{\@rr{S}} \newcommand{\SquareS}{\@SquareLetter{\rrS}} \newcommand{\rrhS}{\raisebox{-0.25mm}{\SquareS}\,} \newcommand{\RubikS}{\raisebox{\@hRubik}{\SquareS}\,} \newcommand{\textRubikS}{\rrhS\,} \newcommand{\rrSp}{\@rrp{S}} \newcommand{\SquareSp}{\@SquareLetter{\rrSp}} \newcommand{\rrhSp}{\raisebox{-0.25mm}{\SquareSp}\,} \newcommand{\RubikSp}{\raisebox{\@hRubik}{\SquareSp}\,} \newcommand{\textRubikSp}{\rrhSp\,} \newcommand{\rrSu}{\textbf{\textsf{S\footnotesize{u}}}} \newcommand{\rrhSu}{\rrhEp}% \newcommand{\RubikSu}{% \begin{minipage}{0.6cm} \centering \SquareEp\\ \rrSu \end{minipage}% } \newcommand{\textRubikSu}{\rrSu\,\rrhEp} \newcommand{\rrSup}{\textbf{\textsf{S\footnotesize{u}}$^\prime$}} \newcommand{\rrhSup}{\rrhE}% \newcommand{\RubikSup}{% \begin{minipage}{0.6cm} \centering \SquareE\\ \rrSup \end{minipage}% } \newcommand{\textRubikSup}{\rrSup\,\rrhE} \newcommand{\rrSd}{\textbf{\textsf{S\footnotesize{d}}}} \newcommand{\rrhSd}{\rrhE}% \newcommand{\RubikSd}{% \begin{minipage}{0.6cm} \centering \SquareE\\ \rrSd \end{minipage}% } \newcommand{\textRubikSd}{\rrSd\,\rrhE} \newcommand{\rrSdp}{\textbf{\textsf{S\footnotesize{d}}$^\prime$}} \newcommand{\rrhSdp}{\rrhEp}% \newcommand{\RubikSdp}{% \begin{minipage}{0.6cm} \centering \SquareEp\\ \rrSdp \end{minipage}% } \newcommand{\textRubikSdp}{\rrSdp\,\rrhEp} \newcommand{\rrSl}{\textbf{\textsf{S\footnotesize{l}}}} \newcommand{\rrhSl}{\rrhM}% \newcommand{\RubikSl}{% \begin{minipage}{0.6cm} \centering \SquareM\\ \rrSl \end{minipage}% } \newcommand{\textRubikSl}{\rrSl\,\rrhM} \newcommand{\rrSlp}{\textbf{\textsf{S\footnotesize{l}}$^\prime$}} \newcommand{\rrhSlp}{\rrhMp}% \newcommand{\RubikSlp}{% \begin{minipage}{0.6cm} \centering \SquareMp\\ \rrSlp \end{minipage}% } \newcommand{\textRubikSlp}{\rrSlp\,\rrhMp} \newcommand{\rrSr}{\textbf{\textsf{S\footnotesize{r}}}} \newcommand{\rrhSr}{\rrhMp}% \newcommand{\RubikSr}{% \begin{minipage}{0.6cm} \centering \SquareMp\\ \rrSr \end{minipage}% } \newcommand{\textRubikSr}{\rrSr\,\rrhMp} \newcommand{\rrSrp}{\textbf{\textsf{S\footnotesize{r}}$^\prime$}} \newcommand{\rrhSrp}{\rrhM}% \newcommand{\RubikSrp}{% \begin{minipage}{0.6cm} \centering \SquareM\\ \rrSrp \end{minipage}% } \newcommand{\textRubikSrp}{\rrSrp\,\rrhM} \newcommand{\rrSf}{\textbf{\textsf{S\footnotesize{f}}}} \newcommand{\SquareSf}{\@SquareLetter{\rrSf}} \newcommand{\rrhSf}{\raisebox{-0.25mm}{\SquareSf}\,} \newcommand{\RubikSf}{\raisebox{\@hRubik}{\SquareSf}\,} \newcommand{\textRubikSf}{\rrhSf\,} \newcommand{\rrSfp}{\textbf{\textsf{S\footnotesize{f}}$^\prime$}} \newcommand{\SquareSfp}{\@SquareLetter{\rrSfp}} \newcommand{\rrhSfp}{\raisebox{-0.25mm}{\SquareSfp}\,} \newcommand{\RubikSfp}{\raisebox{\@hRubik}{\SquareSfp}\,} \newcommand{\textRubikSfp}{\rrhSfp\,} \newcommand{\rrSb}{\textbf{\textsf{S\footnotesize{b}}}} \newcommand{\SquareSb}{\@SquareLetter{\rrSb}} \newcommand{\rrhSb}{\raisebox{-0.25mm}{\SquareSb}\,} \newcommand{\RubikSb}{\raisebox{\@hRubik}{\SquareSb}\,} \newcommand{\textRubikSb}{\rrhSb\,} \newcommand{\rrSbp}{\textbf{\textsf{S\footnotesize{b}}$^\prime$}} \newcommand{\SquareSbp}{\@SquareLetter{\rrSbp}} \newcommand{\rrhSbp}{\raisebox{-0.25mm}{\SquareSbp}\,} \newcommand{\RubikSbp}{\raisebox{\@hRubik}{\SquareSbp}\,} \newcommand{\textRubikSbp}{\rrhSbp\,} \newcommand{\rrU}{\textbf{\textsf{U}}} %% \newcommand{\SquareU}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhU}{\raisebox{-0.333\height}{\SquareU}\,} %% \newcommand{\RubikU}{% \begin{minipage}{0.6cm} \centering \SquareU\\ \rrU \end{minipage}%% } \newcommand{\textRubikU}{\rrU\,\rrhU} \newcommand{\rrUw}{\textbf{\textsf{U\footnotesize{w}}}} %% \newcommand{\SquareUw}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick, <-] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUw}{\raisebox{-0.333\height}{\SquareUw}\,} %% \newcommand{\RubikUw}{% \begin{minipage}{0.6cm} \centering \SquareUw\\ \rrUw \end{minipage}%% } %% \newcommand{\textRubikUw}{\rrUw\,\rrhUw} \newcommand{\rrUp}{\textbf{\textsf{U}$^\prime$}} %% \newcommand{\SquareUp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUp}{\raisebox{-0.333\height}{\SquareUp}\,} %% \newcommand{\RubikUp}{% \begin{minipage}{0.6cm} \centering \SquareUp\\ \rrUp \end{minipage}%% } \newcommand{\textRubikUp}{\rrUp\,\rrhUp} \newcommand{\rrUwp}{\textbf{\textsf{U\footnotesize{w}}$^\prime$}} %% \newcommand{\SquareUwp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick, ->] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUwp}{\raisebox{-0.333\height}{\SquareUwp}\,} %% \newcommand{\RubikUwp}{% \begin{minipage}{0.6cm} \centering \SquareUwp\\ \rrUwp \end{minipage}%% } \newcommand{\textRubikUwp}{\rrUwp\,\rrhUwp} \newcommand{\rrUs}{\@rrs{U}} %% \newcommand{\SquareUs}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, <-] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUs}{\raisebox{-0.333\height}{\SquareUs}\,} %% \newcommand{\RubikUs}{% \begin{minipage}{0.6cm} \centering \SquareUs\\ \rrUs \end{minipage}% } \newcommand{\textRubikUs}{\rrUs\,\rrhUs} \newcommand{\rrUsp}{\@rrsp{U}} %% \newcommand{\SquareUsp}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, ->] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUsp}{\raisebox{-0.333\height}{\SquareUsp}\,} %% \newcommand{\RubikUsp}{% \begin{minipage}{0.6cm} \centering \SquareUsp\\ \rrUsp \end{minipage}% } \newcommand{\textRubikUsp}{\rrUsp\,\rrhUsp} \newcommand{\rrUa}{\@rra{U}} %% \newcommand{\SquareUa}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, <-] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, ->] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUa}{\raisebox{-0.333\height}{\SquareUa}\,} %% \newcommand{\RubikUa}{% \begin{minipage}{0.6cm} \centering \SquareUa\\ \rrUa \end{minipage}% } \newcommand{\textRubikUa}{\rrUa\,\rrhUa} \newcommand{\rrUap}{\@rrap{U}} %% \newcommand{\SquareUap}{% \begin{tikzpicture}[scale=0.5] \DrawNotationBox; \draw [thick, ->] (\sb,\sddd) -- (\sbh, \sddd); \draw [thick] (\sb,\sdd) -- (\sbh, \sdd); \draw [thick, <-] (\sb,\sd) -- (\sbh, \sd); \end{tikzpicture}% } \newcommand{\rrhUap}{\raisebox{-0.333\height}{\SquareUap}\,} %% \newcommand{\RubikUap}{% \begin{minipage}{0.6cm} \centering \SquareUap\\ \rrUap \end{minipage}% } \newcommand{\textRubikUap}{\rrUap\,\rrhUap} \newcommand{\rrx}{\textbf{\textsf{x}}} \newcommand{\Rubikx}{\@xyzRubik{x}} \newcommand{\rrhx}{\@xyzh{x}} \newcommand{\rrxp}{\textbf{\textsf{x}$^\prime$}} \newcommand{\Rubikxp}{\@xyzRubikp{x}} \newcommand{\rrhxp}{\@xyzhp{x}} \newcommand{\rry}{\textbf{\textsf{y}}} \newcommand{\Rubiky}{\@xyzRubik{y}} \newcommand{\rrhy}{\@xyzh{y}} \newcommand{\rryp}{\textbf{\textsf{y}$^\prime$}} \newcommand{\Rubikyp}{\@xyzRubikp{y}} \newcommand{\rrhyp}{\@xyzhp{y}} \newcommand{\rrz}{\textbf{\textsf{z}}} \newcommand{\Rubikz}{\@xyzRubik{z}} \newcommand{\rrhz}{\@xyzh{z}} \newcommand{\rrzp}{\textbf{\textsf{z}$^\prime$}} \newcommand{\Rubikzp}{\@xyzRubikp{z}} \newcommand{\rrhzp}{\@xyzhp{z}} \newcommand{\rru}{\textbf{\textsf{u}}} \newcommand{\Rubiku}{\@xyzRubik{u}} \newcommand{\rrhu}{\@xyzh{u}} \newcommand{\rrd}{\textbf{\textsf{d}}} \newcommand{\Rubikd}{\@xyzRubik{d}} \newcommand{\rrhd}{\@xyzh{d}} \newcommand{\rrl}{\textbf{\textsf{l}}} \newcommand{\Rubikl}{\@xyzRubik{l}} \newcommand{\rrhl}{\@xyzh{l}} \newcommand{\rrr}{\textbf{\textsf{r}}} \newcommand{\Rubikr}{\@xyzRubik{r}} \newcommand{\rrhr}{\@xyzh{r}} \newcommand{\rrf}{\textbf{\textsf{f}}} \newcommand{\Rubikf}{\@xyzRubik{f}} \newcommand{\rrhf}{\@xyzh{f}} \newcommand{\rrb}{\textbf{\textsf{b}}} \newcommand{\Rubikb}{\@xyzRubik{b}} \newcommand{\rrhb}{\@xyzh{b}} \endinput %% %% End of file `rubikcube.sty'.