[Tex/LaTex] Cheatsheet template

templates

I would like to create a cheatsheet with a number of boxes positioned on the page. Each box would contain a title and examples of that category. Boxes could vary in length, so this is not a rigid grid.

I've only found a single cheatsheet format in LaTeX, and it's nothing like this, mainly a very dense conglomeration of text on the page. Here's a mockup of what I would like to have. Is there any template that gives me a fairly good headstart in achieving this?

enter image description here

Best Answer

I even left room for figures (use \includegraphics instead of rule boxes; may need graphicx package)... [EDITED for cleaner organization of code]

\documentclass{article}
\usepackage[oldsyntax]{stackengine}
\newcommand\makeblock[3]{\fbox{\parbox[t]{#1}{#2\\\bfseries #3}}}
\newlength\hgap
\hgap=2ex
\Sstackgap=2ex

\def\blockA{\makeblock{1.3in}{Category 1}{example 1 -- width\\example 2}}

\def\blockB{\rule{1.2in}{1.2in}}

\def\blockC{\makeblock{1.3in}{Category 4}{example 1 -- width\\example 2}}

\def\blockD{\makeblock{1.0in}{Categorn 2}{example 1\\example 2}}

\def\blockE{\rule{.45in}{.45in}\hskip\hgap\rule{.45in}{.45in}}

\def\blockF{\makeblock{1.0in}{Category 5}
  {example 1\\example 2\\example 3\\example 4\\example 5\\example 6\\
  example 7\\example 8\\example 9\\example 10\\example11\\example 12}}

\def\blockG{\makeblock{1.3in}{Category 3}
  {example 1\\example 2\\example 3\\example 4\\example 5\\example 6\\
  example 7\\example 8\\example 9\\example 10\\example11\\example 12}}

\def\blockH{\makeblock{1.3in}{Category 6}
  {example 1\\example 2\\example 3\\example 4\\example 5\\example 6\\example 7}}

\begin{document}
\centering
\Huge Title\\
\normalsize Authors\strut\\
\footnotesize
\Shortunderstack{{\protect\blockA} {} {\protect\blockB} {} {\protect\blockC}}
\hskip \hgap
\Shortunderstack{{\protect\blockD} {\protect\blockE} {\protect\blockF}}
\hskip \hgap
\Shortunderstack{{\protect\blockG} {\protect\blockH}}
\end{document}

enter image description here

[EDIT: This MWE uses obsolete stackengine syntax for setting stackgap lengths (e.g., \Sstackgap=1ex), which prevented scalable lengths from scaling under a fontsize change. Version 2 of the package (submitted JUL-11-13) remedies the problem with a small syntax change.]

Related Question