From fbaba75e523247697d449502d858946b487ece72 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:53:37 +0000 Subject: courseoutline git-svn-id: svn://tug.org/texlive/trunk@792 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/courseoutline/courseoutline.cls | 225 +++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/courseoutline/courseoutline.cls (limited to 'Master/texmf-dist/tex/latex/courseoutline') diff --git a/Master/texmf-dist/tex/latex/courseoutline/courseoutline.cls b/Master/texmf-dist/tex/latex/courseoutline/courseoutline.cls new file mode 100644 index 00000000000..fd074a68789 --- /dev/null +++ b/Master/texmf-dist/tex/latex/courseoutline/courseoutline.cls @@ -0,0 +1,225 @@ +% courseoutline.cls %------------------------------------------------------------------------% %% This is a class (.cls) file for LaTeX2e. %% %% Author: Norman R. Gall %% Department of Philosophy %% The University of Calgary %% Calgary, Alberta %% %% ngall@ucalgary.ca %% %% Feel free to copy, modify, and distribute. %% I am interested in all changes you make. %% Please send changes to ngall@ucalgary.ca %% %% This file is based on the default article.cls file %% %% General Notes: %% +%% +%% My purpose in writing this .cls is to automate what I do all too often: +%% write new course outlines. It is sometimes tedious but the main problem +%% is that the information is obscured by the LaTeX codes. I want to be +%% able to just see the information when reading the source and when +%% writing simply drop into the macros what I want. +%% +%% I think that I have chosen the macro names intelligently, but if anyone +%% has suggestions for more intuitive names, I'd like to hear from you. +%% %% +% % Version History % --------------- % v0.1 2002-02-16 Test of Class file +% v0.9 2003-12-14 Added the rest of the macros and added the +% environments +% v1.0 2003-09-20 If there's no TA defined, no TA section will appear +% First Release % % - Command Notes ------------------------------ +% +% % New commands (I hope these are self-explanatory}: +% +% \university{} +% \department{} +% +% \coursename{} +% \coursenumber{} +% \coursesection{} +% \coursesession{} +% \coursetime{} +% \courselocation{} +% \coursewebpage{} +% +% \instructor{} +% \instructoroffice{} +% \instructorofficehours{} +% \instructorphone{} +% \instructoremail{} +% +% \ta{} +% \taoffice{} +% \taofficehours{} +% \taphone{} +% \taemail{} +% \tutorialtime{} +% \tutoriallocation{} +% +% New Environments +% +% +% Each new environment has the syntax +% +% \begin{environment_name}[optional section name] +% +% ...Important things for students to know... +% +% \end{environment_name} +% +% +% I have included the optional name for customisation convenience. I understand +% that my tastes in choice of name are idiosyncratic. +% +% The environments do nothing more than set the name of the section. You can +% call each section whatever you like and do whatever you would otherwise be +% able to do inside any of these environments. +% +% \begin{introduction} ... \end{introduction} +% +% Provides a section entitled `Course Description' +% +% \begin{evaluation} ... \end{evaluation} +% +% Provides a section entitled `Evaluation' +% +% \begin{schedule} ... \end{schedule} +% +% Provides a section entitled `Lecture Schedule' +% +% \begin{assignments} ... \end{assignments} +% +% Provides a section entitled `Assignments' +% +% \begin{tutorials} ... \end{tutorials} +% +% Provides a section entitled `Tutorials' +% +% \begin{administrivia} ... \end{administrivia} +% +% Provides a section entitled `Miscellaneous' +% % - Identification ------------------------------------- \NeedsTeXFormat{LaTeX2e} \ProvidesClass{courseoutline}[2003/09/14 v0.9] % Initial Code --------------------------------------- % \RequirePackage{ifthen} % % - Declaration of Options ----------------------------- % % saving taken from dissertation.sty with modification % \PassOptionsToClass{letterpaper,oneside,onecolumn}{article} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ExecuteOptions{draft} % % - Execution of Options ------------------------------- % \ProcessOptions % % - Package Loading ------------------------------------ % \LoadClass{article} % % - Main Code ------------------------------------------ % % some definitions % +\def\university#1{\gdef\@university{#1}} +\def\department#1{\gdef\@department{#1}} +\def\coursename#1{\gdef\@coursename{#1}} +\def\coursenumber#1{\gdef\@coursenumber{#1}} +\def\coursesection#1{\gdef\@coursesection{#1}} +\def\coursesession#1{\gdef\@coursesession{Session: #1}} +\def\coursetime#1{\gdef\@coursetime{Lecture Times: #1}} +\def\courselocation#1{\gdef\@courselocation{Room: #1}} +\def\coursewebpage#1{\gdef\@coursewebpage{WWW: #1}} +\def\texts#1{\gdef\@texts{#1}} +\def\instructor#1{\gdef\@instructor{Instructor: #1}} +\def\instructoroffice#1{\gdef\@instructoroffice{Office: #1}} +\def\instructorofficehours#1{\gdef\@instructorofficehours{#1}} +\def\instructorphone#1{\gdef\@instructorphone{Office Phone: #1}} +\def\instructoremail#1{\gdef\@instructoremail{E-mail: #1}} +\def\ta#1{\gdef\@ta{Teaching Assistant: #1}} +\def\taoffice#1{\gdef\@taoffice{Office: #1}} +\def\taofficehours#1{\gdef\@taofficehours{Office Hours: #1}} +\def\taphone#1{\gdef\@taphone{Office Phone: #1}} +\def\taemail#1{\gdef\@taemail{E-mail: #1}} +\def\tutorialtime#1{\gdef\@tutorialtime{#1}} +\def\tutoriallocation#1{\gdef\@tutoriallocation{#1}} % +\def\@ifdefined#1#2{\@ifundefined{#1}{}{#2}} % % Spacing and margins % % These margins are set for letter size paper for North American tastes. % Other users will have to make the relevant adjustments here or in their % LaTeX source file % \setlength {\topmargin}{0.0in} % top margin 1.0 inch \setlength {\textheight}{8.5in} % bottom margin 1.0 inch \setlength {\oddsidemargin}{0.0in} % left margin 1.0 inch +\setlength {\evensidemargin}{0.0in} % right margin 1.0 inch \setlength {\textwidth}{6.5in} % right margin 1.0 inch \setlength {\footnotesep}{14pt} % baseline skip for fn's 1st line \setlength {\headheight}{0.2in} % make room for header \setlength {\headsep}{0.2in} % modest header separation \setlength {\parskip}{0.2in} % set a paragraph skip \setlength {\parindent}{0.0in} % no para indents % % redefine the titlematter % \renewcommand\maketitle{\par \begingroup \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% \long\def\@makefntext##1{\parindent 1em\noindent \hb@xt@1.8em{% \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% \newpage \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \thispagestyle{empty}\@thanks \endgroup \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax \global\let\@thanks\@empty % + \global\let\university\@empty + \global\let\department\@empty + \global\let\coursename\@empty + \global\let\coursenumber\@empty + \global\let\coursesection\@empty + \global\let\coursesession\@empty + \global\let\coursetime\@empty + \global\let\courselocation\@empty + \global\let\coursewebpage\@empty + \global\let\texts\@empty + \global\let\instructor\@empty + \global\let\instructoroffice\@empty + \global\let\instructorofficehours\@empty + \global\let\instructorphone\@empty + \global\let\instructoremail\@empty + \global\let\ta\@empty + \global\let\taoffice\@empty + \global\let\taofficehours\@empty + \global\let\taphone\@empty + \global\let\taemail\@empty + \global\let\tutorialtime\@empty + \global\let\tutoriallocation\@empty + % + \global\let\university\relax + \global\let\department\relax + \global\let\coursename\relax + \global\let\coursenumber\relax + \global\let\coursesection\relax + \global\let\coursesession\relax + \global\let\coursetime\relax + \global\let\courselocation\relax + \global\let\coursewebpage\relax + \global\let\texts\relax + \global\let\instructor\relax + \global\let\instructoroffice\relax + \global\let\instructorofficehours\relax + \global\let\instructorphone\relax + \global\let\instructoremail\relax + \global\let\ta\relax + \global\let\taoffice\relax + \global\let\taofficehours\relax + \global\let\taphone\relax + \global\let\taemail\relax + \global\let\tutorialtime\relax + \global\let\tutoriallocation\relax } \def\@maketitle{% \newpage \null \vskip 2em% \sffamily + \begin{center}% + {\Large \@university + \@department} + + \vspace{.1in} + + \begin{Large} \textbf{\@coursenumber\space\@coursesection\space\@coursename} + \end{Large} + + \vspace{.1in} + \begin{tabular}[t]{l r} \@instructor & \@coursesession\\ \@instructoremail & \@coursewebpage\\ Office: \@instructoroffice & \@instructorphone \\ + Office Hours: & \@instructorofficehours\\ + & \\ \@coursetime & \@courselocation\\ + \end{tabular} + + \vspace{.1in} + + \@ifdefined {@ta}{ + \begin{tabular}[t]{l r} + \@ta & \@taemail \\ \@taoffice & \@taphone \\ + \@taofficehours & \\ + & \\ + Tutorial Times: & Room\\ + \@tutorialtime & \@tutoriallocation\\ + \end{tabular} } \end{center} + \rmfamily\hrule\vskip 1em\par \par \vskip 1.5em} % % Set up headers % \def\ps@myheadings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage -- \slshape\leftmark\hfil}% \def\@oddhead{\hfil{\slshape\rightmark} -- \thepage}% \let\@mkboth\@gobbletwo } % +% Create environments +% +\newenvironment{textbooks}[1][Textbooks]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} +% +\newenvironment{introduction}[1][Course Description]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} +% +\newenvironment{evaluation}[1][Evaluation]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} +% +\newenvironment{schedule}[1][Lecture Schedule]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} +% +\newenvironment{assignments}[1][Assignment Details]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} +% +\newenvironment{tutorials}[1][Tutorials]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} +% +\newenvironment{administrivia}[1][Miscellaneous]{ + \@startsection{#1}{1}{\z@}% {-3.5ex plus -1ex minus -.2ex}% {1.5ex plus .2ex}% + {\sffamily\Large}*% + {#1}} + {\rmfamily\normalsize} %% End of file `courseoutline.cls'. \ No newline at end of file -- cgit v1.2.3