\documentclass{article}         %-*- latex -*-
\typeout{***********************************************************}
\typeout{Term calendar: University of Florida, 2015-2015}
\typeout{The source file is: ~/Documents/tex/termcal/2015-2016.tex}
\typeout{    latex fall15            --- for two page version }
\typeout{    latex fall15-onepage    --- for one page version }
\typeout{    latex spring16 (or spring16-onepage)               }
\typeout{    latex summer16 (or summer16-onepage)                        }
\typeout{    latex 2015-2016            --- for full year calendar}
\typeout{For information on customizing the calendar, see the source file}
\typeout{\space and use the command `latex termcal.dtx'.}
\typeout{***********************************************************}
% These are above the call to \usepackage, since
% cal1.sty uses \textwidth.
\addtolength\topmargin{-1.5in}
\addtolength\textheight{2in}
\addtolength\oddsidemargin{-1in}
\addtolength\textwidth{2in}
%
\usepackage{termcal}
%
\newif\ifonepage
%----------------------------------------------------------------
\let\othercommands\relax
% \makecalendar[adjust-box-height]{Heading}{start-date}{no-of-weeks}{\onepagetrue?}
\newcommand\makecalendar[5][0pt]{%
   \def\calname{#2}\def\calstartdate{#3}\def\callength{#4}\def\caladjht{#1}\def\othercommands{#5}}
%----------------------------------------------------------------
%%%              CUSTOMIZATION
%%% To change calendar text, see the end of this file.  See also the
%%% documentation file ``/depot/tex/lib/texmf/tex/latex/local/termcal.dtx.''
%%%
%%% To print a calendar for a period different from those provided 
%%% as standard, uncomment and fill in the blanks.
%-------uncomment 6 lines below to customize calendar -------------
%\makecalendar
%  [0cm    ]     % amt to make boxes larger or (if negative) smaller.
%  {       }     % Title for calendar
%  {       }     % Monday of first week: e.g. ``8/25/97''
%  {       }     % Number of weeks       (16 for typical semester)
%  {       }     % insert ``\onepagetrue'' or leave blank.
%%%%------- end of customization ----------------
%
% This file is designed to be linked to one of the file names 
%   fall14.tex, fall14-onepage.tex,  spring15.tex, spring15-onepage.tex,
%   summer15.tex, summer15-onepage or 2015-2016.tex.
% 
% The following looks at the jobname and acts accordingly.
%----------------
\makeatletter
\@ifundefined{calname}
 {
     \@namedef{fall15-onepage}{%
       \makecalendar[-1.6cm]{Fall Semester, 2015}{8/24/2015}{16}{\onepagetrue}}
     \@namedef{fall15}{%
       \makecalendar[-2mm]{Fall Semester, 2015}{8/24/2015}{16}{}}
     %--
     \@namedef{spring16-onepage}{%
       \makecalendar[-1.5cm]{Spring Semester, 2016}{1/4/2016}{16}{\onepagetrue}}
     \@namedef{spring16}{%
       \makecalendar[-2mm]{Spring Semester, 2016}{1/4/2016}{16}{}}
     %--
     \@namedef{summer16-onepage}{%
       \makecalendar[-1.3cm]{Summer Semester, 2016}{5/9/2016}{14}{\onepagetrue}}
     \@namedef{summer16}{%
       \makecalendar{Summer Semester, 2016}{5/9/2016}{14}{}}
     %--
     \@ifundefined{\jobname}
        {\makecalendar{Full Year, 2015-2016}{8/24/2015}{54}{}}%
        {\@nameuse{\jobname}}
 }{}
\makeatother
%----------------------------------------------------------------
\newcommand\noclass[1]{\options{#1}{\noclassday}}
\pagestyle{empty}
\newcommand\holiday[2]{\options{#1}{\noclassday}\caltext{#1}{\large\vfill
\centering\vspace{2pt} \hrule\vspace{2pt}#2 \par\vspace{2pt}\hrule\vfill}}
\newcommand\warnholiday[2]{\caltext{#1}{\vbox{\tiny#2}}}
\begin{document}
\othercommands
\ifonepage
  \vbox to \vsize{
\fi
%----------------------------------------------------------------
\begin{center}
\textbf{\calname}
\end{center}
\newcommand\bc{\begin{calendar}}
\expandafter\bc\expandafter{\calstartdate}{\callength}
\addtolength\calboxdepth{\caladjht}
%----------------------------------------------------------------
\calday[Monday]{\classday}              % Monday
\calday[Tuesday]{\classday}             % Tuesdayn
\calday[Wednesday]{\classday}           % Wednesday
\calday[Thursday]{\classday}            % Thursday
\calday[Friday]{\classday}              % Friday
\skipday			      % Saturday
\skipday                        % Sunday
%%\calday[*Saturday*]{}
%%\calday[*Sunday*]{ }
%%%%%%%%%%%%

%%% Fall
\caltext{8/24/2015}{Classes Begin}
\warnholiday{8/28/2015}{End of Drop/Add}
\warnholiday{12/10/2015}{Reading/Review fDay}
\warnholiday{12/11/2015}{Reading/Review Day}
\caltext{12/9/2015}{Last Class}
%
\holiday{9/7/2015}{Labor Day}
\holiday{11/6/2015}{Homecoming}
\holiday{11/7/2015}{Homecoming}
\holiday{11/11/2015}{Veterans Day }
\holiday{11/25/2015}{Thanksgiving}
\holiday{11/26/2015}{Thanksgiving}
\holiday{11/27/2015}{Thanksgiving}
\holiday{11/28/2015}{Thanksgiving}

% ----
%%% Spring
\caltext{1/5/2016}{Classes Begin}
\warnholiday{1/8/2016}{End of Drop/Add}
\warnholiday{4/21/2016}{Reading/Review Day}
\warnholiday{4/22/2016}{Reading/Review Day}
\caltext{4/20/2016}{last day of Class}
%
\holiday{1/18/2016}{Martin Luther King Day}
\holiday{2/27/2016}{Spring Break}
\holiday{2/28/2016}{Spring Break}
\holiday{3/1/2016}{Spring Break}
\holiday{3/2/2016}{Spring Break}
\holiday{3/3/2016}{Spring Break}
\holiday{3/4/2016}{Spring Break}
\holiday{3/5/2016}{Spring Break}

%-----
%%% Summer A/C
\caltext{5/9/2016}{Summer A/C starts}
\warnholiday{5/10/2016}{A/C -- Drop/Add ends}
\caltext{6/17/2016}{A -- Last day of class}
\caltext{8/5/2016}{B/C --  Last day of class}
%
\holiday{5/30/2016}{Memorial Day}
\holiday{6/20/2016}{Summer Break}
\holiday{6/21/2016}{Summer Break}
\holiday{6/22/2016}{Summer Break}
\holiday{6/23/2016}{Summer Break}
\holiday{6/24/2016}{Summer Break}
\holiday{7/4/2016}{Independence Day}
%% 2016--2016
%%%  Summer B  (Next academic year, according to the registrar's calendar)
\caltext{6/27/2016}{Summer B starts}  
\warnholiday{6/28/2016}{B -- Drop/Add ends}
%
\caltext{8/22/2016}{First day of class\\Fall 2016}

% non-university holidays
%%% DST
\warnholiday{10/30/2015}{DST ends Sunday}      
\warnholiday{3/11/2016}{DST starts Sunday}  
%%% Jewish
\warnholiday{9/13/2015}{Rosh HaShanah}
\warnholiday{9/14/2015}{Rosh HaShanah (at sundown)}
\warnholiday{9/15/2015}{Rosh HaShanah (new year 5777)}
\warnholiday{9/22/2015}{Yom Kippur (at sundown)}
\warnholiday{9//23/2015}{Yom Kippur}
\warnholiday{9/28/2015}{Sukkot begins (at sundown)}
\warnholiday{10/29/2015}{Sukkot ends}
\warnholiday{12/7/2015}{Hanukkah begins}
\warnholiday{12/14/2015}{Hanukkah ends}
\warnholiday{4/22/2016}{Passover starts Saturday} 
\warnholiday{4/29/2016}{Passover ends Saturday}
%%% Islamic
\warnholiday{6/18/2015}{Ramadan begins}
\warnholiday{7/18/2015}{Ramadan ends}
\warnholiday{10/15/2015}{Islamic New Year Saturday (1437}      %??????????????????
%%% Christian
\warnholiday{3/25/2016}{Good Friday/Easter}
%%% Chinese
\warnholiday{2/8/2016}{Chinese New Year Sunday (Monkey)}     % ????????????

\end{calendar}
\ifonepage\vss}\fi
\end{document}

----------------------------------------------------------------

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
