Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 4.56 KB

README.md

File metadata and controls

62 lines (42 loc) · 4.56 KB

Developing a Network Virtualization Framework for Testing Network Resilience Techniques

This repository contains my Undergraduate Thesis for the Telematics Engineering degree offered by the University of Alcalá (UAH). Both the initial proposal and the final document can be queried and or downloaded. This project has been written in LaTeX, and so it requires a bit of setup to generate a PDF document from the "sources".

Setting Up LaTeX

Linux Distros

Debian-based Distros

Installing the texlive-full package should provide all the necessary tools needed to compile the project. This can be achieved with the following on Debian-based distributions such as Ubuntu:

sudo apt update && sudo apt install texlive-full

We have provided a Makefile that automatically builds the document. This file is to be rad by make, which usually comes bundled with the operating system. If it is not present, the following should make them available on Debian-based distributions:

sudo apt update && sudo apt install build-essential

Other Distros

The idea set forth before is the same for other distributions: you need to acquire a copy of TexLive and, if you want to leverage the existing Makefiles, the make utility. The commands specific to your system will be pretty much the same except for the package manager, that could be pacman, dnf for instance, and the package names. In any case, TexLive's Documentation offers better information than the one we can possibly provide.

macOS

Instead of the TexLive distribution one can leverage MacTex. From that site you can download a package that will make all the necessary LaTeX utilities available.

In order to leverage the Makefiles you will need make as well. By running the following you can acquire the Xcode Command Line Tools, which include make:

xcode-select --install

Windows

We have never used LaTeX in conjunction with Windows, so we cannot provide that much help... Check TexLive's Windows Documentation as you are bound to find useful information there.

When it comes to using make in Windows we have absolutely no idea what to do. You can check Stack Overflow for some information, but you are on your own...

Overleaf

Overlaef is a wonderful browser-based LaTeX editor that can compile documents and has no installation overhead. You can import the documents contained in this project directly into it and generate a PDF without any hassle at all. Overleaf offers free and paid plans and, to the extent of what we know, importing and compiling documents in completely free.

If using Overleaf it doesn't make that much sense to use make at all as Overleaf will handle the compilation for you.

Overleaf is a great option to get up and running fast. We nevertheless chose to set up our system to work with LaTeX because we prefer working offline and to control our projects through git. Even though Overleaf offers git integration we are not sure of whether it's a free feature and we didn't want to go through the hassle of configuring it.

What's more, Overleaf offers a tremendous amount of great documentation you can browse at their Documentation Portal.

Compiling the Document

If you chose to install LaTeX locally you can cd into the Document directory (i.e. run cd Document) and then run make to compile the entire document. Upon completion the main.pdf file is produced, which contains the document itself. If you do not want to rely on make you can also manually run the following from the Document directory:

pdflatex main.tex
bibtex main.aux
pdflatex main.pdf

Citing This Document

If you would like to cite this document and you are using LaTeX feel free to use the following bib entry:

@misc{citekey,
    title        = {Developing a Network Virtualization Framework for Testing Network Resilience Techniques},
    author       = {Pablo Collado Soto},
    url          = {https://github.com/pcolladosoto/tfg},
    publisher    = {Univerisdad de Alcalá},
    month        = {June},
    year         = 2021
}

Contact

If you have any suggestions or questions feel free to contact me at the address provided in my GitHub profile. You can also open an issue and make you query publicly visible to help others.