diff options
56 files changed, 1431 insertions, 0 deletions
| diff --git a/Jauslin_Princeton_2018.tex b/Jauslin_Princeton_2018.tex new file mode 100644 index 0000000..af99bbc --- /dev/null +++ b/Jauslin_Princeton_2018.tex @@ -0,0 +1,271 @@ +\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{Gas-liquid-crystal} +\vfill +\hfil\includegraphics[width=3.0cm]{gas.png} +\hfil\includegraphics[width=3.0cm]{liquid.png} +\hfil\includegraphics[width=3.0cm]{crystal.png} +\vfill\eject + +\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{Observables} +\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(y)&\mathrm{\ if\ }x\in\mathcal L_\nu\\[0.3cm] +    O(y)&\mathrm{\ if\ not} +    . +  \end{array}\right. +  $$ +\end{itemize} +\vfill +\eject + +\title{Low-fugacity expansion} +\begin{itemize} +  \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) +  $$ +\end{itemize} +\eject + +\title{Low-fugacity expansion} +\begin{itemize} +  \item Second term: +  $$ +    b_2(\Lambda)=\frac1{|\Lambda|}\left(Z_\Lambda(2)-\frac12Z_\Lambda^2(1)\right) +  $$ +  \item $\frac12 Z_\Lambda^2(1)$: counts non-interacting particle configurations. +  \item $Z_\Lambda(2)$: counts interacting particle configurations. +  \item The terms of order $|\Lambda|^2$ cancel out! +\end{itemize} +\eject + +\title{Low-fugacity expansion} +\begin{itemize} +  \item \href{http://dx.doi.org/10.1017/S0305004100011191}{[Ursell, 1927]}, \href{http://dx.doi.org/10.1063/1.1749933}{[Mayer, 1937]}: $b_k(\Lambda)\to b_k$. +  \item \href{http://dx.doi.org/10.1016/0031-9163(62)90198-1}{[Groeneveld, 1962]}, \href{http://dx.doi.org/10.1016/0003-4916(63)90336-1}{[Ruelle, 1963]}, \href{http://dx.doi.org/10.1063/1.1703906}{[Penrose, 1963]}:  +  $$ +    p(z)=\sum_{k=1}^\infty b_kz^k +  $$ +  which has a positive radius of convergence. +\end{itemize} +\eject + +\title{High-fugacity expansion} +\begin{itemize} +  \item Inverse fugacity $y\equiv z^{-1}$: +  $$ +    \Xi_\Lambda(z)= +    z^{N_{\mathrm{max}}} +    \sum_{X\subset\Lambda} +    y^{N_{\mathrm{max}}-|X|}\prod_{x\neq x'\in X}\phi(x,x') +  $$ +\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 +    + +    o(1) +  $$ +  where, if $Q_\Lambda(k_i)$ denotes the number of configurations with $N_{\mathrm{max}}-k_i$ particles, then +  $$ +    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} + + +\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 @@ -0,0 +1,36 @@ +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 +    graphics +    hyperref +    latex +    pgf +    standalone +  GNU make +  python3 +  gnuplot + +* Files: + +  Jauslin_Princeton_2018.tex: +    main LaTeX file + +  libs: +    custom LaTeX class file + +  figs: +    source code for the figures + +  figs/atoms.fig/*.py: +    this python script randomly generates configurations of non-overlapping +    spheres for the figures gas.png, liquid.png and crystal.png. diff --git a/figs/atoms.fig/Makefile b/figs/atoms.fig/Makefile new file mode 100644 index 0000000..b0cdfa6 --- /dev/null +++ b/figs/atoms.fig/Makefile @@ -0,0 +1,15 @@ +PROJECTNAME=crystal liquid gas +PNGS=$(addsuffix .png, $(PROJECTNAME)) + +all: $(PNGS) + +$(PNGS): +	cp $(patsubst %.png, %, $@)-base.gp $(patsubst %.png, %, $@).gp +	python $(patsubst %.png, %, $@).py >> $(patsubst %.png, %, $@).gp +	gnuplot $(patsubst %.png, %, $@).gp > $@ + +clean-aux: +	rm -f $(addsuffix .gp, $(PROJECTNAME)) + +clean: clean-aux +	rm -f $(PNGS) diff --git a/figs/atoms.fig/crystal-base.gp b/figs/atoms.fig/crystal-base.gp new file mode 100644 index 0000000..4502919 --- /dev/null +++ b/figs/atoms.fig/crystal-base.gp @@ -0,0 +1,21 @@ +set terminal pngcairo size 2048,2048 + +set key off +unset colorbox +unset border +unset xtics +unset ytics +unset ztics + +set parametric + +set view equal xyz + +set isosample 100 + +set pm3d depthorder +set pm3d lighting primary 0.50 specular 0.6 + +set palette defined (0 "#339999", 1"#339999") + +splot \ diff --git a/figs/atoms.fig/crystal.py b/figs/atoms.fig/crystal.py new file mode 100644 index 0000000..4b1ba3c --- /dev/null +++ b/figs/atoms.fig/crystal.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +from math import * +import random +import sys + +# size of lattice +N=5 + +# configuration +config=[] +for i in range(N): +    for j in range(N): +        for k in range(N): +            config.append([2*i+((j+k)%2),sqrt(3)*(j+(k%2)/3),2*sqrt(6)/3*k]) + + +for i in range(len(config)): +    print(str(config[i][0])+"+cos(u)*sin(v)", end=",") +    print(str(config[i][1])+"+sin(u)*sin(v)", end=",") +    print(str(config[i][2])+"+cos(v)", end=" ") +    print("with pm3d", end="") +    if i<len(config)-1: +        print(", \\") diff --git a/figs/atoms.fig/gas-base.gp b/figs/atoms.fig/gas-base.gp new file mode 100644 index 0000000..7e337b6 --- /dev/null +++ b/figs/atoms.fig/gas-base.gp @@ -0,0 +1,21 @@ +set terminal pngcairo size 2048,2048 + +set key off +unset colorbox +unset border +unset xtics +unset ytics +unset ztics + +set parametric + +set view equal xyz + +set isosample 100 + +set pm3d depthorder +set pm3d lighting primary 0.5 specular 0.6 + +set palette defined (0 "#339999", 1"#339999") + +splot \ diff --git a/figs/atoms.fig/gas.py b/figs/atoms.fig/gas.py new file mode 100644 index 0000000..8685999 --- /dev/null +++ b/figs/atoms.fig/gas.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +from math import * +import random + +# size of space +L=15 +# number of particles +N=10 + +# check whether two rods overlap +def check_overlap(sphere1,sphere2): +    if(sqrt((sphere2[0]-sphere1[0])**2+(sphere2[1]-sphere1[1])**2+(sphere2[2]-sphere1[2])**2)<2): +        return(True) +    return(False) + +# configuration +config=[] +# add spheres +while len(config)<N: +    # random position +    x=[random.uniform(0,L), random.uniform(0,L), random.uniform(0,L)] +    # check it does not interfere with other spheres +    fine=True +    for sphere in config: +        if(check_overlap(sphere,x)): +            fine=False +            break +    if fine: +        config.append(x) + +for i in range(len(config)): +    sphere=config[i] +    print(str(sphere[0])+"+cos(u)*sin(v)", end=", ") +    print(str(sphere[1])+"+sin(u)*sin(v)", end=", ") +    print(str(sphere[2])+"+cos(v)", end="  ") +    print("with pm3d", end="") +    if i<len(config)-1: +        print(", \\") diff --git a/figs/atoms.fig/liquid-base.gp b/figs/atoms.fig/liquid-base.gp new file mode 100644 index 0000000..4502919 --- /dev/null +++ b/figs/atoms.fig/liquid-base.gp @@ -0,0 +1,21 @@ +set terminal pngcairo size 2048,2048 + +set key off +unset colorbox +unset border +unset xtics +unset ytics +unset ztics + +set parametric + +set view equal xyz + +set isosample 100 + +set pm3d depthorder +set pm3d lighting primary 0.50 specular 0.6 + +set palette defined (0 "#339999", 1"#339999") + +splot \ diff --git a/figs/atoms.fig/liquid.py b/figs/atoms.fig/liquid.py new file mode 100644 index 0000000..99b09ba --- /dev/null +++ b/figs/atoms.fig/liquid.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +from math import * +import random + +# size of space +L=15 +# number of particles +N=100 + +# check whether two rods overlap +def check_overlap(sphere1,sphere2): +    if(sqrt((sphere2[0]-sphere1[0])**2+(sphere2[1]-sphere1[1])**2+(sphere2[2]-sphere1[2])**2)<2): +        return(True) +    return(False) + +# configuration +config=[] +# add spheres +while len(config)<N: +    # random position +    x=[random.uniform(0,L), random.uniform(0,L), random.uniform(0,L)] +    # check it does not interfere with other spheres +    fine=True +    for sphere in config: +        if(check_overlap(sphere,x)): +            fine=False +            break +    if fine: +        config.append(x) + +for i in range(len(config)): +    sphere=config[i] +    print(str(sphere[0])+"+cos(u)*sin(v)", end=", ") +    print(str(sphere[1])+"+sin(u)*sin(v)", end=", ") +    print(str(sphere[2])+"+cos(v)", end="  ") +    print("with pm3d", end="") +    if i<len(config)-1: +        print(", \\") 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/.gf_diamond3.tikz.tex.swp b/figs/gaunt_fisher.fig/.gf_diamond3.tikz.tex.swpBinary files differ new file mode 100644 index 0000000..0c598c7 --- /dev/null +++ b/figs/gaunt_fisher.fig/.gf_diamond3.tikz.tex.swp 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/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_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_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/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.tikz.tex b/figs/square_packing.fig/square_packing.tikz.tex new file mode 100644 index 0000000..297e72e --- /dev/null +++ b/figs/square_packing.fig/square_packing.tikz.tex @@ -0,0 +1,20 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} +\foreach \i in {0,...,3}{ +  \ttsquare{teal}{(2*\i,0)} +  \ttsquare{teal}{(2*\i,2)} +  \ttsquare{teal}{(2*\i,4)} +} +\grid86{[color=red, dashed](-1,-1)} +\foreach \i in {0,...,3}{ +  \ttsquareempty{(2*\i,0)} +  \ttsquareempty{(2*\i,2)} +  \ttsquareempty{(2*\i,4)} +} +\end{tikzpicture} +\end{document} 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..c02485a --- /dev/null +++ b/figs/square_packing.fig/square_packing_slide.tikz.tex @@ -0,0 +1,25 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} +\clip(-1.01,-1.01)--(7.01,-1.01)--(7.01,5.01)--(-1.01,5.01)--cycle; +\foreach \i in {0,...,3}{ +  \ttsquare{teal}{(2*\i,0)} +  \ttsquare{teal}{(2*\i+1,2)} +  \ttsquare{teal}{(2*\i,4)} +} +\ttsquare{teal}{(-1,2)} + +\grid86{[color=red, dashed](-1,-1)} + +\foreach \i in {0,...,3}{ +  \ttsquareempty{(2*\i,0)} +  \ttsquareempty{(2*\i+1,2)} +  \ttsquareempty{(2*\i,4)} +} +\ttsquareempty{(-1,2)} +\end{tikzpicture} +\end{document} diff --git a/figs/square_sliding.fig/Makefile b/figs/square_sliding.fig/Makefile new file mode 120000 index 0000000..704310e --- /dev/null +++ b/figs/square_sliding.fig/Makefile @@ -0,0 +1 @@ +../libs/Makefile
\ No newline at end of file diff --git a/figs/square_sliding.fig/libs/shapes.sty b/figs/square_sliding.fig/libs/shapes.sty new file mode 120000 index 0000000..eaa25c7 --- /dev/null +++ b/figs/square_sliding.fig/libs/shapes.sty @@ -0,0 +1 @@ +../../libs/shapes.sty
\ No newline at end of file diff --git a/figs/square_sliding.fig/square_sliding.tikz.tex b/figs/square_sliding.fig/square_sliding.tikz.tex new file mode 100644 index 0000000..b63a58d --- /dev/null +++ b/figs/square_sliding.fig/square_sliding.tikz.tex @@ -0,0 +1,17 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} + +\fill[color=red](-1,1)--++(0,5)--++(2,0)--++(0,-5)--cycle; + +\grid{8}{15}{(-4,-4)} + +\ttsquare{teal}{(0,0)} +\ttsquare{teal}{(0,7)} + +\end{tikzpicture} +\end{document} diff --git a/figs/square_sliding.fig/square_sliding_contra.tikz.tex b/figs/square_sliding.fig/square_sliding_contra.tikz.tex new file mode 100644 index 0000000..61ea43d --- /dev/null +++ b/figs/square_sliding.fig/square_sliding_contra.tikz.tex @@ -0,0 +1,25 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} + +\grid{8}{15}{(-4,-4)} + +\ttsquare{teal}{(0,0)} +\ttsquare{teal}{(0,7)} + +\ttsquare{cyan}{( 0, 2)} +\ttsquare{cyan}{( 0,-2)} +\ttsquare{cyan}{( 2, 0)} +\ttsquare{cyan}{(-2, 0)} + +\ttsquare{cyan}{( 0, 9)} +\ttsquare{cyan}{( 0, 5)} +\ttsquare{cyan}{( 2, 7)} +\ttsquare{cyan}{(-2, 7)} + +\end{tikzpicture} +\end{document} diff --git a/libs/ian-presentation.cls b/libs/ian-presentation.cls new file mode 100644 index 0000000..7d8331b --- /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{320pt} + +%% 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=272pt +\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 | 
