Version 1.2
[public/csc-poster.git] / csc-poster.sty
1 %% This is csc-poster.sty, which is the LaTeX 2e package for Computer Science 
2 %% Club posters.
3 %%
4 %% Copyright 2002 Computer Science Club of the University of Waterloo
5 %%
6 %% This package is based on the original cscposter.sty which was written in
7 %% LaTeX 2.09.  Use this package instead, because it is not ugly and happens 
8 %% to work well.
9 %%
10 %% If you need to squeeze down the text on the posters, you should use \csccram
11 %% and if you're really desperate use \cscreallycram.
12 %%
13 %% Requirements: You must have tetex-bin, tetex-extra and gs installed on your
14 %% system.
15 %%
16 %% If you wish to generate csclogo.pdf for the first time, you ought to
17 %% run `pdflatex -shell-escape myfile.tex` to allow PDFTeX to execute shell
18 %% commands.  This is only useful if you are invoking PDFLaTeX.
19 %%
20 %% Changelog:
21 %%   Version 1.2
22 %%   * Use graphics.sty instead of psfig.sty.
23 %%   * Renamed csclogo.ps to csclogo.eps.
24 %%   * Included epstopdf to support PDFLaTeX.
25 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Thu, 07 Nov 2002 06:26:03 -0500
26 %%
27 %%   Version 1.1
28 %%   * Changed to use \vfill for dynamic logo placement
29 %%   * Included csclogo.ps directly in this file.
30 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Wed, 24 Sep 2002 12:20:03 -0400
31 %%
32 %%   Version 1.0
33 %%   * Rewrote cscposter.sty
34 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Wed, 11 Sep 2002 11:18:43 -0400
35
36 \NeedsTeXFormat{LaTeX2e}
37 \ProvidesPackage{csc-poster}[2002/11/07 v1.2]
38
39 %%%%%%%%%%%
40 %% PACKAGES
41 %%%%%%%%%%%
42 \RequirePackage{fullpage}
43   \addtolength{\topmargin}{-0.5in}
44   \addtolength{\textheight}{1.3in}
45 \RequirePackage{graphicx}
46 \RequirePackage[T1]{fontenc}
47
48 %%%%%%%%%%%
49 %% CSC LOGO
50 %%%%%%%%%%%
51 \IfFileExists{csclogo.eps}{}{\begin{filecontents*}{csclogo.eps}
52 %!PS-Adobe-2.0 EPSF-1.2
53 %%Creator:Ian Goldberg
54 %%Title:CSC Logo
55 %%BoundingBox: 0 0 540 165
56 %%EndComments
57 gsave %0 setlinecap 0 setlinejoin 1 setlinewidth
58 newpath 
59 10 %% Half of the line width, where the circles have radius 60
60 %% Calculate the magic angles
61 dup dup dup 2 mul 30 sub exch 60 sub div dup dup mul 1 exch sub sqrt exch atan
62 /csclogomagic1 exch def
63 dup 2 mul 30 add exch 60 add div dup dup mul 1 exch sub sqrt exch atan
64 /csclogomagic2 exch def
65 /csclogowid exch def
66
67 130 95 60 csclogowid sub 0 180 csclogomagic1 sub arcn
68 70 95 60 csclogowid add csclogomagic2 360 arc
69 190 95 60 csclogowid sub 180 csclogomagic1 neg arcn
70 250 95 60 csclogowid add 180 csclogomagic2 add 180 arc
71 csclogowid dup add 0 rmoveto
72 250 95 60 csclogowid sub 180 csclogomagic1 180 add arcn
73 190 95 60 csclogowid add csclogomagic2 neg 180 arc
74 70 95 60 csclogowid sub 0 csclogomagic1 arcn
75 130 95 60 csclogowid add 180 csclogomagic2 sub 360 arc
76 closepath fill
77 /Helvetica findfont 48 scalefont setfont
78 (Computer) 330 115 moveto show
79 (Science) 330 75 moveto show
80 (Club) 330 35 moveto show
81 /Helvetica findfont 18 scalefont setfont
82 (A Student Chapter of the ACM) 135 5 moveto show grestore
83 \end{filecontents*}}
84
85 \RequirePackage{ifpdf}
86 \ifpdf
87   \RequirePackage{epstopdf}
88 \fi
89
90 %%%%%%%%%%%%%%
91 %% PAGE LAYOUT
92 %%%%%%%%%%%%%%
93 \pagestyle{empty}
94
95 %%%%%%%%%%%%%%%%
96 %% FONT COMMANDS
97 %%%%%%%%%%%%%%%%
98 \providecommand{\HUGE}{\@setfontsize\HUGE{35.83}{35.83}}
99 \newcommand{\cscfamily}{\renewcommand{\rmdefault}{pnc}}
100 \newcommand{\csctitlefont}{\cscfamily \HUGE \bf}
101 \newcommand{\cscspeakerfont}{\cscfamily \LARGE \it}
102 \newcommand{\csctimefont}{\cscfamily \LARGE \bf}
103 \newcommand{\cscsubtitlefont}{\cscfamily \LARGE \rm}
104 \newcommand{\cscbigsubtitlefont}{\cscfamily \Huge \rm}
105 \newcommand{\cscbodyfont}{\Large}
106 %
107 % Use one of these, before begindocument to squeeze posters onto one
108 % page.
109 \newcommand{\csccram}{\renewcommand{\cscbodyfont}{\large}}
110 \newcommand{\cscreallycram}{\renewcommand{\cscbodyfont}{\normalsize}}
111
112 %%%%%%%%%%%%%%%
113 %% DEFINE SKIPS
114 %%%%%%%%%%%%%%%
115 \newcommand{\cscsmallskip}{\vspace{0.1in plus 1fil}}
116 \newcommand{\cscmedskip}{\vspace{0.3in plus 1fil}}
117 \newcommand{\cscbigskip}{\vspace{0.5in plus 1fil}}
118
119 %%%%%%%%%%%%%%%%
120 %% DEFINE WRITES
121 %%%%%%%%%%%%%%%%
122 \newcommand{\cschead}[2]{%
123   {%
124     \begin{center}%
125       \csctitlefont #1%
126       \if{#2}\empty
127       \else%
128         \\%
129         \cscspeakerfont%
130         by\\%
131         #2%
132       \fi%
133     \end{center}%
134     \cscmedskip%
135   }%
136   \cscbodyfont%
137 }
138
139 \newcommand{\cscfoot}[4]{%
140   {%
141     \begin{center}%
142       \vfill%
143       \csctimefont #1\\%
144       #2\\%
145       #3\\%
146       \if{#4}\empty
147       \else%
148         \cscmedskip%
149         #4\\%
150       \fi%
151       \vfill%
152       \includegraphics[height=1.5in]{csclogo}%
153     \end{center}%
154   }%
155 }
156
157 \newcommand{\cscsubtitle}[1]{%
158   {%
159     \centerline{\cscsubtitlefont #1}%
160     \cscmedskip%
161   }%
162 }
163
164 \newcommand{\cscbigsubtitle}[1]{%
165   {%
166     \centerline{\cscbigsubtitlefont #1}%
167     \cscmedskip%
168   }%
169 }