\def\filedate{21 July 2020} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Document class for lecture slide notes. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Version History % v1.0 Initial version % v1.0.1 Changed package loading order to ensure that hyperref is last. % v1.0.2 Changed punctuation of header. % v1.0.3 Corrected the provided class! % v1.1 Added nochapters option. % v1.2 Added support for configurable class types. % v1.3 Replaced deprecated fancyhdr macros. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[2001/06/01] \ProvidesClass{lecturenotes}% [2020/07/21 INFO lecture notes style, v1.3] % "Stream of conciousness" chapters vs. explicit individual classes. NOTE: % you can't have both chapters and classes! This is because we use the same % chapter macros for both cases, but they're applied differently (e.g., if % nochapters is set, then \insertchapternumber represent the class number). \newif\if@chapters \@chapterstrue \DeclareOption{nochapters}{\@chaptersfalse} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions \LoadClass{article} % The article class doesn't have a chapter counter. \newcounter{chapter} % Load required packages. \RequirePackage{pdfpages} \RequirePackage[a4paper,pdftex]{geometry} \RequirePackage{fancyhdr} % DO NOT REMOVE THE NEXT LINE! The lecturesetup package loads a bunch % of other packages, some of which are referenced below. \RequirePackage{lecturecommon} % Fix margins. \geometry{vmargin=0.9in,hmargin=0.25in} \raggedright \if@chapters \SetClassType{Chapter} \fi % hyperref setup. We have to use a slightly convoluted method, because the % macros referenced here haven't been set yet. Define the hyperref setup % as a new macro, and call this AFTER initialising the paper and chapter % variables. \newcommand{\inithyperref}{% \hypersetup{% pdftitle={\PaperCode\ \ClassType\ \thechapter\ Speaker Notes},% pdfsubject={\ShortClassTitle},% colorlinks=false% }% } % Set up fancy headings. \fancyhf{} \fancyhead[C]{\Huge\sffamily\bfseries \PaperCode, \TeachingPeriod, \YearOffered} \fancyfoot[L]{\large\sffamily\bfseries \ClassType\ \thechapter: \ShortClassTitle\ --- Notes} \fancyfoot[R]{\large\sffamily\bfseries\thepage} \renewcommand{\footrulewidth}{0mm} \renewcommand{\headrulewidth}{0mm} % Ensure first page footer is correctly positioned. % (see https://tex.stackexchange.com/a/442558) \setlength{\headheight}{30pt} \pagestyle{fancy} \endinput