Criado o macro \delae para gerar o nome do Departamento de Sistemas v1.5.0
authorWalter Fetter Lages <w.fetter@ieee.org>
Sun, 1 Mar 2015 03:00:00 +0000 (00:00 -0300)
committerWalter Fetter Lages <w.fetter@ieee.org>
Sun, 1 Mar 2015 03:00:00 +0000 (00:00 -0300)
Eletricos de Automacao e Energia.

Criada a macro \department para configurar o departamento.  Para manter a
compatibilidade com versoes anteriores, se nao for utilizada, o defaul e' o
DELET.

Incluidas copias do Manual de Normalizacao de Trabalhos Acadêmicos da
Biblioteca de Engenharia da UFRGS e das Normas de Apresentacao Tabular do
IBGE.

Removida a dependencia do pacote bibabnt.  Agora o DeLeTeX inclui o seu
proprio estilo de formatcao da bibliografia conforme a ABNT denominado
deletabnt.bst.  O deletabnt.bst e' um fork do bibabnt-5.0.2.

Modificado o deletabnt.bst para incluir o ano do evento no tipo
@inproceedings.

14 files changed:
CHANGES
FAQ
Manual_Normalizacao.pdf [new file with mode: 0644]
TODO
bst/deletabnt.bst [new file with mode: 0644]
exemplos/deletex.tex
inputs/PPRdeletex.sty
inputs/deletex.cls
inputs/deletexdefs.sty
inputs/deleticle.cls
inputs/deletplan.cls
inputs/deletter.cls
normas.txt [new file with mode: 0644]
normastabular.pdf [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index f780973..dc58809 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,24 @@
+2015.03.01     Criado o macro \delae para gerar o nome do Departamento de
+               Sistemas Eletricos de Automacao e Energia.
+
+               Criada a macro \department para configurar o departamento. 
+               Para manter a compatibilidade com versoes anteriores, se nao
+               for utilizada, o defaul e' o DELET. 
+
+               Incluidas copias do Manual de Normalizacao de Trabalhos
+               Acadêmicos da Biblioteca de Engenharia da UFRGS e das Normas
+               de Apresentacao Tabular do IBGE.
+
+2014.07.01     Versao 1.5.0
+
+               Removida a dependencia do pacote bibabnt. Agora o DeLeTeX
+               inclui o seu proprio estilo de formatcao da bibliografia
+               conforme a ABNT denominado deletabnt.bst.  O deletabnt.bst
+               e' um fork do bibabnt-5.0.2.
+
+               Modificado o deletabnt.bst para incluir o ano do evento no
+               tipo @inproceedings.
+
 2009.08.05     Versao 1.4.0
 
                Alterada a nominada para os novos ocupantes dos cargos.
diff --git a/FAQ b/FAQ
index 109bfed..5222452 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -22,13 +22,13 @@ A2 - Isto ocorre porque a distribuicao do LaTex esta' configurada com a
 hifenizacao para portugues desabilitada. Execute o programa de configuracao
 do TeX e habilite a hifenizacao para portugues.
 
-       Se a distribuicao for a teTeX, execute o programa texconfig,
-selecione a opcao HYPHEN, a seguir selecione latex. Na janela de edicao que
-surgira', remova o comentario da linha portuges. Saia do editor (se for o
-vi, digite ESC : q) e selecione EXIT para sair do texconfig.
+Se a distribuicao for a teTeX, execute o programa texconfig, selecione a
+opcao HYPHEN, a seguir selecione latex.  Na janela de edicao que surgira',
+remova o comentario da linha portuges.  Saia do editor (se for o vi, digite
+ESC : q) e selecione EXIT para sair do texconfig.
 
-       Outra opcao e' editar diretamente o arquivo de configuracao, que
-normalmente esta' em /usr/share/texmf/tex/generic/config/language.dat.
+Outra opcao e' editar diretamente o arquivo de configuracao, que normalmente
+esta' em /usr/share/texmf/tex/generic/config/language.dat.
 
 ===============================================================================
 Q3 - Nao sei como seria o equivalente do \citeasnoun{} do pacote Harvard
@@ -43,8 +43,7 @@ maiusculas, separando os nomes por ";". Apenas a partir de 4 autores, e' que
 cita-se apenas o sobrenome do primeiro autor, seguido de "et al.". O
 \citet{} e' realmente o equivalente ao \citeasnoun{} do pacote Harvard e
 obedece ao formato adotado pelo PPGEE. Provavelmente o teste que gerou estas
-questao foi feito com menos de 4 autores. Por outro lado, convem notar que a
-citacao textual dos autores nao e' um formato recomendado pelo PPGEE.
+questao foi feito com menos de 4 autores. 
 
 ===============================================================================
 Q4 - Nao sei bem por qual motivo algumas expressoes do tipo $blabla$ tendem a
@@ -53,7 +52,7 @@ proxima linha do texto.
 
 A4 - Ainda nao foi determinado se isto e' um problema do pacote DeLeTeX ou
 um problema do LaTeX em si'. Exemplos demonstrando o problema sao bem
-vindos. Muitas vezes incluir o pacote ae resolve esse prolema.
+vindos. Muitas vezes incluir o pacote ae resolve esse problema.
 
 ===============================================================================
 Q5 - O checklist do PPGEE usa palavras fortes, como "EXATAMENTE IGUAL" e ao
@@ -104,7 +103,7 @@ abreviaturas, no modelo do PPGEE, nao existe alinhamento de tabulacao para
 as descricoes das abreviaturas, enquanto que na lista gerada pelo DeLeTeX
 sim.
 
-A9 - vide A8
+A9 - vide A8.
 
 ===============================================================================
 Q10 - No item 11 do checklist do PPGEE, le-se que o tamanho da fonte deve
@@ -151,6 +150,7 @@ tambem e' o especificado pela ABNT. No entanto, a versao impressa pela
 grafica sera' em frente e verso. Assim, parece mais coerente fazer tudo em
 frente e verso. E' dificil justificar a geracao do documento eletronico em
 forma diferente do oficial que e' o feito pela grafica.
+
 ===============================================================================
 Q14 - O checklist do PPGEE nao recomenda utilizacao de ":" para separar as
 descricoes das figuras enquanto que o DeLeTeX o faz.
@@ -170,7 +170,8 @@ aluno?
 
 A16 - Nao e' uma numeracao dos trabalhos, mas a numeracao da disciplina.
 Existe a disciplina TI-I e a discipina TI-II. Assim, quem fizer doutorado
-pode fazer TI-I no mestrado e TI-II no doutorado.
+pode fazer TI-I no mestrado e TI-II no doutorado. Note que atualmente não
+existem mais disciplians de TI no PPGEE.
 
 ===============================================================================
 Q17 - Estou usando o DeLeTeX para fazer apresentacoes e o pacote subfigure
