%%% File: PhDThesisED182.cls %%% Brief: Document class template for ED182 thesis manuscript %%% Use: \documentclass[showNotes, showLineNumbers, showWatermark]{PhDThesisED182} %%% Author: Alexandre BIGOT, alexandre.bigot@iphc.cnrs.fr %%% Tweaks: Thibault BARNOUIN, thibault.barnouin@astro.unistra.fr %% Identification %% The class identifies itself and the LaTeX version needed \NeedsTeXFormat{LaTeX2e} \ProvidesClass{PhDThesisED182}[2024-02-28 Minimal class for PhD thesis summary in ED182] %% Load the article class file \LoadClass[a4paper,12pt]{article} %%%%%%%%%%%%%%%% Commands and default values for Covers %%%%%%%%%%%%%%%% % Author \newcommand{\Firstname}[1]{\gdef\@Firstname{#1}} \Firstname{Firstname} \newcommand{\Lastname}[1]{\gdef\@Lastname{#1}} \Lastname{Lastname} % University \newcommand{\UniversityName}[1]{\gdef\@UniversityName{#1}} \UniversityName{Universit\'e de Strasbourg} \newcommand{\UniversityLogo}[1]{\gdef\@UniversityLogo{#1}} \UniversityLogo{Images/Covers/Logo\_StrasbourgUni.pdf} % Labo \newcommand{\LaboName}[1]{\gdef\@LaboName{#1}} \LaboName{My Laboratory} \newcommand*{\LaboLogo}[1]{\gdef\@LaboLogo{#1}} \LaboLogo{} % Doctoral school \newcommand{\DoctoralSchoolName}[1]{\gdef\@DoctoralSchoolName{#1}} \DoctoralSchoolName{\'Ecole Doctorale de physique et chimie-physique} \newcommand{\DoctoralSchoolLogo}[1]{\gdef\@DoctoralSchoolLogo{#1}} \DoctoralSchoolLogo{Images/Covers/logo\_ED182} % Thesis \newcommand{\ThesisDate}[1]{\gdef\@ThesisDate{#1}} \ThesisDate{XX mois 20XX} \newcommand{\TitreThese}[1]{\gdef\@TitreThese{#1}} \TitreThese{Le titre de la thèse en français.} \newcommand*{\SousTitreThese}[1]{\gdef\@SousTitreThese{#1}} \SousTitreThese{} \newcommand{\ThesisTitle}[1]{\gdef\@ThesisTitle{#1}} \ThesisTitle{Title of the thesis in english.} \newcommand*{\ThesisSubTitle}[1]{\gdef\@ThesisSubTitle{#1}} \ThesisSubTitle{} \newcommand{\resume}[1]{\gdef\@resume{#1}} \resume{1000 caract\`eres maximum} \newcommand{\motscles}[1]{\gdef\@motscles{#1}} \motscles{...} \renewcommand{\abstract}[1]{\gdef\@abstract{#1}} \abstract{1000 letters max} \newcommand{\keywords}[1]{\gdef\@keywords{#1}} \keywords{...} % Discipline \newcommand{\Discipline}[1]{\gdef\@Discipline{#1}} \Discipline{Physique} \newcommand*{\Speciality}[1]{\gdef\@Speciality{#1}} \Speciality{} %%% Members of the jury title, name, position and affiliation \newcommand{\person}[5]{\hspace{2mm}\bfseries{#1\, \MakeUppercase{#2}\, #3} & {#4, #5}\\} % Directors \newcommand{\directeurs}[1]{\gdef\@directeurs{#1}} \directeurs{ \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} } % Rapporteurs \newcommand{\rapporteurs}[1]{\gdef\@rapporteurs{#1}} \rapporteurs{ \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} } % Jury \newcommand{\jury}[1]{\gdef\@jury{#1}} \jury{ \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} \person{Civ.}{Lastname}{Firstname}{Pos.}{Affiliation} } %% Load packages \PassOptionsToPackage{pdftitle={\@ThesisTitle}, pdfauthor={\@Firstname \@Lastname}, pdfcreator={PdfLaTeX}, pdfkeywords={\@keywords}, pdfsubject={Thesis Manuscript}}{hyperref}\RequirePackage{hyperref} % Extensive support for hypertext \makeatother \PassOptionsToPackage{a4paper,margin=2.5cm}{geometry}\RequirePackage{geometry} % Flexible and complete interface to document dimensions \PassOptionsToPackage{main=english,french}{babel}\RequirePackage{babel} % Multilingual support \PassOptionsToPackage{T1}{fontenc}\RequirePackage{fontenc} % Standard package for selecting font encodings \RequirePackage{lmodern} % Latin modern fonts for better printability \RequirePackage{pdfpages} % Insert pdf as pages \RequirePackage{graphicx} % Enhanced support for graphics \RequirePackage{xcolor} % Driver-independent color extensions \RequirePackage{amsmath} % AMS mathematical facilities \RequirePackage{amsfonts} % TeX fonts from the American Mathematical Society \RequirePackage{xcolor} % Driver-independent color extensions \PassOptionsToPackage{most}{tcolorbox}\RequirePackage{tcolorbox} % Coloured boxes \PassOptionsToPackage{modulo}{lineno}\RequirePackage{lineno} % Line numbers on paragraphs \RequirePackage{macros} % Personal macros for bibliography %% Define my colours \definecolor{DarkBlue}{rgb}{0.0, 0.0, 0.55} \definecolor{DarkRed}{rgb}{0.55, 0.0, 0.0} \definecolor{DarkGreen}{rgb}{0.0, 0.2, 0.13} \definecolor{DodgerBlue}{rgb}{0.12, 0.56, 1.0} \colorlet{DodgerBlue2}{DodgerBlue!80} %% Color commands \newcommand{\mycolor}[2]{\color{#1}#2\color{black}\xspace} \newcommand{\red}[1]{\color{red}#1\color{black}\xspace} %% Change hyperlinks style \hypersetup { colorlinks=true, linkcolor=black, linktocpage=false, % to have the link on the page number in toc filecolor=magenta, urlcolor=DodgerBlue, citecolor=DodgerBlue, } %% Fonts substitutions for non existing bold small caps in lmodern \rmfamily \DeclareFontShape{T1}{lmr}{b}{sc}{<->ssub*cmr/b/sc}{} \DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{} \sffamily \DeclareFontShape{T1}{lmss}{m}{sc} { <-> ssub * phv/m/sc }{} \DeclareFontShape{T1}{lmss}{bx}{sc} { <-> ssub * phv/bx/sc }{} %% A simple box \newenvironment{mybox}[0]{% \tcolorbox[opacityback=0., standard jigsaw,breakable]}% {\endtcolorbox} %% Change left and right margins (used in front and back covers) \newenvironment{changemargin}[2]{% \begin{list}{}{% \setlength{\topsep}{0pt}% \setlength{\leftmargin}{#1}% \setlength{\rightmargin}{#2}% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{\parindent}% \setlength{\itemsep}{\parskip}% \setlength{\parsep}{\parskip}% }% \item[] }{\end{list}} %% Save default margin lengths \newlength{\defaultOddsidemargin} \setlength{\defaultOddsidemargin}{\oddsidemargin} \newlength{\defaultEvensidemargin} \setlength{\defaultEvensidemargin}{\evensidemargin} %% Checked box symbol \newcommand{\uncheckedbox}{\makebox[0pt][l]{$\square$}\raisebox{.15ex}{\hspace{11pt}}} \newcommand{\checkedbox}{\makebox[0pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$\checkmark$}} %% Switches \newif\ifshowNotes \newenvironment{notes}[1]{\ifshowNotes #1\fi} \newif\ifshowLineNumbers % %% Class options \DeclareOption{showNotes}{\showNotestrue} \DeclareOption{showLineNumbers}{\showLineNumberstrue} \ProcessOptions\relax % to process options