%% --------------------------------------------------------------------------------------------- %% LaTeX Base Class Reykjavík University Books %% --------------------------------------------------------------------------------------------- %% Original Author: Lars Engebretsen (KTH) %% Source not found on Google, an archived copy [2004/12/14 v2.1 Document Class for KTH Theses] can be found at %% https://repository.cs.ru.is/svn/thesis-template/trunk/non-ru/kth.se/kthesis/tex/latex/kthesis/kthesis.cls %% Refactored in 2017 by Gabriel Hjort Blindell %% Source at https://github.com/gablin/ghb-thesis/blob/master/kthesis.cls %% This has a Creative Commons Attribution-NoDerivatives 4.0 %% for details). %% Which means we sadly can't modify it for our use. %% Refactored from Lars' version on 2022-05-22: Joseph Timothy Foley %% Questions, comments, complaints: latex@RU.IS %% Created on 2022-05-22 %% This code is distributed under the MIT license %% Details at LICENSE.md %% --------------- Identification ---------------------------- \NeedsTeXFormat{LaTeX2e} \newcommand{\fileversion@rubook}{V1.1} \ProvidesClass{rubook}[2024/11/07 Reykjavik University Book class\fileversion@rubook] \typeout{Book Class for Reykjavik University \fileversion@rubook} \newcommand{\@rubook@setpapersize@afour}{\stockaiv{}} \newcommand{\@rubook@setpapersize@bfive}{\stockbv{}} %\def\@rubook@setpapersize@afour{% % \setstocksize{297mm}{210mm} % \settrimmedsize{297mm}{210mm}{*} % \settypeblocksize{49pc}{33pc}{*}} % \def\@rubook@setpapersize@bfive{% % \setstocksize{297mm}{210mm} % \settrimmedsize{239mm}{169mm}{*} % \setlength{\trimtop}{\stockheight} % \addtolength{\trimtop}{-\paperheight} % \setlength{\trimtop}{0.5\trimtop} % \setlength{\trimedge}{\stockwidth} % \addtolength{\trimedge}{-\paperwidth} % \ifpdf % \AtBeginDocument{% % \setlength{\pdfpagewidth}{\stockwidth} % \setlength{\pdfpageheight}{\stockheight}} % \fi % \settypeblocksize{43pc}{30pc}{*}} \DeclareOption{g5paper}{\OptionNotUsed} \DeclareOption{a3paper}{\OptionNotUsed} \DeclareOption{a4paper}{\def\rubook@papersize{afour}}% paper stock a4 \DeclareOption{a6paper}{\OptionNotUsed} \DeclareOption{a5paper}{\OptionNotUsed} \DeclareOption{b3paper}{\OptionNotUsed} \DeclareOption{b4paper}{\OptionNotUsed} \DeclareOption{b5paper}{\def\rubook@papersize{bfive}}% paper stock b5 \DeclareOption{b6paper}{\OptionNotUsed} \DeclareOption{letterpaper}{\OptionNotUsed} \DeclareOption{legalpaper}{\OptionNotUsed} \DeclareOption{executivepaper}{\OptionNotUsed} \DeclareOption{ebook}{\OptionNotUsed} \DeclareOption{landscape}{\OptionNotUsed} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}} \ExecuteOptions{b5paper} \ProcessOptions\relax \LoadClass[a4paper]{memoir} \@nameuse{@rubook@setpapersize@\rubook@papersize} %%%%%%%%%%%%%%%% MARGINS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Note: The old MS word template uses even 25.4mm margins which works poorly as a bound book \setxlvchars{}\setlxvchars{} %% calculate textblock based upon character size \trimLmarks{}% trim marks get cut off \pagebv{}% cut to b5 %\settrims{0pt}{0pt} \setpageml{\paperheight}{\paperwidth}{*}%page area on middle left for cutting %\checkandfixthelayout% implement the margins if we weren't using canonic \RequirePackage{canoniclayout} %% Canonic layout calculates margins that look nice %% Based upon a rectangle formed with a circle on the width %% Some debugging code to check length calculation. \newcommand{\showlengths@rubook}{ \uselengthunit{mm} % showlen package Lengths: (with round off error from floats)\\ pagecenterx:\printlength{\pagecenterx}\\ pagecentery:\printlength{\pagecentery}\\ } %%% Local Variables: %%% mode: latex %%% TeX-master: "main" %%% TeX-engine: luatex %%% End: