From 133934bd3e166bf03854592d22ebb8da05c7aa29 Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Sat, 24 Jun 2017 03:24:09 +0000 Subject: As presented at GLaMP 2017 on 2017-06-24 --- GLaMP_2017.tex | 312 +++++++++++++++++++++ Makefile | 52 ++++ README | 36 +++ figs/cross_example.fig/Makefile | 1 + figs/cross_example.fig/cross_example.tikz.tex | 16 ++ figs/cross_example.fig/grid.tikz.tex | 10 + figs/cross_example.fig/libs/shapes.sty | 1 + figs/cross_packing.fig/Makefile | 1 + figs/cross_packing.fig/cross_packing_l.tikz.tex | 14 + figs/cross_packing.fig/cross_packing_r.tikz.tex | 14 + figs/cross_packing.fig/libs/shapes.sty | 1 + figs/cross_sliding.fig/Makefile | 1 + figs/cross_sliding.fig/cross_sliding1.tikz.tex | 17 ++ figs/cross_sliding.fig/cross_sliding2.tikz.tex | 18 ++ figs/cross_sliding.fig/libs/shapes.sty | 1 + figs/gaunt_fisher.fig/Makefile | 1 + figs/gaunt_fisher.fig/gaunt_fisher2.tikz.tex | 30 ++ figs/gaunt_fisher.fig/gaunt_fisher3.tikz.tex | 53 ++++ figs/gaunt_fisher.fig/libs/shapes.sty | 1 + figs/hole_example.fig/Makefile | 1 + figs/hole_example.fig/hole_example_cross.tikz.tex | 36 +++ .../hole_example_cross_decorrelated.tikz.tex | 63 +++++ figs/hole_example.fig/hole_example_square.tikz.tex | 24 ++ figs/hole_example.fig/libs/shapes.sty | 1 + figs/libs/Makefile | 28 ++ figs/libs/shapes.sty | 58 ++++ figs/shapes.fig/Makefile | 1 + figs/shapes.fig/cross.tikz.tex | 11 + figs/shapes.fig/cross3.tikz.tex | 11 + figs/shapes.fig/diamond.tikz.tex | 11 + figs/shapes.fig/hexagon.tikz.tex | 32 +++ figs/shapes.fig/libs/shapes.sty | 1 + figs/square_packing.fig/Makefile | 1 + figs/square_packing.fig/libs/shapes.sty | 1 + figs/square_packing.fig/square_packing.tikz.tex | 20 ++ .../square_packing_slide.tikz.tex | 25 ++ figs/square_sliding.fig/Makefile | 1 + figs/square_sliding.fig/libs/shapes.sty | 1 + figs/square_sliding.fig/square_sliding.tikz.tex | 17 ++ .../square_sliding_contra.tikz.tex | 25 ++ libs/ian-presentation.cls | 186 ++++++++++++ 41 files changed, 1135 insertions(+) create mode 100644 GLaMP_2017.tex create mode 100644 Makefile create mode 100644 README create mode 120000 figs/cross_example.fig/Makefile create mode 100644 figs/cross_example.fig/cross_example.tikz.tex create mode 100644 figs/cross_example.fig/grid.tikz.tex create mode 120000 figs/cross_example.fig/libs/shapes.sty create mode 120000 figs/cross_packing.fig/Makefile create mode 100644 figs/cross_packing.fig/cross_packing_l.tikz.tex create mode 100644 figs/cross_packing.fig/cross_packing_r.tikz.tex create mode 120000 figs/cross_packing.fig/libs/shapes.sty create mode 120000 figs/cross_sliding.fig/Makefile create mode 100644 figs/cross_sliding.fig/cross_sliding1.tikz.tex create mode 100644 figs/cross_sliding.fig/cross_sliding2.tikz.tex create mode 120000 figs/cross_sliding.fig/libs/shapes.sty create mode 120000 figs/gaunt_fisher.fig/Makefile create mode 100644 figs/gaunt_fisher.fig/gaunt_fisher2.tikz.tex create mode 100644 figs/gaunt_fisher.fig/gaunt_fisher3.tikz.tex create mode 120000 figs/gaunt_fisher.fig/libs/shapes.sty create mode 120000 figs/hole_example.fig/Makefile create mode 100644 figs/hole_example.fig/hole_example_cross.tikz.tex create mode 100644 figs/hole_example.fig/hole_example_cross_decorrelated.tikz.tex create mode 100644 figs/hole_example.fig/hole_example_square.tikz.tex create mode 120000 figs/hole_example.fig/libs/shapes.sty create mode 100644 figs/libs/Makefile create mode 100644 figs/libs/shapes.sty create mode 120000 figs/shapes.fig/Makefile create mode 100644 figs/shapes.fig/cross.tikz.tex create mode 100644 figs/shapes.fig/cross3.tikz.tex create mode 100644 figs/shapes.fig/diamond.tikz.tex create mode 100644 figs/shapes.fig/hexagon.tikz.tex create mode 120000 figs/shapes.fig/libs/shapes.sty create mode 120000 figs/square_packing.fig/Makefile create mode 120000 figs/square_packing.fig/libs/shapes.sty create mode 100644 figs/square_packing.fig/square_packing.tikz.tex create mode 100644 figs/square_packing.fig/square_packing_slide.tikz.tex create mode 120000 figs/square_sliding.fig/Makefile create mode 120000 figs/square_sliding.fig/libs/shapes.sty create mode 100644 figs/square_sliding.fig/square_sliding.tikz.tex create mode 100644 figs/square_sliding.fig/square_sliding_contra.tikz.tex create mode 100644 libs/ian-presentation.cls diff --git a/GLaMP_2017.tex b/GLaMP_2017.tex new file mode 100644 index 0000000..417100a --- /dev/null +++ b/GLaMP_2017.tex @@ -0,0 +1,312 @@ +\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:{\tt \href{http://arxiv.org/abs/1705.02032}{1705.02032}}\hfill{\tt \href{http://ian.jauslin.org}{http://ian.jauslin.org}} +\eject + +\setcounter{page}1 +\pagestyle{plain} + +\title{Non-sliding HCLP} +\begin{itemize} + \item Lattice in $d\geqslant 2$ dimensions. + \item Identical particles with pair hard-core interaction. + \item Finite number of perfect packings, which are periodic, and related to each other by isometries. + \item Non-sliding (defects are full of holes). +\end{itemize} +\eject + +\title{Lattice} +\begin{itemize} + \item Lattice $\Lambda_\infty$ of dimension $d\geqslant 2$ +\end{itemize} +\vfill +\hfil\includegraphics[width=4.5cm]{grid.pdf} +\vfill +\eject + +\title{Particles} +\begin{itemize} + \item Identical particles: shape $\omega\subset\mathbb R^d$ +\end{itemize} +\vfill +\hfil\includegraphics[width=4.5cm]{cross_example.pdf} +\vfill +\eject + +\title{Perfect packings} +\begin{itemize} + \item Perfect packing: $\forall x\in\Lambda_\infty$, $\exists! y$ such that $x\in\omega+y$ +\end{itemize} +\vfill +\hfil\includegraphics[width=4cm]{cross_packing_r.pdf} +\hfil\includegraphics[width=4cm]{cross_packing_l.pdf} +\vfill +\eject + +\title{Perfect packings} +\begin{itemize} + \item Example with infinitely many perfect packings: $2\times2$ squares +\end{itemize} +\vfill +\hfil\includegraphics[width=3cm]{square_packing.pdf} +\hfil\includegraphics[width=3cm]{square_packing_slide.pdf} +\vfill +\eject + +\title{Non-sliding condition} +\begin{itemize} + \item Defects have an amount of empty space that is proportional to their volume. + \item For every {\it connected} particle configuration $X$ that {\it cannot} be completed to a perfect packing, and for every particle configuration $Y\supset X$, at least one of the sites {\it neighboring} $X$ is empty. +\end{itemize} +\eject + +\title{Non-sliding condition} +\begin{itemize} + \item Example: the red area cannot be entirely covered. +\end{itemize} +\vfill +\hfil\includegraphics[width=2cm]{cross_sliding1.pdf} +\hfil\includegraphics[width=2.4cm]{cross_sliding2.pdf} +\vfill +\eject + +\title{Non-sliding condition} +\begin{itemize} + \item Counter-example: $2\times 2$ squares. +\end{itemize} +\vfill +\hfil\includegraphics[width=2.5cm]{square_sliding.pdf} +\hfil\includegraphics[width=2.5cm]{square_sliding_contra.pdf} +\vfill +\eject + +\title{Examples} +\begin{itemize} + \item (thick) crosses, diamonds, hexagons... +\end{itemize} +\medskip +\hfil\includegraphics[height=1.5cm]{cross.pdf} +\hfil\includegraphics[height=1.5cm]{cross3.pdf} +\hfil\includegraphics[height=1.5cm]{diamond.pdf} +\hfil\includegraphics[height=1.5cm]{hexagon.pdf} +\begin{itemize} + \item Conjecture: $k$-nearest neighbor exclusion on $\mathbb Z^2$ with + $$ + k\in\{1,3,6,7,8,9,12,13,\cdots\}. + $$ +\end{itemize} +\eject + +\title{Partition function} +$$ + \Xi^{(\nu)}_\Lambda(z)= + \sum_{X\subset\Lambda} + z^{|X|}\prod_{x\neq x'\in X}\phi(x,x') +$$ +\begin{itemize} + \item $\Lambda\subset\Lambda_\infty$ is bounded. + \item $z$: {\it fugacity}, $z=e^{\beta\mu}$. + \item $\phi$: hard-core repulsion. + \item $|X|\leqslant N_{\mathrm{max}}$, maximal density: $\rho_m:=\frac{N_{\mathrm{max}}}{|\Lambda|}$. + \item Boundary condition: $\Lambda_\infty\setminus\Lambda$ is covered by a perfect covering, indexed by $\nu\in\{1,\cdots,\tau\}$. +\end{itemize} +\vfill +\eject + +\title{Thermodynamical observables} +\begin{itemize} + \item Pressure: + $$ + p(z):=\lim_{\Lambda\to\Lambda_\infty}\frac1{|\Lambda|}\log\Xi_\Lambda^{(\nu)}(z) + $$ + \item Correlation functions: for $\underline x\equiv\{x_1,\cdots,x_n\}\subset\Lambda_\infty$, + $$ + \rho_n^{(\nu)}(\underline x) + :=\lim_{\Lambda\to\Lambda_\infty} + \frac1{\Xi_\Lambda^{(\nu)}(z)} + \sum_{\displaystyle\mathop{\scriptstyle X\subset\Lambda}_{X\supset\underline x}} + z^{|X|}\prod_{x\neq x'\in X}\phi(x,x') + $$ +\end{itemize} +\eject + +\title{Result} +\begin{itemize} + \item High fugacity regime: $y\equiv z^{-1}\ll 1$. + \item {\bf Analyticity}: $p(z)-\rho_m\log z$ and $\rho_n^{(\nu)}(\underline x)$ are {\it analytic} functions of $y$ in a disk in the complex $y$-plane centered at $0$. + \item {\bf Crystallization}: If $x$ is compatible with the $\nu$-th perfect packing, then + $$ + \rho_1^{(\nu)}(x)=1+o(1) + $$ + and if not, then + $$ + \rho_1^{(\nu)}(x)=o(1) + $$ +\end{itemize} +\eject + +\title{Low-fugacity expansion} +\begin{itemize} + \item Formally, + $$ + \frac1{|\Lambda|}\log\Xi_\Lambda^{(\nu)}(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^{(\nu)}_\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^{(\nu)}(z) + = + \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} +\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. nearest neighbor exclusion in 1 dimension: + $$ + c_2(\Lambda)=-\frac1{192}|\Lambda|(|\Lambda|^2+2) + $$ +\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..eb6cada --- /dev/null +++ b/Makefile @@ -0,0 +1,52 @@ +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, $@) + +install: $(PROJECTNAME) + cp $^.pdf $(INSTALLDIR)/ + +install-synctex: $(SYNCTEXS) + cp $^ $(INSTALLDIR)/ + + +$(LIBS): + ln -fs libs/$@ ./ + + +$(FIGS): + make -C figs/$@ + ln -fs figs/$@/*.pdf ./ + + +clean-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)) + +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..0e2ae86 --- /dev/null +++ b/README @@ -0,0 +1,36 @@ +This directory contains the source files to typeset the talk, 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 + color + graphics + hyperref + latex + pgf + standalone + + GNU make + + +* Files: + + GLaMP_2017.tex: + main LaTeX file + + libs: + custom LaTeX class + + 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_packing.fig/Makefile b/figs/cross_packing.fig/Makefile new file mode 120000 index 0000000..704310e --- /dev/null +++ b/figs/cross_packing.fig/Makefile @@ -0,0 +1 @@ +../libs/Makefile \ No newline at end of file diff --git a/figs/cross_packing.fig/cross_packing_l.tikz.tex b/figs/cross_packing.fig/cross_packing_l.tikz.tex new file mode 100644 index 0000000..b3bff46 --- /dev/null +++ b/figs/cross_packing.fig/cross_packing_l.tikz.tex @@ -0,0 +1,14 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} + \foreach \i in {0,...,3}{ + \foreach \j in {0,...,3}{ + \cross{teal}{(-2*\j,\j)++(\i,2*\i)} + } + } +\end{tikzpicture} +\end{document} diff --git a/figs/cross_packing.fig/cross_packing_r.tikz.tex b/figs/cross_packing.fig/cross_packing_r.tikz.tex new file mode 100644 index 0000000..18db92a --- /dev/null +++ b/figs/cross_packing.fig/cross_packing_r.tikz.tex @@ -0,0 +1,14 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} + \foreach \i in {0,...,3}{ + \foreach \j in {0,...,3}{ + \cross{teal}{(-\j,2*\j)++(2*\i,\i)} + } + } +\end{tikzpicture} +\end{document} diff --git a/figs/cross_packing.fig/libs/shapes.sty b/figs/cross_packing.fig/libs/shapes.sty new file mode 120000 index 0000000..eaa25c7 --- /dev/null +++ b/figs/cross_packing.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_sliding1.tikz.tex b/figs/cross_sliding.fig/cross_sliding1.tikz.tex new file mode 100644 index 0000000..a1cba3b --- /dev/null +++ b/figs/cross_sliding.fig/cross_sliding1.tikz.tex @@ -0,0 +1,17 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} + +\fill[color=red](2.5,2.5)--++(1,0)--++(0,2)--++(-1,0)--cycle; + +\grid{5}{8}{(-0.5,-0.5)} + +\cross{teal}{(2,2)} +\cross{teal}{(2,5)} + +\end{tikzpicture} +\end{document} diff --git a/figs/cross_sliding.fig/cross_sliding2.tikz.tex b/figs/cross_sliding.fig/cross_sliding2.tikz.tex new file mode 100644 index 0000000..4fd395b --- /dev/null +++ b/figs/cross_sliding.fig/cross_sliding2.tikz.tex @@ -0,0 +1,18 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} + +\fill[color=red](0.5,2.5)--++(1,0)--++(0,3)--++(-1,0)--cycle; + +\grid{6}{9}{(-0.5,-0.5)} + +\cross{teal}{(2,2)} +\cross{teal}{(3,4)} +\cross{teal}{(2,6)} + +\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..36c9675 --- /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\i in {2,...,4}{ + \cross{teal}{(2*\i,\i)} + \cross{teal}{(5,15)++(\i,-2*\i)} + } + \foreach\i in {1,...,3}{ + \cross{teal}{(-5,10)++(2*\i,\i)} + } + \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/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..dd4baae --- /dev/null +++ b/figs/libs/shapes.sty @@ -0,0 +1,58 @@ +%% +%% Various shapes and lattices +%% + +%% TeX format +\NeedsTeXFormat{LaTeX2e}[1995/12/01] + +%% class name +\ProvidesPackage{shapes}[2017/06/24] + + +% square lattice (width #1, height #2, origin #3) +\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); + \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); +} + +% thick cross (color #1, position #2, size #3) +\def\thickcross#1#2#3{ + \fill[color=#1]#2++(#3*0.5,0.5*#3)--++(#3*0,1*#3)--++(#3*-1,0*#3)--++(#3*0,-1*#3)--++(#3*-1,0*#3)--++(#3*0,-1*#3)--++(#3*1,0*#3)--++(#3*0,-1*#3)--++(#3*1,0*#3)--++(#3*0,1*#3)--++(#3*1,0*#3)--++(#3*0,1*#3)--++(#3*-1,0*#3); + \draw[color=black]#2++(#3*0.5,0.5*#3)--++(#3*0,1*#3)--++(#3*-1,0*#3)--++(#3*0,-1*#3)--++(#3*-1,0*#3)--++(#3*0,-1*#3)--++(#3*1,0*#3)--++(#3*0,-1*#3)--++(#3*1,0*#3)--++(#3*0,1*#3)--++(#3*1,0*#3)--++(#3*0,1*#3)--++(#3*-1,0*#3); +} + + +% 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; +} + +% 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; +} +\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; + \draw[color=black]#2++(0,-1)--++(1,1)--++(-1,1)--++(-1,-1)--cycle; +} + + +\endinput 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/cross.tikz.tex b/figs/shapes.fig/cross.tikz.tex new file mode 100644 index 0000000..fca0acc --- /dev/null +++ b/figs/shapes.fig/cross.tikz.tex @@ -0,0 +1,11 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} +\grid55{(-2.5,-2.5)} +\cross{teal}{(0,0)} +\end{tikzpicture} +\end{document} diff --git a/figs/shapes.fig/cross3.tikz.tex b/figs/shapes.fig/cross3.tikz.tex new file mode 100644 index 0000000..8e50f19 --- /dev/null +++ b/figs/shapes.fig/cross3.tikz.tex @@ -0,0 +1,11 @@ +\documentclass{standalone} + +\usepackage{tikz} +\usepackage{shapes} + +\begin{document} +\begin{tikzpicture} +\grid{15}{15}{(-7.5,-7.5)} +\thickcross{teal}{(0,0)}3 +\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..5439f67 --- /dev/null +++ b/figs/shapes.fig/hexagon.tikz.tex @@ -0,0 +1,32 @@ +\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(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..aa65bb1 --- /dev/null +++ b/libs/ian-presentation.cls @@ -0,0 +1,186 @@ +%% +%% Ian's presentation class +%% + +%% TeX format +\NeedsTeXFormat{LaTeX2e}[1995/12/01] + +%% class name +\ProvidesClass{ian-presentation}[2017/06/20] + +\def\ian@defaultoptions{ + \pagestyle{plain} + \RequirePackage{color} +} + +%% 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 -- cgit v1.2.3-54-g00ecf