\def\classdate{12 December 2024} \def\classversion{1.8.1} \def\classshortdate{2024/12/12} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Document class for lecture figures & examples. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Version History % v1.1 Switched to using geometry instead of a4wide. % v1.2 Fixed loading order of geometry and fancyhdr so that margins are correct. % Removed nohead from geometry initialisation to avoid wonky interaction % with fancyhdr. % v1.3 Dropped use of Trebuchet font. Now just uses \sffamily. % v1.4 Removed reliance on pdftex output driver (specify in documentclass % options). % Changed paragraph formatting. % v1.5 Switched to common infrastructure for all lecture documents. % Added "UNDEFINED" default for the paper, chapter & title macros. % v1.5.1 Changed package loading order to ensure that hyperref is last. % v1.6 Added nochapters option. % v1.7 Added support for configurable class types. % v1.8 Replaced deprecated fancyhdr macros. % v1.8.1 Normalised package info messages. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[2001/06/01] \ProvidesClass{lecturefig}% [\classdate\space v\classversion\space Otago lecture figures] % "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}{report}} \ProcessOptions \LoadClass{report} % Load required packages. \RequirePackage{geometry} \RequirePackage{fancyhdr} \RequirePackage[normalem]{ulem} % DO NOT REMOVE THE NEXT LINE! The lecturecommon package loads a bunch % of other packages and sets up various counters, etc., several of which % are used below. \RequirePackage{lecturecommon} % Miscellaneous initialisation. \setlength{\parindent}{0pt} \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} % Figure numbers. \newcounter{lfigure}[chapter] \renewcommand{\thelfigure}{\arabic{chapter}--\arabic{lfigure}} % Figure, table & example captions. \newcommand{\@docaption}[1]% { \begin{center} \Large\bfseries\sffamily #1 \end{center} } \newcommand{\newheading}[1]{\@docaption{#1}} % Specialised sub-caption for citing the source of something. \newcommand{\source}[1]{\sffamily\footnotesize SOURCE: #1} % Figures. \newcommand{\newfigure}[1]% { \refstepcounter{lfigure} \@docaption{Figure \thelfigure: #1} } \newcommand{\continuefigure}% { \hfill\emph{\small continues over\ldots} \newpage \@docaption{Figure \thelfigure, cont'd} } % Tables. \newcommand{\newtable}[1]% { \refstepcounter{lfigure} \@docaption{Table \thelfigure: #1} } \newcommand{\continuetable}% { \hfill\emph{\small continues over\ldots} \newpage \@docaption{Table \thelfigure, cont'd} } % Example. \newcommand{\newexample}[1]% { \refstepcounter{lfigure} \@docaption{Example \thelfigure: #1} } \newcommand{\continueexample}% { \hfill\emph{\small continues over\ldots} \newpage \@docaption{Example \thelfigure, cont'd} } % Package initialisation. % geometry setup. \geometry{a4paper,margin={1in,1in}} % fancyhdr setup. \fancyhf{} \fancyfoot[L]{\sffamily \PaperCode\ \ClassType\ \thechapter: \ShortClassTitle} \fancyfoot[R]{\sffamily F-\thepage} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} \setlength{\parskip}{0.5\baselineskip} % Ensure first page footer is correctly positioned. % (see https://tex.stackexchange.com/a/442558) \setlength{\headheight}{15pt} \pagestyle{fancy} \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\ Figures and Examples},% pdfsubject={\ShortClassTitle},% colorlinks,% urlcolor=blue,% linkcolor=blue,% }% } \endinput