UFAM PPGEE Electrical Engineering dissertation and thesis (model v6)
The UFAM PPGEE LaTeX model (version 6) for master's dissertations and doctoral theses and their exam versions, derived from the COPPE class, in Portuguese.
- Category
- Thesis
- Document class
cls_bst/cls_file_ufam_v3(cls_bst/cls_file_ufam_v3.cls) — ships with TeX Live- Workflow
- Thesis / dissertation — submissions and revision rounds
- Author
- Federal University of Amazonas, Graduate Program in Electrical Engineering (PPGEE)
- Source
- Federal University of Amazonas, Graduate Program in Electrical Engineering (PPGEE)
- Licence
- No licence is stated in the files. Federal University of Amazonas, Graduate Program in Electrical Engineering (PPGEE) distributes them for authors preparing a submission.
These are the publisher’s own files. This project starts from Federal University of Amazonas, Graduate Program in Electrical Engineering (PPGEE)’s package for this publication — their manuscript, their cls_bst/cls_file_ufam_v3.cls, their bibliography style — so what compiles here is what they would have given you.
Federal University of Amazonas, Graduate Program in Electrical Engineering (PPGEE) serves this exact file to Federal University of Amazonas. Check Federal University of Amazonas, Graduate Program in Electrical Engineering (PPGEE)’s author pages for the current instructions.
Where this differs from the publisher’s download.
- Changed: capitulos/1-introdução.tex: a comment linking another online editor's help page removed (amend-r4.mjs)..
What you get
000-main.tex— the file that is compiled · 2 KBcapitulos/0-capa_n_contra.tex· 4 KBcapitulos/0-ficha-catalografica-e-folha-aprovacao.pdf· 592 KBcapitulos/0-glossary.tex· 256 Bcapitulos/1-introdução.tex· 3 KBcapitulos/2-fundamentos.tex· 237 Bcapitulos/3-metodologia.tex· 227 Bcapitulos/4-experimentos.tex· 240 Bcapitulos/5-conclusão.tex· 224 Bcapitulos/6-apendice.tex· 104 Bcls_bst/bst_ufam.bst· 23 KBcls_bst/cls_file_ufam_v3.cls· 22 KBfiguras/ufam_logo.pdf· 232 KBreferencias.bib· 2 KB
These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.
Source
000-main.tex — the file that is compiled · 2 KB
\documentclass[msc]{cls_bst/cls_file_ufam_v3}
% PARA DEFESA DE DISSERTAÇÃO DE MESTRADO USE : msc
% PARA DEFESA DE QUALIFICAÇÃO DE MESTRADO USE : mscexam
% PARA DEFESA DE TESE DE DOUTORADO USE : dsc
% PARA DEFESA DE QUALIFICAÇÃO DE DOUTORADO USE : dscexam
%% pacotes e sets
%\usepackage{lscape}
\usepackage{pdflscape}
\usepackage[english,brazil]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage{url}
\usepackage{cite}
\usepackage{epstopdf}
%\usepackage{subfigure}
\usepackage{subcaption}
\usepackage{epsfig}
\usepackage{longtable}
\usepackage{setspace}
\usepackage{rotating}
\usepackage{graphicx}
\usepackage{dsfont}
\usepackage{enumerate}
\usepackage{amsmath}
\usepackage{color}
\usepackage{bbm}
\usepackage{amssymb}
\usepackage[final]{pdfpages}
%\usepackage[number=none]{glossary}
\usepackage{glossaries}
%\usepackage[acronym]{glossaries}
\usepackage{float}
\usepackage{multirow,colortbl,array}
\usepackage{hhline}
\usepackage{makecell}
\usepackage{nomencl}
\usepackage[mathletters]{ucs}
\usepackage{comment}
\usepackage[dvipsnames]{xcolor}
\usepackage{pdfpages}
\makenomenclature
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{2} %where 3
\setcounter{chapter}{0}
\setlength{\parindent}{1.25cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LISTA DE SIGLAS
\makeglossaries
\input{capitulos/0-glossary}
\begin{document}
%\pagenumbering{Roman}
%\pagenumbering{Arabic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{capitulos/0-capa_n_contra}
\renewcommand{\glossaryname}{Lista de Siglas}
\printglossaries
\mainmatter
\input{capitulos/1-introdução}
\input{capitulos/2-fundamentos}
\input{capitulos/3-metodologia}
%\input{capitulos/4-resultados}
%\input{capitulos/5-conclusão}
%% Referencias
%\backmatter %turns off chapter numbering and doesn't fiddle with page numbering
%\nocite{*} % mostra todas as referencias disponiveis, se estiver comentado mostra apenas referências citadas ao longo do texto
\bibliographystyle{cls_bst/bst_ufam}
\bibliography{referencias}
%% apêndice
\appendix
\input{capitulos/6-apendice}
\end{document}
capitulos/0-capa_n_contra.tex · 4 KB
\title{Classificação Automática de Modulações em Receptores Ópticos Coerentes Flexíveis}
\foreigntitle{Automatic Modulation Classification in Flexible Coherent Optical Receivers}
\author{Antonio Marcos}{da Costa Pereira}
\advisor{Prof.}{Waldir Sabino}{da Silva Júnior}{D.Sc.}
\coadvisor{Prof.}{André Luiz}{Aguiar da Costa}{D.Sc.}
\socoadvisor{Prof.}{André Luiz}{Aguiar da Costa}{D.Sc.}
\examiner{Prof.}{Celso Barbosa Carvalho}{D.Sc.}
\examiner{Prof.}{Alexandre Coutinho Matheus}{D.Sc.}
\department{MEE} %nao mudar---- formato para mestrado
%\department{EE}
\date{03}{2024}
% \keyword{Classificação Automática de Modulação}
% \keyword{Comunicações Ópticas}
\maketitle
\frontmatter
%inserir linha em cima da pagina ---------
\thispagestyle{empty}
%-----------------------------------------
\dedication{Gostaria de expressar minha gratidão...}
\chapter*{Agradecimentos}
Expresso minha profunda gratidão...
\begin{abstract}
Para acompanhar o aumento na demanda por taxas de transmissão mais altas e melhorias na conectividade de internet, as pesquisas estão se concentrando em métodos eficazes para otimizar o uso de redes ópticas. Tais estudos são fundamentais para desenvolver sistemas que possam, de forma autônoma, coletar informações necessárias para ajustar os parâmetros de transmissão. Isso inclui escolher as modulações adequadas para o meio de comunicação, decidir entre uma transmissão em mono portadora ou múltiplas portadoras, e selecionar os algoritmos mais eficientes para regenerar e corrigir os sinais. Essas abordagens permitem que as redes se ajustem automaticamente para maximizar o desempenho e a eficiência sem intervenção humana direta. Neste contexto, esta dissertação investiga como as técnicas de aprendizado de máquina podem ser aplicadas para automatizar a configuração de parâmetros em sistemas de comunicação óptica. Esse estudo visa melhorar a adaptabilidade e eficiência desses sistemas, permitindo que ajustem suas configurações de forma autônoma com base nas informações adquiridas, otimizando assim a transmissão de dados. Focando em receptores ópticos coerentes flexíveis, o estudo visa aprimorar a eficiência e adaptabilidade destes sistemas ao automatizar o processo de classificação do tipo de modulação e predição do valor de \acrshort{osnr}, elementos cruciais para otimização do desempenho e confiabilidade na transmissão de dados ópticos.
\textbf{Palavras-chave:} Classificação Automática de Modulação, Redes Ópticas, \textit{Random Forest}, \textit{Perceptron} Multicamada.
\end{abstract}
\begin{foreignabstract}
To keep pace with the increasing demand for higher transmission rates and improvements in internet connectivity, research is focusing on effective methods to optimize the use of optical networks. Such studies are crucial for developing systems autonomously gathering the necessary information to adjust transmission parameters. This includes choosing the most suitable modulations for the communication medium, deciding between single-carrier or multi-carrier transmission, and selecting the most efficient algorithms for signal regeneration and error correction. These approaches allow networks to automatically adjust to maximize performance and efficiency without direct human intervention. This dissertation investigates how machine learning techniques can be applied to automate parameter settings in optical communication systems, aiming to improve adaptability and efficiency by enabling autonomous adjustment of settings based on acquired information. Focusing on flexible coherent optical receivers, the study seeks to enhance system efficiency and adaptability by automating the process of modulation classification and OSNR value prediction, key elements for optimizing performance and reliability in optical data transmission.
\textbf{Keywords:} Automatic Modulation Classification, Optical Networks, Random Forest, Multilayer Perceptron.
\end{foreignabstract}
%inserir linha em cima da pagina --------------------------------------------------------
\pagestyle{plain}
\lhead[\fancyplain{}{\bfseries\tiny\thepage}]{\fancyplain{}{\bfseries\tiny\rightmark}}
\rhead[\fancyplain{}{\bfseries\tiny\leftmark}]{}
%----------------------------------------------------------------------------------------
\tableofcontents
\listoffigures
\listoftablescapitulos/0-ficha-catalografica-e-folha-aprovacao.pdf — binary, 592 KB
capitulos/0-glossary.tex · 256 B
\newacronym{5g}{5G}{Quinta Geração de Redes Móveis}
\newacronym{6g}{6G}{Sexta Geração de Redes Móveis}
\newacronym{ia}{IA}{Inteligência Artificial}
\newacronym{ml}{ML}{Aprendizado de Máquina}
\newacronym{osnr}{OSNR}{Relação Sinal-Ruído Óptica}
capitulos/1-introdução.tex · 3 KB
\chapter{Introdução}
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX.
Teste SIGLAS: \acrshort{5g}, \acrshort{ia}), \acrshort{ml}, \acrshort{osnr}.
Teste REFERENCIAS: \cite{694SpectralGrids_2021}, \cite{amoedo_ClassificacaoAutomaticaModulacoes_2017}, \cite{APIReference_2023}.
Teste FIGURAS:
%-----------Figure Description------------------------------------%
\begin{figure}[hbt!]
\centering
%\includegraphics[width=\linewidth]{}
\caption[Teste lista de figura]{Etapas para a realização do ciclo de aprendizado.}
\label{fig:model_training}
\end{figure}
%-----------Figure Description END--------------------------------%
Teste TABELAS:
%-----------Table Description------------------------------------%
%SEE: https://www.tablesgenerator.com/
\begin{table}[hbt!]
\caption[Teste lista de tabela]{Testando tabelas.}
\label{tab:teste1}
\begin{tabular}{lllll}
1 & 1 & 2 & & \\
1 & 1 & 2 & & \\
1 & 1 & 2 & & \\
& & & &
\end{tabular}
\end{table}
%-----------Table Description END--------------------------------%
\section{Objetivos da Dissertação}
\subsection{Objetivo geral}
O principal objetivo desta dissertação é investigar o desempenho de modelos de aprendizado de máquina no contexto de um sistema de comunicação óptica. Através da aplicação de uma estratégia para a obtenção de informações sobre a modulação utilizada e o valor de \acrshort{osnr}, sem o conhecimento prévio de informações sobre o sinal no lado do receptor óptico, e demonstrar os resultados obtidos.
\subsection{Objetivos específicos}
\begin{itemize}
\item Definir e parametrizar o \textit{setup} do \textit{framework} para cada modulação planejada, validando e armazenando os resultados obtidos.
\item Implementar e analisar os resultados dos algoritmos \textit{ensemble} e redes neurais para a classificação do tipo de modulação no contexto de comunicações ópticas do \textit{framework}.
\item Implementar e analisar os resultados dos algoritmos \textit{ensemble} de classificação, regressão e redes neurais para predição do valor de \acrshort{osnr} no contexto de comunicações ópticas do \textit{framework}.
\item Obter um comparativo entre os resultados obtidos para diferentes algoritmos de aprendizado de máquina, demonstrando através das métricas selecionadas, aqueles que apresentam o melhor desempenho.
\end{itemize}
\section{Justificativa}
XXXX XXXX XXXX .
\section{Organização do trabalho}
A organização deste trabalho é observada conforme a estrutura a seguir:
\begin{itemize}
\item No Capítulo X, são revisados os conceitos fundamentais utilizados nesta dissertação. Englobando conceitos sobre os algoritmos de aprendizado de máquina e treinamento de modelos. A seguir, são abordados os conceitos-chave que implicam na complexidade e motivações para o uso de aprendizado de máquina no contexto de comunicações ópticas.
\item No Capítulo Y, é apresentado o detalhamento sobre a metodologia utilizada para o desenvolvimento do \textit{framework} de simulação da comunicação óptica. Abordando a simulação da transmissão, validação dos sinais recebidos e geração de uma base de dados rotulada.
\end{itemize}capitulos/2-fundamentos.tex · 237 B
\chapter{Fundamentos Teóricos} \label{chap:fundamentos}
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX.capitulos/3-metodologia.tex · 227 B
\chapter{Metodologia} \label{chap:metodologia}
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX.capitulos/4-experimentos.tex · 240 B
\chapter{Procedimento Experimental} \label{chap:resultados}
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX.capitulos/5-conclusão.tex · 224 B
\chapter{Conclusão} \label{chap:conclusao}
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX.capitulos/6-apendice.tex · 104 B
\chapter{Artigos Publicados}
Neste apêndice, o artigo desenvolvido nesta dissertação é apresentado.
cls_bst/bst_ufam.bst · 23 KB
%
% This is file `bst_ufam.bst',
%
% Numbered BibTeX style for using with CoppeTeX package.
%
% Copyright (C) 2008 CoppeTeX Project and any individual authors listed
% elsewhere in this file.
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License version 3 for more details.
%
% You should have received a copy of the GNU General Public License
% version 3 along with this package (see COPYING file).
% If not, see <http://www.gnu.org/licenses/>.
%
% $URL: https://coppetex.svn.sourceforge.net/svnroot/coppetex/tags/coppetex-2.0.1/coppe-unsrt.bst $
% $Id: coppe-unsrt.bst 116 2008-10-16 02:54:12Z helano $
%
% Author(s): Vicente Helano,
% George Ainsworth
%
ENTRY
{ address
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
volume
year
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {date.block}
{
skip$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {non.stop}
{ duplicate$
"}" * add.period$
#-1 #1 substring$ "." =
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "{\it " swap$ * "\/}" * }
if$
}
FUNCTION {emphasizeic}
{ duplicate$ empty$
{ pop$ "" }
{ "{\it " swap$ * "\/}" * }
if$
}
FUNCTION {capify}
{ duplicate$ empty$
{ pop$ "" }
{ "\MakeUppercase{ " swap$ * "}" * }
if$
}
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ "n" change.case$} %%%% MUDADO waldir para aparecer D.Sc. e M.Sc.
FUNCTION {space.word}
{ " " swap$ * " " * }
FUNCTION {bbl.and}
{ "; "}
FUNCTION {bbl.editors}
{ "(eds)" }
FUNCTION {bbl.editor}
{ "(ed)" }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "ed." }
FUNCTION {bbl.volume}
{ "v." }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "n." }
FUNCTION {bbl.nr}
{ "n." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "pp." }
FUNCTION {bbl.page}
{ "p." }
FUNCTION {bbl.chapter}
{ "chap." }
FUNCTION {bbl.techrep}
{ "Tech. Rep." }
FUNCTION {bbl.mthesis}
{ "Master's Thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. Thesis" }
FUNCTION {bbl.first}
{ "1st" }
FUNCTION {bbl.second}
{ "2nd" }
FUNCTION {bbl.third}
{ "3rd" }
FUNCTION {bbl.fourth}
{ "4th" }
FUNCTION {bbl.fifth}
{ "5th" }
FUNCTION {bbl.st}
{ "st" }
FUNCTION {bbl.nd}
{ "nd" }
FUNCTION {bbl.rd}
{ "rd" }
FUNCTION {bbl.th}
{ "th" }
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
MACRO {mar} {"March"}
MACRO {apr} {"April"}
MACRO {may} {"May"}
MACRO {jun} {"June"}
MACRO {jul} {"July"}
MACRO {aug} {"Aug."}
MACRO {sep} {"Sept."}
MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
MACRO {jan-feb} {"Jan.-Feb."}
MACRO {mar-apr} {"Mar.-Apr."}
MACRO {may-jun} {"May-Jun."}
MACRO {jul-aug} {"Jul.-Aug."}
MACRO {sep-oct} {"Sep.-Oct."}
MACRO {nov-dec} {"Nov.-Dec."}
FUNCTION {eng.ord}
{ duplicate$ "1" swap$ *
#-2 #1 substring$ "1" =
{ bbl.th * }
{ duplicate$ #-1 #1 substring$
duplicate$ "1" =
{ pop$ bbl.st * }
{ duplicate$ "2" =
{ pop$ bbl.nd * }
{ "3" =
{ bbl.rd * }
{ bbl.th * }
if$
}
if$
}
if$
}
if$
}
MACRO {jsr} {"Journal of Spacecraft and Rockets"}
MACRO {aa} {"Aerospace America"}
MACRO {Sb} {"Space News"}
MACRO {awst} {"Aviation Week \& Space Technology"}
MACRO {jcp} {"Journal of Computational Physics"}
MACRO {ijcfd} {"International Journal of Computational Fluid Dynamics"}
MACRO {ijnme} {"International Journal for Numerical Methods in Engineering"}
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's := % s = names string
#1 'nameptr := % nameptr = 1
s num.names$ 'numnames := % numnames = number of " and's " + 1
numnames 'namesleft := % namesleft = numnames
{ namesleft #0 > } % while (namesleft > 0)
{
% format each name of the string 's' and put it in 't'
s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't :=
nameptr #1 >
{
nameptr #4 =
{
numnames #3 >
{
", " * "\MakeLowercase{et~al.}" *
#1 'namesleft :=
}
{ ", " * t * }
if$
}
{ ", " * t * }
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.names.ed}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{
nameptr #4 =
{
numnames #3 >
{
", " * "\MakeLowercase{et~al.}" *
#1 'namesleft :=
}
{ ", " * t * }
if$
}
{ ", " * t * }
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names capify }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{
editor format.names capify
editor num.names$ #1 >
{ ", " * bbl.editors * }
{ ", " * bbl.editor * }
if$
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title
"\enquote{" swap$ *
non.stop
{ "}, " * }
{ "} " * }
if$
}
if$
}
FUNCTION {format.inproctitle}
{ title empty$
{ "" }
{ title
"\enquote{" swap$ *
non.stop
{ "}" * }
{ "}" * }
if$
}
if$
}
FUNCTION {end.quote.title}
{ title empty$
'skip$
{ before.all 'output.state := }
if$
}
FUNCTION {n.dashify}
{ 't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ "" }
FUNCTION {format.date}
{ year empty$
{ month empty$
{ "" }
{ "there's a month but no year in " cite$ * warning$
month
}
if$
}
{ month empty$
'year
{ month " " * year * }
if$
}
if$
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.volume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.connect }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.connect
series empty$
'skip$
{ ", " * series emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.inbvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.connect
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series emphasize field.or.null }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ ", " * series emphasize * }
if$
}
if$
}
{ ", " * series emphasize * }
if$
}
FUNCTION {format.series}
{ number empty$
{ series emphasize field.or.null }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ ", " * series emphasize * }
if$
}
if$
}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
swap$ "9" chr.to.int$ > not and
}
FUNCTION {extract.num}
{ duplicate$ 't :=
"" 's :=
{ t empty$ not }
{ t #1 #1 substring$
t #2 global.max$ substring$ 't :=
duplicate$ is.num
{ s swap$ * 's := }
{ pop$ "" 't := }
if$
}
while$
s empty$
'skip$
{ pop$ s }
if$
}
FUNCTION {convert.edition}
{ edition extract.num "l" change.case$ 's :=
s "first" = s "1" = or
{ bbl.first 't := }
{ s "second" = s "2" = or
{ bbl.second 't := }
{ s "third" = s "3" = or
{ bbl.third 't := }
{ s "fourth" = s "4" = or
{ bbl.fourth 't := }
{ s "fifth" = s "5" = or
{ bbl.fifth 't := }
{ s #1 #1 substring$ is.num
{ s eng.ord 't := }
{ edition 't := }
if$
}
if$
}
if$
}
if$
}
if$
}
if$
t
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
{ convert.edition "l" change.case$ " " * bbl.edition * }
{ convert.edition "t" change.case$ " " * bbl.edition * }
if$
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
{ bbl.pages pages n.dashify tie.or.space.connect }
{ bbl.page pages tie.or.space.connect }
if$
}
if$
}
FUNCTION {format.journal.pages}
{
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
{ ", " * bbl.pages "~" * * pages n.dashify * }
if$
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
volume empty$
'skip$
{ bbl.volume "~" * swap$ * }
if$
number empty$
'skip$
{
", " bbl.nr * number tie.or.space.connect *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$ }
if$
chapter tie.or.space.connect
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{
"In: " *
editor empty$
{ "" }
{
editor format.names capify *
editor num.names$ #1 >
{ "~" * bbl.editors * ", " * }
{ "~" * bbl.editor * ", " * }
if$
}
if$
booktitle emphasize * }
if$
}
FUNCTION {format.in.proceedings}
{ booktitle empty$
{ "" }
{ "In: " booktitle emphasize * }
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type empty$
'skip$
{ pop$
type "n" change.case$ %%%% MUDADO waldir para aparecer D.Sc. e M.Sc.
}
if$
}
FUNCTION {format.tr.number}
{ type empty$
{ bbl.techrep }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
FUNCTION {format.article.crossref}
{
key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ word.in journal emphasize * }
if$
}
{ word.in key * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
editor num.names$ duplicate$
#2 >
{ pop$ " et~al." * }
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ " et~al." * }
{ bbl.and space.word * editor #2 "{vv~}{ll}" format.name$ * }
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
word.in
}
{ bbl.volume volume tie.or.space.connect
bbl.of space.word *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ series emphasize * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ word.in booktitle emphasize * }
if$
}
{ word.in key * " " *}
if$
}
{ word.in format.crossref.editor * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.publisher}
{ publisher empty$
{ "empty publisher in " cite$ * warning$ }
'skip$
if$
""
address empty$ publisher empty$ and
'skip$
{
publisher empty$
{ address empty$
'skip$
{ address * }
if$
}
{ publisher *
address empty$
'skip$
{ ": " * address * }
if$
}
if$
}
if$
output
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
end.quote.title
crossref missing$
{ journal
emphasize
"journal" output.check
format.vol.num.pages output
format.journal.pages
format.date "year" output.check
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{
new.block
format.edition output
format.volume output
new.block
format.series output
format.publisher
}
{
format.book.crossref output.nonnull
}
if$
format.date "year" output.check
note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
format.title "title" output.check
end.quote.title
howpublished output
address output
format.date output
note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.title "title" output.check
end.quote.title
crossref missing$
{
format.in.ed.booktitle "booktitle" output.check
format.edition output
format.inbvolume output
format.chapter.pages "chapter and pages" output.check
format.pages "pages" output.check
format.series output
format.publisher
}
{
format.chapter.pages "chapter and pages" output.check
format.book.crossref output.nonnull
}
if$
format.date "year" output.check
note output
fin.entry
}
FUNCTION {incollection} { inbook }
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
format.inproctitle "title" output.check
new.block
crossref missing$
{ format.in.proceedings "booktitle" output.check
format.volume output
format.series output
format.pages "pages" output.check
publisher empty$
{ address output }
{ format.publisher }
if$
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
note output
fin.entry
}
FUNCTION {conference}
{ output.bibitem
format.authors "author" output.check
format.inproctitle "title" output.check
new.block
crossref missing$
{ format.in.proceedings "booktitle" output.check
number output
organization output
address output
format.date "year" output.check
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
note output
fin.entry
}
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization empty$
'skip$
{ organization output.nonnull
address output
}
if$
}
{ format.authors output.nonnull }
if$
format.btitle "title" output.check
author empty$
{ organization empty$
{
address output
}
'skip$
if$
}
{
organization output
address output
}
if$
format.edition output
format.date output
note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
format.title output
end.quote.title
howpublished output
format.date output
note output
fin.entry
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
format.btitle "title" output.check
bbl.phdthesis format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
format.btitle "title" output.check
bbl.mthesis format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization output }
{ format.editors output.nonnull }
if$
format.btitle "title" output.check
format.volume output
format.series output
address empty$
{ editor empty$
{ publisher new.sentence.checka }
{ organization publisher new.sentence.checkb
organization output
}
if$
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
editor empty$
'skip$
{ organization output }
if$
publisher output
}
if$
note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
format.btitle "title" output.check
format.tr.number output.nonnull
institution "institution" output.check
address output
format.date "year" output.check
note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
format.title "title" output.check
end.quote.title
note "note" output.check
fin.entry
}
FUNCTION {default.type} { misc }
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" *
write$ newline$
"\newcommand{\enquote}[1]{``#1''}"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
cls_bst/cls_file_ufam_v3.cls · 22 KB
%%
%% This is file `cls_file_ufam_v2.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% coppe.dtx (with options: `class')
%%
%% This is the `coppe' document class used for composition of LaTeX
%% monographs (master and PhD thesis, and PhD qualifying exams)
%% satisfying the requirements of the Coordination of Research and
%% Graduate Courses in Engineering at the Federal University of
%% Rio de Janeiro.
%%
%% Copyright (C) 2008 Vicente Helano and George Ainsworth Jr.
%%
%% This program is free software; you can redistribute it and/or modify
%% it under the terms of the GNU General Public License version 3 as
%% published by the Free Software Foundation.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%% GNU General Public License version 3 for more details.
%%
%% You should have received a copy of the GNU General Public License
%% version 3 along with this package (see COPYING file).
%% If not, see <http://www.gnu.org/licenses/>.
%%
%% Author(s): Vicente Helano,
%% George Ainsworth
%%
%% \CheckSum{1311}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%% ---- inicio comentarios waldir
%% esse script eh bom mas tem alguns problemas ....
%% o hyperref nao funciona direito com o cite e algumas alterecoes tiveram que ser feitas
%% ---- fim comentarios waldir
\def\filename{cls_bst/cls_file_ufam_v2.dtx}
\def\fileversion{v2.0}
\def\filedate{2007/03/01}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{cls_bst/cls_file_ufam_v2}[\filedate\ \fileversion\ COPPE Dissertations
and Thesis] \LoadClass[12pt,a4paper,oneside]{book}
\RequirePackage{lastpage}
%\RequirePackage{hyperref}
\RequirePackage[english,brazil]{babel} \RequirePackage{hyphenat}
\RequirePackage{ifthen} \RequirePackage{graphicx}
\RequirePackage{tabularx} \RequirePackage{eqparbox}
\RequirePackage[a4paper,bindingoffset=0.0cm,vcentering=true,%
top=2.5cm,bottom=2.5cm,left=3.0cm,right=3.0cm]{geometry}
\def\CoppeTeX{{\rm C\kern-.05em{\sc o\kern-.025em p\kern-.025em
p\kern-.025em e}}\kern-.08em\TeX}
\renewcommand\baselinestretch{1.5}
\let\@adname\@empty
\let\@adsurn\@empty
\let\@coadname\@empty
\let\@coadsurn\@empty
\newcounter{minexaminers}
\newboolean{isdraft}
\newboolean{maledoc}
\setboolean{maledoc}{false}
\setboolean{isdraft}{false}
\newboolean{needbb}
\setboolean{needbb}{false}
%
\DeclareOption{msc}{%
\newcommand{\@degree}{M.Sc.}
\newcommand{\@degreename}{Mestrado}
\newcommand{\local@degname}{Mestre}
\newcommand{\foreign@degname}{Master}
\newcommand\local@doctype{Disserta{\c c}{\~ a}o}
\newcommand\foreign@doctype{Dissertation}
\setcounter{minexaminers}{2}
}
%
\DeclareOption{dscexam}{%
\newcommand{\@degree}{D.Sc.}
\newcommand{\@degreename}{Doutorado}
\newcommand{\local@degname}{Doutor}
\newcommand{\foreign@degname}{Doctor}
\setboolean{maledoc}{true}
\newcommand\local@doctype{Exame de Qualifica{\c c}{\~ a}o}
\newcommand\foreign@doctype{Qualifying Exam}
\setcounter{minexaminers}{1}
}
%
\DeclareOption{mscexam}{%
\newcommand{\@degree}{M.Sc.}
\newcommand{\@degreename}{Mestrado}
\newcommand{\local@degname}{Mestre}
\newcommand{\foreign@degname}{Master}
\setboolean{maledoc}{true}
\newcommand\local@doctype{Exame de Qualifica{\c c}{\~ a}o}
\newcommand\foreign@doctype{Qualifying Exam}
\setcounter{minexaminers}{1}
}
%
\DeclareOption{dsc}{%
\newcommand{\@degree}{D.Sc.}
\newcommand{\@degreename}{Doutorado}
\newcommand{\local@degname}{Doutor}
\newcommand{\foreign@degname}{Doctor}
\newcommand\local@doctype{Tese}
\newcommand\foreign@doctype{Thesis}
\setcounter{minexaminers}{2}
}
%
\DeclareOption{tcc}{%
\newcommand{\@degree}{B.Sc.}
\newcommand{\@degreename}{Gradua{\c c}{\~ a}o}
\newcommand{\local@degname}{Engenheiro}
\newcommand{\foreign@degname}{Engineer}
\newcommand\local@doctype{Monografia}
\newcommand\foreign@doctype{Monograph}
\setcounter{minexaminers}{2}
}
%
\DeclareOption{draft}{%
\setboolean{isdraft}{true}
\ClassWarning{cls_bst/cls_file_ufam_v2}{draft mode is ON}%
}
\DeclareOption{dvips}{%
%\PassOptionsToPackage{dvips}{hyperref,graphicx} % original (alt 1)
\PassOptionsToPackage{dvips}{graphicx} % (alt 1) - waldir
}
\DeclareOption{dvipdfm}{%
%\PassOptionsToPackage{dvipdfm}{hyperref,graphicx} % original (alt 2)
\PassOptionsToPackage{dvipdfm}{graphicx} % (alt 2) - waldir
\setboolean{needbb}{true}
%\setboolean{needbb}{false}
}
\DeclareOption{pdftex}{%
%\PassOptionsToPackage{pdftex}{hyperref,graphicx} % original (alt 3)
\PassOptionsToPackage{pdftex}{graphicx} % (alt 3) - waldir
%\PassOptionsToPackage{plainpages=false,pdfpagelabels}{hyperref} % original (alt 4)
\PassOptionsToPackage{plainpages=false,pdfpagelabels} % (alt 4) - waldir
}
\ProcessOptions\relax
\newcommand\university[1]{%
\renewcommand\local@universityname{#1}
}
\newcommand\department[1]{%
\ifthenelse{\equal{#1}{EE}}
{\global\def\local@deptname{Engenharia El{\' e}trica}
\global\def\foreign@deptname{Electrical Engineering}}{}
\ifthenelse{\equal{#1}{EC}}
{\global\def\local@deptname{Engenharia da Computa{\c c}{\~ a}o}
\global\def\foreign@deptname{Computer Engineering}}{}
\ifthenelse{\equal{#1}{MEE}}
{\global\def\local@deptname{P{\' o}s-Gradua{\c c}{\~ a}o em Engenharia El{\' e}trica}
\global\def\foreign@deptname{Postgraduate in Electrical Engineering}}{}
}
\renewcommand\title[1]{%
\global\def\local@title{#1}%
}
\newcommand\foreigntitle[1]{%
\global\def\foreign@title{#1}%
}
\newcommand\advisor[4]{%
\global\def\@adtitle{#1}%
\global\def\@adname{#2}%
\global\def\@adsurn{#3}%
\global\def\@addegree{#4}%
}
\newcommand\coadvisor[4]{%
\global\def\@coadtitle{#1}%
\global\def\@coadname{#2}%
\global\def\@coadsurn{#3}%
\global\def\@coaddegree{#4}%
\renewcommand\local@advisorstring{Orientadores}%
\renewcommand\foreign@advisorstring{Advisors}%
}
\newcommand\socoadvisor[4]{%WALDIR - só coorientador
\global\def\@coadtitle{#1}%
\global\def\@coadname{#2}%
\global\def\@coadsurn{#3}%
\global\def\@coaddegree{#4}%
}
\newcount\@examiner\@examiner0
\newcommand\examiner[3]{%
\global\@namedef{S:\expandafter\the\@examiner}{#1\ #2, #3}
\global\advance\@examiner by 1
}
\renewcommand\author[2]{%
\global\def\@authname{#1}
\global\def\@authsurn{#2}
}
\renewcommand\date[2]{%
\month=#1
\year=#2
}
\newcommand\local@monthname{\ifcase\month\or
Janeiro\or Fevereiro\or Mar{\c c}o\or Abril\or Maio\or Junho\or
Julho\or Agosto\or Setembro\or Outubro\or Novembro\or Dezembro\fi}
\newcommand\foreign@monthname{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi}
\newcommand\place[3]{%
\renewcommand\local@cityname{#1}
\renewcommand\local@statename{#2}
\renewcommand\local@countryname{#3}
}
\newcounter{keywords}
\newcommand\keyword[1]{%
\global\@namedef{K:\expandafter\the\c@keywords}{#1}
\global\addtocounter{keywords}{1}
}
\renewcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{roman}
\thispagestyle{empty}
\setcounter{page}{2}
\makefrontpage
\clearpage
\pagestyle{plain}
\ifthenelse{\boolean{maledoc}}{}{\makecatalog}
}
\renewcommand\mainmatter{%
\immediate\write\@auxout{%
%\string\newlabel{front:pageno}{{}{\Roman{page}}{}{page.\roman{page}}{}}} % original (alt 5)
\string\newlabel{front:pageno}{{}{\Roman{page}}{}{}{}}} % (alt 5) - waldir
\cleardoublepage
\@mainmattertrue
\pagestyle{plain}
\pagenumbering{arabic}}
\renewcommand\backmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi}
\renewcommand\maketitle{%
\pagenumbering{alph}
%\config@hypersetup % (alt 6) - waldir (original eh sem comentario)
\begin{titlepage}
\begin{center}
%FIGURA UFAM ------------------------------
\setlength\baselineskip{0pt}
\setlength\parskip{1mm}
\makebox[20mm][c]{%
\ifthenelse{\boolean{needbb}}{%
\includegraphics[bb = -1 -1 48 64]{minerva}}{%
\includegraphics[scale=0.4]{figuras/ufam_logo.pdf}}}\par
% \makebox[20mm][c]{{\fontfamily{phv}\text{\small UFAM}}}
%\vspace*{15mm}
%------------------------------------------
\nohyphens{\MakeUppercase\local@universityname}
%\text{\small UNIVERSIDADE FEDERAL DO AMAZONAS}
\vspace*{3.0mm}
\MakeUppercase{\text{FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO}}
\vspace*{3.0mm}
\nohyphens{\MakeUppercase\local@deptname}
%\text{\small PROGRAMA DE P{\' O}S-GRADUA{\c C}{\~ A}O EM ENGENHARIA EL{\' E}TRICA}
%\@deptname
\vspace*{3.0mm}
\end{center}
\begin{center}
\vspace*{15mm}
\nohyphens{\MakeUppercase\local@title}\par
\vspace*{28mm}
\nohyphens{\@authname\ \@authsurn}\par
\end{center}
\vspace*{28mm}
\begin{center}
\vspace*{10mm}
\local@cityname\par
\local@monthname\ de \number\year
\end{center}
\end{titlepage}
\begin{titlepage}
\begin{center}
%FIGURA UFAM ------------------------------
\setlength\baselineskip{0pt}
\setlength\parskip{1mm}
\makebox[20mm][c]{%
\ifthenelse{\boolean{needbb}}{%
\includegraphics[bb = -1 -1 48 64]{minerva}}{%
\includegraphics[scale=0.4]{figuras/ufam_logo.pdf}}}\par
% \makebox[20mm][c]{{\fontfamily{phv}\text{\small UFAM}}}
%\vspace*{15mm}
%------------------------------------------
\nohyphens{\MakeUppercase\local@universityname}
%\text{\small UNIVERSIDADE FEDERAL DO AMAZONAS}
\vspace*{3.0mm}
\MakeUppercase{\text{FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO}}
\vspace*{3.0mm}
\nohyphens{\MakeUppercase\local@deptname}
%\text{\small PROGRAMA DE P{\' O}S-GRADUA{\c C}{\~ A}O EM ENGENHARIA EL{\' E}TRICA}
%\@deptname
\vspace*{3.0mm}
\end{center}
\begin{center}
\vspace*{15mm}
\nohyphens{\MakeUppercase\local@title}\par
\vspace*{28mm}
\nohyphens{\@authname\ \@authsurn}\par
\end{center}
\vspace*{16mm}
\begin{flushright}
\begin{minipage}{80mm}
\frontcover@maintext
\end{minipage}\par
\vspace*{7.5mm}
\begin{tabularx}{80mm}[b]{@{}l@{ }X@{}}
\local@advisorstring: & \nohyphens{\@adname\ \@adsurn}\\
\ifthenelse{\equal{\@coadname}{\@empty}}{}{%
& \nohyphens{\@coadname\ \@coadsurn}\\}
\end{tabularx}\par
\end{flushright}
\vspace*{\fill}
\begin{center}
\local@cityname\par
\local@monthname\ de \number\year
\end{center}
\end{titlepage}
\global\let\maketitle\relax%
\global\let\and\relax}
%
\newcommand\makefrontpage{%
\includepdf[pages={1-3}]{capitulos/0-ficha-catalografica-e-folha-aprovacao.pdf}
}
%% INICIO (alt 6) - waldir (original eh sem comentario) --------------------------------------------
%\newcommand\config@hypersetup{%
%\begingroup
% % changes to \toks@ and \count@ are kept local;
% % it's not necessary for them, but it is usually the case
% % for \count1, because the first ten counters are written
% % to the DVI file, thus you got lucky because of PDF output
% \toks@={}% in this special case not necessary
% \count@=0 %
% \@whilenum\count@<\value{keywords}\do{%
% % * a keyword separator is not necessary,
% % if there is just one keyword
% % * \csname K:\the\count@\endcsname must be expanded
% % at least once, to get rid of the loop depended \count@
% \ifcase\count@ % same as \ifnum0=\count@
% \toks@=\expandafter{\csname K:\the\count@\endcsname}%
% \else
% \toks@=\expandafter\expandafter\expandafter{%
% \expandafter\the\expandafter\toks@
% \expandafter;\expandafter\space
% \csname K:\the\count@\endcsname
% }%
% \fi
% \advance\count@ by 1 %
% }%
% \edef\x{\endgroup
% \noexpand\hypersetup{%
% pdfkeywords={\the\toks@}%
% }%
% }%
%\x
%\hypersetup{%
% pdfauthor={\@authname\ \@authsurn},
% pdftitle={\local@title},
% pdfsubject={\local@doctype\ de \@degreename\ em \local@deptname\ da COPPE/UFRJ},
% pdfcreator={LaTeX with CoppeTeX toolkit},
% breaklinks={true},
% raiselinks={true},
% pageanchor={true},
%}}
%
%% FIM (alt 6) - waldir ----------------------------------------------------------------------------
\newcommand\makecatalog{%
}
\newcommand\dedication[1]{
\gdef\@dedic{#1}
\cleardoublepage
\vspace*{\fill}
\begin{flushright}
\begin{minipage}{60mm}
\raggedleft \it \normalsize \@dedic
\end{minipage}
\end{flushright}}
\newenvironment{abstract}{%
\clearpage
\thispagestyle{plain}
\abstract@toptext\par
\vspace*{6.6mm}
\begin{center}
\sloppy\nohyphens{\MakeUppercase\local@title}\par
\vspace*{10.2mm}
\@authname\ \@authsurn \par
% \vspace*{7mm}
% \local@monthname/\number\year
\end{center}\par
\vspace*{\fill}
\noindent%
\begin{tabularx}{\textwidth}[b]{@{}l@{ }X@{}}
\local@advisorstring: & \nohyphens{\@adname\ \@adsurn}\\
\ifthenelse{\equal{\@coadname}{\@empty}}{}{%
& \nohyphens{\@coadname\ \@coadsurn}\\}
\end{tabularx}\par
\vspace*{2mm}
\noindent\local@deptstring: \local@deptname\par
\vspace*{7mm}}{\vspace*{\fill}}
\newenvironment{foreignabstract}{%
\clearpage
\thispagestyle{plain}
\begin{otherlanguage}{english}
\foreignabstract@toptext\par
\vspace*{6.6mm}
\begin{center}
\sloppy\nohyphens{\MakeUppercase\foreign@title}\par
\vspace*{10.2mm}
\@authname\ \@authsurn \par
% \vspace*{7mm}
% \foreign@monthname/\number\year
\end{center}\par
\vspace*{\fill}
\noindent%
\begin{tabularx}{\textwidth}[b]{@{}l@{ }X@{}}
\foreign@advisorstring: & \nohyphens{\@adname\ \@adsurn}\\
\ifthenelse{\equal{\@coadname}{\@empty}}{}{%
& \nohyphens{\@coadname\ \@coadsurn}\\}
\end{tabularx}\par
\vspace*{2mm}
\noindent\foreign@deptstring: \foreign@deptname\par
\vspace*{7mm}}{%
\end{otherlanguage}
\vspace*{\fill}
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\foreign@title\@empty
\global\let\foreign@title\relax
\global\let\local@title\@empty
\global\let\local@title\relax
\global\let\author\relax
\global\let\author\relax
\global\let\date\relax}
%
%\renewcommand\listoffigures{%
% \immediate\write\@auxout{%
% \string\newlabel{cat:lofflag}{{}{:~il.;}{}{page.\roman{page}}{}}}
% \if@twocolumn
% \@restonecoltrue\onecolumn
% \else
% \@restonecolfalse
% \fi
% \chapter*{\listfigurename}%
% \addcontentsline{toc}{chapter}{\listfigurename}%
% \@mkboth{\MakeUppercase\listfigurename}%
% {\MakeUppercase\listfigurename}%
% \@starttoc{lof}%
% \if@restonecol\twocolumn\fi
% }
%\renewcommand\listoftables{%
% \if@twocolumn
% \@restonecoltrue\onecolumn
% \else
% \@restonecolfalse
% \fi
% \chapter*{\listtablename}%
% \addcontentsline{toc}{chapter}{\listtablename}%
% \@mkboth{%
% \MakeUppercase\listtablename}%
% {\MakeUppercase\listtablename}%
% \@starttoc{lot}%
% \if@restonecol\twocolumn\fi
% }
\newcommand\printlosymbols{%
\renewcommand\glossaryname{\listsymbolname}%
\@input@{\jobname.los}}
\def\makelosymbols{%
\newwrite\@losfile
\immediate\openout\@losfile=\jobname.syx
\def\symbl{\@bsphack\begingroup
\@sanitize
\@wrlos}\typeout
{Writing index of symbols file \jobname.syx}%
\let\makelosymbols\@empty
}
\@onlypreamble\makelosymbols
\AtBeginDocument{%
\@ifpackageloaded{hyperref}{%
\def\@wrlos#1#2{%
\protected@write\@losfile{}%
{\string\indexentry{[#1] #2|hyperpage}{\thepage}}%
\endgroup
\@esphack}}{%
\def\@wrlos#1#2{%
\protected@write\@losfile{}%
{\string\indexentry{[#1] #2}{\thepage}}%
\endgroup
\@esphack}}}
\newcommand\printloabbreviations{%
\renewcommand\glossaryname{\listabbreviationname}%
\@input@{\jobname.lab}}
\def\makeloabbreviations{%
\newwrite\@labfile
\immediate\openout\@labfile=\jobname.abx
\def\abbrev{\@bsphack\begingroup
\@sanitize
\@wrlab}\typeout
{Writing index of abbreviations file \jobname.abx}%
\let\makeloabbreviations\@empty
}
\@onlypreamble\makeloabbreviations
\AtBeginDocument{%
\@ifpackageloaded{hyperref}{%
\def\@wrlab#1#2{%
\protected@write\@labfile{}%
{\string\indexentry{[#1] #2|hyperpage}{\thepage}}%
\endgroup
\@esphack}}{%
\def\@wrlab#1#2{%
\protected@write\@labfile{}%
{\string\indexentry{[#1] #2}{\arabic{page}}}%
\endgroup
\@esphack}}}
\newdimen\bibindent%
\setlength\bibindent{1.5em}%
\renewenvironment{thebibliography}[1]%
{\chapter*{\bibname}%
\addcontentsline{toc}{chapter}{\bibname}%
\immediate\write\@auxout{%
%\string\newlabel{bib:begin}{{}{\arabic{page}}{}{page.\arabic{page}}{}}} % original (alt 8)
\string\newlabel{bib:begin}{{}{\arabic{page}}{}{}{}}}% % (alt 8) - waldir
\list{\@biblabel{\@arabic\c@enumiv}}%
{\setlength{\labelwidth}{0ex}%
\setlength{\leftmargin}{9.0ex}%
\setlength{\itemindent}{-9.0ex}%
\advance\leftmargin\labelsep%
\@openbib@code%
\usecounter{enumiv}%
\let\p@enumiv\@empty%
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy%
\clubpenalty4000%
\@clubpenalty \clubpenalty%
\widowpenalty4000%
\sfcode`\.\@m}%
{\def\@noitemerr%
{\@latex@warning{Empty 'thebibliography' environment}}%
\immediate\write\@auxout{%
%\string\newlabel{bib:end}{{}{\arabic{page}}{}{page.\arabic{page}}{}}} % original (alt 9)
\string\newlabel{bib:end}{{}{\arabic{page}}{}{}{}}} % (alt 9) - waldir
\endlist}
\newenvironment{theglossary}{%
\if@twocolumn%
\@restonecoltrue\onecolumn%
\else%
\@restonecolfalse%
\fi%
\@mkboth{\MakeUppercase\glossaryname}%
{\MakeUppercase\glossaryname}%
\chapter*{\glossaryname}%
\addcontentsline{toc}{chapter}{\glossaryname}
\list{}
{\setlength{\listparindent}{0in}%
\setlength{\labelwidth}{1.0in}%
\setlength{\leftmargin}{1.5in}%
\setlength{\labelsep}{0.5in}%
\setlength{\itemindent}{0in}}%
\sloppy}%
{\if@restonecol\twocolumn\fi%
\endlist}
\renewenvironment{theindex}{%
\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\twocolumn[\@makeschapterhead{\indexname}]%
\@mkboth{\MakeUppercase\indexname}%
{\MakeUppercase\indexname}%
\thispagestyle{plain}\parindent\z@
\addcontentsline{toc}{chapter}{\indexname}
\parskip\z@ \@plus .3\p@\relax
\columnseprule \z@
\columnsep 35\p@
\let\item\@idxitem}
{\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand\glossaryname{Glossary}
\newcommand\listabbreviationname{Lista de Abreviaturas}
\newcommand\listsymbolname{Lista de S{\' i}mbolos}
\newcommand\local@advisorstring{Orientador}
\newcommand\foreign@advisorstring{Advisor}
\ifthenelse{\boolean{maledoc}}{%
\newcommand\local@approvedname{Aprovada por}%
}{%
\newcommand\local@approvedname{Aprovada por}%
}
\newcommand\foreign@approvedname{Examined by}
\newcommand\local@universityname{Universidade Federal do Amazonas}
\newcommand\local@deptstring{Programa}
\newcommand\foreign@deptstring{Department}
\newcommand\local@cityname{Manaus}
\newcommand\local@statename{AM}
\newcommand\local@countryname{Brasil}
\newcommand\frontcover@maintext{
\sloppy\nohyphens{\local@doctype\ de \@degreename\
\ifthenelse{\boolean{maledoc}}{apresentado}{apresentada}
ao Programa de \local@deptname, PPGEE, da Faculdade de Engenharia Elétrica e de Computação, FEEC, da \local@universityname, UFAM, como parte dos requisitos
necess{\' a}rios {\` a} obten{\c c}{\~ a}o do t{\' i}tulo de
\local@degname\ em Engenharia El{\' e}trica.}
}
\newcommand\frontpage@maintext{
\noindent {\MakeUppercase\local@doctype}
\ifthenelse{\boolean{maledoc}}{SUBMETIDO}{SUBMETIDA}
\sloppy\nohyphens{AO CORPO DOCENTE DO PROGRAMA DE {\MakeUppercase\local@deptname} DA
UNIVERSIDADE FEDERAL DO AMAZONAS COMO PARTE DOS REQUISITOS
NECESS{\' A}RIOS PARA A OBTEN{\c C}{\~ A}O DO GRAU DE
{\MakeUppercase\local@degname} EM ENGENHARIA EL{\' E}TRICA. \par}
}
\newcommand\frontpage@bottomtext{%
\begin{center}
{\MakeUppercase{\local@cityname, \local@statename\ -- \local@countryname}}\par
{\MakeUppercase\local@monthname\ DE \number\year}
\end{center}%
}
\newcommand\abstract@toptext{%
\noindent Resumo \ifthenelse{\boolean{maledoc}}{do}{da}
\local@doctype\ \ifthenelse{\boolean{maledoc}}{apresentado}{apresentada}
\sloppy\nohyphens{{\` a} UFAM-PPGEE-FEEC como parte dos requisitos
necess{\' a}rios para a obten{\c c}{\~ a}o do grau de
\local@degname\ em Engenharia El{\' e}trica}
}
\newcommand\foreignabstract@toptext{%
\noindent \sloppy\nohyphens{Abstract of \foreign@doctype\ presented to
UFAM-PPGEE-FEEC as a partial fulfillment of the requirements for the
degree of \foreign@degname\ in Electrical Engineering}
}
%%
%%
%% End of file `coppe.cls'.
figuras/ufam_logo.pdf — binary, 232 KB
referencias.bib · 2 KB
@techreport{694SpectralGrids_2021,
title = {G.694.1~:~{{Spectral}} Grids for {{WDM}} Applications: {{DWDM}} Frequency Grid},
shorttitle = {Spectral Grids {{WDM}}},
year = {2021},
month = jan,
author = {{ITU}},
institution = {{ITU} - International Telecommunication Union},
urldate = {2023-12-07},
file = {C:\Users\antonio\Zotero\storage\KEQEXEVI\en.html}
}
@inproceedings{amoedo_ClassificacaoAutomaticaModulacoes_2017,
title = {{Classifica{\c c}{\~a}o Autom{\'a}tica de Modula{\c c}{\~o}es Mono e Multiportadoras utilizando M{\'e}todo de Extra{\c c}{\~a}o de Caracter{\'i}sticas e Classificadores SVM}},
shorttitle = {{Artigo Amoedo}},
booktitle = {{Anais de XXXV Simp{\'o}sio Brasileiro de Telecomunica{\c c}{\~o}es e Processamento de Sinais}},
author = {Amoedo, Diego and Melo, Wheidima and Cordeiro, Lucas and Filho, Eddie and J{\'u}nior, Waldir and Carvalho, Celso},
year = {2017},
pages = {1--5},
publisher = {{Sociedade Brasileira de Telecomunica{\c c}{\~o}es}},
doi = {10.14209/sbrt.2017.203},
urldate = {2023-12-07},
langid = {portuguese},
file = {C:\Users\antonio\Zotero\storage\PARQDH3Q\Amoedo et al. - 2017 - Classificação Automática de Modulações Mono e Mult.pdf}
}
@misc{APIReference_2023,
title = {{{API Reference}}},
shorttitle = {Scikit-Learn Docs},
year = {2023},
journal = {scikit-learn},
urldate = {2023-12-07},
abstract = {This is the class and function reference of scikit-learn. Please refer to the full user guide for further details, as the class and function raw specifications may not be enough to give full guidel...},
howpublished = {https://scikit-learn/stable/modules/classes.html},
langid = {english},
file = {C:\Users\antonio\Zotero\storage\ZVKE6UEP\classes.html}
}The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