Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jauslin_UMSM_2020.tex270
-rw-r--r--Makefile50
-rw-r--r--README32
l---------figs/cross_example.fig/Makefile1
-rw-r--r--figs/cross_example.fig/cross_example.tikz.tex16
-rw-r--r--figs/cross_example.fig/grid.tikz.tex10
l---------figs/cross_example.fig/libs/shapes.sty1
l---------figs/cross_sliding.fig/Makefile1
-rw-r--r--figs/cross_sliding.fig/cross_sliding_2.tikz.tex14
-rw-r--r--figs/cross_sliding.fig/cross_sliding_3a.tikz.tex14
-rw-r--r--figs/cross_sliding.fig/cross_sliding_3b.tikz.tex16
l---------figs/cross_sliding.fig/libs/shapes.sty1
l---------figs/gaunt_fisher.fig/Makefile1
-rw-r--r--figs/gaunt_fisher.fig/gaunt_fisher2.tikz.tex30
-rw-r--r--figs/gaunt_fisher.fig/gaunt_fisher3.tikz.tex53
-rw-r--r--figs/gaunt_fisher.fig/gf_diamond1.tikz.tex23
-rw-r--r--figs/gaunt_fisher.fig/gf_diamond2.tikz.tex25
-rw-r--r--figs/gaunt_fisher.fig/gf_diamond3.tikz.tex30
l---------figs/gaunt_fisher.fig/libs/shapes.sty1
l---------figs/hole_example.fig/Makefile1
-rw-r--r--figs/hole_example.fig/hole_example_cross.tikz.tex36
-rw-r--r--figs/hole_example.fig/hole_example_cross_decorrelated.tikz.tex63
-rw-r--r--figs/hole_example.fig/hole_example_square.tikz.tex24
l---------figs/hole_example.fig/libs/shapes.sty1
l---------figs/lee_yang.fig/Makefile1
-rw-r--r--figs/lee_yang.fig/lee_yang.tikz.tex25
l---------figs/lee_yang.fig/libs/shapes.sty1
-rw-r--r--figs/libs/Makefile28
-rw-r--r--figs/libs/shapes.sty91
l---------figs/packings.fig/Makefile1
-rw-r--r--figs/packings.fig/cross_packing_1.tikz.tex12
-rw-r--r--figs/packings.fig/cross_packing_l.tikz.tex14
-rw-r--r--figs/packings.fig/cross_packing_l_2.tikz.tex13
-rw-r--r--figs/packings.fig/cross_packing_r.tikz.tex14
-rw-r--r--figs/packings.fig/cross_packing_r_2.tikz.tex13
l---------figs/packings.fig/libs/shapes.sty1
-rw-r--r--figs/shapes.fig/L_tetromino.tikz.tex11
l---------figs/shapes.fig/Makefile1
-rw-r--r--figs/shapes.fig/P_pentomino.tikz.tex11
-rw-r--r--figs/shapes.fig/T_tetromino.tikz.tex11
-rw-r--r--figs/shapes.fig/V_triomino.tikz.tex11
-rw-r--r--figs/shapes.fig/cross.tikz.tex11
-rw-r--r--figs/shapes.fig/diamond.tikz.tex11
-rw-r--r--figs/shapes.fig/hexagon.tikz.tex37
l---------figs/shapes.fig/libs/shapes.sty1
l---------figs/square_packing.fig/Makefile1
l---------figs/square_packing.fig/libs/shapes.sty1
-rw-r--r--figs/square_packing.fig/square_packing_slide.tikz.tex27
-rw-r--r--libs/ian-presentation.cls187
49 files changed, 1249 insertions, 0 deletions
diff --git a/Jauslin_UMSM_2020.tex b/Jauslin_UMSM_2020.tex
new file mode 100644
index 0000000..173f482
--- /dev/null
+++ b/Jauslin_UMSM_2020.tex
@@ -0,0 +1,270 @@
+\documentclass{ian-presentation}
+
+\usepackage[hidelinks]{hyperref}
+\usepackage{graphicx}
+\usepackage{amssymb}
+\usepackage{dsfont}
+
+\begin{document}
+\pagestyle{empty}
+\hbox{}\vfil
+\bf\Large
+\hfil Crystalline ordering\par
+\smallskip
+\hfil in hard-core lattice particle systems\par
+\vfil
+\large
+\hfil Ian Jauslin
+\normalsize
+\vfil
+\hfil\rm joint with {\bf Joel L. Lebowitz}\par
+\vfil
+arXiv: \vbox{
+ \hbox{\tt \href{http://arxiv.org/abs/1705.02032}{1705.02032}}
+ \hbox{\tt \href{http://arxiv.org/abs/1708.01912}{1708.01912}}
+}
+\hfill{\tt \href{http://ian.jauslin.org}{http://ian.jauslin.org}}
+\eject
+
+\setcounter{page}1
+\pagestyle{plain}
+
+\title{Hard-core lattice particle (HCLP) systems}
+\vfill
+\hfil\includegraphics[width=1.2cm]{diamond.pdf}
+\hfil\includegraphics[width=1.2cm]{cross.pdf}
+\hfil\includegraphics[width=1.2cm]{hexagon.pdf}
+\par
+\vfill
+\hfil\includegraphics[width=0.9cm]{V_triomino.pdf}
+\hfil\includegraphics[width=0.9cm]{T_tetromino.pdf}
+\hfil\includegraphics[width=0.9cm]{L_tetromino.pdf}
+\hfil\includegraphics[width=0.9cm]{P_pentomino.pdf}
+\vfill
+\eject
+
+\title{Non-sliding HCLPs}
+\begin{itemize}
+ \item There exist a {\bf finite} number $\tau$ of tilings $\{\mathcal L_1,\cdots,\mathcal L_\tau\}$ which are \penalty-1000{\bf periodic} and {\bf isometric} to each other.
+\end{itemize}
+\hfil\includegraphics[width=4cm]{cross_packing_l.pdf}
+\hfil\includegraphics[width=4cm]{cross_packing_r.pdf}
+\vfill
+\eject
+
+\title{Non-sliding HCLPs}
+\begin{itemize}
+ \item Defects are {\bf localized}: for every connected particle configuration $X$ that is {\it not} the subset of a close packing and every $Y\supset X$, there is empty space in $Y$ neighboring $X$.
+\end{itemize}
+\vfill
+\hfil\includegraphics[width=2.1cm]{cross_sliding_2.pdf}
+\hfil\includegraphics[width=2.1cm]{cross_sliding_3a.pdf}
+\hfil\includegraphics[width=2.4cm]{cross_sliding_3b.pdf}
+\vfill
+\eject
+
+\title{Example of a sliding HCLP}
+\begin{itemize}
+ \item $2\times2$ squares:
+\end{itemize}
+\hfil\includegraphics[height=4.5cm]{square_packing_slide.pdf}
+\hfil\includegraphics[height=4.5cm]{hole_example_square.pdf}
+\vfill
+\eject
+
+\title{Gibbs measure}
+\begin{itemize}
+ \item Gibbs measure:
+ $$
+ \left<A\right>_{\nu}
+ :=
+ \lim_{\Lambda\to\Lambda_\infty}
+ \frac1{\Xi_{\Lambda,\nu}(z)}
+ \sum_{X\subset\Lambda}A(X)z^{|X|}\mathfrak B_\nu(X)\prod_{x\neq x'\in X}\varphi(x,x')
+ $$
+ \vskip-10pt
+ \begin{itemize}
+ \item $\Lambda$: finite subset of lattice $\Lambda_\infty$.
+ \item $z\geqslant 0$: fugacity.
+ \item $\varphi(x,x')$: hard-core interaction.
+ \item $\mathfrak B_\nu$: boundary condition: favors the $\nu$-th tiling.
+ \end{itemize}
+ \vskip-5pt
+
+ \item Pressure:
+ \vskip-10pt
+ $$
+ p(z):=\lim_{\Lambda\to\Lambda_\infty}\frac1{|\Lambda|}\log\Xi_{\Lambda,\nu}(z).
+ $$
+\end{itemize}
+\vfill\eject
+
+\title{Theorem}
+\begin{itemize}
+ \item $p(z)-\rho_m\log z$ and $\left<\mathds 1_{x_1}\cdots\mathds 1_{x_n}\right>_\nu$ are {\bf analytic} functions of $1/z$ for large values of $z$.
+ \vfill
+
+ \item There are $\tau$ distinct Gibbs states:
+ $$
+ \left<\mathds 1_x\right>_\nu=
+ \left\{\begin{array}{ll}
+ 1+O(z^{-1})&\mathrm{\ if\ }x\in\mathcal L_\nu\\[0.3cm]
+ O(z^{-1})&\mathrm{\ if\ not}
+ .
+ \end{array}\right.
+ $$
+\end{itemize}
+\vfill
+\eject
+
+\title{Low-fugacity (Mayer) expansion}
+\begin{itemize}
+ \item Partition function: $Z_\Lambda(n)$: number of configurations with $n$ particles:
+ $$
+ \Xi_\Lambda(z)
+ =\sum_{n=0}^\infty z^n Z_\Lambda(n)
+ $$
+ \vskip-10pt
+ \item Formally,
+ $$
+ \frac1{|\Lambda|}\log\Xi_\Lambda(z)
+ =
+ \sum_{k=1}^\infty b_k(\Lambda)z^k
+ $$
+ where, if $Z_\Lambda(k_i)$ denotes the number of configurations with $k_i$ particles, then
+ $$
+ b_k(\Lambda):=\frac1{|\Lambda|}
+ \sum_{j=1}^k\frac{(-1)^{j+1}}j
+ \sum_{\displaystyle\mathop{\scriptstyle k_1,\cdots,k_j\geqslant 1}_{k_1+\cdots+k_j=k}}Z_\Lambda(k_1)\cdots Z_\Lambda(k_j)
+ $$
+ \vskip-10pt
+\end{itemize}
+\eject
+
+\title{High-fugacity expansion}
+\begin{itemize}
+ \item Partition function: $Z_\Lambda(n)$: number of configurations with $n$ particles:
+ $$
+ \Xi_\Lambda(z)
+ =\sum_{n=0}^{N_{\mathrm{max}}} z^n Z_\Lambda(n)
+ $$
+ \item Inverse fugacity $y\equiv z^{-1}$:
+ $$
+ \Xi_\Lambda(z)=
+ z^{N_{\mathrm{max}}}\sum_{n=0}^{N_{\mathrm{max}}}y^n Q_\Lambda(n)
+ $$
+ with $Q_\Lambda(n)\equiv Z_\Lambda(N_{\mathrm{max}}-n)$.
+\end{itemize}
+\eject
+
+\title{High-fugacity expansion}
+\begin{itemize}
+ \item Formally,
+ $$
+ \frac1{|\Lambda|}\log\Xi_\Lambda
+ =
+ \rho_m\log z
+ +
+ \sum_{k=1}^\infty c_k(\Lambda)y^k
+ $$
+ where $\rho_m=\frac{N_{\mathrm{max}}}{|\Lambda|}$,
+ $$
+ c_k(\Lambda):=\frac1{|\Lambda|}
+ \sum_{j=1}^k\frac{(-1)^{j+1}}{j\tau^j}
+ \sum_{\displaystyle\mathop{\scriptstyle k_1,\cdots,k_j\geqslant 1}_{k_1+\cdots+k_j=k}}Q_\Lambda(k_1)\cdots Q_\Lambda(k_j)
+ $$
+\end{itemize}
+\eject
+
+\title{High-fugacity expansion}
+\vfill
+\hfil\includegraphics[width=2cm]{gf_diamond1.pdf}
+\hfil\includegraphics[width=2.33cm]{gf_diamond2.pdf}
+\par\vfill
+\hfil\includegraphics[width=2.33cm]{gf_diamond3.pdf}
+\vfill\eject
+
+\title{High-fugacity expansion}
+\begin{itemize}
+ \item \href{http://dx.doi.org/10.1063/1.1697217}{[Gaunt, Fisher, 1965]}: diamonds: $c_k(\Lambda)\to c_k$ for $k\leqslant 9$.
+ \item \href{http://dx.doi.org/10.1098/rsta.1988.0077}{[Joyce, 1988]}: hexagons (integrable, \href{http://dx.doi.org/10.1088/0305-4470/13/3/007}{[Baxter, 1980]}).
+ \item \href{http://dx.doi.org/10.1209/epl/i2005-10166-3}{[Eisenberg, Baram, 2005]}: crosses: $c_k(\Lambda)\to c_k$ for $k\leqslant 6$.
+ \item Cannot be done {\it systematically}: there exist counter-examples: e.g. hard $2\times2$ squares on $\mathbb Z^2$:
+ $$
+ c_1(\Lambda)\propto\sqrt{|\Lambda|}
+ $$
+\end{itemize}
+\eject
+
+\title{Holes interact}
+\begin{itemize}
+ \item Total volume of holes: $\in\rho_m^{-1}\mathbb N$.
+\end{itemize}
+\vfill
+\hfil\includegraphics[height=4.5cm]{hole_example_cross.pdf}
+\hfil\includegraphics[height=4.5cm]{hole_example_square.pdf}
+\vfill
+\eject
+
+\title{Non-sliding condition}
+\begin{itemize}
+ \item Distinct defects are decorrelated.
+\end{itemize}
+\vfill
+\hfil\includegraphics[height=5cm]{hole_example_cross_decorrelated.pdf}
+\vfill
+\eject
+
+\title{Gaunt-Fisher configurations}
+\begin{itemize}
+ \item Group together empty space and neighboring particles.
+\end{itemize}
+\vfill
+\hfil\includegraphics[width=2.5cm]{gaunt_fisher2.pdf}
+\hfil\includegraphics[width=4cm]{gaunt_fisher3.pdf}
+\vfill
+\eject
+
+\title{Defect model}
+\vskip-5pt
+\begin{itemize}
+ \item Map particle system to a model of defects:
+ $$
+ \Xi_{\Lambda,\nu}(z)=z^{\rho_m|\Lambda|}\sum_{\underline\gamma\subset\mathfrak C_\nu(\Lambda)}
+ \left(\prod_{\gamma\neq\gamma'\in\underline\gamma}\Phi(\gamma,\gamma')\right)
+ \prod_{\gamma\in\underline\gamma}\zeta_\nu^{(z)}(\gamma)
+ $$
+ \begin{itemize}
+ \item $\Phi$: hard-core repulsion of defects.
+ \item $\zeta_\nu^{(z)}(\gamma)$: activity of defect.
+ \end{itemize}
+ \item The activity of a defect is exponentially small: $\exists\epsilon\ll 1$
+ $$
+ \zeta_\nu^{(z)}(\gamma)<\epsilon^{|\gamma|}
+ $$
+ \vskip-5pt
+ \item Low-fugacity expansion for defects.
+\end{itemize}
+\eject
+
+\title{Crystallization}
+\vfill
+\begin{itemize}
+ \item Peierls argument: in order to have a particle at $x$ that is not compatible with the $\nu$-th perfect packing, it must be part of or surrounded by a defect.
+ \vfill
+ \item Note: a naive Peierls argument requires the partition function to be independent from the boundary condition. This is not necessarily the case here, and we need elements from Pirogov-Sinai theory.
+\end{itemize}
+\vfill
+\eject
+
+\title{Lee-Yang zeros}
+\begin{itemize}
+ \item Lee-Yang zeros: roots of $\Xi_\Lambda(z)$ $\Longleftrightarrow$ singularities of $p_\Lambda(z)$.
+ \item Whenever the high fugacity expansion has a radius of convergence $\tilde R$, there are no Lee-Yang zeros outside of a disc of radius $\tilde R^{-1}$.
+\end{itemize}
+
+\hfil\includegraphics[height=4cm]{lee_yang.pdf}
+
+
+
+\end{document}
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..3446836
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,50 @@
+PROJECTNAME=$(basename $(wildcard *.tex))
+LIBS=$(notdir $(wildcard libs/*))
+FIGS=$(notdir $(wildcard figs/*.fig))
+
+PDFS=$(addsuffix .pdf, $(PROJECTNAME))
+SYNCTEXS=$(addsuffix .synctex.gz, $(PROJECTNAME))
+
+all: $(PROJECTNAME)
+
+$(PROJECTNAME): $(LIBS) $(FIGS)
+ pdflatex -file-line-error $@.tex
+ pdflatex -synctex=1 $@.tex
+
+$(SYNCTEXS): $(LIBS) $(FIGS)
+ pdflatex -synctex=1 $(patsubst %.synctex.gz, %.tex, $@)
+
+
+$(LIBS):
+ ln -fs libs/$@ ./
+
+
+figs: $(FIGS)
+
+$(FIGS):
+ make -C figs/$@
+ for pdf in $$(find figs/$@/ -name '*.pdf'); do ln -fs "$$pdf" ./ ; done
+ for png in $$(find figs/$@/ -name '*.png'); do ln -fs "$$png" ./ ; done
+
+
+clean-aux: clean-figs-aux
+ rm -f $(addsuffix .aux, $(PROJECTNAME))
+ rm -f $(addsuffix .log, $(PROJECTNAME))
+ rm -f $(addsuffix .out, $(PROJECTNAME))
+
+clean-libs:
+ rm -f $(LIBS)
+
+clean-figs:
+ $(foreach fig,$(addprefix figs/, $(FIGS)), make -C $(fig) clean; )
+ rm -f $(notdir $(wildcard figs/*.fig/*.pdf))
+ rm -f $(notdir $(wildcard figs/*.fig/*.png))
+
+clean-figs-aux:
+ $(foreach fig,$(addprefix figs/, $(FIGS)), make -C $(fig) clean-aux; )
+
+
+clean-tex:
+ rm -f $(PDFS) $(SYNCTEXS)
+
+clean: clean-aux clean-tex clean-libs clean-figs
diff --git a/README b/README
new file mode 100644
index 0000000..88a8220
--- /dev/null
+++ b/README
@@ -0,0 +1,32 @@
+This directory contains the source files to typeset the presentation, and
+generate the figures. This can be accomplished by running
+ make
+
+This document uses a custom class file, located in the 'libs' directory, which
+defines a number of commands.
+
+
+* Dependencies:
+
+ pdflatex
+ TeXlive packages:
+ amsfonts
+ dsfont
+ graphics
+ hyperref
+ latex
+ pgf
+ standalone
+ GNU make
+
+* Files:
+
+ Jauslin_UMSM_2020.tex:
+ main LaTeX file
+
+ libs:
+ custom LaTeX class file
+
+ figs:
+ source code for the figures
+
diff --git a/figs/cross_example.fig/Makefile b/figs/cross_example.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/cross_example.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/cross_example.fig/cross_example.tikz.tex b/figs/cross_example.fig/cross_example.tikz.tex
new file mode 100644
index 0000000..8231de6
--- /dev/null
+++ b/figs/cross_example.fig/cross_example.tikz.tex
@@ -0,0 +1,16 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid{10}{10}{(-0.5,-0.5)}
+
+\cross{teal}{(5,5)}
+\cross{teal}{(4,2)}
+\cross{teal}{(7,2)}
+\cross{teal}{(3,8)}
+\cross{teal}{(1,7)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/cross_example.fig/grid.tikz.tex b/figs/cross_example.fig/grid.tikz.tex
new file mode 100644
index 0000000..4278366
--- /dev/null
+++ b/figs/cross_example.fig/grid.tikz.tex
@@ -0,0 +1,10 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid{10}{10}{(-0.5,-0.5)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/cross_example.fig/libs/shapes.sty b/figs/cross_example.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/cross_example.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/cross_sliding.fig/Makefile b/figs/cross_sliding.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/cross_sliding.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/cross_sliding.fig/cross_sliding_2.tikz.tex b/figs/cross_sliding.fig/cross_sliding_2.tikz.tex
new file mode 100644
index 0000000..dfc3267
--- /dev/null
+++ b/figs/cross_sliding.fig/cross_sliding_2.tikz.tex
@@ -0,0 +1,14 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\square{red}{(1,1)}
+\square{red}{(2,1)}
+\grid74{(-2,-2)}
+\cross{teal}{(0,0)}
+\cross{teal}{(3,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/cross_sliding.fig/cross_sliding_3a.tikz.tex b/figs/cross_sliding.fig/cross_sliding_3a.tikz.tex
new file mode 100644
index 0000000..0d55ee6
--- /dev/null
+++ b/figs/cross_sliding.fig/cross_sliding_3a.tikz.tex
@@ -0,0 +1,14 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\square{red}{(-1,1)}
+\grid77{(-4,-3)}
+\cross{teal}{(-2,-1)}
+\cross{teal}{(0,0)}
+\cross{teal}{(1,2)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/cross_sliding.fig/cross_sliding_3b.tikz.tex b/figs/cross_sliding.fig/cross_sliding_3b.tikz.tex
new file mode 100644
index 0000000..c54dbec
--- /dev/null
+++ b/figs/cross_sliding.fig/cross_sliding_3b.tikz.tex
@@ -0,0 +1,16 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\square{red}{(-1,-2)}
+\square{red}{(0,-2)}
+\square{red}{(1,-2)}
+\grid85{(-4,-3)}
+\cross{teal}{(-2,-1)}
+\cross{teal}{(0,0)}
+\cross{teal}{(2,-1)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/cross_sliding.fig/libs/shapes.sty b/figs/cross_sliding.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/cross_sliding.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/gaunt_fisher.fig/Makefile b/figs/gaunt_fisher.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/gaunt_fisher.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/gaunt_fisher.fig/gaunt_fisher2.tikz.tex b/figs/gaunt_fisher.fig/gaunt_fisher2.tikz.tex
new file mode 100644
index 0000000..731d3f2
--- /dev/null
+++ b/figs/gaunt_fisher.fig/gaunt_fisher2.tikz.tex
@@ -0,0 +1,30 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \cross{teal}{(4,4)}
+ \cross{teal}{(3,6)}
+ \cross{teal}{(7,3)}
+ \cross{teal}{(9,4)}
+ \cross{teal}{(10,7)}
+ \cross{teal}{(4,9)}
+
+ \cross{teal}{(6,6)}
+ \cross{teal}{(7,8)}
+
+ \square{black}{(6,4)}
+ \square{black}{(5,5)}
+ \square{black}{(5,7)}
+ \square{black}{(4,7)}
+ \square{black}{(5,8)}
+ \square{black}{(7,5)}
+ \square{black}{(8,5)}
+ \square{black}{(8,6)}
+ \square{black}{(9,6)}
+ \square{black}{(8,7)}
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/gaunt_fisher.fig/gaunt_fisher3.tikz.tex b/figs/gaunt_fisher.fig/gaunt_fisher3.tikz.tex
new file mode 100644
index 0000000..96ef6f7
--- /dev/null
+++ b/figs/gaunt_fisher.fig/gaunt_fisher3.tikz.tex
@@ -0,0 +1,53 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \foreach\k in {2,...,4}{
+ \cross{teal}{(2*\k,\k)}
+ \cross{teal}{(5,15)++(\k,-2*\k)}
+ }
+ \foreach\k in {1,...,3}{
+ \cross{teal}{(-5,10)++(2*\k,\k)}
+ }
+ \cross{teal}{(3,5)}
+ \cross{teal}{(5,9)}
+ \cross{teal}{(-1,7)}
+ \cross{teal}{(0,9)}
+ \cross{teal}{(6,6)}
+ \cross{teal}{(1,6)}
+ \cross{teal}{(3,10)}
+ \cross{teal}{(4,12)}
+ \cross{teal}{(1,3)}
+ \cross{teal}{(-2,4)}
+ \cross{teal}{(-4,8)}
+
+ \square{black}{(3,3)}
+ \square{black}{(2,4)}
+ \square{black}{(4,4)}
+ \square{black}{(5,4)}
+ \square{black}{(5,5)}
+ \square{black}{(7,5)}
+ \square{black}{(8,6)}
+ \square{black}{(7,7)}
+ \square{black}{(7,8)}
+ \square{black}{(6,8)}
+ \square{black}{(6,10)}
+ \square{black}{(5,11)}
+ \square{black}{(2,12)}
+ \square{black}{(2,11)}
+ \square{black}{(1,11)}
+ \square{black}{(0,11)}
+ \square{black}{(1,10)}
+ \square{black}{(-1,10)}
+ \square{black}{(-2,10)}
+ \square{black}{(-2,9)}
+ \square{black}{(-3,9)}
+ \square{black}{(-2,8)}
+ \square{black}{(-1,5)}
+ \square{black}{(0,5)}
+ \square{black}{(0,4)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/gaunt_fisher.fig/gf_diamond1.tikz.tex b/figs/gaunt_fisher.fig/gf_diamond1.tikz.tex
new file mode 100644
index 0000000..4a69db1
--- /dev/null
+++ b/figs/gaunt_fisher.fig/gf_diamond1.tikz.tex
@@ -0,0 +1,23 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \begin{scope}
+ \clip(1,0)--++(3,3)--++(-3,3)--++(-3,-3)--cycle;
+ \grid66{(-2,0)}
+ \end{scope}
+ \diamond{teal}{(1,1)}
+ \diamond{teal}{(0,2)}
+ \diamond{teal}{(-1,3)}
+ \diamond{teal}{(0,4)}
+ \diamond{teal}{(1,5)}
+ \diamond{teal}{(2,4)}
+ \diamond{teal}{(3,3)}
+ \diamond{teal}{(2,2)}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/figs/gaunt_fisher.fig/gf_diamond2.tikz.tex b/figs/gaunt_fisher.fig/gf_diamond2.tikz.tex
new file mode 100644
index 0000000..800ce78
--- /dev/null
+++ b/figs/gaunt_fisher.fig/gf_diamond2.tikz.tex
@@ -0,0 +1,25 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \begin{scope}
+ \clip(1,0)--++(4,4)--++(-3,3)--++(-4,-4)--cycle;
+ \grid77{(-2,0)}
+ \end{scope}
+ \diamond{teal}{(1,1)}
+ \diamond{teal}{(0,2)}
+ \diamond{teal}{(-1,3)}
+ \diamond{teal}{(0,4)}
+ \diamond{teal}{(1,5)}
+ \diamond{teal}{(2,6)}
+ \diamond{teal}{(3,5)}
+ \diamond{teal}{(4,4)}
+ \diamond{teal}{(3,3)}
+ \diamond{teal}{(2,2)}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/figs/gaunt_fisher.fig/gf_diamond3.tikz.tex b/figs/gaunt_fisher.fig/gf_diamond3.tikz.tex
new file mode 100644
index 0000000..cee573c
--- /dev/null
+++ b/figs/gaunt_fisher.fig/gf_diamond3.tikz.tex
@@ -0,0 +1,30 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \begin{scope}
+ \clip(1,0)--++(4,4)--++(-4,4)--++(-4,-4)--cycle;
+ \grid88{(-2,0)}
+ \end{scope}
+ \diamond{teal}{(1,1)}
+ \diamond{teal}{(0,2)}
+ \diamond{teal}{(-1,3)}
+ \diamond{teal}{(-2,4)}
+ \diamond{teal}{(-1,5)}
+ \diamond{teal}{(0,6)}
+ \diamond{teal}{(1,7)}
+ \diamond{teal}{(2,6)}
+ \diamond{teal}{(3,5)}
+ \diamond{teal}{(4,4)}
+ \diamond{teal}{(3,3)}
+ \diamond{teal}{(2,2)}
+
+ \diamond{teal}{(1,4)}
+
+\end{tikzpicture}
+\end{document}
+
+
diff --git a/figs/gaunt_fisher.fig/libs/shapes.sty b/figs/gaunt_fisher.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/gaunt_fisher.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/hole_example.fig/Makefile b/figs/hole_example.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/hole_example.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/hole_example.fig/hole_example_cross.tikz.tex b/figs/hole_example.fig/hole_example_cross.tikz.tex
new file mode 100644
index 0000000..f9208e1
--- /dev/null
+++ b/figs/hole_example.fig/hole_example_cross.tikz.tex
@@ -0,0 +1,36 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \cross{teal}{(5,2)}
+ \cross{teal}{(4,4)}
+ \cross{teal}{(3,6)}
+ \cross{teal}{(2,8)}
+ \cross{teal}{(7,3)}
+ \cross{teal}{(9,4)}
+ \cross{teal}{(11,5)}
+ \cross{teal}{(10,7)}
+ \cross{teal}{(9,9)}
+ \cross{teal}{(8,11)}
+ \cross{teal}{(6,10)}
+ \cross{teal}{(4,9)}
+
+ \cross{green}{(6,6)}
+ \cross{green}{(7,8)}
+
+ \square{black}{(6,4)}
+ \square{black}{(5,5)}
+ \square{black}{(5,7)}
+ \square{black}{(4,7)}
+ \square{black}{(5,8)}
+ \square{black}{(7,5)}
+ \square{black}{(8,5)}
+ \square{black}{(8,6)}
+ \square{black}{(9,6)}
+ \square{black}{(8,7)}
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hole_example.fig/hole_example_cross_decorrelated.tikz.tex b/figs/hole_example.fig/hole_example_cross_decorrelated.tikz.tex
new file mode 100644
index 0000000..113171d
--- /dev/null
+++ b/figs/hole_example.fig/hole_example_cross_decorrelated.tikz.tex
@@ -0,0 +1,63 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \cross{teal}{(5,2)}
+ \cross{teal}{(4,4)}
+ \cross{teal}{(3,6)}
+ \cross{teal}{(2,8)}
+ \cross{teal}{(7,3)}
+ \cross{teal}{(9,4)}
+ \cross{teal}{(11,5)}
+ \cross{teal}{(10,7)}
+ \cross{teal}{(9,9)}
+ \cross{teal}{(8,11)}
+ \cross{teal}{(6,10)}
+ \cross{teal}{(4,9)}
+
+ \cross{green}{(6,6)}
+ \cross{green}{(7,8)}
+
+ \square{black}{(6,4)}
+ \square{black}{(5,5)}
+ \square{black}{(5,7)}
+ \square{black}{(4,7)}
+ \square{black}{(5,8)}
+ \square{black}{(7,5)}
+ \square{black}{(8,5)}
+ \square{black}{(8,6)}
+ \square{black}{(9,6)}
+ \square{black}{(8,7)}
+
+ \cross{teal}{(13, 6)}
+ \cross{teal}{(12, 8)}
+ \cross{teal}{(11,10)}
+ \cross{teal}{(10,12)}
+ \cross{teal}{(15, 7)}
+ \cross{teal}{(17, 8)}
+ \cross{teal}{(19, 9)}
+ \cross{teal}{(18,11)}
+ \cross{teal}{(17,13)}
+ \cross{teal}{(16,15)}
+ \cross{teal}{(14,14)}
+ \cross{teal}{(12,13)}
+
+ \cross{cyan}{(15,10)}
+ \cross{cyan}{(13,11)}
+
+ \square{black}{(14,8)}
+ \square{black}{(14,9)}
+ \square{black}{(13,9)}
+ \square{black}{(16,9)}
+ \square{black}{(17,10)}
+ \square{black}{(16,11)}
+ \square{black}{(16,12)}
+ \square{black}{(15,12)}
+ \square{black}{(14,12)}
+ \square{black}{(15,13)}
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hole_example.fig/hole_example_square.tikz.tex b/figs/hole_example.fig/hole_example_square.tikz.tex
new file mode 100644
index 0000000..4b3fb7c
--- /dev/null
+++ b/figs/hole_example.fig/hole_example_square.tikz.tex
@@ -0,0 +1,24 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \foreach\i in {0,...,8}{
+ \ttsquare{teal}{(0,2*\i)}
+ \ttsquare{teal}{(4,2*\i)}
+ }
+ \ttsquare{teal}{(2,0)}
+ \ttsquare{teal}{(2,16)}
+ \foreach\i in {1,...,6}{
+ \ttsquare{green}{(2,2*\i+1)}
+ }
+
+ \square{black}{(1.5,1.5)}
+ \square{black}{(2.5,1.5)}
+ \square{black}{(1.5,14.5)}
+ \square{black}{(2.5,14.5)}
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/hole_example.fig/libs/shapes.sty b/figs/hole_example.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/hole_example.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/lee_yang.fig/Makefile b/figs/lee_yang.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/lee_yang.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/lee_yang.fig/lee_yang.tikz.tex b/figs/lee_yang.fig/lee_yang.tikz.tex
new file mode 100644
index 0000000..f8ab7fd
--- /dev/null
+++ b/figs/lee_yang.fig/lee_yang.tikz.tex
@@ -0,0 +1,25 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+
+\begin{document}
+\begin{tikzpicture}
+
+\fill[color=cyan](-4,-4)--(-4,4)--(4,4)--(4,-4);
+\fill[color=white](0,0)circle(3);
+\fill[color=cyan](0,0)circle(1);
+\draw(-4,0)--(4,0);
+\draw(0,-4)--(0,4);
+
+\fill[color=red]( 5:1.3)circle(0.1);
+\fill[color=red]( 75:1.7)circle(0.1);
+\fill[color=red]( 91:2.3)circle(0.1);
+\fill[color=red]( 121:1.0)circle(0.1);
+\fill[color=red]( 134:2.9)circle(0.1);
+\fill[color=red]( 178:2.7)circle(0.1);
+\fill[color=red](-103:1.8)circle(0.1);
+\fill[color=red](- 87:1.4)circle(0.1);
+\fill[color=red](- 39:2.3)circle(0.1);
+\fill[color=red](-164:3.0)circle(0.1);
+\end{tikzpicture}
+\end{document}
diff --git a/figs/lee_yang.fig/libs/shapes.sty b/figs/lee_yang.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/lee_yang.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/libs/Makefile b/figs/libs/Makefile
new file mode 100644
index 0000000..33b81e2
--- /dev/null
+++ b/figs/libs/Makefile
@@ -0,0 +1,28 @@
+PROJECTNAME=$(basename $(basename $(wildcard *.tikz.tex)))
+LIBS=$(notdir $(wildcard libs/*))
+
+PDFS=$(addsuffix .pdf, $(PROJECTNAME))
+
+all: $(PDFS)
+
+$(PDFS): $(LIBS)
+ echo $(LIBS)
+ pdflatex -jobname $(basename $@) -file-line-error $(patsubst %.pdf, %.tikz.tex, $@)
+
+install: $(PDFS)
+ cp $^ $(INSTALLDIR)/
+
+$(LIBS):
+ ln -fs libs/$@ ./
+
+clean-libs:
+ rm -f $(LIBS)
+
+clean-aux:
+ rm -f $(addsuffix .aux, $(PROJECTNAME))
+ rm -f $(addsuffix .log, $(PROJECTNAME))
+
+clean-tex:
+ rm -f $(PDFS)
+
+clean: clean-libs clean-aux clean-tex
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;
+}
diff --git a/figs/packings.fig/Makefile b/figs/packings.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/packings.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/packings.fig/cross_packing_1.tikz.tex b/figs/packings.fig/cross_packing_1.tikz.tex
new file mode 100644
index 0000000..cd8ff24
--- /dev/null
+++ b/figs/packings.fig/cross_packing_1.tikz.tex
@@ -0,0 +1,12 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+
+ \grid{12}{12}{(0,0)}
+ \cross{teal}{(6,6)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/packings.fig/cross_packing_l.tikz.tex b/figs/packings.fig/cross_packing_l.tikz.tex
new file mode 100644
index 0000000..b7b6b74
--- /dev/null
+++ b/figs/packings.fig/cross_packing_l.tikz.tex
@@ -0,0 +1,14 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \foreach \k in {0,...,3}{
+ \foreach \l in {0,...,3}{
+ \cross{teal}{(-2*\l,\l)++(\k,2*\k)}
+ }
+ }
+\end{tikzpicture}
+\end{document}
diff --git a/figs/packings.fig/cross_packing_l_2.tikz.tex b/figs/packings.fig/cross_packing_l_2.tikz.tex
new file mode 100644
index 0000000..2bdd554
--- /dev/null
+++ b/figs/packings.fig/cross_packing_l_2.tikz.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+
+ \grid{12}{12}{(0,0)}
+ \cross{teal}{(6,6)}
+ \cross{teal}{(8,5)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/packings.fig/cross_packing_r.tikz.tex b/figs/packings.fig/cross_packing_r.tikz.tex
new file mode 100644
index 0000000..1332a68
--- /dev/null
+++ b/figs/packings.fig/cross_packing_r.tikz.tex
@@ -0,0 +1,14 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+ \foreach \k in {0,...,3}{
+ \foreach \l in {0,...,3}{
+ \cross{teal}{(-\l,2*\l)++(2*\k,\k)}
+ }
+ }
+\end{tikzpicture}
+\end{document}
diff --git a/figs/packings.fig/cross_packing_r_2.tikz.tex b/figs/packings.fig/cross_packing_r_2.tikz.tex
new file mode 100644
index 0000000..4d8bc48
--- /dev/null
+++ b/figs/packings.fig/cross_packing_r_2.tikz.tex
@@ -0,0 +1,13 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+
+ \grid{12}{12}{(0,0)}
+ \cross{teal}{(6,6)}
+ \cross{teal}{(8,7)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/packings.fig/libs/shapes.sty b/figs/packings.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/packings.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/shapes.fig/L_tetromino.tikz.tex b/figs/shapes.fig/L_tetromino.tikz.tex
new file mode 100644
index 0000000..5c82766
--- /dev/null
+++ b/figs/shapes.fig/L_tetromino.tikz.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid34{(-1,-2)}
+\Ltetromino{teal}{(0,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/Makefile b/figs/shapes.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/shapes.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/shapes.fig/P_pentomino.tikz.tex b/figs/shapes.fig/P_pentomino.tikz.tex
new file mode 100644
index 0000000..9ef3990
--- /dev/null
+++ b/figs/shapes.fig/P_pentomino.tikz.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid34{(-1,-2)}
+\Ppentomino{teal}{(0,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/T_tetromino.tikz.tex b/figs/shapes.fig/T_tetromino.tikz.tex
new file mode 100644
index 0000000..087e809
--- /dev/null
+++ b/figs/shapes.fig/T_tetromino.tikz.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid34{(-1,-2)}
+\Ttetromino{teal}{(0,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/V_triomino.tikz.tex b/figs/shapes.fig/V_triomino.tikz.tex
new file mode 100644
index 0000000..ba07c5f
--- /dev/null
+++ b/figs/shapes.fig/V_triomino.tikz.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid33{(-1,-1)}
+\Vtriomino{teal}{(0,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/cross.tikz.tex b/figs/shapes.fig/cross.tikz.tex
new file mode 100644
index 0000000..ef5f391
--- /dev/null
+++ b/figs/shapes.fig/cross.tikz.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid44{(-2,-2)}
+\cross{teal}{(0,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/diamond.tikz.tex b/figs/shapes.fig/diamond.tikz.tex
new file mode 100644
index 0000000..6d9eaa4
--- /dev/null
+++ b/figs/shapes.fig/diamond.tikz.tex
@@ -0,0 +1,11 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\grid44{(-2,-2)}
+\diamond{teal}{(0,0)}
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/hexagon.tikz.tex b/figs/shapes.fig/hexagon.tikz.tex
new file mode 100644
index 0000000..a23b7dc
--- /dev/null
+++ b/figs/shapes.fig/hexagon.tikz.tex
@@ -0,0 +1,37 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+
+\draw(0,0)--++(2,0);
+\draw(120:1)--++(3,0);
+\draw(120:2)--++(4,0);
+\draw(120:2)++(60:1)--++(3,0);
+\draw(120:2)++(60:2)--++(2,0);
+
+\draw(0,0)--++(60:4);
+\draw(1,0)--++(60:3);
+\draw(2,0)--++(60:2);
+\draw(120:1)--++(60:3);
+\draw(120:2)--++(60:2);
+
+\draw(0,0)--++(120:2);
+\draw(1,0)--++(120:3);
+\draw(2,0)--++(120:4);
+\draw(2,0)++(60:1)--++(120:3);
+\draw(2,0)++(60:2)--++(120:2);
+
+\fill[color=teal](60:1)--++(0:1)--++(60:1)--++(120:1)--++(180:1)--++(240:1)--++(300:1)--cycle;
+
+\draw[color=white](60:1)--++(60:2);
+\draw[color=white](60:1)++(1,0)--++(120:2);
+\draw[color=white](60:1)++(120:1)--++(2,0);
+
+\draw(60:1)--++(0:1)--++(60:1)--++(120:1)--++(180:1)--++(240:1)--++(300:1)--cycle;
+
+
+\end{tikzpicture}
+\end{document}
diff --git a/figs/shapes.fig/libs/shapes.sty b/figs/shapes.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/shapes.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/square_packing.fig/Makefile b/figs/square_packing.fig/Makefile
new file mode 120000
index 0000000..704310e
--- /dev/null
+++ b/figs/square_packing.fig/Makefile
@@ -0,0 +1 @@
+../libs/Makefile \ No newline at end of file
diff --git a/figs/square_packing.fig/libs/shapes.sty b/figs/square_packing.fig/libs/shapes.sty
new file mode 120000
index 0000000..eaa25c7
--- /dev/null
+++ b/figs/square_packing.fig/libs/shapes.sty
@@ -0,0 +1 @@
+../../libs/shapes.sty \ No newline at end of file
diff --git a/figs/square_packing.fig/square_packing_slide.tikz.tex b/figs/square_packing.fig/square_packing_slide.tikz.tex
new file mode 100644
index 0000000..72b35a3
--- /dev/null
+++ b/figs/square_packing.fig/square_packing_slide.tikz.tex
@@ -0,0 +1,27 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usepackage{shapes}
+
+\begin{document}
+\begin{tikzpicture}
+\clip(-1.01,-3.01)--(7.01,-3.01)--(7.01,7.01)--(-1.01,7.01)--cycle;
+\foreach \i in {0,...,3}{
+ \ttsquare{teal}{(2*\i,-2)}
+ \ttsquare{teal}{(2*\i,0)}
+ \ttsquare{teal}{(2*\i+1,2)}
+ \ttsquare{teal}{(2*\i,4)}
+ \ttsquare{teal}{(2*\i,6)}
+}
+\ttsquare{teal}{(-1,2)}
+
+\foreach \i in {0,...,3}{
+ \ttsquareempty{(2*\i,-2)}
+ \ttsquareempty{(2*\i,0)}
+ \ttsquareempty{(2*\i+1,2)}
+ \ttsquareempty{(2*\i,4)}
+ \ttsquareempty{(2*\i,-6)}
+}
+\ttsquareempty{(-1,2)}
+\end{tikzpicture}
+\end{document}
diff --git a/libs/ian-presentation.cls b/libs/ian-presentation.cls
new file mode 100644
index 0000000..91bd487
--- /dev/null
+++ b/libs/ian-presentation.cls
@@ -0,0 +1,187 @@
+%%
+%% Ian's presentation class
+%%
+
+%% TeX format
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+%% class name
+\ProvidesClass{ian-presentation}[2017/09/29]
+
+\def\ian@defaultoptions{
+ \pagestyle{plain}
+ \RequirePackage{color}
+ \RequirePackage{amssymb}
+}
+
+%% paper dimensions
+\setlength\paperheight{240pt}
+\setlength\paperwidth{427pt}
+
+%% fonts
+\input{size11.clo}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+
+%% text dimensions
+\textheight=208pt
+\textwidth=370pt
+\hoffset=-1in
+\voffset=-1in
+\oddsidemargin=24pt
+\evensidemargin=24pt
+\topmargin=8pt
+\headheight=0pt
+\headsep=0pt
+\marginparsep=0pt
+\marginparwidth=0pt
+\footskip=16pt
+
+
+%% remove default skips
+\parindent=0pt
+\parskip=0pt
+\baselineskip=0pt
+
+%% something is wrong with \thepage, redefine it
+\gdef\thepage{\the\c@page}
+
+%% correct vertical alignment at the end of a document
+\AtEndDocument{
+ % save total slide count
+ \immediate\write\@auxout{\noexpand\gdef\noexpand\slidecount{\thepage}}
+ \vfill
+ \eject
+}
+
+
+%% footer
+\def\ps@plain{
+ \def\@oddhead{}
+ \def\@evenhead{\@oddhead}
+ \def\@oddfoot{\tiny\hfill\thepage/\safe\slidecount\hfill}
+ \def\@evenfoot{\@oddfoot}
+}
+\def\ps@empty{
+ \def\@oddhead{}
+ \def\@evenhead{\@oddhead}
+ \def\@oddfoot{}
+ \def\@evenfoot{\@oddfoot}
+}
+
+
+%% title of slide
+\def\title#1{
+ \hfil{\bf\large #1}\par
+ \hfil\vrule width0.75\textwidth height0.3pt\par
+ \vskip5pt
+}
+
+
+%% hyperlinks
+% hyperlinkcounter
+\newcounter{lncount}
+% hyperref anchor
+\def\hrefanchor{%
+\stepcounter{lncount}%
+\hypertarget{ln.\thelncount}{}%
+}
+
+%% define a command and write it to aux file
+\def\outdef#1#2{%
+ % define command%
+ \expandafter\xdef\csname #1\endcsname{#2}%
+ % hyperlink number%
+ \expandafter\xdef\csname #1@hl\endcsname{\thelncount}%
+ % write command to aux%
+ \immediate\write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname #1\endcsname{\csname #1\endcsname}}%
+ \immediate\write\@auxout{\noexpand\expandafter\noexpand\gdef\noexpand\csname #1@hl\endcsname{\thelncount}}%
+}
+
+%% can call commands even when they are not defined
+\def\safe#1{%
+ \ifdefined#1%
+ #1%
+ \else%
+ {\color{red}\bf?}%
+ \fi%
+}
+
+
+%% itemize
+\newlength\itemizeskip
+% left margin for items
+\setlength\itemizeskip{20pt}
+\newlength\itemizeseparator
+% space between the item symbol and the text
+\setlength\itemizeseparator{5pt}
+% penalty preceding an itemize
+\def\itemizepenalty{0}
+% counter counting the itemize level
+\newcounter{itemizecount}
+
+% item symbol
+\def\itemizept#1{
+ \ifnum#1=1
+ \textbullet
+ \else
+ $\scriptstyle\blacktriangleright$
+ \fi
+}
+
+\newlength\current@itemizeskip
+\setlength\current@itemizeskip{0pt}
+\def\itemize{
+ \par\penalty\itemizepenalty\medskip\penalty\itemizepenalty
+ \addtocounter{itemizecount}{1}
+ \addtolength\current@itemizeskip{\itemizeskip}
+ \leftskip\current@itemizeskip
+}
+\def\enditemize{
+ \addtocounter{itemizecount}{-1}
+ \addtolength\current@itemizeskip{-\itemizeskip}
+ \par\leftskip\current@itemizeskip
+ \medskip
+}
+\newlength\itempt@total
+\def\item{
+ \settowidth\itempt@total{\itemizept\theitemizecount}
+ \addtolength\itempt@total{\itemizeseparator}
+ \par
+ \medskip
+ \hskip-\itempt@total\itemizept\theitemizecount\hskip\itemizeseparator
+}
+
+%% enumerate
+\newcounter{enumerate@count}
+\def\enumerate{
+ \setcounter{enumerate@count}0
+ \let\olditem\item
+ \let\olditemizept\itemizept
+ \def\item{
+ % counter
+ \stepcounter{enumerate@count}
+ % set header
+ \def\itemizept{\theenumerate@count.}
+ % hyperref anchor
+ \hrefanchor
+ % define tag (for \label)
+ \xdef\tag{\theenumerate@count}
+ \olditem
+ }
+ \itemize
+}
+\def\endenumerate{
+ \enditemize
+ \let\item\olditem
+ \let\itemizept\olditemizept
+}
+
+
+%% end
+\ian@defaultoptions
+
+\endinput