%************************************ %1 Identification: \NeedsTeXFormat{LaTeX2e} \ProvidesClass{itmthesis}[2018/05/04 ITMorelia Thesis Class by Gerardo Marx] %************************************ %2 Preliminary declarations %2.1 The basic class: \LoadClass{report} %2.2 Packages: \RequirePackage[utf8]{inputenc} \RequirePackage[colorlinks=true]{hyperref} \RequirePackage{blindtext} \RequirePackage{scrextend} \RequirePackage{booktabs} \RequirePackage{calligra} %2.2.1 Booleans \RequirePackage{ifthen} \newboolean{@drafting} % print version information on pages \newboolean{@spanish} % activates the spanish version at babel otherwise english \newboolean{@listings} % loads the listings package %2.2.2 Colors \PassOptionsToPackage{dvipsnames}{xcolor} \RequirePackage{xcolor} \definecolor{c1}{rgb}{0,0,1} % blue \definecolor{grisTec}{RGB}{125,125,125} \hypersetup{ linkcolor={c1}, % internal links citecolor={c1}, % citations urlcolor={c1} % external links/urls } %2.2.2 This package is essentially a replacement—partial or total—for the LATEX macros related with sections—namely titles, headers and contents. \RequirePackage{titlesec}% \RequirePackage{xargs} % needed for extended newcommand and others \RequirePackage{array} % needed for extended options for array \RequirePackage{amsmath} \RequirePackage{graphicx} %2.3 Page settings: \RequirePackage[left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry} %2.4 Macros and Commands: %Commands \newcommand{\myVersion}{version 1.0\xspace} %2.4.1 Derivatives \newcommandx{\pd}[3][1=]{% \frac{\partial^{#1} #2}{\partial #3^{#1}} } %2.4.1 Dbf \renewcommand{\d}{{\rm d}} %2.5 Environments: %2.5.1 Arrays of equations: %************************************ %3 Options: % 3.1 DeclareOptions % Option sintax % \DeclareOption{⟨option⟩}{⟨code⟩} %Code option: \DeclareOption{drafting}{ %Code \setboolean{@drafting}{true} } \DeclareOption{spanish}{ %Code \setboolean{@spanish}{true} \typeout{spanish to babel} }%end code option \DeclareOption{listings}{ \setboolean{@listings}{true} \typeout{listings option activated} } \ProcessOptions\relax % 3.2 PassOptionsToPackage %if sintax: \ifthenelse{⟨test⟩}{⟨then clause⟩}{⟨else clause⟩} % 3.2.1 drafting %+++++++++++++++++++++++++++++++++++++++++++++ \RequirePackage{scrtime} %time access %Sintax: \newcommand{name}[num]{definition} \newcommand{\finalVersionString}{Revised}%Final version text \ifthenelse{\boolean{@drafting}}{% % Then clause % \RequirePackage{draftwatermark}% % \SetWatermarkLightness{0.9} % \SetWatermarkScale{.5} % \SetWatermarkText{\today\ at \thistime} \RequirePackage{prelim2e} \PassOptionsToPackage{draft}{prelim2e} \renewcommand{\PrelimWords}{\relax} \renewcommand{\PrelimText}{\footnotesize[\,\today\ at \thistime\ -- \texttt{itmorelia} \myVersion\,]} } %else clause {\renewcommand{\finalVersionString}{\emph{Final Version} as of \today\ (\texttt{itmorelia} \myVersion).}} %+++++++++++++++++++++++++++++++++++++++++++++ % 3.2.2 babel \ifthenelse{\boolean{@spanish}}%test { %then clause \@ifpackageloaded{babel} {\relax}{\RequirePackage[es-tabla,spanish]{babel}}% } {\relax}% else clause %3.2.3 Listing related stuff \ifthenelse{\boolean{@listings}}% {%then clause \@ifpackageloaded{listings}% {\relax}{\RequirePackage{listings}}% } %else clause {\relax}% %************************************ % 4 Declarations: %------------------------------------- %4.0 chapter %\renewcommand{\thechapter}{\Roman{chapter}} %Roman enumeration \titleformat{\chapter}[display]%shape {\Huge\filleft\sc}%Format applied to the title {\filleft\sc{\chaptertitlename} \thechapter}%Label text and format {4ex}%Separation between Label and Title {}%Before code [\vspace{2ex} \color{gray}\titlerule]%After code % %4.1 section %\titleformat{\section}%shape % {\large \scshape}%Format applied to the title % {\large\scshape \thesection}%Label text and format % {2ex}%Separation between Label and Title % {}%Before code % []%After code \titleformat{\section} {\normalfont\Large\bfseries}{\thesection}{1em}{} %4.2 subsection \titleformat{\subsection} {\normalfont\large\bfseries}{\thesubsection}{1em}{} %4.3 subsubsection \titleformat{\subsubsection} {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} %4.4 Paragraph \titleformat{\paragraph}[runin] {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} %4.5 subparagraph \titleformat{\subparagraph}[runin] {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} %4.2 subsection \titleformat{\subsection} {\normalfont\Large\bfseries}{\thesubsection}{1em}{} %4.x Spacing \titlespacing*{\chapter} {0pt}{50pt}{40pt} \titlespacing*{\section} {0pt}{3.25ex plus 1ex minus .2ex}{2.3ex plus .2ex} \titlespacing*{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} \titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} \titlespacing*{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em} \titlespacing*{\subparagraph}{\parindent}{3.25ex plus 1ex minus .2ex}{1em}