From bfed53d2c76cc0449d2d6ef1963863092fb98d03 Mon Sep 17 00:00:00 2001
From: Ian Jauslin <jauslin@ias.edu>
Date: Tue, 6 Feb 2018 19:57:42 +0000
Subject: As presented at Princeton University on 2018-02-06

---
 figs/libs/shapes.sty | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)
 create mode 100644 figs/libs/shapes.sty

(limited to 'figs/libs/shapes.sty')

diff --git a/figs/libs/shapes.sty b/figs/libs/shapes.sty
new file mode 100644
index 0000000..aee8fd3
--- /dev/null
+++ b/figs/libs/shapes.sty
@@ -0,0 +1,91 @@
+% square lattice (width #1, height #2, origin #3, spacing #4)
+\def\grid#1#2#3{
+  \foreach\i in {0,...,#2}{
+    \draw#3++(0,\i)--++(#1,0);
+  }
+  \foreach\i in {0,...,#1}{
+    \draw#3++(\i,0)--++(0,#2);
+  }
+}
+
+
+% cross (color #1, position #2)
+\def\cross#1#2{
+  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
+  \begin{scope}
+    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
+    \grid44{[color=white]#2++(-2,-2)}
+  \end{scope}
+  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-1)--++(-1,0)--++(0,-1)--++(1,0)--++(0,-1)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
+}
+
+% V triomino (color #1, position #2)
+\def\Vtriomino#1#2{
+  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-2)--++(2,0)--++(0,1)--++(-1,0);
+  \begin{scope}
+    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-2)--++(2,0)--++(0,1)--++(-1,0);
+    \grid33{[color=white]#2++(-1,-1)}
+  \end{scope}
+  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-2)--++(2,0)--++(0,1)--++(-1,0);
+}
+
+% T tetromino (color #1, position #2)
+\def\Ttetromino#1#2{
+  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
+  \begin{scope}
+    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
+    \grid34{[color=white]#2++(-1,-2)}
+  \end{scope}
+  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,1)--++(-1,0);
+}
+
+% L tetromino (color #1, position #2)
+\def\Ltetromino#1#2{
+  \fill[color=#1]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(2,0)--++(0,1)--++(-1,0)--++(0,1);
+  \begin{scope}
+    \clip#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(2,0)--++(0,1)--++(-1,0)--++(0,1);
+    \grid34{[color=white]#2++(-1,-2)}
+  \end{scope}
+  \draw[color=black]#2++(0.5,0.5)--++(0,1)--++(-1,0)--++(0,-3)--++(2,0)--++(0,1)--++(-1,0)--++(0,1);
+}
+
+% P pentomino (color #1, position #2)
+\def\Ppentomino#1#2{
+  \fill[color=#1]#2++(1.5,1.5)--++(-2,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,2);
+  \begin{scope}
+    \clip#2++(1.5,1.5)--++(-2,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,2);
+    \grid34{[color=white]#2++(-1,-2)}
+  \end{scope}
+  \draw[color=black]#2++(1.5,1.5)--++(-2,0)--++(0,-3)--++(1,0)--++(0,1)--++(1,0)--++(0,2);
+}
+
+% 1x1 square (color #1, position #2)
+\def\square#1#2{
+  \fill[color=#1]#2++(-0.5,-0.5)--++(0,1)--++(1,0)--++(0,-1)--cycle;
+  \draw[color=black]#2++(-0.5,-0.5)--++(0,1)--++(1,0)--++(0,-1)--cycle;
+  \draw[color=white]#2++(-0.5,0)--++(1,0);
+  \draw[color=white]#2++(0,-0.5)--++(0,1);
+}
+
+% 2x2 square (color #1, position #2)
+\def\ttsquare#1#2{
+  \fill[color=#1]#2++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
+  \draw[color=black]#2++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
+  \draw[color=white]#2++(-0.5,-1)--++(0,2);
+  \draw[color=white]#2++(0.5,-1)--++(0,2);
+  \draw[color=white]#2++(-1,-0.5)--++(2,0);
+  \draw[color=white]#2++(-1,0.5)--++(2,0);
+}
+\def\ttsquareempty#1{
+  \draw[color=black]#1++(-1,-1)--++(0,2)--++(2,0)--++(0,-2)--cycle;
+}
+
+% diamond (color #1, position #2)
+\def\diamond#1#2{
+  \fill[color=#1]#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle;
+  \begin{scope}
+    \clip#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle;
+    \grid22{[color=white]#2++(-1,-1)}
+  \end{scope}
+  \draw[color=black]#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle;
+}
-- 
cgit v1.2.3-70-g09d2

