Drawing LEGO Bricks in LaTeX

Sometimes the star align and bring together several of your passions. I love LEGO and I love LaTeX. Thanks to Sam Carter and his TikZbricks package, you can now draw LEGO bricks directly in LaTeX. Let’s start with a simple example of drawing a single 2×4 brick:

\documentclass[a5paper]{article}
\usepackage{tikzbricks}
\begin{document}
\begin{tikzpicture}
   \brick{4}{2}
\end{tikzpicture}
\end{document}

This will be rendered as:

TikZbricksLEGOLaTeX01

It is possible to build whole models with this package. The LEGO company created its first augmented reality puzzle game that used a mobile app in 2011. It was called Life Of George. This seems like a perfect example for putting TikZbricks to the test.

\documentclass[a4paper]{article}
\usepackage{tikzbricks}
\definecolor{lego-white}{rgb}{0.95, 0.95, 0.96}
\begin{document}

\begin{wall}
    \wallbrick[color=black]{2}{1}
    \addtocounter{brickx}{1}
    \wallbrick[color=black]{2}{1}
    \newrow
    \wallbrick[color=blue]{1}{1}
    \addtocounter{brickx}{2}
    \wallbrick[color=blue]{1}{1}
    \newrow
    \wallbrick[color=blue]{4}{1}
    \newrow
    \addtocounter{brickx}{-1}
    \wallbrick[color=lego-white]{1}{1}
    \wallbrick[color=red]{4}{1}
    \wallbrick[color=lego-white]{1}{1}
    \newrow
    \addtocounter{brickx}{-1}
    \wallbrick[color=red]{1}{1}
    \wallbrick[color=red]{2}{1}
    \wallbrick[color=black]{1}{1}
    \wallbrick[color=red]{1}{1}
    \wallbrick[color=red]{1}{1}
    \newrow
    \addtocounter{brickx}{-1}
    \wallbrick[color=red]{3}{1}
    \wallbrick[color=black]{1}{1}
    \wallbrick[color=red]{2}{1}
    \newrow
    \wallbrick[color=lego-white]{4}{1}
    \newrow
    \addtocounter{brickx}{-1}
    \wallbrick[color=lego-white]{2}{1}
    \wallbrick[color=black]{1}{1}
    \wallbrick[color=lego-white]{1}{1}
    \wallbrick[color=black]{1}{1}
    \newrow
    \addtocounter{brickx}{-1}
    \wallbrick[color=yellow]{1}{1}
    \wallbrick[color=lego-white]{2}{1}
    \wallbrick[color=yellow]{3}{1}
    \newrow
    \wallbrick[color=yellow]{4}{1}
\end{wall}

\end{document}

This will be rendered as:

TikZbricksLEGOLaTeX02

There are many more options, such as chaning the perspective and size of various components. But we will leave this for now and simply enjoy this moment.