@@ -198,3 +199,107 @@ DeLeTeX para a versao 1.3.0 ou posterior ou "desatualizar" a versao do
 IEEEtran para a versao 1.6c.
 
 ===============================================================================
+Q19 - Em referências com mais de três autores, deve-se utilizar a
+abreviatura et.  al..  Por ser uma expressão em outro idioma não deveria ser
+em itálico?
+
+A19 - Segundo o item 8.1.1.1 da NBR 6023, o et. al. não deve ser em itálico.
+
+===============================================================================
+Q20 - Conversando com um colegas escreventes de dissertação, um deles me
+disse que no deletex há uma modificação para uso do \cite e \citep.  Esse
+aluno disse que teve de por uma "relaxação" (não lembro o nome do comando)
+para se poder usar o \cite e o \citep como definidos antes das definições do
+DeLeTex.
+
+A20 - Se o aluno colocou uma relaxação para usar o \cite e \citep, fez bobagem!
+
+O comando \cite é um comando tradicional do LaTeX, existente por exemplo
+nos estilos book e report, que sã básicos do LaTeX. Este comando, quando
+usado com um estilo de bibliografia que cita por autor e data, como o
+adotado pelo PPGEE, faz citações na forma (Lages, 2016).
+
+O DeLeTeX usa o pacote natbib para formatar as referências. Este pacote
+define os comandos \citep, que faz citações na forma (Lages, 2016) e \citet,
+que faz citações na forma Lages (2016), além de outros comandos para outros
+formatos de citação.
+
+O natbib também (re-)define o comando \cite, mas para fazer citações na
+forma Lages (2016), ao contrário do formato tradicional do LaTeX.
+Provavelmente isso foi feito porque o natbib foi criado para ser usado nas
+Ciências Naturais, onde é muito mais comum fazer citações explícitas do que
+em Engenharia. Ainda assim, o natbib considera o uso do seu comando \cite
+como deprecated e recomenda usar \citet.
+
+O que foi feito no DeLeTex foi simplesmente fazer com que o \cite voltasse a
+citar na forma tradicional do LaTex, ou seja, na forma (Lages, 2016) porque
+assim fica mais fácil para "portar" textos escritos usando os estilos
+tradicionais do LaTex e a maioria dos outros estilos.
+
+Note que isso não representa restrição alguma, pois se for necessário fazer
+uma citacao na forma Lages (2016), basta usar o comando \citet.
+
+Ou seja, o erro e' o aluno querer usar \cite e \citep, quando deveria usar
+\citet e \cite ou \citet e \citep.
+
+===============================================================================
+Q21 - Haveria uma variação do \cite para que eu posas citar sem o parênteses?
+
+A21 - Basta usar o comando \citet. Vide Q20 para mais detalhes sobre este
+assunto.
+
+===============================================================================
+Q22 - Em algums referências aparece o texto "Anais...", não sei como sumir
+com ele, e ele aparece como norma da ABNT.  Isso eu realmente não entendi. 
+Pedi ajuda para os colegas mas eles também não sabem muito sobre.  Inclusive
+estão nas demais dissertações.
+
+A22 - O texto "Anais..." ou "Proceedings..." são colocados automaticamante
+onde devem ser, mas para isso os campos no .bib tem que ser preechidos
+corretamente, em especial o campo booktitle da macro @inproceedings.
+
+Se o evento for internacional, o campo deve comecar com "Proceedings of".
+
+Se o evento for nacional, o campo deve comecar com "Anais do"
+
+===============================================================================
+Q23 - Estou querendo citar um artigo cujo um dos autores é o prof. João
+Manoel Gomes da Silva Jr.  Se no .bib faço o campo author="Jo{\~a}o Manoel
+{GOMES DA SILVA JR.}", a referência fica sempre em letras maiúsculas, mesmo
+quando o estilo usa letras minúsculas.  Se faço author="Jo{\~a}o Manoel
+{Gomes da Silva Jr.}", a referência fica sempre em letras minúsculas, mesmo
+quando o estilo usa letras maiúsculas.
+
+A23 - O correto é colocar assim:
+
+author="Jo{\~a}o Manoel Gomes{~}da{~}Silva{~}Jr."
+
+e aí o BiBTeX converte para letras maiúsculas ou minúsculas conforme o estilo.
+
+===============================================================================
+Q24 - Estou gerando o pdf com o verso de algumas páginas em branco e
+alternando o lado do número da página, está errado?  A dissertação de um
+colega está diferente, sem páginas em branco e com os números sempre do
+mesmo lado da página.  Qual seria a forma correta de gerar o pdf?
+
+A24 - As  duas formas estao corretas, depende do objetivo.
+
+A forma como está a tua dissertação é para impressão em frente e verso e é
+selecionada quando se usa a opcao openright no \documentclass.
+
+A forma como está a dissertação do seu colega é para impressão somente em
+frente e é selecionada quando se usa a opcao oneside no \documentclass.
+
+Note que a numeração das páginas, não só a posição dos números, é diferente
+em um caso e no outro, devido à inclusão dos versos em branco em algumas
+páginas.
+
+A gráfica da UFRGS vai produzir as cópias da versão final em frente e verso,
+portanto é mais adequado usar frente e verso desde agora.  Além de poupar
+papel faz, com que os números das páginas na versão pdf fiquem consistentes
+com os da versão impressa pela gráfica.
+
+Porém, há quem prefira que as versões preliminares sejam impressas só em
+frente, para que o verso das folhas possa ser usado para anotações.
+
+===============================================================================
\ No newline at end of file
diff --git a/Manual_Normalizacao.pdf b/Manual_Normalizacao.pdf
new file mode 100644 (file)
index 0000000..154d418
Binary files /dev/null and b/Manual_Normalizacao.pdf differ
diff --git a/TODO b/TODO
index 9df502f..e4dfee1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -23,7 +23,7 @@ copiar inputs para la'
 miktex, settings Tab General Refresh FNDB
 
 criar miktex/bibtex/bst/bibabnt
