%This command draw either the escher knot (the original image)
%or the escher impossible brick (the new one).
%
%The Macro use the global (to the page 10) toggle "OriginalImage"
%
%The macro has one parameter:
%         1) The size to use to typeset the content
\newcommand\TTenDisplayImage[1]{%
\parbox[t]{#1}{%
   \iftoggle{OriginalImage}{%
      \vfill
      \iftoggle{DVIOutput}{%
          \centerline{\includegraphics[viewport=0 0 135 125]{escher.ps}}%
      }{%
          \centerline{\includegraphics[viewport=0 0 135 125]{escher.pdf}}%
      }%
   }{%
      % Author: Julien Cretel
      % Date:   24/02/2013
      %
      %The code was published here:
      %http://www.texample.net/tikz/examples/escher-brick-penrose-triangle/
      %
      \savebox\ImpossibleBrick{%
      \begin{tikzpicture}[scale=4, line join=bevel]

        % \a and \b are two macros defining characteristic
        % dimensions of the impossible brick.
        \pgfmathsetmacro{\a}{0.18}
        \pgfmathsetmacro{\b}{1.37}

        \tikzset{%
          apply style/.code={\tikzset{##1}},
          brick_edges/.style={thick,draw=black},
          face_colourA/.style={fill=gray!50},
          face_colourB/.style={fill=gray!25},
          face_colourC/.style={fill=gray!90},
        }

        \foreach \theta/\v/\facestyleone/\facestyletwo in {%
          0/0/{brick_edges,face_colourA}/{brick_edges,face_colourC},
          180/-\a/{brick_edges,face_colourB}/{brick_edges,face_colourC}
        }{
        \begin{scope}[rotate=\theta,shift={(\v,0)}]
          \draw[apply style/.expand once=\facestyleone]
            ({-.5*\b},{1.5*\a}) --
            ++(\b,0)            --
            ++(-\a,-\a)         --
            ++({-\b+2*\a},0)    --
            ++(0,-{2*\a})       --
            ++(\b,0)            --
            ++(-\a,-\a)         --
            ++(-\b,0)           --
            cycle;
          \draw[apply style/.expand once=\facestyletwo]
            ({.5*\b},{1.5*\a})  --
            ++(0,{-2*\a})       --
            ++(-\a,0)           --
            ++(0,\a)            --
            cycle;
          \end{scope}
        }
      \end{tikzpicture}}
      \par
      \centerline{\usebox\ImpossibleBrick}
  }
}
}