This respository is a sample project of a Thesis using the itmorelia-thesis-class
with LaTeX. If you want know what sections should be included and its content visit the Wiki of this repository.
Below you can see the repository's contents. The repository is made of 27 files and 2 folders. The folder Chapters
includes each .tex
file that will be included in your thesis; later you will learn how to included. On the other hand, the folder FrontBackMatter
includes .tex
files related with common chapters/section required in the thesis layout: Titlepage, Abstract, Colophon, Dedication, Glossary, and others; you can include as much as you need.
In the root
path, there are files related with the organization and the structure of the Thesis (the thesisStructure.tex
and precontent.tex
files). Also, in root
is included the main file that gives the special format to the document (itmthesis.cls
), and finally the Reference.bib
file to include a bibliography to your work.
.
├── Chapters
│ ├── A01.tex
│ ├── Chapter01.tex
│ ├── Chapter02.tex
│ └── Chapter0A.tex
├── configuration.tex
├── FrontBackMatter
│ ├── Abstract.tex
│ ├── Bibliography.tex
│ ├── Colophon.tex
│ ├── Contents.tex
│ ├── Declaration.tex
│ ├── Dedication.tex
│ ├── Foreword.tex
│ ├── glossary-entries.tex
│ ├── Glossary.tex
│ ├── Resumen.tex
│ ├── Titleback.tex
│ ├── TitlepageIng.tex
│ └── TitlepageMC.tex
├── itm.jpg
├── itmthesis.cls
├── precontent.tex
├── README.md
├── Reference.bib
├── sepLogo.jpg
├── tecnmBW.png
├── thesisStructure.pdf
└── thesisStructure.tex
The main file in the project is the thesisStructure.tex
file. The file is mainly divided in five parts: 1)Configuration, 2)Front Matter, 3) Main contents, 4) References and 5)Back Matter.
The file contents is show next, a detailed explaination is presented in the next sections.
% Engineering, master and phd degree thesis format, September 2021, for the "Instituto Tecnológico de Morelia"
\documentclass[listings,drafting,spanish]{itmthesis} %itm thesis class definition
\input{configuration}% configuration & packages required
\begin{document}
\pagenumbering{roman} % Roman page numbering
\input{precontent} %Includes titlepage, dedication, Foreword, abstract, publication, acknowledgement
\include{FrontBackMatter/Contents} % Contents, list of figures/tables/listings and acronyms
\pagenumbering{arabic} % Arabic page numbering
%-=-=-=-=-=-=-=-=-=-=-=-=-
% Thesis Main Contents
\include{Chapters/Chapter01} % Chapter 1
\cleardoublepage
\include{Chapters/Chapter02} % Chapter 2
%-=-=-=-=-=-=-=-=-=-=-=-=-
% Apendix
\appendix
\include{Chapters/Chapter0A} % Appendix A
%-=-=-=-=-=-=-=-=-=-=-=-=-
% References
\cleardoublepage
\include{FrontBackMatter/Bibliography}
%-=-=-=-=-=-=-=-=-=-=-=-=-
% Back Matter
\cleardoublepage
\include{FrontBackMatter/Colophon}
\cleardoublepage
\include{FrontBackMatter/Declaration}
%-=-=-=-=-=-=-=-=-=-=-=-=-
\end{document}
The code next only refers to the configuration of the itmthesis
class:
% 1)Configuration:
\documentclass[listings,drafting,spanish]{itmthesis} %itm thesis class
\input{configuration}% configuration and packages
\input{FrontBackMatter/glossary-entries}
From here the document class, for the Protocol, is defined with \documentclass[<options>]{itmthesis}
, and this file determine the way the PDF file is generated by the options. The options defined are:
drafting
: The options prints the date of compilation at the end of each page. Suitable opton to know that the latest version is on review or writing process.listing
: The option loads thelistings
package and configures the compilation to generates a gray scale listings outputs.spanish
: The option enables the babel package to print-out the sectional units on spanish language; otherwise, english will be used.
Then, \input
command is used to include files with LaTeX
commands. Specifically, the configuration
file includes all the required packages and its configuration, variable(title, author, university, and so on), and command definitions. The complete code is shown next and sectioned on: 1)Listing configuration, 2)Command and Variable definitions, 3)Short descriptions on Math, 4)Packages, and 5)Text space configuration(indent, interline space, and paragraph space); however, the sections that user should modify are only 2), 4) and 5).
%!TeX root=./thesisStructure.tex
%Add here the packages, variables, definitions, environments and specific elements created only for your thesis
% 1 Code listing setup
%------------------
\RequirePackage{listings}
\RequirePackage{xcolor}
\definecolor{gray97}{gray}{0.97}
\definecolor{gray45}{gray}{0.45}
\newcaptionname{spanish}{\lstlistlistingname}{Sección de Códigos}
\renewcommand{\lstlistingname}{Código}
\renewcommand{\lstlistlistingname}{Códigos}
\lstset{ frame=Ltb,
framerule=0pt,
aboveskip=0.2cm,
framextopmargin=3pt,
framexbottommargin=3pt,
framexleftmargin=0.4cm,
framesep=0pt,
rulesep=.4pt,
backgroundcolor=\color{gray97},
rulesepcolor=\color{black},
%
stringstyle=\ttfamily,
showstringspaces = false,
%basicstyle=\small\ttfamily,
%basicstyle=\small,
commentstyle=\color{gray45}\ttfamily,
keywordstyle=\bfseries,
%
numbers=left,
numbersep=15pt,
numberstyle=\tiny,
numberfirstline = false,
breaklines=true,
}
% 2 Commands and variables
% 2.1 Thesis's title page config
%------------------
\newcommand{\myTitle}{Un Título de la Tesis no Muy Complicado y Largo Pero Capaz de Definir Concretamente}
\newcommand{\mySubtitle}{Caso de Estudio a Nivel Maestría}
\newcommand{\myDegree}{Maestría en Ciencias en Ingeniería Electrónica}
% 2.2 Autores:
\newcommand{\myName}{Gerardo Marx Chávez-Campos}
\newcommand{\myNumber}{D01120294}
%\newcommand{\myPartner}{Otro autor}
%----------------
% 2.3 Mesa de revisión
%Director:
\newcommand{\myProf}{Homer Simpson}
%Codirector:
\newcommand{\myOtherProf}{James Clerk Maxwell \xspace}
%Revisor 1:
\newcommand{\mySupervisor}{Piere Simon Laplace\xspace}
%Revisor 2:
\newcommand{\myOtherSupervisor}{Jean-Baptiste Joseph Fourier\xspace}
%--------------
% 2.4 Datos del instituto:
\newcommand{\myFaculty}{Maestría en Ingeniería Electrónica}
\newcommand{\myDepartment}{División de Estudios de Posgrado e Investigación}
\newcommand{\myUni}{Instituto Tecnológico de Morelia}
\newcommand{\myLocation}{Morelia, Michoacán, México}
\newcommand{\myTime}{Abril 2021}
\newcommand{\myThesisVersion}{Rev 2.0}
%---------------------
% 3 USEFUL COMMANDS
%---------------------
\newcommand{\ie}{i.\,e.}
\newcommand{\Ie}{I.\,e.}
\newcommand{\eg}{e.\,g.}
\newcommand{\Eg}{E.\,g.}
%-------------------------
% 4. Required packages for
% figures, plots, subfigures
%-------------------------
\usepackage{float}
\usepackage{subfigure}
\usepackage{tikz}
\usepackage{booktabs} %Beautiful tables
\usepackage{todonotes} %Todo list for comments
\usepackage[version-1-compatibility]{siunitx} %easy writting of SI units
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\decimalpoint %Decimal point enable
\usepackage[acronym]{glossaries}
%-------------------------
% 5. setting space for indentation
% space between paragraphs and
% baseline.
% Uncomment to set parameters
%-------------------------
% \setlength{\parindent}{4em}
\setlength{\parskip}{1em}
%\renewcommand{\baselinestretch}{2.0} % Interlineado
Thus, if you require to change the thesis' title modify \myTitle
definition on section 2.1. If you need to change your data as an author modify \myname
on section 2.2, and the same foe the other options as the reviewing group (2.3), and institution (2.4).
On the other hand, if you want to add new packages to your Protocol, you can added on the main file; the thesisStructure.tex
file. However, to maintain a clean code you should add on the configuration
file, specifically on section 4.
Finally to set specific values of separation for tabulation, paragraphs or text separation between text(interline), please modify section 5. Here you can use several measurement units as em
, cm
, in
or lines 2
(just a number). E.g:
\setlength{\parindent}{4em}
\setlength{\parskip}{1cm}
\renewcommand{\baselinestretch}{2.0} % Interlineado
This file includes each entry for acronyms and glossary entries, the syntax of each entry is shown below:
\makeglossaries
\newglossaryentry{latex}
{
name=latex,
description={Es un lenguaje de marcado o sintaxis especialmente diseñado para documentos científicos}
}
\newglossaryentry{maths}{
name=matemáticas,
description={Las matemáticas son sólo una aproximación a la realidad de la vida}}
\newglossaryentry{formula}{
name=formula,
description={A mathematical expression}}
\newacronym{ecm}{ECM}{Error Cuadrático Medio}
\newacronym{ls}{LS}{Mínimos Cuadrados, \textit{Least Squares}}
To learn how to call an entry on the code, see the code on Cahpter02.tex
.
Explain this:
% 2)Front Matter:
\pagenumbering{roman} % Roman page numbering
\input{precontent} %Includes titlepage, dedication, Foreword, abstract, publication, acknowledgement
\include{FrontBackMatter/Contents} % Contents, list of figures/tables/listings and acronyms
\pagenumbering{arabic} % Arabic page numbering