Initial commit of csc-tex version 1.1
[public/csc-propaganda.git] / csc-poster.sty
1 %% This is csc-poster.sty, which is the LaTeX 2e package for Computer Science 
2 %% Club posters.
3 %% Copyright (C) 2002,2003  Computer Science Club of the University of Waterloo
4 %%
5 %% This program is free software; you can redistribute it and/or modify
6 %% it under the terms of the GNU General Public License as published by
7 %% the Free Software Foundation; either version 2 of the License, or
8 %% (at your option) any later version.
9 %%
10 %% This program is distributed in the hope that it will be useful,
11 %% but WITHOUT ANY WARRANTY; without even the implied warranty of
12 %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 %% GNU General Public License for more details.
14 %%
15 %% You should have received a copy of the GNU General Public License
16 %% along with this program; if not, write to the Free Software
17 %% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 %%
19 %% This package is based on the original cscposter.sty which was written in
20 %% LaTeX 2.09.  Use this package instead, because it is not ugly and happens 
21 %% to work well.
22 %%
23 %% If you need to squeeze down the text on the posters, you should use \csccram
24 %% and if you're really desperate use \cscreallycram.
25 %%
26 %% Requirements: You must have tetex-bin, tetex-extra and gs installed on your
27 %% system.
28 %%
29 %% If you wish to generate csclogo.pdf for the first time, you ought to
30 %% run `pdflatex -shell-escape myfile.tex` to allow PDFTeX to execute shell
31 %% commands.  This is only useful if you are invoking PDFLaTeX.
32 %%
33 %% Changelog:
34 %%   Version 1.4
35 %%   * Fixed handling of empty parameters.
36 %%   * Allowed \cscsubtitle to be empty.
37 %%   * Removed the need to use \noindent.
38 %%   * Deprecated some useless commands.
39 %%   * Changed the \csc*skip sizes.
40 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Mon, 20 Jan 2003 20:14:41 -0500
41 %%
42 %%   Version 1.3
43 %%   * Cleaned up function defintions.
44 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Sun, 19 Jan 2003 17:01:14 -0500
45 %%
46 %%   Version 1.2
47 %%   * Use graphics.sty instead of psfig.sty.
48 %%   * Renamed csclogo.ps to csclogo.eps.
49 %%   * Included epstopdf to support PDFLaTeX.
50 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Thu, 07 Nov 2002 06:26:03 -0500
51 %%
52 %%   Version 1.1
53 %%   * Changed to use \vfill for dynamic logo placement
54 %%   * Included csclogo.ps directly in this file.
55 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Wed, 24 Sep 2002 12:20:03 -0400
56 %%
57 %%   Version 1.0
58 %%   * Rewrote cscposter.sty
59 %%   -- Simon Law <sfllaw@engmail.uwaterloo.ca> Wed, 11 Sep 2002 11:18:43 -0400
60
61 \NeedsTeXFormat{LaTeX2e}
62 \ProvidesPackage{csc-poster}[2002/11/07 v1.2]
63
64 %%%%%%%%%%%
65 %% PACKAGES
66 %%%%%%%%%%%
67 \RequirePackage{fullpage}
68   \addtolength{\topmargin}{-0.5in}
69   \addtolength{\textheight}{1.3in}
70 \RequirePackage{graphicx}
71 \RequirePackage[T1]{fontenc}
72
73 %%%%%%%%%%%%%%
74 %% PAGE LAYOUT
75 %%%%%%%%%%%%%%
76 \pagestyle{empty}
77
78 %%%%%%%%%%%%%%%%
79 %% FONT COMMANDS
80 %%%%%%%%%%%%%%%%
81 \providecommand{\HUGE}{\@setfontsize\HUGE{35.83}{35.83}}
82 \newcommand{\cscfamily}{\renewcommand{\rmdefault}{pnc}}
83 \newcommand{\csctitlefont}{\cscfamily \HUGE \bf}
84 \newcommand{\cscspeakerfont}{\cscfamily \LARGE \it}
85 \newcommand{\csctimefont}{\cscfamily \LARGE \bf}
86 \newcommand{\cscsubtitlefont}{\cscfamily \LARGE \rm}
87 \newcommand{\cscbigsubtitlefont}{\cscfamily \Huge \rm}  %% DEPRECATED!
88 \newcommand{\cscbodyfont}{\Large}
89 %
90 %% DEPRECATED!
91 % Use one of these, before \begin{document} to squeeze posters on to one
92 % page.
93 \newcommand{\csccram}{\renewcommand{\cscbodyfont}{\large}}
94 \newcommand{\cscreallycram}{\renewcommand{\cscbodyfont}{\normalsize}}
95
96 %%%%%%%%%%%%%%%
97 %% DEFINE SKIPS
98 %%%%%%%%%%%%%%%
99 \newcommand{\cscsmallskip}{\vspace{0.1in}}
100 \newcommand{\cscmedskip}{\vspace{0.3in}}
101 \newcommand{\cscbigskip}{\vspace{0.5in}}
102
103 %%%%%%%%%%%%%%%%
104 %% DEFINE WRITES
105 %%%%%%%%%%%%%%%%
106 \newcommand{\cschead}[2]{%
107   \begin{center}%
108     \csctitlefont #1%
109     \if\@empty#2\relax%
110     \else%
111       \\%
112       \cscspeakerfont%
113       by\\%
114       #2%
115     \fi%
116   \end{center}%
117   \cscbodyfont\par%
118   \cscmedskip\@afterindentfalse\@afterheading%
119 }
120
121 \newcommand{\cscfoot}[4]{%
122   \begin{center}%
123     \vfill%
124     \csctimefont #1\\%
125     #2\\%
126     #3\\%
127     \if\@empty#4\relax%
128     \else%
129       \cscmedskip%
130       #4\\%
131     \fi%
132     \cscbigskip%
133     \includegraphics[height=1.5in]{csclogo}%
134   \end{center}%
135 }
136
137 \newcommand{\cscsubtitle}[1]{%
138   \if\@empty#1\relax%
139   \else%
140     \centerline{\cscsubtitlefont #1}%
141     \cscmedskip\@afterindentfalse\@afterheading%
142   \fi%
143 }
144
145 %% DEPRECATED!
146 \newcommand{\cscbigsubtitle}[1]{%
147   \if\@empty#1\relax%
148   \else%
149     \centerline{\cscbigsubtitlefont #1}%
150     \cscmedskip\@afterindentfalse\@afterheading%
151   \fi%
152 }
153
154 %%%%%%%%%%%
155 %% CSC LOGO
156 %%%%%%%%%%%
157 \begin{filecontents*}{csclogo.eps}
158 %!PS-Adobe-2.0 EPSF-1.2
159 %%Creator:Ian Goldberg
160 %%Title:CSC Logo
161 %%BoundingBox: 0 0 540 165
162 %%EndComments
163 gsave %0 setlinecap 0 setlinejoin 1 setlinewidth
164 newpath 
165 10 %% Half of the line width, where the circles have radius 60
166 %% Calculate the magic angles
167 dup dup dup 2 mul 30 sub exch 60 sub div dup dup mul 1 exch sub sqrt exch atan
168 /csclogomagic1 exch def
169 dup 2 mul 30 add exch 60 add div dup dup mul 1 exch sub sqrt exch atan
170 /csclogomagic2 exch def
171 /csclogowid exch def
172
173 130 95 60 csclogowid sub 0 180 csclogomagic1 sub arcn
174 70 95 60 csclogowid add csclogomagic2 360 arc
175 190 95 60 csclogowid sub 180 csclogomagic1 neg arcn
176 250 95 60 csclogowid add 180 csclogomagic2 add 180 arc
177 csclogowid dup add 0 rmoveto
178 250 95 60 csclogowid sub 180 csclogomagic1 180 add arcn
179 190 95 60 csclogowid add csclogomagic2 neg 180 arc
180 70 95 60 csclogowid sub 0 csclogomagic1 arcn
181 130 95 60 csclogowid add 180 csclogomagic2 sub 360 arc
182 closepath fill
183 /Helvetica findfont 48 scalefont setfont
184 (Computer) 330 115 moveto show
185 (Science) 330 75 moveto show
186 (Club) 330 35 moveto show
187 /Helvetica findfont 18 scalefont setfont
188 (A Student Chapter of the ACM) 135 5 moveto show grestore
189 \end{filecontents*}
190
191 \RequirePackage{ifpdf}
192 \ifpdf
193   \RequirePackage{epstopdf}
194 \fi
195
196 \endinput