\def\mytitle{Relatório de Aula Prática -- Título da Prática}
\def\mykeywords{}
\def\myauthor{Nome Aluno}
\def\contact{nome.aluno@gmail.com}
\def\mymodule{Redes de Computadores}
% #######################################
% #### YOU DON'T NEED TO TOUCH BELOW ####
% #######################################
\documentclass[10pt, a4paper]{article}
\usepackage[a4paper,outer=1.5cm,inner=1.5cm,top=1.75cm,bottom=1.5cm]{geometry}
% single or double column
% \twocolumn
\usepackage{graphicx}
\graphicspath{{./images/}}
%colour our links, remove weird boxes
\usepackage[colorlinks,linkcolor={black},citecolor={blue!80!black},urlcolor={blue!80!black}]{hyperref}
%Stop indentation on new paragraphs
\usepackage[parfill]{parskip}
%% Arial-like font
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
%Napier logo top right
\usepackage{watermark}
%Lorem Ipusm dolor please don't leave any in you final report ;)
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{listings}
%give us the Capital H that we all know and love
\usepackage{float}
%tone down the line spacing after section titles
\usepackage{titlesec}
%Cool maths printing
\usepackage{amsmath}
%PseudoCode
\usepackage{algorithm2e}
\usepackage[portuguese]{babel}
\titlespacing{\subsection}{0pt}{\parskip}{-3pt}
\titlespacing{\subsubsection}{0pt}{\parskip}{-\parskip}
\titlespacing{\paragraph}{0pt}{\parskip}{\parskip}
\newcommand{\figuremacro}[5]{
    \begin{figure}[#1]
        \centering
        \includegraphics[width=#5\columnwidth]{#2}
        \caption[#3]{\textbf{#3}#4}
        \label{fig:#2}
    \end{figure}
}
\lstset{
	escapeinside={/*@}{@*/}, language=C++,
	basicstyle=\fontsize{8.5}{12}\selectfont,
	numbers=left,numbersep=2pt,xleftmargin=2pt,frame=tb,
    columns=fullflexible,showstringspaces=false,tabsize=4,
    keepspaces=true,showtabs=false,showspaces=false,
    backgroundcolor=\color{white}, morekeywords={inline,public,
    class,private,protected,struct},captionpos=t,lineskip=-0.4em,
	aboveskip=10pt, extendedchars=true, breaklines=true,
	prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
	keywordstyle=\color[rgb]{0,0,1},
	commentstyle=\color[rgb]{0.133,0.545,0.133},
	stringstyle=\color[rgb]{0.627,0.126,0.941}
}
\thiswatermark{\centering \put(217,-47){\includegraphics[scale=0.048]{logo}} }
\title{\mytitle}
\author{\myauthor\hspace{1em}\\\contact\\Centro de Ciências Exatas e Tecnológicas -- Colegiado de Ciência da Computação\hspace{0.5em}\\\hspace{0.5em}\mymodule}
\date{}
\hypersetup{pdfauthor=\myauthor,pdftitle=\mytitle,pdfkeywords=\mykeywords}
\sloppy
% #######################################
% ########### START FROM HERE ###########
% #######################################
\begin{document}
	\maketitle
	\begin{abstract}
        Duas ou três sentenças que sumarizem o experimento. Não há necessidade de se aprofundar. 
	\end{abstract}
    
	\textbf{Palavras-Chave -- Opcionais}{\mykeywords}
	\section{Introdução}
    \paragraph{Resumo teórico do assunto} sobre o qual se realizou a experiência, com referências bibliográficas.
    
	\section{Objetivos}
    \paragraph{Descrever o objetivo da prática} realizada de forma clara e sucinta.
    \section{Material Utilizado}
    \paragraph{Elaboração de uma lista de materiais utilizados} no experimento, incluindo configuração do computador (memória, CPU, disco, etc.), rede utilizada (se necessário), versão do Sistema Operacional e demais ferramentas utilizadas.
    
    \section{Metodologia}
    \paragraph{Descrever detalhadamente os procedimentos e etapas} da experiência. Este item deve conter elementos suficientes para que qualquer pessoa possa ler e reproduzir seu experimento.
    \section{Resultados e Discussão}
    \paragraph{Apresentar, em ordem cronológica e lógica, os resultados}, assim como analisá-los com as observações e comentários pertinentes. 
    \section{Conclusões}
    \paragraph{A partir das relações entre a parte teórica e as atividades feitas no laboratório, conclua o experimento realizado}, de forma concisa, procurando observar a idéia principal do experimento.
    
    \section{Recursos}
    
    \paragraph{Referências}
    Referências deverão ser citadas da seguinte maneira: \cite{kurose_ross_2022}. Modelos de referencias para livros \cite{kurose_ross_2022}, \textit{RFCs} \cite{RFC0791} e manuais de softwares \cite{ping} estão no arquivo \texttt{references.bib}. Essas Referências serão adicionadas no final do relatório como bibliografia a medida que forem utilizadas. O site \url{https://notesofaprogrammer.blogspot.com/2014/11/bibtex-entries-for-ietf-rfcs-and.html} é ótimo para gerar entradas BibTeX para \textit{RFCs} específicas. Consulte também \url{https://tex.stackexchange.com/questions/59284/citing-rfcs-with-biblatex/161413#161413} e \url{https://latex-tutorial.com/tutorials/bibtex/}
    
    \paragraph{Imagens} deverão sempre ser referenciadas e contextualizadas no texto, ou seja, imagens não deverão estar ``flutuando'' no documento. A referencia deverá ser feita dessa forma: Figura \ref{fig:arquivoexemplo}, junto com a contextualização.
    \paragraph{Tabelas} são facilmente criadas utilizando a ferramenta \url{https://www.tablesgenerator.com/latex_tables}. Elas compartilham as mesmas regras das imagens, são referênciadas por Tabela \ref{tab:tabela}, junto de algum contexto.
    \begin{table}[!htb]
\centering
\begin{tabular}{ccccc}
\hline
\textit{\textbf{col1}} & \textit{\textbf{col2}} & \textit{\textbf{col3}} & \textit{\textbf{col4}} & \textit{\textbf{col5}} \\ \hline
\textit{x}             & \textit{x}             & \textit{x}             & \textit{x}             & \textit{x}             \\
\textit{x}             & \textit{x}             & \textit{x}             & \textit{x}             & \textit{x}             \\
\textit{x}             & \textit{x}             & \textit{x}             & \textit{x}             & \textit{x}             \\ \hline
\end{tabular}
\caption{Contexto da Tabela}
\label{tab:tabela}
\end{table}
    
    \figuremacro{!htb}{arquivoexemplo}{Nome da imagem}{ - Contexto dessa imagem}{1.0}
	
    \paragraph{Algumas formatações} comuns são: \textbf{negrito}, \textit{itálico}, \textbf{underline} e \texttt{Texto para comandos}. Outras formatações do Latex são possíveis também, como o Math Mode inline $x += 1$.
    \paragraph{Podemos fazer quebras de linha} dupla simplesmente
    pulando uma linha no fonte, ou com o comando \\ que faz a mesma coisa, porém com somente uma linha.
    
    \paragraph{Expressões matemáticas} são facilmente inseridas da seguinte maneira:
    
    {\centering \Large \(
        J = \begin{bmatrix}
            \frac{\delta e}{\delta \theta _0}
            \frac{\delta e}{\delta \theta _1}
            \frac{\delta e}{\delta \theta _2}
        \end{bmatrix}
        = e_{current} - e_{target} 
    \)\par}
	
	\subsection{Code Listing}
    Trechos de códigos são inseridos com o comando \texttt{lstlisting}. As mesmas regras de imagens se aplicam à códigos.
    Pode ser inserido de um arquivo:
    \lstinputlisting[]{./codes/hw.cpp}
    Ou diretamente no documento:
    
\begin{lstlisting}[caption = Hello World! in c++]
#include <iostream>
int main() {
    std::cout << "Hello World!" << std::endl;
    std::cin.get();
    return 0;
}
\end{lstlisting}
    
\paragraph{Pseudo código} é idêntico à códigos em linguagens específicas, porém utilizamos o pacote \texttt{algorithm}:
\begin{algorithm}[!htb]
\For{$i = 0$ \KwTo $100$}{
 print\_number = true\;
\If{i is divisible by 3}{
 print "Fizz"\;
 print\_number = false\;
}
\If{i is divisible by 5}{
 print "Buzz"\;
 print\_number = false\;
}
\If{print\_number}{
    print i\;
}
print a newline\;
}
\caption{FizzBuzz}
\end{algorithm}
	
\bibliographystyle{ieeetr}
\bibliography{references}
		
\end{document}