summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/courseoutline/courseoutline.cls
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/courseoutline/courseoutline.cls
Initial commit
Diffstat (limited to 'macros/latex/contrib/courseoutline/courseoutline.cls')
-rw-r--r--macros/latex/contrib/courseoutline/courseoutline.cls225
1 files changed, 225 insertions, 0 deletions
diff --git a/macros/latex/contrib/courseoutline/courseoutline.cls b/macros/latex/contrib/courseoutline/courseoutline.cls
new file mode 100644
index 0000000000..fd074a6878
--- /dev/null
+++ b/macros/latex/contrib/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