From fe21837d36d6e696c046df1b17a343e400f8b246 Mon Sep 17 00:00:00 2001
From: Carlos Maziero <maziero@inf.ufpr.br>
Date: Fri, 13 Oct 2017 17:46:21 -0300
Subject: [PATCH] Versao 0.9.5

---
 Makefile    |   6 +--
 leia-me.txt | 111 ++++++++++++++++++++++++++++++++++++++++++++++++----
 main.tex    |  18 ++++-----
 ppginf.cls  |  60 +++++++++++++++++++---------
 4 files changed, 156 insertions(+), 39 deletions(-)

diff --git a/Makefile b/Makefile
index 5412e0c..4081712 100644
--- a/Makefile
+++ b/Makefile
@@ -15,9 +15,9 @@ bib:
 
 # dessa forma somente os arquivos removidos são listados na saída
 clean:
-	@find . -xdev -iname \*~ -print -delete
-	@find . -xdev -iname \*.aux -print -delete
-	@find . -xdev -name texput.log -print -delete
+	@find . -xdev -iname \*~        -print -delete
+	@find . -xdev -iname \*.aux     -print -delete
+	@find . -xdev -name texput.log  -print -delete
 	@find . -xdev -name $(MAIN).log -print -delete
 	@find . -xdev -name $(MAIN).lot -print -delete
 	@find . -xdev -name $(MAIN).lof -print -delete
diff --git a/leia-me.txt b/leia-me.txt
index f19748f..4fb671d 100644
--- a/leia-me.txt
+++ b/leia-me.txt
@@ -1,14 +1,12 @@
 Modelo LaTeX de dissertação/tese do PPGInf/UFPR
-Versão 0.9.4, Maio de 2016
-Autor: prof. Carlos A. Maziero
+Autor: prof. Carlos A. Maziero (maziero@inf.ufpr.br)
 
-Este modelo é composto pelos seguintes arquivos:
+Conteúdo =======================================================================
 
   ppginf.cls		: classe com as principais características do modelo
   main.tex		: fonte principal, que inclui os demais
   packages.tex		: inclusão de packages úteis para a redação
   refs.bib		: referências bibliográficas (BibTeX)
-  Makefile		: para construir o PDF ;-)
   0-preambulo/		: diretório com as páginas iniciais
       ficha.tex		: ficha catalográfica
       aprovacao.tex	: folha de aprovação
@@ -19,11 +17,108 @@ Este modelo é composto pelos seguintes arquivos:
       acronimos.tex	: lista de acrônimos (siglas)
       simbolos.tex	: lista de símbolos
   1-intro/		: diretório do capítulo 1 (Introdução)
-      main.tex		: fonte do capítulo 1
-      figuras/		: subdir com figuras do capítulo 1
+      main.tex		: texto do capítulo 1
+      figuras/		: figuras do capítulo 1
   2-fundam		: ... (e assim por diante)
-  a1-exemplo		: Anexo 1
+  a1-exemplo/		: Anexo 1
+  Makefile		: usado para construir o PDF ;-)
 
 Para compilar, digite "make".
 
