ITM-Thesis Class Repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 

99 lines
3.1 KiB

%************************************
%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}
{}