A Cool Frontpage in LaTeX with tikz

Pretty cool, huh?

In this post, I am going to show you how to draw this cool frontpage for any LaTeX document. As all the other πŸ“œ LaTeX posts, also this is one is mainly a personal reminder to retrieve whenever I need it. I have adapted from some old post on Stack Exchange, but I don’t remember which one, lol.

Basically, it consists of using tikz with some extra libraries to create a beautiful geometry of concentric hexagons.

Here is the full code to generate the page:

\documentclass[]{article}
\pagenumbering{gobble} % switch off page numbering

\usepackage{tikz}
\usetikzlibrary{snakes,calc}
\usetikzlibrary{shapes,arrows,positioning,decorations,decorations.markings,decorations.pathreplacing,
                chains,automata, calc,plotmarks} % I'm not sure we need all of these


\begin{document}
  \begin{tikzpicture}[remember picture,overlay]
    \fill[gray!2.5] (current page.south west) rectangle (current page.north east);
    %
    \begin{scope}
      \foreach \i in {2.5,...,22} {
        \node[rounded corners,gray!20,draw,regular polygon,regular polygon sides=6,
	      minimum size=\i cm,ultra thick]
        at ($(current page.west)+(2.5,-5)$)
	{} ;
      }
    \end{scope}
    %
    \node[gray!2.5,rounded corners,text=black!80,regular polygon,regular polygon sides=6,
          minimum size=2.5 cm,inner sep=0,ultra thick]
    at ($(current page.west)+(2.5,-5)$)
    {DATE};
    %
    \foreach \i in {0.5,...,22} {
      \node[rounded corners,gray!20,draw,regular polygon,regular polygon sides=6,
            minimum size=\i cm,ultra thick]
      at ($(current page.north west)+(2.75,+1)$)
      {} ;
    }
    %
    \foreach \i in {0.5,...,22} {
      \node[rounded corners,gray!20,draw,regular polygon,regular polygon sides=6,
            minimum size=\i cm,ultra thick]
      at ($(current page.north east)+(0,-9.5)$)
      {} ;
    }
    %
    \foreach \i in {12} {
      \node[rounded corners,draw=gray!20,regular polygon,regular polygon sides=6,
            minimum size=\i cm,ultra thick]
      at ($(current page.south east)+(-0.2,-0.45)$)
      {} ;
    }
    %
    \foreach \i in {21,...,6} {
      \node[gray!20,rounded corners,draw,regular polygon,regular polygon sides=6,
            minimum size=\i cm,ultra thick]
      at ($(current page.south east)+(-0.2,-0.45)$)
      {} ;
    }
    %
    \node[left,black!80,minimum width=0.625*\paperwidth,minimum height=3cm, rounded corners]
    at ($(current page.north east)+(-1,-8.9)$)
    {{\fontsize{25}{30} \selectfont \bfseries \textsc{A very cool title}}};
    %
    \node[left,black!80,minimum width=0.625*\paperwidth,minimum height=3cm, rounded corners]
    at ($(current page.north east)+(-1,-9.9)$)
    {{\fontsize{25}{30} \selectfont \bfseries \textsc{that can span multiple lines}}};
    %
    \node[left,black!80,minimum width=0.625*\paperwidth,minimum height=3cm, rounded corners]
    at ($(current page.north east)+(-1,-10.9)$)
    {{\selectfont \bfseries and an even cooler subtitle}};
  \end{tikzpicture}
\end{document}

This is a printer-friendly version with little color on top (“50 shades of gray”), but you can tweak and change the color spectrum to your personal taste!