-Críticas e sugestões: maziero@inf.ufpr.br
+Changelog ======================================================================
+
+2016/10/19 V0.9.5
+- em ppginf.cls, adicionada opção "hyphens" ao package "url"
+- criada variável "version" para a versão da classe ppginf.cls
+- nas propriedades do PDF gerado indica a versão da classe PPGINF
+- só mostra keywords, palavras-chave, orientador e descrição se forem definidos
+- ajustes nos comentários de main.tex para maior clareza
+- primeira página de cada capítulo deve ser numerada (pedido da Biblio UFPR)
+
+2016/05/16 V0.9.4
+- tabelas de acrônimos e símbolos com longtable
+- inclusão do formato de bibliografia apalike-ptbr (traduzido)
+- inclusão do pacote subcaption (sub-figuras) em packages.tex
+- correção de espaço entre linhas caso seja usado "\\" no título
+- Makefile: alvo "purge" com remoção do PDF
+
+2015/11/30 V0.9.3
+- versão para o PPGINF/UFPR
+- todos os arquivos em UTF8
+- descrição genérica, ajustável para qualquer tipo de monografia
+- usuário pode optar oneside/twoside
+- usuário pode escolher formato de bibliografia
+- reorganização dos arquivos em diretórios
+- criação de Makefile mínimo
+- pacote ifthen substituido por comandos TeX
+- ajustes para ficar mais próximo do formato da Bib UFPR (pero no mucho)
+- opções do pacote listings ajustadas para aceitar UTF8
+
+2014/03/18 V0.9.2
+- versão para o PPGCA/UTFPR
+- adicionada opção "defesa"
+- reorganização do texto dos capítulos de exemplo
+
+2009/06/03 V0.9.1
+- incluso exemplo de citação bibliográfica contendo URL
+- ajustes no texto do modelo Cap 1 e 2
+
+2008/11/17 V0.9
+- opções "draft" e "final" conflitam com opções de documentclass, 
+  opçõo "draft" vira default e opção "final" renomeada para "aprovada"
+- corrigida ortografia errada em "Abreviações"
+
+2008/07/16 V0.8
+- removidos packages obsoletos (vide documento l2tabuen.pdf)
+- dimensões da página definidas com package "geometry"
+- espaçamento: troca de \baselinestretch por \linespread
+- indentação de parágrafo mudou de 12.7mm para 4em
+- trocados \bf e \sc por \textbf e \textsc
+- adotado o package setspace para espaçamento entre linhas
+- linhas do título mais espaçadas sempre, mesmo no modo "final"
+- fontes ajustados para o padrão LaTeX2e
+- ajustada fonte default do package listings para tt footnotesize
+- retirados alguns acentos ISO deste arquivo (compatibilidade UTF8)
+- acentos \'i modificados para \'{\i}
+
+2008/06/11 V0.7
+- inclusão automatica da ficha catalográfica, agradecimentos e dedicatória
+  na versão final do documento
+- ficha catalográfica no verso da segunda capa
+
+2008/06/03 V0.6
+- substituição do Makefile pelo script build (mais completo)
+- inclusão da opção "final" para gerar a versão final
+- estilo "apalike" para bibliografia
+
+2008/03/12 V0.5
+- ajustei a ordem das paginas iniciais (resumo, sumário, etc)
+
+2007/09/02 V0.4
+- listasimb e listabrev
+- resumo, abstract e agradecimentos em negrito
+
+2007/08/08 V0.3
+- coloquei flag -tA4 no dvips (Makefile e instruções de uso)
+
+2007/08/08 V0.2
+- mudei fontenc para T1, para acertar acentos no PDF
+- mudei package de "txfonts" para "times"
+
+2007/06/15
+- comando \keywords
+- mais comentários explicativos
+- ajustes para evitar linhas órfãs e viúvas
+
+2007/06/01 V0.1
+- versão inicial, por Carlos Maziero (maziero@ppgia.pucpr.br)
+
+To do ==========================================================================
+
+- automatizar a geração das lista de símbolos e abreviações
+- automatizar geração da ficha catalográfica
+- opção de inglês ou português (capa e rosto sempre em português)
+- usar o modelo de bibliografia natbib (\citep e \citet)
+- criar capítulos com conteúdo básico de uma dissertação ou tese
+- distribuir melhor os pacotes entre ppginf.cls e packages.tex
+
diff --git a/main.tex b/main.tex
index f59a220..ac80065 100644
--- a/main.tex
+++ b/main.tex
@@ -31,7 +31,7 @@
 
 \title{Um modelo para dissertações e teses \\ (escrevi um título mais longo para ver como se comporta a quebra de linhas e o espaçamento entre elas)}
 
-% Estas devem ser definidas aqui para poder incorporar nos metadados do PDF
+% palavras-chave e keywords
 \pchave{palavra-chave 1, palavra-chave 2, palavra-chave 3}
 \keyword{keyword 1, keyword 2, keyword 3}
 
@@ -41,7 +41,7 @@
 
 \field{Ciência da Computação}		% default do PPGInf, não mudar
 
-\date{2015}
+\date{2016}
 \local{Curitiba PR}
 \instit{UFPR}{Universidade Federal do Paraná}
 
@@ -61,24 +61,24 @@
 
 %=====================================================
 
-% páginas iniciais (preâmbulo)
+% define estilo das páginas iniciais (capas, resumo, sumário, etc)
 \frontmatter
 \pagestyle{frontmatter}
 
-% capa e folha de rosto
+% define capa e folha de rosto
 \titlepage
 
-% páginas que só aparecem na versão final (inclusão automática)
+% inclui páginas que só aparecem na versão final (inclusão automática)
 \include{0-preambulo/ficha}		% ficha catalográfica
 \include{0-preambulo/aprovacao}		% folha de aprovação
 \include{0-preambulo/dedica}		% dedicatória
 \include{0-preambulo/agradece}		% agradecimentos
 
-% resumo e abstract
+% inclui resumo e abstract
 \include{0-preambulo/resumo}
 \include{0-preambulo/abstract}
 
-% sumário e demais listas (figuras, tabelas, abreviações/siglas, símbolos)
+% define sumário e demais listas (figuras, tabelas, abreviações/siglas, símbolos)
 \tableofcontents
 \listoffigures
 \listoftables
@@ -87,7 +87,7 @@
 
 %=====================================================
 
-% corpo do documento
+% define estilo do corpo do documento (capítulos e apêndices)
 \mainmatter
 \pagestyle{mainmatter}
 
@@ -107,7 +107,7 @@
 
 % base de bibliografia (BibTeX)
 \bibliography{refs}
-%\bibliography{ref1, ref2, ref3} % se tiver mais de um arquivo BibTeX
+%\bibliography{file1, file2, file3} % se tiver mais de um arquivo BibTeX
 
 %=====================================================
 
diff --git a/ppginf.cls b/ppginf.cls
index 1fc26cd..0accf1f 100644
--- a/ppginf.cls
+++ b/ppginf.cls
@@ -33,8 +33,9 @@
 
 %------------------------------------------------------------------------------
 
-% definição da classe
-\ProvidesClass{ppginf}[2016/05/16 V0.9.4 (Carlos Maziero)]
+% definição da classe e versão
+\ProvidesClass{ppginf}[2016/10/19 Manuscript class for PPGInf/UFPR]
+\def\@classversion{0.9.5}
 
 %------------------------------------------------------------------------------
 
@@ -117,7 +118,7 @@
 \RequirePackage[nottoc,notlot,notlof]{tocbibind}
 
 % melhor formatação de URLs na bibliografia
-\RequirePackage[obeyspaces]{url}
+\RequirePackage[obeyspaces,hyphens]{url}
 
 %------------------------------------------------------------------------------
 
@@ -129,17 +130,12 @@
 \renewcommand{\headrulewidth}{0pt}
 \renewcommand{\footrulewidth}{0pt}
 
-% estilo de página para prâmbulo (páginas iniciais) do documento
+% define o estilo de página do preâmbulo (páginas iniciais) do documento
 \fancypagestyle{frontmatter}{
   \fancyhf{}
 }
 
-% redefine o estilo default "plain" para nulo
-\fancypagestyle{plain}{
-  \fancyhf{}
-}
-
-% redefine o estilo de página para o corpo do documento
+% define o estilo de página do corpo do documento (capítulos)
 \fancypagestyle{mainmatter}{
   \fancyhf{}
   \if@twoside
@@ -149,11 +145,25 @@
   \fi
 }
 
+% define o estilo default "plain" como nulo nas páginas iniciais (frontmatter)
+% e igual a mainmatter no corpo do documento (para por números de página na
+% primeira página de cada capítulo).
+\fancypagestyle{plain}{
+  \fancyhf{}
+  \if@mainmatter
+    \if@twoside
+      \fancyhead[LE,RO]{\thepage}
+    \else
+      \fancyhead[R]{\thepage}
+    \fi
+  \fi
+}
+
 %------------------------------------------------------------------------------
 
 % pacotes para gerar um arquivo PDF "rico" (bookmarks, links, metadados)
-\RequirePackage[plainpages,pdfpagelabels]{hyperref} % PDF com links, metadados
-\RequirePackage{bookmark}		% cria um índice no PDF
+\RequirePackage[plainpages,pdfpagelabels]{hyperref}	% PDF com links, metadados
+\RequirePackage{bookmark}				% cria um índice no PDF
 
 % ajustar metadados e propriedades do PDF gerado
 \hypersetup{
@@ -187,8 +197,8 @@
 \def\@descr{}			% descrição do documento
 \def\@instshort{undef}		% instituição (abreviação)
 \def\@instlong{undef}		% instituição (por extenso)
-\def\@pcs{undef}		% palavras-chave
-\def\@kws{undef}		% keywords
+\def\@pcs{}			% palavras-chave
+\def\@kws{}			% keywords
 
 % instituição
 \newcommand{\instit}[2]{
@@ -228,8 +238,12 @@
   \end{center}
   \vspace{0.5ex}
 }{
-  \vspace{4ex}
-  \noindent\textbf{Palavras-chave:} {\@pcs}.
+  % somente mostrar palavras-chave se estiverem definidas
+  \ifx\@pcs\@empty
+  \else
+    \vspace{4ex}
+    \noindent\textbf{Palavras-chave:} {\@pcs}.
+  \fi
   \vfill
   \cleardoublepage
 }
@@ -245,8 +259,12 @@
   \end{center}
   \vspace{0.5ex}
 }{
-  \vspace{4ex}
-  \noindent\textbf{Keywords:} {\@kws}.
+  % somente mostrar keywords se estiverem definidas
+  \ifx\@kws\@empty
+  \else
+    \vspace{4ex}
+    \noindent\textbf{Keywords:} {\@kws}.
+  \fi
   \vfill
   \cleardoublepage
 }
@@ -327,6 +345,7 @@
     pdfauthor   = {\@author},
     pdfsubject  = {\@field},
     pdfproducer = {\@instshort\ - \@instlong},
+    pdfcreator  = {LaTeX, using PPGInf class V. \@classversion},
     pdfkeywords = {\@pcs, \@kws}
   }
 
@@ -379,7 +398,10 @@
   \begin{minipage}{9cm}
 
     % descrição
-    \@descr.
+    \ifx\@descr\@empty
+    \else
+      \@descr.
+    \fi
 
     % área de concentração
     \ifx\@field\@empty
-- 
GitLab