\NeedsTeXFormat{LaTeX2e} \ProvidesClass{mimosis}[2017/08/01 Minimal modern thesis class] \PassOptionsToPackage{ DIV = 10, % TODO: Make configurable BCOR = 10mm, % TODO: Make configurable }{typearea} \LoadClass[a4paper, twoside, 11pt, cleardoublepage=empty, numbers=noenddot, titlepage, toc=bibliography, toc=index,]{scrbook} \RequirePackage{iftex} \newif\ifxetexorluatex\xetexorluatexfalse \ifxetex \xetexorluatextrue \fi \ifluatex \xetexorluatextrue \fi \ifxetexorluatex \RequirePackage{fontspec} \else \RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc} \fi % Makes it possible to switch between different languages in the text % while keeping hyphenation rules correct. Should you add another one % in the list, please ensure that `english` is the last one. The last % language is used to control standard hyphenation. \usepackage[ngerman,french,english]{babel} \RequirePackage[autostyle=true]{csquotes} % Context-sensitive quotation marks \RequirePackage{makeidx} % For creating indices \RequirePackage{xspace} % For automatically "eating" spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Multi-line comments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\comment}[1]{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Fonts & colours %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage[dvipsnames]{xcolor} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Graphics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{graphicx} \graphicspath{% {Figures/} {./} } % Suppress warnings about page groups in PDFs. This is not justified % in most of the cases. I am pretty sure I am including my images in % the right manner. \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdfsuppresswarningpagegroup\endcsname\relax \else \pdfsuppresswarningpagegroup=1\relax \fi \RequirePackage{subcaption} % Make sub-references using \subref being typeset with parentheses. % Otherwise, only the counter will be printed. \captionsetup{subrefformat=parens} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Glossaries %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage[% acronym, nogroupskip, nopostdot, nonumberlist, toc, ]{glossaries} % New style that prevents line-breaks between the full description and % the acronym. Furthermore, it ensures that the acronym is always % printed in an upright font. \newacronymstyle{long-short-mimosis} {% \GlsUseAcrEntryDispStyle{long-short}% }% {% \GlsUseAcrStyleDefs{long-short}% \renewcommand*{\genacrfullformat}[2]{% \glsentrylong{##1}##2~\textup{(\firstacronymfont{\glsentryshort{##1}})}% }% \renewcommand*{\Genacrfullformat}[2]{% \Glsentrylong{##1}##2~\textup{(\firstacronymfont{\glsentryshort{##1}})}% }% \renewcommand*{\genplacrfullformat}[2]{% \glsentrylongpl{##1}##2~\textup{(\firstacronymfont{\glsentryshortpl{##1}})}% }% \renewcommand*{\Genplacrfullformat}[2]{% \Glsentrylongpl{##1}##2~\textup{(\firstacronymfont{\Glsentryshortpl{##1}})}% }% } % A new glossary style that based on the long style of the glossaries % package. It ensures that descriptions and entries are aligned. \newglossarystyle{long-mimosis}{% \setglossarystyle{long} \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline }% } % Constrain the description width to enforce breaks. \setlength{\glsdescwidth}{10cm} \setacronymstyle{long-short-mimosis} \setglossarystyle{long-mimosis} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Paragraph lists & compact enumerations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage[% olditem, % Do not modify itemize environments by default oldenum % Do not modify enumerate environments by default ]{paralist} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Spacing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{setspace} \onehalfspacing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{booktabs} \RequirePackage{multirow} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Proper typesetting of units %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{siunitx} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Mathematics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{amsmath} \RequirePackage{amsthm} \RequirePackage{dsfont} % Fix the spacing of \left and \right. Use these with the proper bracket % in order to ensure that they scale automatically. \let\originalleft\left \let\originalright\right \renewcommand{\left}{\mathopen{}\mathclose\bgroup\originalleft} \renewcommand{\right}{\aftergroup\egroup\originalright} \DeclareMathOperator*{\argmin} {arg\,min} \DeclareMathOperator {\dist} {dist} \DeclareMathOperator {\im} {im} \newcommand{\domain}{\ensuremath{\mathds{D}}} \newcommand{\real} {\ensuremath{\mathds{R}}} % Proper differential operators \newcommand{\diff}[1]{\ensuremath{\operatorname{d}\!{#1}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Penalties %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \clubpenalty = 10000 \widowpenalty = 10000 \displaywidowpenalty = 10000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Headers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{scrlayer-scrpage} \pagestyle{scrheadings} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Typefaces for parts, chapters, and sections %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewcommand{\partformat}{\huge\partname~\thepart\autodot} \renewcommand{\raggedpart}{\flushleft} \setkomafont{part}{\normalfont\huge\scshape} \setkomafont{sectioning}{\normalfont\scshape} \setkomafont{descriptionlabel}{\normalfont\bfseries} \setkomafont{caption}{\small} \setkomafont{captionlabel}{\usekomafont{caption}} % Large number for chapter \renewcommand*{\chapterformat}{% \fontsize{50}{55}\selectfont\thechapter\autodot\enskip }