-copiar bibabnt/*.bsts para la'
+copiar bibabnt/*.bst para la'
 
 miktex, settings Tab General Refresh FNDB
 
diff --git a/bst/deletabnt.bst b/bst/deletabnt.bst
new file mode 100644 (file)
index 0000000..696f381
--- /dev/null
@@ -0,0 +1,1362 @@
+%==============================================================================
+% deletabnt.bst
+% Estilo BibTeX para formatação de referências no padrão ABNT
+% 
+% O deletabnt.bst é um fork do estilo abnt.bst
+%
+% Copyright (C) 2014 Walter Fetter Lages
+%==============================================================================
+% abnt.bst
+% Estilo BibTeX de formatação de referências bibliográficas no padrão ABNT
+%
+% UFRGS TeX Users Group
+% Informatics Institute --- UFRGS
+% Porto Alegre, Brazil
+% http://www.inf.ufrgs.br/utug
+% Discussion list: utug-l@inf.ufrgs.br
+%
+% $Id: abnt.bst,v 5.7 2003/04/15 15:09:10 avila Exp $
+%
+% Copyright (C) 2001-2003 UFRGS TeX Users Group
+%==============================================================================
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% 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 for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+%==============================================================================
+%
+% Changes by Walter Fetter Lages:
+%
+% 2014.07.01   Included the event year in the type @inproceedings
+%              (regression to bibabnt-5.0.1)
+%
+%==============================================================================
+% Definição dos campos das entradas
+%==============================================================================
+ENTRY
+{ 
+       author
+       editor
+       title
+       booktitle
+       chapter
+       pages
+       address
+       publisher
+       year
+       journal
+       month
+       number
+       edition
+       howpublished
+       institution
+       key
+       note
+       organization
+       school
+       series
+       type
+       volume
+}
+{}
+{
+       label
+       year.char
+}
+
+INTEGERS {i j n}
+STRINGS {s t last.label last.year.char current.letter names new.pages}
+
+%==============================================================================
+% Definicao dos nomes dos meses
+%==============================================================================
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+%==============================================================================
+% Definicao de strings usados na elaboracao das referencias
+%==============================================================================
+FUNCTION {str:mastersthesis} {"Disserta{\c{c}}{\~a}o (Mestrado em Engenharia El{\'e}trica)"}
+FUNCTION {str:phdthesis} {"Tese (Doutorado em Engenharia El{\'e}trica)"}
+FUNCTION {str:chapter} {"Cap."}
+
+%==============================================================================
+% Definicao das abreviaturas padrao
+%==============================================================================
+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"}
+
+%==============================================================================
+% Exibe warning quando um campo ``required'' esta' faltando. Recebe na pilha o
+% tipo do campo.
+%==============================================================================
+FUNCTION {show.missing.field.warning}
+{
+       "Falta o campo " swap$ " em " cite$ * * * warning$
+}
+
+%==============================================================================
+% Funcoes logicas
+%==============================================================================
+FUNCTION {not}
+{
+               { #0 }
+               { #1 }
+       if$
+}
+
+FUNCTION {and}
+{
+               'skip$
+               { pop$ #0 }
+       if$
+}
+
+FUNCTION {or}
+{
+               { pop$ #1 }
+               'skip$
+       if$
+}
+
+FUNCTION {is.numeric.char}
+{
+       #1 #1 substring$
+       duplicate$ "" =
+               {pop$ #0}
+               {
+                       duplicate$ chr.to.int$ #47 >
+                       swap$ chr.to.int$ #58 <
+                       and
+               }
+       if$
+}
+
+FUNCTION {is.uppercase.char}
+{
+       #1 #1 substring$
+       duplicate$ "" =
+               {pop$ #0}
+               {
+                       duplicate$ chr.to.int$ #64 >
+                       swap$ chr.to.int$ #91 <
+                       and
+               }
+       if$
+}
+
+%==============================================================================
+% Escreve no arquivo o comando que gera o item
+%
+% Parm:
+%       um string com a formatacao do item
+%==============================================================================
+FUNCTION {write.item}
+{
+       "\bibitem[" label * "]{" * cite$ * "} " *
+       swap$ *
+       write$ newline$ newline$
+}
+
+%==============================================================================
+% Separa o titulo em titulo e sub-titulo, empilhando o sub-titulo e o titulo,
+% nessa ordem
+%
+% Parm:
+%       o titulo
+%==============================================================================
+FUNCTION {extract.subtitle}
+{
+       #1 'i :=
+
+       duplicate$
+       i #1 substring$
+       {
+               duplicate$ ":" = not
+               swap$ "" = not
+               and
+       }
+       {
+               #1 i + 'i :=
+               duplicate$
+               i #1 substring$
+       } while$
+
+       duplicate$ i #999 substring$
+       swap$
+       #1 i #1 - substring$
+}
+
+%==============================================================================
+% Separa a primeira palavra do texto, empilhando o resto e a palavra, nessa
+% ordem
+%
+% Parm:
+%       o texto
+%==============================================================================
+FUNCTION {extract.first.word}
+{
+       #1 'i :=
+
+       duplicate$
+       i #1 substring$
+       {
+               duplicate$ " " = not
+               swap$ "" = not
+               and
+       }
+       {
+               #1 i + 'i :=
+               duplicate$
+               i #1 substring$
+       } while$
+
+       duplicate$ i #999 substring$
+       swap$
+       #1 i #1 - substring$
+}
+
+%==============================================================================
+% Enfatiza um string
+%
+% Parm:
+%       o string
+%==============================================================================
+FUNCTION {emphasize}
+{
+       "\textbf{" swap$ * "}" *
+}
+
+%==============================================================================
+% Adiciona um texto (se nao-empty$) ja' formatado ao item, separando-o por
+% ponto.
+% Ex.: NOME. Titulo. data. ano.
+%
+% Parm:
+%       um string representando o item (pode ser vazio, para iniciar o item)
+%       o texto a ser adicionado
+%==============================================================================
+FUNCTION {add.to.item}
+{
+       duplicate$ empty$
+               'pop$
+               {
+                       swap$
+                       duplicate$ empty$
+                               'skip$
+                               {" " *}
+                       if$
+                       swap$ add.period$ *
+               }
+       if$
+}
+
+%==============================================================================
+% Adiciona um item (se nao-empty$) a uma lista do tipo "a, b, c, ..."
+%
+% Parm:
+%       um string representando a lista (pode ser vazio, para criar uma lista)
+%       o item a ser adicionado
+%==============================================================================
+FUNCTION {add.to.list}
+{
+       duplicate$ empty$
+               'pop$
+               {
+                       swap$
+                       duplicate$ empty$
+                               'skip$
+                               {", " *}
+                       if$
+                       swap$ *
+               }
+       if$
+}
+
+%==============================================================================
+% Adiciona um nome a uma lista de nomes (separados por ponto-e-virgula)
+%
+% Parm:
+%       um string representando a lista (pode ser vazio, para criar uma lista)
+%       o nome a ser adicionado
+%==============================================================================
+FUNCTION {add.to.namelist}
+{
+       swap$
+       duplicate$ empty$
+               'skip$
+               {"; " *}
+       if$
+       swap$ *
+}
+
+%==============================================================================
+% Formata uma lista de nomes.
+%
+% Parm:
+%       os nomes a serem formatados
+%==============================================================================
+FUNCTION {format.names}
+{
+       duplicate$ num.names$ 'n :=
+       #1 'i :=
+       "" 'names :=
+
+       {i n #1 + <}
+       {
+               duplicate$ duplicate$ i "{ll}{~jj}" format.name$
+               duplicate$ "others" =
+               n #3 >
+               i #2 =
+               and
+               or
+               {
+                       pop$ pop$ names " et~al." *
+                       n 'i :=
+               }{
+                       "u" change.case$ swap$
+                       i "{, f.}{~vv}" format.name$ *
+                       names swap$ add.to.namelist
+               } if$ 'names :=
+               #1 i + 'i :=
+       } while$
+       pop$
+       names
+       duplicate$ #-1 #1 substring$ "." = {
+               #-2 global.max$ substring$
+               "\@." *
+       }
+               'skip$
+       if$
+}
+
+%==============================================================================
+% Formata uma lista de sobrenomes.
+%
+% Parm:
+%       os nomes a serem formatados
+%==============================================================================
+FUNCTION {format.family.names}
+{
+       duplicate$ num.names$ 'n :=
+       #1 'i :=
+       "" 'names :=
+
+       {i n #1 + <}
+       {
+               duplicate$ i "{ll}{~jj}" format.name$
+               duplicate$ "others" =
+               n #3 >
+               i #2 =
+               and
+               or
+               {
+                       pop$ names " et~al." *
+                       n 'i :=
+               }{
+                       "u" change.case$
+                       names swap$ add.to.namelist
+               } if$ 'names :=
+               #1 i + 'i :=
+       } while$
+       pop$
+       names
+}
+
+%==============================================================================
+% Formata uma lista de sobrenomes com todos os autores.
+%
+% Parm:
+%       os nomes a serem formatados
+%==============================================================================
+FUNCTION {format.family.names.all}
+{
+       duplicate$ num.names$ 'n :=
+       #1 'i :=
+       "" 'names :=
+
+       {i n #1 + <}
+       {
+               duplicate$ i "{ll}{~jj}" format.name$
+               duplicate$ "others" =
+               {
+                       pop$ names " et~al." *
+                       n 'i :=
+               }{
+                       "u" change.case$
+                       names swap$ add.to.namelist
+               } if$ 'names :=
+               #1 i + 'i :=
+       } while$
+       pop$
+       names
+}
+
+%==============================================================================
+% Formata um titulo (pode ser `title' ou `booktitle')
+%
+% Parm:
+%       um valor (0 ou 1) que indica se a formatacao deve ser enfatizada ou nao
+%       um string com o titulo a ser formatado
+%==============================================================================
+FUNCTION {format.title}
+{
+        swap$
+                {extract.subtitle emphasize}
+                {extract.subtitle}
+        if$
+        swap$ "l" change.case$ *
+}
+
+%==============================================================================
+% Retorna a indicacao de paginas ajustada para ter dois tracos (`--') se a
+% entrada so' tiver um.
+%==============================================================================
+FUNCTION {get.adjusted.pages}
+{
+       #1 'i :=
+       "" 'new.pages :=
+       pages #1 #1 substring$
+       {duplicate$ "" = not}
+       {
+               duplicate$ "-" =
+               pages i #1 - #1 substring$ "-" = not
+               and
+               pages i #1 + #1 substring$ "-" = not
+               and
+                       {"-" *}
+                       'skip$
+               if$
+               new.pages swap$ * 'new.pages :=
+               #1 i + 'i :=
+               pages i #1 substring$
+       } while$
+       pop$
+       new.pages
+}
+
+%==============================================================================
+% Coloca a primeira palavra do titulo em letras maiusculas e o resto em
+% minusculas. Esta funcao e' usada para gerar referencias cuja entrada e' pelo
+% titulo.
+%==============================================================================
+FUNCTION {format.entrytitle}
+{
+       #0 title format.title
+       extract.first.word "u" change.case$
+       swap$ * 
+}
+
+%==============================================================================
+% Converte a edicao literal ("First", "Second", etc., que é o padrão indicado
+% no manual do BibTeX) para o algarismo correspondente. Recebe na pilha o
+% string e devolve o numero.
+%==============================================================================
+FUNCTION {convert.to.number}
+{
+       duplicate$ "First" =
+       {pop$ "1"}
+       {duplicate$ "Second" =
+       {pop$ "2"}
+       {duplicate$ "Third" =
+       {pop$ "3"}
+       {duplicate$ "Fourth" =
+       {pop$ "4"}
+       {duplicate$ "Fifth" =
+       {pop$ "5"}
+       {duplicate$ "Sixth" =
+       {pop$ "6"}
+       {duplicate$ "Seventh" =
+       {pop$ "7"}
+       {duplicate$ "Eighth" =
+       {pop$ "8"}
+       {duplicate$ "Ninth" =
+       {pop$ "9"}
+       {duplicate$ "Tenth" =
+       {pop$ "10"}
+       {skip$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+}
+
+%=========================================================================
+% Formatacao dos campos. Se o campo nao existir a funcao devolve um string
+% vazio.
+%==============================================================================
+FUNCTION {format.author}
+{
+       author empty$
+               {""}
+               {author format.names}
+       if$
+}
+
+FUNCTION {format.editor}
+{
+       editor empty$
+               {""}
+               {editor format.names "~(Ed.)" *}
+       if$
+}
+
+FUNCTION {format.edition}
+{
+       edition empty$
+               {""}
+               {edition convert.to.number ".ed." *}
+       if$
+}
+
+FUNCTION {format.volume}
+{
+       volume empty$
+               {""}
+               {"v." volume *}
+       if$
+}
+
+FUNCTION {format.number}
+{
+       number empty$
+               {""}
+               {"n." number *}
+       if$
+}
+
+FUNCTION {format.month}
+{
+       month empty$
+               {""}
+               {month}
+       if$
+}
+
+FUNCTION {format.address}
+{
+       address empty$
+               {""}
+               {address}
+       if$
+}
+
+FUNCTION {format.publisher}
+{
+       type$ "mastersthesis" =
+       type$ "phdthesis" =
+       or {
+               school empty$ {""} {school} if$
+       }{
+       type$ "techreport" = {
+               institution empty$ {""} {institution} if$
+       }{
+       type$ "manual" = {
+               organization empty$ {""} {organization} if$
+       }{
+               publisher empty$ {""} {publisher} if$
+       } if$
+       } if$
+       } if$
+}
+
+FUNCTION {format.year}
+{
+       year empty$
+               {""}
+               {year}
+       if$
+}
+
+FUNCTION {format.chapter}
+{
+       chapter empty$
+               {""}
+               {
+                       type empty$
+                               {str:chapter}
+                               {type "~" *}
+                       if$
+                       chapter *
+               }
+       if$
+}
+
+FUNCTION {format.pages}
+{
+       pages empty$
+               {""}
+               {"p." get.adjusted.pages *}
+       if$
+}
+
+FUNCTION {format.totalpages}
+{
+       pages empty$
+               {""}
+               {pages "~p." *}
+       if$
+}
+
+FUNCTION {format.note}
+{
+       note empty$
+               {""}
+               {note}
+       if$
+}
+
+FUNCTION {format.month.year}
+{
+       month empty$
+               {year}
+               {month "~" * year *}
+       if$
+}
+
+FUNCTION {format.type}
+{
+       type empty$
+               'skip$
+               {pop$ type}
+       if$
+}
+
+FUNCTION {format.howpublished}
+{
+       howpublished empty$
+               {""}
+               {howpublished}
+       if$
+}
+
+FUNCTION {format.series}
+{
+       series empty$
+               {""}
+               {series}
+       if$
+}
+
+FUNCTION {format.parenthised.number}
+{
+       number empty$ {
+               ""
+       }{
+               "(" number * ")" *
+       } if$
+}
+
+%==============================================================================
+% As seguintes funcoes adicionam um item a uma lista passada na pilha.
+%==============================================================================
+FUNCTION {add.address} {format.address add.to.list}
+FUNCTION {add.publisher} {format.publisher add.to.list}
+FUNCTION {add.year} {format.year add.to.list}
+FUNCTION {add.chapter} {format.chapter add.to.list}
+FUNCTION {add.edition} {format.edition add.to.list}
+FUNCTION {add.volume} {format.volume add.to.list}
+FUNCTION {add.number} {format.number add.to.list}
+FUNCTION {add.month} {format.month add.to.list}
+FUNCTION {add.totalpages} {format.totalpages add.to.list}
+FUNCTION {add.pages} {format.pages add.to.list}
+FUNCTION {add.note} {format.note add.to.list}
+FUNCTION {add.month.year} {format.month.year add.to.list}
+FUNCTION {add.howpublished} {format.howpublished add.to.list}
+
+%==============================================================================
+% Converte virgula para dois-pontos; usado na formatacao do publisher de
+% proceedings e inproceedings, que normalmente levam tambem o local de publi-
+% cao; no padrao ABNT essa separacao deve ser por dois-pontos.
+% Recebe o string original e devolve o novo.
+%==============================================================================
+FUNCTION {comma.to.colon}
+{
+       's :=
+       "" 't :=
+       #1 'i :=
+       {s i #1 substring$ "" = not}
+       {
+               s i #1 substring$ duplicate$ "," =
+                       {pop$ t ":" * 't :=}
+                       {t swap$ * 't :=}
+               if$
+               i #1 + 'i :=
+       } while$
+       t
+}
+
+%
+% localiza a posicao do primeiro caractere maiusculo
+% recebe o string, devolve a posicao
+%
+FUNCTION {find.first.uppercase.char}
+{
+       's :=
+       #1 'j :=
+       #1 'i :=
+       {
+               s i #1 substring$ 't :=
+               t "" = not
+               t is.uppercase.char not
+               and
+       }
+       {
+               i #1 + 'i :=
+               t "\" = not
+               t "{" = not
+               and
+               t "}" = not
+               and
+                       {i 'j :=}
+                       'skip$
+               if$
+       } while$
+       t "" =
+               {#1}
+               {j}
+       if$
+}
+
+%
+% extrai o primeiro numero que aparece no string passado na pilha,
+% retornando-o; se nao ha' numero, retorna ""
+%
+FUNCTION {extract.first.number}
+{
+       's :=
+       "" 't :=
+       #1 'i :=
+       {
+               s i #1 substring$
+               duplicate$ is.numeric.char not
+               swap$ "" = not
+               and
+       }
+       {
+               i #1 + 'i :=
+       } while$
+       {s i #1 substring$ is.numeric.char}
+       {
+               t s i #1 substring$ * 't :=
+               i #1 + 'i :=
+       } while$
+       t
+}
+
+%
+% divide um string em dois
+% recebe o string e a posicao
+% devolve a primeira e a segunda parte
+FUNCTION {split.string}
+{
+       swap$ 's :=
+       duplicate$
+       s swap$ #1 swap$ #1 - substring$
+       swap$ s swap$ global.max$ substring$
+}
+
+%
+% recebe o titulo original e devolve, na ordem, o tipo de proceedings e o
+% restante do titulo
+%
+FUNCTION {extract.proceedings.type}
+{
+       's :=
+       type empty$ not
+               {type s}
+               {"dummy"
+       pop$ s #1 #11 substring$ duplicate$ "Proceedings" =
+               {s #12 global.max$ substring$}{
+       pop$ s #1 #5 substring$ duplicate$ "Proc." =
+               {pop$ "Proceedings" s #6 global.max$ substring$}{
+       pop$ s #1 #22 substring$ duplicate$ "Conference Proceedings" =
+               {pop$ "Proceedings" s #23 global.max$ substring$}{
+       pop$ s #1 #6 substring$ duplicate$ "Annals" =
+               {s #7 global.max$ substring$}{
+       pop$ s #1 #5 substring$ duplicate$ "Actas" =
+               {s #6 global.max$ substring$}{
+       pop$ s #1 #5 substring$ duplicate$ "Anais" =
+               {s #6 global.max$ substring$}{
+       pop$ s #1 #6 substring$ duplicate$ "Anales" =
+               {s #7 global.max$ substring$}{
+       pop$ s #1 #8 substring$ duplicate$ "Memorias" =
+               {s #9 global.max$ substring$}{
+       pop$ s #1 #22 substring$ duplicate$ "Trabajos Seleccionados" =
+               {s #23 global.max$ substring$}{
+       pop$ s #1 #11 substring$ duplicate$ "Tagungsband" =
+               {s #12 global.max$ substring$}
+               {pop$ "Anais" s} if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+}
+
+%==============================================================================
+% Converte um booktitle do tipo "Proc. of XXX" no padrao ABNT
+% Recebe na pilha o titulo original
+% Devolve na pilha, na ordem:
+% - o tipo de publicacao
+% - o titulo ja' formatado (em maiusculas e com a edicao)
+%==============================================================================
+FUNCTION {process.proceedings.booktitle}
+{
+       extract.proceedings.type
+       duplicate$ find.first.uppercase.char split.string "u" change.case$
+       swap$ extract.first.number
+       duplicate$ empty$
+               'pop$
+               {", " swap$ * * "." *}
+       if$
+}
+
+%==============================================================================
+% Estas funcoes formatam partes comuns a varios tipos de referencia.
+%==============================================================================
+FUNCTION {format.publication}
+{
+       ""
+       address empty$
+               {
+                       "[S.l."
+                       format.publisher empty$
+                               {":~s.n.]" *}
+                               {"]: " format.publisher * *}
+                       if$ add.year add.to.item
+               }
+               {
+                       format.address
+                       format.publisher empty$
+                               {": [s.n.]" *}
+                               {": " format.publisher * *}
+                       if$ add.year add.to.item
+               }
+       if$
+}
+
+FUNCTION {format.proceedings.publication}
+{
+       publisher empty$
+               {"[S.l.:~s.n.]"}
+               {publisher comma.to.colon}
+       if$ add.year
+}
+
+FUNCTION {format.misc.publication}
+{
+       publisher empty$ {
+               format.address add.year
+       }{
+               format.publication
+       } if$
+}
+
+FUNCTION {format.series.info}
+{
+       "(" format.series *
+       add.volume ")" *
+}
+
+FUNCTION {format.complementary.data.with.totalpages}
+{
+       "" format.totalpages add.to.item
+       ""
+       series empty$
+               {add.volume add.number add.to.item}
+               {add.number add.to.item format.series.info add.to.item}
+       if$
+}
+
+FUNCTION {format.complementary.data.with.page.range}
+{
+       ""
+       series empty$
+               {add.volume add.number add.pages}
+               {"" add.number add.pages add.to.item format.series.info add.to.item}
+       if$
+}
+
+%
+% esta funcao recebe o titulo a ser formatado
+%
+FUNCTION {format.proceedings.booktitle}
+{
+       process.proceedings.booktitle "" swap$ add.year add.address add.to.item
+       swap$ "{\ldots}" * emphasize " " swap$ * *
+}
+
+%==============================================================================
+% Formatacao das entradas
+%==============================================================================
+FUNCTION {article}
+{
+       ""
+       format.author add.to.item
+       #0 title format.title add.to.item
+       journal emphasize
+               address empty$ {
+                       "[S.l.]" add.to.list
+               }{
+                       add.address
+               } if$
+               add.volume add.number add.pages add.month.year add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {book}
+{
+       ""
+       editor empty$
+               {format.author}
+               {format.editor}
+       if$ add.to.item
+       #1 title format.title add.to.item
+       format.edition add.to.item
+       format.publication add.to.item
+       format.complementary.data.with.totalpages add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {inbook}
+{
+       ""
+       editor empty$
+               {format.author}
+               {format.editor}
+       if$ add.to.item
+       #1 title format.title add.to.item
+       format.edition add.to.item
+       format.publication add.to.item
+       format.complementary.data.with.page.range add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {incollection}
+{
+       ""
+       format.author add.to.item
+       #0 title format.title add.to.item
+       "In:"
+               editor empty$
+                       'skip$
+                       {format.editor add.to.item}
+               if$ 
+               #1 booktitle format.title add.to.item add.to.item
+       format.edition add.to.item
+       format.publication add.to.item
+       format.complementary.data.with.page.range add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {inproceedings}
+{
+       ""
+       format.author add.to.item
+       #0 title format.title add.to.item
+       " In: " booktitle format.proceedings.booktitle * *
+       format.proceedings.publication add.to.item
+       format.complementary.data.with.page.range add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {manual}
+{
+       ""
+       author empty$
+               {format.entrytitle add.to.item}
+               {
+                       format.author add.to.item
+                       #1 title format.title add.to.item
+               }
+       if$
+
+       format.edition add.to.item
+       format.publication add.to.item
+       format.complementary.data.with.totalpages add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {mastersthesis}
+{
+       ""
+       format.author add.to.item
+       #1 title format.title add.to.item
+       format.year add.to.item
+       format.totalpages add.to.item
+       str:mastersthesis format.type " --- " * format.publisher *
+               add.address 
+               add.year add.to.item
+       format.note add.to.item
+       format.parenthised.number add.to.item
+
+       write.item
+}
+
+FUNCTION {misc}
+{
+       ""
+       author empty$
+               {
+                       title empty$
+                               'skip$
+                               {format.entrytitle add.to.item}
+                       if$
+               }
+               {
+                       format.author add.to.item
+                       title empty$
+                               'skip$
+                               {#1 title format.title add.to.item}
+                       if$
+               }
+       if$
+       note empty$ {
+               format.misc.publication add.to.item
+               format.complementary.data.with.totalpages add.to.item
+       }{
+               format.note add.howpublished add.to.item
+       } if$
+
+       write.item
+}
+
+FUNCTION {phdthesis}
+{
+       ""
+       format.author add.to.item
+       #1 title format.title add.to.item
+       format.year add.to.item
+       format.totalpages add.to.item
+       str:phdthesis format.type " --- " * format.publisher *
+               add.address 
+               add.year add.to.item
+       format.note add.to.item
+       format.parenthised.number add.to.item
+
+       write.item
+}
+
+FUNCTION {proceedings}
+{
+       ""
+       title format.proceedings.booktitle *
+       format.proceedings.publication add.to.item
+       format.complementary.data.with.page.range add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {techreport}
+{
+       ""
+       format.author add.to.item
+       #1 title format.title add.to.item
+       format.publication add.to.item
+       format.totalpages add.to.item
+       type empty$
+               {""}
+               {"(" type * "~" * number * ")" *}
+       if$ add.to.item
+       format.note add.to.item
+
+       write.item
+}
+
+FUNCTION {booklet} {misc}
+FUNCTION {unpublished} {misc}
+FUNCTION {default.type} {misc}
+
+%==============================================================================
+% Inicializa algumas variaveis globais
+%==============================================================================
+FUNCTION {init}
+{
+       "" 'last.label :=
+       "b" 'current.letter :=
+}
+
+%==============================================================================
+% Retorna na pilha o string a ser usado para a ordenacao das entradas.
+%==============================================================================
+FUNCTION {get.sortstring}
+{
+       author empty$ not {format.author " AAA" *}{
+       editor empty$ not {format.editor " AAA" *}{
+       title empty$ not {title}{
+       note empty$ not {note}{
+       key empty$ not {key}{
+       "???"
+       } if$
+       } if$
+       } if$
+       } if$
+       } if$
+
+       type$ "inbook" =
+       booktitle empty$ not
+       and
+               {
+                       booktitle title = not
+                               {pop$ title}
+                               'skip$
+                       if$
+               }
+               'skip$
+       if$
+
+       type$ "proceedings" = {
+               pop$
+               title process.proceedings.booktitle
+               swap$ pop$
+       }
+               'skip$
+       if$
+       purify$ "l" change.case$
+}
+
+%==============================================================================
+% Define as ``keys'' para ordenacao
+%==============================================================================
+FUNCTION {set.sortkeys}
+{
+       get.sortstring
+       format.year *
+       #1 entry.max$ substring$
+       #1 global.max$ substring$
+       'sort.key$ :=
+}
+
+%==============================================================================
+% Ajusta os labels, adicionando letras minusculas aos labels de mesmo autor e
+% ano
+%==============================================================================
+FUNCTION {adjust.label}
+{
+        last.label
+        label 'last.label :=
+        label = {
+                current.letter 'year.char :=
+                current.letter chr.to.int$
+                #1 + int.to.chr$
+                'current.letter :=
+        }{
+               "" 'year.char :=
+                "b" 'current.letter :=
+       } if$
+}
+FUNCTION {reverse.adjust.label}
+{
+        last.year.char "b" = {
+               "a" 'year.char :=
+       }
+               'skip$
+       if$
+        year.char 'last.year.char :=
+}
+
+%==============================================================================
+% Retorna na pilha o string a ser usado para a construcao do label. Quase sempre
+% sera' o sobrenome do primeiro autor, mas para alguns tipos de referencia pode
+% ser o editor, a entidade ou o titulo
+%==============================================================================
+FUNCTION {get.labelstring}
+{
+       author empty$ not
+               {author format.family.names}
+               {
+                       editor empty$ not
+                               {editor format.family.names}
+                               {
+                                       title empty$ not
+                                               {title "u" change.case$}
+                                               {
+                                                       key empty$ not
+                                                               {key}
+                                                               {"???"}
+                                                       if$
+                                               }
+                                       if$
+                               }
+                       if$
+               }
+       if$
+
+       type$ "inbook" =
+       booktitle empty$ not
+       and
+               {
+                       booktitle title = not
+                               {pop$ title "u" change.case$}
+                               'skip$
+                       if$
+               }
+               'skip$
+       if$
+}
+
+%==============================================================================
+% Retorna na pilha o string a ser usado para a construcao do label. Quase sempre
+% sera' o sobrenome do primeiro autor, mas para alguns tipos de referencia pode
+% ser o editor, a entidade ou o titulo
+%
+% esta versao retorna os nomes completos
+%==============================================================================
+FUNCTION {get.labelstring.all}
+{
+       author empty$ not
+               {author format.family.names.all}
+               {
+                       editor empty$ not
+                               {editor format.family.names.all}
+                               {
+                                       title empty$ not
+                                               {title "u" change.case$}
+                                               {
+                                                       key empty$ not
+                                                               {key}
+                                                               {"???"}
+                                                       if$
+                                               }
+                                       if$
+                               }
+                       if$
+               }
+       if$
+
+       type$ "inbook" =
+       booktitle empty$ not
+       and
+               {
+                       booktitle title = not
+                               {pop$ title "u" change.case$}
+                               'skip$
+                       if$
+               }
+               'skip$
+       if$
+}
+
+%==============================================================================
+% Construção dos labels
+%==============================================================================
+FUNCTION {prepare.label.sorting}
+{
+       get.labelstring.all format.year *
+       duplicate$ 'label := 'sort.key$ :=
+}
+FUNCTION {make.label}
+{
+       get.labelstring
+       "(" *
+       year empty$ {
+               "????"
+       }{
+               year year.char *
+       } if$ *
+       ")" *
+       get.labelstring.all *
+       #1 entry.max$ substring$
+       #1 global.max$ substring$
+       'label :=
+}
+
+%==============================================================================
+% Inicia a definicao das referencias
+%==============================================================================
+FUNCTION {begin.bib}
+{
+       preamble$ empty$
+               'skip$
+               {preamble$ write$ newline$ newline$}
+       if$
+       "\begin{thebibliography}{\hspace{\parindent}}" write$ newline$
+       newline$
+}
+
+%==============================================================================
+% Termina a definicao das referencias
+%==============================================================================
+FUNCTION {end.bib}
+{
+       "\end{thebibliography}" write$ newline$
+}
+
+%==============================================================================
+% main()
+%==============================================================================
+READ
+EXECUTE {init}
+ITERATE {prepare.label.sorting}
+SORT
+ITERATE {adjust.label}
+REVERSE {reverse.adjust.label}
+ITERATE {make.label}
+ITERATE {set.sortkeys}
+SORT
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
index 65638a6..2c02afe 100644 (file)
@@ -14,7 +14,6 @@
 
 % Seleção do tipo de monografia e das opções de formatação
 \documentclass[openright,diss]{deletex}
-
 % um tipo específico de monografia pode ser informado como parâmetro opcional:
 %\documentclass[tese]{deletex}
 
@@ -166,7 +165,10 @@ ou ao DELET}
 % inicio do documento
 %
 \begin{document}
-
+\makeatletter
+\renewcommand*{\l@figure}{\@dottedtocline{1}{0em}{5.5em}}
+\let\l@table\l@figure
+\makeatother
 % O comando \maketile gera a capa, a folha de rosto e a folha de aprovacao 
 % (se for o caso)
 % às vezes é necessário redefinir algum comando logo antes de produzir
@@ -373,5 +375,6 @@ pelo autor, mas que servem de comprova
 argumentos contidos no texto. Neste ponto, deve-se dar especial atenção à
 questão dos direitos autorais.
 
+
 \end{document}
 
index b9402be..11b530f 100644 (file)
        \rput[c](5.25,4.4){\fontTitle{#1}}
 }
 
+\newcommand{\department}[1]{\gdef\@department{#1}}
+
 \newcommand{\course}[1]{\gdef\@course{#1}}
 
 \gdef\@institution{\ufrgs\\
 \ee\\
-\delet\\
+\@ifundefined{@department}{\delet}{\@department}\\
 \@ifundefined{@course}{}{\@course}}
 
 \LogoPosition{-1.75,-1.2}
index 2a60164..131e10f 100644 (file)
 % Definição do Departamento relacionado ao documento
 % deve ser definido como `DELET'
 %==============================================================================
-\newcommand{\dept}[1]{\gdef\@dept{#1}}
-\def\DELET{\delet}
-\dept{DELET}
+\newcommand{\department}[1]{\gdef\@department{#1}}
 
 %==============================================================================
 % Definição das palavras-chave (máx. 10)
 \newcommand{\titlepagetopinfo}{%
         \MakeUppercase{\ufrgs}\\
        \MakeUppercase{\ee}\\
-        \@ifundefined{@dept}{}{\MakeUppercase{\csname \@dept\endcsname}\\}%
+        \@ifundefined{@department}{\csname \delet \endcsname}{\MakeUppercase{\csname \@department\endcsname}\\}%
         \@ifundefined{@course}{}{\MakeUppercase{\@course}\\}
         \@ifundefined{@subject}{}{\MakeUppercase{\@subject}}
 }
 \newcommand{\nominataBibchefe}{June Magda Rosa Schamberg}
 \newcommand{\nominataBibchefename}{Bibliotec{\'a}ria-chefe da Escola de Engenharia}
 \newcommand{\nominataChefeDELET}{Prof.~Dr.~Marcelo Soares Lubaszewski}
-\newcommand{\nominataChefeDELETname}{Chefe do \delet}
+\newcommand{\nominataChefeDELETname}{Chefe do \@department}
 \newcommand{\nominata}{
         \MakeUppercase{\ufrgs}\\
         \nominataReitname: \nominataReit\\
index 429d90d..ad38aeb 100644 (file)
@@ -20,8 +20,9 @@
 \def\ufrgs{Universidade Federal do Rio Grande do Sul}
 \def\ee{Escola de Engenharia}
 \def\delet{Departamento de Engenharia El{\'e}trica}
+\def\delae{Departamento de Sistemas El{\'e}tricos de Automa{\c{c}}{\~a}o e Energia}
 \def\ppgee{Programa de P{\'o}s-Gradua{\c{c}}{\~a}o em Engenharia El{\'e}trica}
-\def\ceai{Curso de Especializa\c{c}\~ao em Automa{\c{c}}\~ao Industrial}
+\def\ceai{Curso de Especializa\c{c}\~ao em Automa{\c{c}}{\~a}o Industrial}
 \def\cgele{Curso de Gradua{\c{c}}{\~a}o em Engenharia El{\'e}trica}
 \def\cgecp{Curso de Gradua{\c{c}}{\~a}o em Engenharia de Computa{\c{c}}{\~a}o}
 \def\cgeca{Curso de Gradua{\c{c}}{\~a}o em Engenharia de Controle e Automa{\c{c}}{\~a}o}
index baee4b9..e571044 100644 (file)
 \RequirePackage{times}
 \RequirePackage{deletexdefs}
 
+\newcommand{\department}[1]{\gdef\@department{#1}}
+
 \newcommand{\course}[1]{\gdef\@course{#1}}
 
 \def\@maketitle{%
         \begin{center}
-                {\Large\ufrgs\par\ee\par\delet\par
+                {\large\ufrgs\par\ee\par\@ifundefined{@department}{\delet}{\@department}\par
                \@ifundefined{@course}{}{\@course}\par
                \vspace{2ex}
                \textbf{\@title}\par
index 3087f07..4c7d20f 100644 (file)
@@ -25,6 +25,7 @@
 \fi
 \RequirePackage{deletexdefs}
 %
+\newcommand{\department}[1]{\gdef\@department{#1}}
 \newcommand{\course}[1]{\gdef\@course{#1}}
 \newcommand{\credits}[1]{\gdef\@credits{#1}}
 \newcommand{\type}[1]{\gdef\@type{#1}}
@@ -47,7 +48,7 @@
                \noindent\parbox[b]{0.23\textwidth}{\ufrgsshield[0.3]}\hfill
                \parbox[b]{0.8\textwidth}{\center\bf\MakeUppercase{\large\ufrgs}\\
                        \MakeUppercase{\large\ee}\\
-                       \MakeUppercase{\large\delet}\\
+                       \@ifundefined{@department}{\MakeUppercase{\large\@delet}\delet}{\MakeUppercase{\large\@department}}\\
                        \if@ppgee
                                \MakeUppercase{\large\ppgee}\\
                        \fi
index e28f250..53af524 100644 (file)
 %
 % definicoes padrao
 %
+\newcommand{\department}[1]{\gdef\@department{#1}}
 \date{Porto~Alegre, \today.}
 \newcommand{\estilorodape}{\scriptsize\sffamily\bfseries}
 \newcommand{\estilospf}{\sffamily\bfseries}
 \address{
        \if@spf
-               \delet\ --- \ee\ --- \ufrgs\\
+               \@ifundefined{@department}{\delet}{\@department}\ --- \ee\ --- \ufrgs\\
        \fi
        Av.~Osvaldo Aranha, 103 --- 90035--190 Porto~Alegre, RS --- %
        \if@english %
@@ -46,7 +47,7 @@
                Brasil
        \fi %
        \\
-       \phonename: +55 (51) 3308-3515\hspace{2em}Fax: +55 (51) 3308-3293\hspace{2em}http://www.ufrgs.br/delet
+       \phonename: +55 (51) 3308-3515\hspace{2em}Fax: +55 (51) 3308-3293\hspace{2em}\@ifundefined{@department}{http://www.ufrgs.br/delet}{http://www.ece.ufrgs.br}
 }
 
 %
        \else
                \if@promo
                        \parbox[b]{\textwidth}{\ufrgslogo[0.4]\hfill
-                       \parbox[b]{0.7\textwidth}{\center\bf\ufrgs\\\ee\\\delet}
+                       \parbox[b]{0.7\textwidth}{\center\bf\ufrgs\\\ee\\\@ifundefined{@department}{\delet}{\@department}}
                        \hfill\eelogo[0.33]\\\linha}
                \else
                        \parbox[b]{\textwidth}{\ufrgsshield[0.2]\hfill
-                       \parbox[b]{0.7\textwidth}{\center\bf\ufrgs\\\ee\\\delet}
+                       \parbox[b]{0.7\textwidth}{\center\bf\ufrgs\\\ee\\\@ifundefined{@department}{\delet}{\@department}}
                        \hfill\eelogo[0.33]\\\linha}
                \fi
        \fi
diff --git a/normas.txt b/normas.txt
new file mode 100644 (file)
index 0000000..5d4ef8e
--- /dev/null
@@ -0,0 +1,10 @@
+ABNT NBR 6023:2002 - Referências - Elaboração
+ABNT NBR 6024:2003 - Numeração progressiva das seções de um documento
+escrito - Apresentação
+ABNT NBR 6027:2003 - Sumário - Apresentação
+ABNT NBR 6028:2003 - Resumo - Apresentação
+ABNT NBR 6034:2004 - Índice - Apresentação
+ABNT NBR 10520:2002 - Citações em documentos - Apresentação
+ABNT NBR 14724:2011 - Trabalhos acadêmicos - Apresentação
+ABNT NBR 12225:2004 - Lombada - Apresentação
+ABNT NBR 15287:2011 - Projeto de pesquisa - Apresentação
\ No newline at end of file
diff --git a/normastabular.pdf b/normastabular.pdf
new file mode 100644 (file)
index 0000000..1dba5c0
Binary files /dev/null and b/normastabular.pdf differ