%% LaTeX2e template for FEUP's PEV & other internshis
%%
%% FEUP, JCL, Thu Dec 14 15:23:03 2023
%%
%% PLEASE send improvements to jlopes at fe.up.pt (up till 2028 :-)
%% v2025:
%% - added support for SI Unit rules and style conventions
%% - added acronyms using the corresponding package
\documentclass[11pt,a4paper]{report}
%%------------------------------- preamble ------------------------------------
%% comment next for EN
\usepackage[portuges]{babel} % language PT
\usepackage[utf8]{inputenc} % accents
\usepackage[T1]{fontenc} % PS fonts
\usepackage{newtxtext,newtxmath} % do not use CM fonts
\usepackage{amsmath} % multi-line and other mathematical statements
\usepackage{setspace} % setting the spacing between lines
\usepackage{graphicx} % go far beyond what the graphics package
\usepackage[normalem]{ulem} % various types of underlining
\usepackage{caption} % rotating captions, sideways captions, etc.
\usepackage{float} % tables and figures in the multi-column environment
\usepackage{subcaption} % for subfigures and the like
\usepackage{longtable} % tables that continue to the next page
\usepackage{multirow} % tabular cells spanning multiple rows
\usepackage{booktabs} % to create professional-quality tables
\usepackage[table]{xcolor} % driver-independent color extensions
\usepackage{xurl} % URL-sensitive line breaks
\usepackage{lipsum} % loren dummy text
\setlength{\marginparwidth}{2cm} % todonotes' requirements
\usepackage{todonotes} % todo's
\usepackage{csquotes} % context sensitive quotation facilities
\usepackage[backend=biber,authordate]{biblatex-chicago} % Chicago Manual of Style
\usepackage{pgfgantt} % Gantt charts
\usepackage[printonlyused]{acronym} % for acronyms
\usepackage{eurosym} % for the Euro currency symbol
\usepackage{siunitx} % for SI Unit rules and style conventions
% \sisetup{
% group-separator = {\,}, % a thin space
% group-minimum-digits = 4 % enable grouping for numbers ≥ 1000
% }
\DeclareSIUnit{\eurocurrency}{\text{\euro}} % for the Euro symbol in siunitex
%% document dimensions
\usepackage[a4paper,left=25mm,right=25mm,top=25mm,bottom=25mm,headheight=6mm,footskip=12mm]{geometry}
\setlength{\parindent}{0em}
\setlength{\parskip}{1ex}
%% headers & footers
\usepackage{lastpage}
\usepackage{fancyhdr}
\fancyhf{} % clear off all default fancyhdr headers and footers
\rhead{\small{\emph{\projtitle, \projauthor}}}
\rfoot{\small{\thepage\ / \pageref{LastPage}}}
\pagestyle{fancy} % apply the fancy header style
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
%% colors
\usepackage{color}
\definecolor{engineering}{rgb}{0.549, 0.176, 0.098}
\definecolor{cloudwhite}{cmyk}{0,0,0,0.025}
%% source-code listings
\usepackage{listings}
\lstset{ %
language=C, % choose the language of the code
basicstyle=\footnotesize\ttfamily,
keywordstyle=\bfseries,
numbers=left, % where to put the line-numbers
numberstyle=\scriptsize\texttt, % the size of the fonts that are used for the line-numbers
stepnumber=1, % the step between two line-numbers. If it's 1 each line will be numbered
numbersep=8pt, % how far the line-numbers are from the code
frame=tb,
float=htb,
aboveskip=8mm,
belowskip=4mm,
backgroundcolor=\color{cloudwhite},
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
showtabs=false, % show tabs within strings adding particular underscores
tabsize=2, % sets default tabsize to 2 spaces
captionpos=t, % sets the caption-position to top
belowcaptionskip=12pt, % space between caption and listing
breaklines=true, % sets automatic line breaking
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)}, % if you want to add a comment within your code
morekeywords={*,var,template,new} % if you want to add more keywords to the set
}
%% hyperreferences (HREF, URL)
\usepackage{hyperref}
\hypersetup{
plainpages=false,
pdfpagelayout=SinglePage,
bookmarksopen=false,
bookmarksnumbered=true,
breaklinks=true,
linktocpage,
colorlinks=true,
linkcolor=engineering,
urlcolor=engineering,
filecolor=engineering,
citecolor=engineering,
allcolors=engineering
}
%% path to the figures directory
\graphicspath{{figures/}}
%% bibliography file, must be in preamble
\addbibresource{bibliography.bib}
%% macros, to be updated as needed
\newcommand{\school}{Faculdade de Engenharia da Universidade do Porto}
\newcommand{\degree}{Licenciatura em Engenharia Informática e Computação}
\newcommand{\projtitle}{Título do Trabalho}
\newcommand{\company}{Nome da Empresa}
\newcommand{\projauthor}{Nome do Autor}
\newcommand{\supervisor}{Nome do Supervisor}
\newcommand{\tutor}{Prof.\ João Correia Lopes}
%% my other macros, if needed
\newcommand{\windspt}{\textsf{WindsPT\/}}
\newcommand{\windscannerpt}{\emph{Windscanner.PT\/}}
\newcommand{\class}[1]{{\normalfont\sffamily #1\/}}
\newcommand{\svg}{\class{SVG}}
%% my environments for infos
\newenvironment{info}[1]{\vspace*{6mm}\color{blue}[ \textbf{INFO:} \begin{em} #1}{\vspace*{3mm}\end{em} ]}
\newenvironment{infoopt}[1]{\vspace*{6mm}\color{blue}[ \textbf{INFO (elemento opcional):} \begin{em} #1}{\vspace*{3mm}\end{em} ]}
%%------------------------------- document-------------------------------------
\begin{document}
%% preamble page numbers with roman numerals
\pagenumbering{roman}\setcounter{page}{1}
%%------------------------------- cover page ----------------------------------
\begin{titlepage}
\center
\vspace{-15mm}
{\Large \textbf{\textsc{\school}}}\\
\vfill
{\Large \textbf{\projtitle}}\\[8mm]
{\large \textbf{\company}}\\[28mm]
{\Large \textbf{\projauthor}}\\
\vfill
\includegraphics[width=52mm]{uporto-feup.pdf}
\vfill
{\large \textbf{\degree}}\\[8mm]
{\large \textbf{Supervisor}: \supervisor}\\[2mm]
{\large \textbf{Tutor}: \tutor}\\[8mm]
\vspace{12mm}
%\renewcommand{\today}{15 de dezembro de 2023}
\today
\end{titlepage}
%%------------------------------- Abstract ------------------------------------
\chapter*{Resumo}
\begin{info}
O resumo tem um caráter essencialmente informativo, devendo ser
escrito de forma concisa (até 200 palavras) de maneira a captar o
interesse de quem o vai ler.
O Resumo substitui a leitura do documento e não contem figuras,
tabelas, citações, etc.\
Deve incluir os seguintes tópicos: âmbito, objetivos, os métodos, as
principais descobertas, incluindo resultados, conclusões e
recomendações, se existirem.
Para saber mais sobre como redigir um bom resumo consulte o tutorial
online disponível no website na Biblioteca, ``Guia de Apoio à
Publicação'', secção:
``\href{https://docs.google.com/document/d/1TDC1behVq8x7fQL4CcPEEh_np5GXviJevQxnQ9gbiJs/edit\#heading=h.s4z9k57ywd9w}
{Estruturar Relatório Técnico}''.
\end{info}
\todo[inline]{Escrever o Resumo, mas só no fim.}
%\vspace{\fill}
%{\Large \textbf{Palavras-chave}:} Palavra1, Palavra2, Palavra3, Palavra4
%\vspace*{24mm}
\acresetall %% to reset the acronym usage
%%------------------------------- Acknowledgments -----------------------------
\chapter*{Agradecimentos}
\begin{infoopt}
Habitualmente é mencionada a contribuição de outras pessoas ou
entidades, tanto para a realização do estudo como para a produção do
relatório.
Podem fazer-se numa página autónoma ou incluir-se na introdução.
\end{infoopt}
%%------------------------------- table of contents ---------------------------
%% redefine tableofcontents text, ONLY for PT
\renewcommand{\contentsname}{Índice}
\tableofcontents
%%------------------------------- list of todos -------------------------------
% list todos; comment in the end (should be empty before delivery :-)
\listoftodos
\begin{infoopt}
Podem ser colocadas anotações durante a preparação do documento, que
são listadas aqui.
Este elemento não aparece no documento final!
\end{infoopt}
%%------------------------------- list of figures -----------------------------
\listoffigures
%\addcontentsline{toc}{chapter}{Lista de figuras}
\begin{infoopt}
Justifica-se quando é necessário apresentar elementos complementares à
compreensão do texto (fotografias, tabelas, gráficos, etc.), que devem
ser previamente identificados sob a forma de listas, com as respetivas
legendas e páginas de início.
\end{infoopt}
%%------------------------------- list of tables ------------------------------
\listoftables
%\addcontentsline{toc}{chapter}{Lista de tabelas}
\begin{infoopt}
Justifica-se quando é necessário apresentar, na forma tabular,
elementos complementares à compreensão do texto.
\end{infoopt}
%%------------------------------- Acronyms ------------------------------------
\chapter*{Lista de acrónimos}
%\addcontentsline{toc}{chapter}{Lista de acrónimos}
%% sort acronym entries manualy yourself
%% only the acronyms used in the text will be printed
\begin{acronym}[123456] % The longest acronym goes here (for alignment)
\acro{API}{\textit{Application Programming Interface}}
\acro{ASCII}{American Standard Code for Information Interchange}
\acro{GPU}{\textit{Graphics Processing Unit}}
\acro{FEUP}{Faculdade de Engenharia da Universidade do Porto}
\acro{IA}{Inteligência Artificial}
\acro{ML}{\textit{Machine Learning}}
\acro{PLN}{Processamento de Linguagem Natural}
\acro{WWW}{World Wide Web}
\end{acronym}
\begin{infoopt}
Justifica-se se estes elementos (acrónimos, unidades, símbolos)
ocorrerem com grande frequência no relatório.
Quando ocorrerem pela primeira vez no texto deve apresentar-se a
respetiva definição.
Por exemplo: Application Programming Interface (ADT) é uma \ldots
A lista de itens deve ser ordenada alfabeticamente.
\end{infoopt}
%%------------------------------- Glossary ------------------------------------
\chapter*{Glossário}
%\addcontentsline{toc}{chapter}{Glossário}
\begin{description}
\item[bash] \hfill \\
Bash é uma \emph{shell Unix} e uma linguagem de comando escrita
em 1989 por Brian Fox para o Projeto GNU como um substituto de
software livre para a \emph{Bourne shell}.
\item[firewall] \hfill \\
Em computação, uma \emph{firewall} é um sistema de segurança de rede
que monitoriza e controla o tráfego de entrada e saída da rede
com base em regras de segurança predeterminadas.
Uma \emph{firewall} normalmente estabelece uma barreira entre uma
rede confiável e uma rede não confiável, como a Internet.
\item[Glossário] \hfill \\
Glossário é uma espécie de pequeno dicionário específico para
palavras e expressões pouco conhecidas presentes num texto, seja
por serem de natureza técnica, regional ou de outro idioma.
\end{description}
\begin{infoopt}
Justifica-se sempre que seja necessário esclarecer o leitor sobre o
significado de terminologia específica usada no texto no relatório.
Recomenda-se a sua localização nos elementos iniciais, embora na
normalização existente haja variantes, podendo também constar nos
elementos finais.
A lista de itens deve ser ordenada alfabeticamente\footnote{%
Para saber mais consulte o tutorial online
``\href{https://docs.google.com/document/d/1TDC1behVq8x7fQL4CcPEEh_np5GXviJevQxnQ9gbiJs/edit}
{Guia de Apoio à Publicação}''.}.
\end{infoopt}
%%------------------------------- chapter ------------------------------------
\chapter{Introdução}
%% display headers & footers
\pagestyle{fancy}
%% main page numbers with arabic numerals
\pagenumbering{arabic}\setcounter{page}{1}
\begin{info}
Contextualização sucinta do assunto do relatório, fazendo-se
referência ao âmbito e aos objetivos.
Aqui clarifica-se a motivação do trabalho apresentado e explica-se a
abordagem adotada e a sua relação com trabalhos análogos, numa
perspetiva genérica.
Não se deve antecipar detalhes sobre o que é explicado nas secções
posteriores.
Se for pertinente, pode-se indicar ainda qual o público a que se
destina.
Para saber mais consulte o tutorial online
``\href{https://docs.google.com/document/d/1TDC1behVq8x7fQL4CcPEEh_np5GXviJevQxnQ9gbiJs/edit}
{Guia de Apoio à Publicação}''.
\end{info}
\section{Contexto}
\begin{info}
Apresentar o contexto organizacional em que decorreu o projeto/estágio (empresa).
\end{info}
\section{Problema}
\begin{info}
Apresentar o problema abordado e a motivação para o trabalho
realizado (qual é o problema abordado e porque é que é importante).
\end{info}
\section{Objetivos e Resultados}
\begin{info}
Indicar os objetivos do trabalho e os resultados esperados.
\end{info}
\section{Estrutura do relatório}
\begin{info}
Descrever brevemente a estrutura do relatório.
Será expectável que o relatório tenha entre 10 a 25 páginas (em formato A4, coluna única, com um tamanho de letra não excedendo os 12pt no texto de parágrafo), já contando com anexos.
\end{info}
Para além da introdução, este relatório está organizado em mais 4 capítulos.
No Capítulo~\ref{chap:metodo} \ldots
%%------------------------------- DELETEME ------------------------------------
\newpage % don't do this
\include{examples}
%%------------------------------- chapter ------------------------------------
\chapter{Metodologia} \label{chap:metodo}
Neste capítulo é descrita a metodologia seguida, são enumerados os
principais intervenientes no projeto e é feito o registo das
principais atividades desenvolvidas.
\section{Metodologia utilizada}
\begin{info}
Descrever a metodologia seguida (exemplo: desenvolvimento iterativo
com \emph{sprints} quinzenais e reuniões semanais de acompanhamento) e
recursos utilizados (exemplo: GitHub, etc.).
\end{info}
\section{Intervenientes, papéis e responsabilidades}
\begin{info}
Identificar a equipa de projeto, \emph{stakeholders} e outros
intervenientes com os quais existiu interação; no caso de trabalho em
grupo, clarificar os papéis e responsabilidades de cada elemento do grupo.
\end{info}
\section{Atividades desenvolvidas}
\begin{info}
Descrever as atividades realizadas ao longo do tempo (incluindo
eventos relevantes, como apresentações, reuniões com clientes, etc.)
e entregas efetuadas (\emph{deliverables}), recorrendo tipicamente a
um diagrama de Gantt e a uma descrição sumária de cada
atividade/entregável.
Pode ser apresentado também através de tabela com progresso semanal.
\end{info}
%%------------------------------- chapter ------------------------------------
\chapter{Desenvolvimento da solução}
Neste capítulo é descrito o trabalho desenvolvido para alcançar os
resultados esperados.
Se for o caso de um protótipo de software, são apresentados os
requisitos, a arquitetura da solução, o desenvolvimento e a validação
do protótipo.
\section{Requisitos}
\begin{info}
Requisitos e restrições: identificar os requisitos funcionais e não
funcionais relevantes e respetivas fontes, bem como restrições ao projeto.
\end{info}
\section{Arquitetura e tecnologias}
\begin{info}
Arquitetura e tecnologias (ou Conceção e Implementação): arquitetura e
tecnologias utilizadas e respetiva justificação (tendo em conta
requisitos e alternativas existentes), diagramas técnicos elaborados,
dificuldades técnicas encontradas e sua resolução, etc.
\end{info}
\section{Solução desenvolvida}
\begin{info}
Solução desenvolvida: apresentar a solução desenvolvida na ótica do
utilizador, com ajuda de \emph{screenshots}, seguindo um fluxo lógico
de utilização com dados realistas.
\end{info}
\section{Validação}
\begin{info}
Validação: descrever as ações realizadas para validar a solução
desenvolvida, em relação aos requisitos e restrições identificados, e
respectivos resultados (por exemplo, resultados de avaliação
experimental, testes efetuados, \emph{feedback} de utilizadores ou
especialistas, etc.).
\end{info}
%%------------------------------- chapter ------------------------------------
\chapter{Conclusões}
Neste capítulo são sumariados os resultados alcançados e as lições
aprendidas.
Finalmente, são apresentadas as limitações do trabalho e são propostas
melhorias e trabalho futuro.
\section{Resultados alcançados}
\begin{info}
Sumariar os resultados alcançados e as contribuições (em
relação aos objetivos do trabalho).
No caso de trabalho em grupo, clarificar as contribuições individuais,
em termos qualitativos e quantitativos (percentagem).
\end{info}
\lipsum[11]
\section{Lições aprendidas}
\begin{info}
Refletir sobre as lições aprendidas (tendo em conta os objetivos de aprendizagem).
\end{info}
\lipsum[12]
\section{Trabalho futuro}
\begin{info}
Identificar limitações do trabalho realizado e ideias de melhorias e trabalho futuro.
\end{info}
%%------------------------------- Bibliography --------------------------------
\renewcommand{\bibname}{Referências bibliográficas}
\printbibliography
\addcontentsline{toc}{chapter}{\refname} % add it to table of contents
\begin{info}
Na lista final de referências devem constar os trabalhos dos autores
citados de forma abreviada ao longo do texto, obtida automaticamente
com o \class{BibLaTeX}\footnote{\url{https://www.overleaf.com/learn/latex/Bibliography_management_in_LaTeX}}.
A referência bibliográfica é a forma mais desenvolvida de indicar as
fontes de informação em que se baseou.
\end{info}
%%------------------------------- appendix ------------------------------------
\appendix
\chapter{Um Apêndice}
\begin{infoopt}
Os apêndices e os anexos contêm informação que complementa, apoia e
clarifica o relatório e cuja inclusão no corpo principal do relatório
interferiria com uma boa ordem de apresentação das ideias.
Há uma diferença importante entre apêndices e anexos: ``No apêndice
compilam-se apenas os documentos que são da autoria do autor do
relatório, enquanto no anexo se compilam os documentos de autoria de
outros autores que não o do relatório.''\footnote{%
Para saber mais consulte o tutorial online
``\href{https://docs.google.com/document/d/1TDC1behVq8x7fQL4CcPEEh_np5GXviJevQxnQ9gbiJs/edit}
{Guia de Apoio à Publicação}''.}
\end{infoopt}
%%------------------------------- the end. ------------------------------------
\end{document}