Coder Social home page Coder Social logo

gmarxcc / the-itmorelia-thesis-class Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 535 KB

A LaTeX class to write your Master degree proposal. The class is developed for the "Instituto Tecnológico de Morelia" and the course of "Seminario de Investigación 1"

Home Page: https://gmarx.itmorelia.com/lectures/rs101

TeX 100.00%
dci itmorelia latex-template research mcie

the-itmorelia-thesis-class's Introduction

The ITMorelia Thesis Class

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.

Repository structure

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 thesisStructure.tex file

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}

1) Configuration section

Class' options

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 the listings 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.

configuration.tex file

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

glossary-entries.tex file

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.

2) Front Matter

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

Chapters

Apendix

including images

The configuration file

Defined variables

Titlepage

Glossary

References

the-itmorelia-thesis-class's People

Contributors

gmarxcc avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

fanyuqing111

the-itmorelia-thesis-class's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.