Skip to content

Instantly share code, notes, and snippets.

@mcnees
Created September 14, 2019 20:14
Show Gist options
  • Save mcnees/567476e04fb29df8cf43da0411c566e7 to your computer and use it in GitHub Desktop.
Save mcnees/567476e04fb29df8cf43da0411c566e7 to your computer and use it in GitHub Desktop.
A 3x3 alignment grid for doing the meme
\documentclass[crop=true, border=10pt]{standalone}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
% Some colors I like. The first six are modified versions of colors from
% the Gnome Project "Tango" palette.
\definecolor{plum}{rgb}{0.36078, 0.20784, 0.4}
\definecolor{chameleon}{rgb}{0.30588, 0.60392, 0.023529}
\definecolor{cornflower}{rgb}{0.12549, 0.29020, 0.52941}
\definecolor{scarlet}{rgb}{0.8, 0, 0}
\definecolor{brick}{rgb}{0.64314, 0, 0}
\definecolor{sunrise}{rgb}{0.80784, 0.36078, 0}
\definecolor{lightblue}{rgb}{0.15,0.35,0.75}
\definecolor{carolina}{RGB}{153, 186, 221}
% Define colors used to fill different alignment boxes
\tikzstyle{ChaoticGood} = [fill=scarlet!10]
\tikzstyle{ChaoticNeutral} = [fill=scarlet!20]
\tikzstyle{ChaoticEvil} = [fill=scarlet!40]
\tikzstyle{NeutralGood} = [fill=plum!10]
\tikzstyle{TrueNeutral} = [fill=plum!20]
\tikzstyle{NeutralEvil} = [fill=plum!40]
\tikzstyle{LawfulGood} = [fill=cornflower!10]
\tikzstyle{LawfulNeutral} = [fill=cornflower!20]
\tikzstyle{LawfulEvil} = [fill=cornflower!40]
% Set the minimum size of each box. Make it as big or larger than the text width.
\def\BoxSize{4}
% Set the minimum text width.
\def\BoxText{4}
% Set the array spacing in the alignment grid.
\def\ArraySpace{\BoxSize*1.25}
% Draw boxes with an outline, minimize size, centered text
\tikzstyle{AlignmentBox} = [rectangle, draw, minimum size = \BoxSize cm, text centered, text width = \BoxText cm]
% When a line needs some extra vertical space
\newcommand{\spacer}{\vphantom{\Big|}}
\linespread{1.2}
\begin{document}
\begin{tikzpicture}[scale=1]
% Lawful Evil
\node[AlignmentBox, LawfulEvil] at (0,0)
{
\textbf{Lawful Evil} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Neutral Evil
\node[AlignmentBox, NeutralEvil] at (\ArraySpace,0)
{
\textbf{Neutral Evil} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Chaotic Evil
\node[AlignmentBox, ChaoticEvil] at (2*\ArraySpace,0)
{
\textbf{Chaotic Evil} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Lawful Neutral
\node[AlignmentBox, LawfulNeutral] at (0,\ArraySpace)
{
\textbf{Lawful Neutral} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% True Neutral
\node[AlignmentBox, TrueNeutral] at (\ArraySpace,\ArraySpace)
{
\textbf{True Neutral} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Chaotic Neutral
\node[AlignmentBox, ChaoticNeutral] at (2*\ArraySpace,\ArraySpace)
{
\textbf{Chaotic Neutral} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Lawful Good
\node[AlignmentBox, LawfulGood] at (0,2*\ArraySpace)
{
\textbf{Lawful Good} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Neutral Good
\node[AlignmentBox, NeutralGood] at (\ArraySpace,2*\ArraySpace)
{
\textbf{Neutral Good} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Chaotic Good
\node[AlignmentBox, ChaoticGood] at (2*\ArraySpace,2*\ArraySpace)
{
\textbf{Chaotic Good} \spacer\\
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
};
% Header Text
\node[] at (\ArraySpace,2.5*\ArraySpace+.25)
{\huge \sc alignments};
\end{tikzpicture}
\end{document}
@mcnees
Copy link
Author

mcnees commented Sep 14, 2019

This is quick and messy, with minimal automated spacing. You'll have to tweek things to get everything to align across grids.

Screen Shot 2019-09-14 at 3 14 01 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment