summaryrefslogtreecommitdiffstats
path: root/cs284_poster/hmcposter.cls
diff options
context:
space:
mode:
Diffstat (limited to 'cs284_poster/hmcposter.cls')
-rw-r--r--cs284_poster/hmcposter.cls317
1 files changed, 317 insertions, 0 deletions
diff --git a/cs284_poster/hmcposter.cls b/cs284_poster/hmcposter.cls
new file mode 100644
index 0000000..e7ce28a
--- /dev/null
+++ b/cs284_poster/hmcposter.cls
@@ -0,0 +1,317 @@
+% \iffalse meta-comment
+%
+% hmcposter.cls -- LaTeX class to create posters
+%
+% Copyright (C) 2005-2012 Claire M. Connelly and
+% the Department of Mathematics, Harvey Mudd College
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+% Contact: Claire Connelly <cmc@math.hmc.edu>
+% Department of Mathematics
+% Harvey Mudd College
+% 1250 N. Dartmouth Ave.
+% Claremont, CA 91711
+%
+% $Id: hmcposter.cls 403 2012-08-21 20:10:23Z cmc $
+%
+% \fi
+%%
+%% HMC Poster LaTeX class file.
+%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{hmcposter}[2012/08/21 HMC Mathematics LaTeX poster class]
+
+%%% Declare and set some options.
+
+%% Set up ifs for Clinic and thesis.
+\newif\if@clinic
+\@clinicfalse
+\newif\if@thesis
+\@thesisfalse
+
+%% Providing the clinic and thesis document-class options.
+\DeclareOption{clinic}{\@clinictrue}
+\DeclareOption{thesis}{\@thesistrue}
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+%\ExecuteOptions{}
+\ProcessOptions
+
+\LoadClass{article}
+
+
+%% Include local configuration file, if any.
+\InputIfFileExists{hmcposter.cfg}{}{}
+
+%% Set some dimensions for layout.
+\setlength{\paperwidth}{48in}
+\setlength{\paperheight}{36in}
+\setlength{\textwidth}{45in}
+\setlength{\textheight}{28in}
+\setlength{\topmargin}{0.5in}
+\setlength{\oddsidemargin}{0.75in}
+\setlength{\evensidemargin}{\oddsidemargin}
+\setlength{\topmargin}{0.5in}
+\setlength{\headheight}{4in}
+\setlength{\headsep}{0.5in}
+\setlength{\footskip}{1in}
+\setlength{\voffset}{0pt}
+\setlength{\hoffset}{0pt}
+
+%% Require some packages.
+\RequirePackage{ifthen}
+\RequirePackage{mathpazo}
+\RequirePackage[scaled=0.95]{helvet}
+\renewcommand{\ttdefault}{pcr}
+\RequirePackage{sectsty}
+\RequirePackage[font=small,font=sf,labelfont=bf]{caption}[2005/06/28]
+\RequirePackage{graphics}
+\RequirePackage{color}
+\definecolor{hmcgold}{cmyk}{0,0.2,0.5,0.3}
+\definecolor{black}{rgb}{0,0,0}
+\definecolor{dkblue}{rgb}{0,0,0.47}
+\definecolor{green}{rgb}{0,1,0}
+\RequirePackage{multicol}
+\setlength{\columnsep}{1in}
+\setlength{\columnseprule}{2pt}
+
+%% Redefine the named font sizes so we can keep most of the code
+%% intact whilst still having larger type.
+
+\renewcommand{\LARGE}{\fontsize{72pt}{86pt}\selectfont}
+\renewcommand{\Large}{\fontsize{64pt}{72pt}\selectfont}
+\renewcommand{\large}{\fontsize{48pt}{60pt}\selectfont}
+\renewcommand{\normalsize}{\fontsize{40pt}{44pt}\selectfont}
+\renewcommand{\small}{\fontsize{30pt}{36pt}\selectfont}
+\renewcommand{\footnotesize}{\fontsize{24pt}{30pt}\selectfont}
+
+%%% Define some new fields for use in the header/title.
+
+%% For a Clinic poster.
+\if@clinic
+\def\sponsor#1{\gdef\@sponsor{#1}}
+\def\@sponsor{\@latex@warning@no@line{No \noexpand\sponsor given}}
+
+\def\sponsorlogo#1{\gdef\@sponsorlogo{#1}}
+\def\@sponsorlogo{\@latex@warning@no@line{No \noexpand\sponsorlogo given}}
+
+\def\sponsorlogowidth#1{\gdef\@sponsorlogowidth{#1}}
+\def\@sponsorlogowidth{2in}
+\fi
+
+%% For a thesis poster.
+\if@thesis
+\def\class#1{\gdef\@class{#1}}
+\def\@class{\@latex@warning@no@line{No \noexpand\class given}}
+
+\providecommand{\advisor}[1]{%
+ \gdef\@advisor{#1}}
+
+\providecommand{\reader}[1]{%
+ \gdef\@reader{#1}}
+\fi
+
+%% Shared Definitions
+\def\department#1{\gdef\@department{#1}}
+\def\@department{\@latex@warning@no@line{No \noexpand\department given}}
+\def\@department{\@latex@warning@no@line{No \noexpand\department given}}
+
+\def\posteryear#1{\gdef\@posteryear{#1}}
+\def\@posteryear{\@latex@warning@no@line{No \noexpand\posteryear given}}
+
+\providecommand{\copyrightholder}[1]{%
+ \gdef\@copyrightholder{#1}}
+
+
+%%% Set up the header.
+
+\newlength{\ignored@length}
+\newcommand{\set@ess}[1]{%
+ \renewcommand{\and}{%
+ \global\def\@ess{s}%
+ }%
+ \global\def\@ess{}%
+ \settowidth{\ignored@length}{#1}
+}
+\newcommand{\@andcommaspace}{, }
+
+
+%% Define a command to include the HMC Logo.
+\DeclareRobustCommand{\@hmclogo}{%
+ \begin{minipage}{10.5in}
+ \resizebox{10in}{!}{\includegraphics{SEASLogo_CMYK_OnRed}}
+ \end{minipage}
+}
+
+
+%%% Set up the header for the poster.
+
+%% Use fancyhdr.
+\RequirePackage{fancyhdr}
+
+%% Lay out the header
+\pagestyle{fancy}
+\fancyhf{} % Clear all fields.
+
+%% For Clinic
+\if@clinic
+\fancyhead[L]{\raisebox{2.5in}{\@hmclogo}}
+
+\ifthenelse{\isundefined\@sponsorlogo}{}{%
+ \fancyhead[R]{\resizebox{!}{\@sponsorlogowidth}{%
+ \includegraphics{\@sponsorlogo}}}}
+\fi
+
+%% For thesis.
+\if@thesis
+\fancyhead[L]{\raisebox{1.5in}{\@hmclogo}}
+\fancyhead[R]{\resizebox{7.5in}{!}{\includegraphics{yale_newlogo_yaleblue}}}
+\fi
+
+
+%% For Clinic
+\if@clinic
+\fancyhead[C]{%
+ \begin{center}
+ \color{black}\Large\textsf{\@posteryear\ \@sponsor\ \@department\ Clinic}\\%
+ \color{hmcgold}\fontsize{100pt}{120pt}\selectfont\textsf{\textbf{\@title}}
+ \end{center}
+}
+ \fi
+
+%% For thesis
+\if@thesis
+\fancyhead[C]{%
+ \begin{center}
+ {\color{black}\Large\textsf{\@class}\\}%
+ {\color{dkblue}\fontsize{100pt}{120pt}\selectfont\textsf{\textbf{\@title}}\\[0.25em]}
+ {\color{black}\Large\textsf{\@author}\\[-0.5em]}
+ \end{center}
+}
+\fi
+
+
+%% Define the footer.
+\fancyfoot[R]{%
+ \ifthenelse{\isundefined{\@copyrightholder}}%
+ {}% Do nothing.
+ {\textcolor{black}{Copyright \copyright{}~\@posteryear\
+ \@copyrightholder}}
+}
+\fancyfoot[L]{%
+ \ifthenelse{\isundefined{\@advisor}}%
+ {}% Do nothing.
+ {\textcolor{black}{%
+ \set@ess{\@advisor}%
+ \textbf{Advisor\@ess:}
+ \global\let\and\@andcommaspace
+ \@advisor%
+ }
+ }\quad%
+ \ifthenelse{\isundefined{\@reader}}%
+ {}% Do nothing.
+ {\textcolor{black}{%
+ \set@ess{\@reader}%
+ \textbf{Reader\@ess:}
+ \global\let\and\@andcommaspace
+ \@reader%
+ }
+ }
+}
+\renewcommand{\headrulewidth}{2pt}
+\renewcommand{\footrulewidth}{2pt}
+
+
+
+%%% Colorize header and footer rules.
+%%%
+%%% This code taken from fancyhdr.sty; written by Piet van Oostrum.
+
+\newcommand{\@rulecolor}{hmcgold}
+
+\if@thesis
+\renewcommand{\@rulecolor}{dkblue}
+\fi
+
+\renewcommand{\footrule}{{\color{\@rulecolor}\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi
+ \vskip-\footruleskip\vskip-\footrulewidth
+ \hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}}
+\renewcommand{\headrule}{{\color{\@rulecolor}\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
+ \hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}}
+%%% End code from fancyhdr.sty.
+
+
+%%% Set color of vertical rules.
+%%%
+%%% This code is modified from the code in multicol.sty; written by
+%%% Frank Mittelbach and part of standard LaTeX.
+%%%
+%%% It will probably break if the original routine is modified in
+%%% future versions of multicol.sty, so be sure to check there.
+
+\renewcommand{\page@sofar}{%
+ \process@cols\mult@rightbox
+ {\ifvoid\count@
+ \setbox\count@\hbox to\hsize{}%
+ \else
+ \wd\count@\hsize
+ \fi}%
+ \mult@info\z@
+ {Column spec:\MessageBreak
+ (\the\multicol@leftmargin\space -->
+ \the\full@width\space = \the\hsize
+ \space x \the\col@number)%
+ }%
+\ifvmode\else\errmessage{Multicol Error}\fi
+ \moveright\multicol@leftmargin
+ \hbox to\full@width{%
+ \process@cols\mult@gfirstbox{\box\count@
+ \hss{\color{\@rulecolor}\vrule\@width\columnseprule}\hss}%
+ \box\mult@rightbox
+ \rlap{\phantom p}%
+ }%
+}
+%%% End code from multicol.sty.
+
+\setlength{\multicolsep}{2em}
+
+\newenvironment{poster}{%
+\thispagestyle{fancy}
+%{\color{hmcgold}\rule{\textwidth}{2pt}}
+\begin{multicols*}{3}
+}%
+{\end{multicols*}
+}
+
+
+\renewenvironment{figure}
+ {\def\@captype {figure}}
+ {}
+
+\renewenvironment{table}
+ {\def\@captype {table}}
+ {}
+
+
+%%% Make section headers sans-serif.
+
+\allsectionsfont{\sffamily}
+
+%%% Suppress section numbering.
+\renewcommand{\@seccntformat}[1]{\relax}
+
+\endinput