# Makefile for IPS
SOURCES = \
- ips.tex slides.tex ips.sty \
+ ips.tex ips.cls \
basics.tex \
auth-mac.tex auth-sig.tex \
enc-intro.tex enc-pub.tex enc-symm.tex enc-ies.tex
-all: ips.dvi ips.ps ips.pdf slides.dvi slides.ps slides.pdf
+all: \
+ ips.dvi ips.ps ips.pdf \
+ noans.dvi noans.ps noans.pdf \
+ slides.dvi slides.ps slides.pdf
ips.dvi: $(SOURCES)
latex ips && bibtex ips && \
ips.ps: ips.dvi
dvips -o ips.ps ips.dvi
+noans.dvi: $(SOURCES)
+ @if [ ! -d noans ]; then \
+ mkdir noans; \
+ for i in $(SOURCES); do ln -s ../$$i noans; done; \
+ echo '\ipsanswersfalse' >noans/ips.cfg; \
+ fi
+ cd noans && \
+ latex ips && bibtex ips && \
+ latex ips && latex ips && \
+ cp ips.dvi ../noans.dvi
+noans.pdf: noans.dvi
+ cd noans && pdflatex ips.tex && cp ips.pdf ../noans.pdf
+noans.ps: noans.dvi
+ dvips -o noans.ps noans.dvi
+
slides.dvi: $(SOURCES)
@if [ ! -d slides ]; then \
mkdir slides; \
for i in $(SOURCES); do ln -s ../$$i slides; done; \
+ echo '\ipsslidestrue' >slides/ips.cfg; \
fi
cd slides && \
- latex slides && bibtex slides && \
- latex slides && latex slides && \
- cp slides.dvi ..
+ latex ips && bibtex ips && \
+ latex ips && latex ips && \
+ cp ips.dvi ../slides.dvi
slides.pdf: slides.dvi
- cd slides && pdflatex slides.tex && cp slides.pdf ..
+ cd slides && pdflatex ips.tex && cp ips.pdf ../slides.pdf
slides.ps: slides.dvi
dvips -o slides.ps slides.dvi
clean:
- rm -f ips.dvi ips.ps ips.pdf slides.dvi slides.ps slides.pdf
- rm -f *.log *.bbl *.blg *.toc *.ans
- rm -rf slides ips
+ rm -f ips.dvi ips.ps ips.pdf
+ rm -f noans.dvi noans.ps noans.pdf
+ rm -f slides.dvi slides.ps slides.pdf
+ rm -f *.log *.bbl *.blg *.toc *.ans *.aux
+ rm -rf slides noans ips.cfg
.PHONY: clean
%%%
%%% Definitions for IPS course
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ips}[2001/10/02]
+
+%%%----- Document class stuff -----------------------------------------------
+
+\newif\ifipsslides \ipsslidesfalse
+\newif\ifipsanswers \ipsanswerstrue
+\InputIfFileExists{ips.cfg}\relax\relax
+
+\ifipsslides
+ \PassOptionsToClass{a4, slidesonly}{seminar}
+\else
+ \PassOptionsToClass{a4, article, twoside}{seminar}
+\fi
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{seminar}}
+\ProcessOptions
+\LoadClass{seminar}
+
%%%----- Required packages --------------------------------------------------
\RequirePackage[palatino, helvetica, courier, maths=cmr]{mdwfonts}
\RequirePackage{url}
\ifx\pdfoutput\@@undefined
- \def\next{\RequirePackage[all, dvips]{xy}}
+ \PassOptionsToPackage{dvips}{xy}
\else
- \def\next{\RequirePackage[all]{xy}}
\ifarticle
\pdfpagewidth\paperwidth
\pdfpageheight\paperheight
\pdfpageheight\paperwidth
\fi
\fi
-\next
+\RequirePackage[all]{xy}
%%%----- Miscellaneous settings ---------------------------------------------
%%%
%%% Main document sequencing for IPS course
-\ifx\printslides\notdef\documentclass[a4, article, twoside]{seminar}\fi
-\usepackage{ips}
+\documentclass{ips}
\title{Introduction to Provable Security}
\author{Mark Wooding}
%% \include{zk}
%% \include{chan}
-\section{Answers to exercises}
-\answers
+\ifipsanswers\section{Answers to exercises}\answers\fi
\section{Acknowledgements}