Turn .sty to .cls, use .cfg files for config, add no-answers version.
[doc/ips] / ips.cls
diff --git a/ips.sty b/ips.cls
similarity index 93%
rename from ips.sty
rename to ips.cls
index 8375e7b..2ecc62a 100644 (file)
--- a/ips.sty
+++ b/ips.cls
@@ -2,6 +2,24 @@
 %%%
 %%% 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}
@@ -13,9 +31,8 @@
 \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
@@ -24,7 +41,7 @@
     \pdfpageheight\paperwidth
   \fi
 \fi
-\next
+\RequirePackage[all]{xy}
 
 %%%----- Miscellaneous settings ---------------------------------------------