|
%************************************
|
|
%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}
|
|
%2.2.1 Booleans
|
|
\RequirePackage{ifthen}
|
|
\newboolean{@drafting} % print version information on pages
|
|
\newboolean{@spanish} % activates the spanish version at babel otherwise english
|
|
%2.2.2 Colors
|
|
\RequirePackage{xcolor}
|
|
\definecolor{c1}{rgb}{0,0,1} % blue
|
|
\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}
|
|
%2.3 Page settings:
|
|
\RequirePackage[left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry}
|
|
%2.4 Macros and Commands:
|
|
%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
|
|
\ProcessOptions\relax
|
|
% 3.2 PassOptionsToPackage
|
|
%if sintax: \ifthenelse{⟨test⟩}{⟨then clause⟩}{⟨else clause⟩}
|
|
% 3.2.1 drafting
|
|
% 3.2.2 babel
|
|
\ifthenelse{\boolean{@spanish}}%test
|
|
{ %then clause
|
|
\@ifpackageloaded{babel}
|
|
{\relax}{\RequirePackage[spanish]{babel}}%
|
|
}
|
|
{\relax}% else clause
|
|
%************************************
|
|
% 4 Declarations:
|
|
%-------------------------------------
|
|
|
|
|
|
%4.0 chapter
|
|
\renewcommand{\thechapter}{\Roman{chapter}} %Roman enumeration
|
|
\titleformat{\chapter}[display]%shape
|
|
%{\bfseries\Huge\scshape}%Format applyed to the title
|
|
{\Huge\filleft\sc}%Format applyed to the title
|
|
{\filleft\sc{\chaptertitlename} \thechapter}%Label text and format
|
|
{4ex}%Separation between Label and Title
|
|
{}%Before code
|
|
[\vspace{2ex}
|
|
\titlerule]%After code
|
|
%
|
|
|
|
%4.1 section
|
|
\titleformat{\section} % Customise the \section command
|
|
{\Large\scshape\raggedright} % Make the \section headers large (\Large),
|
|
% small capitals (\scshape) and left aligned (\raggedright)
|
|
{}{0em} % Can be used to give a prefix to all sections, like 'Section ...'
|
|
{} % Can be used to insert code before the heading
|
|
[\titlerule] % Inserts a horizontal line after the heading
|
|
%4.2 subsection
|
|
\titleformat{\subsection}
|
|
{\large\scshape\raggedright}
|
|
{}{0em}
|
|
{}
|
|
|
|
|