From: Walter Fetter Lages Date: Sun, 1 Mar 2015 03:00:00 +0000 (-0300) Subject: Criado o macro \delae para gerar o nome do Departamento de Sistemas X-Git-Tag: v1.5.0^0 X-Git-Url: http://git.ece.ufrgs.br/?a=commitdiff_plain;h=dcd4cc81901d07529a083bd9d5bf6ae3bacca91d;p=delaetex.git 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. 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. --- diff --git a/CHANGES b/CHANGES index f780973..dc58809 100644 --- 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 --- 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 index 0000000..154d418 Binary files /dev/null and b/Manual_Normalizacao.pdf differ diff --git a/TODO b/TODO index 9df502f..e4dfee1 100644 --- 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 index 0000000..696f381 --- /dev/null +++ b/bst/deletabnt.bst @@ -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} diff --git a/exemplos/deletex.tex b/exemplos/deletex.tex index 65638a6..2c02afe 100644 --- a/exemplos/deletex.tex +++ b/exemplos/deletex.tex @@ -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} diff --git a/inputs/PPRdeletex.sty b/inputs/PPRdeletex.sty index b9402be..11b530f 100644 --- a/inputs/PPRdeletex.sty +++ b/inputs/PPRdeletex.sty @@ -70,11 +70,13 @@ \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} diff --git a/inputs/deletex.cls b/inputs/deletex.cls index 2a60164..131e10f 100644 --- a/inputs/deletex.cls +++ b/inputs/deletex.cls @@ -161,9 +161,7 @@ % 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) @@ -285,7 +283,7 @@ \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}} } @@ -443,7 +441,7 @@ \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\\ diff --git a/inputs/deletexdefs.sty b/inputs/deletexdefs.sty index 429d90d..ad38aeb 100644 --- a/inputs/deletexdefs.sty +++ b/inputs/deletexdefs.sty @@ -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} diff --git a/inputs/deleticle.cls b/inputs/deleticle.cls index baee4b9..e571044 100644 --- a/inputs/deleticle.cls +++ b/inputs/deleticle.cls @@ -37,11 +37,13 @@ \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 diff --git a/inputs/deletplan.cls b/inputs/deletplan.cls index 3087f07..4c7d20f 100644 --- a/inputs/deletplan.cls +++ b/inputs/deletplan.cls @@ -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 diff --git a/inputs/deletter.cls b/inputs/deletter.cls index e28f250..53af524 100644 --- a/inputs/deletter.cls +++ b/inputs/deletter.cls @@ -32,12 +32,13 @@ % % 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} } % @@ -59,11 +60,11 @@ \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 index 0000000..5d4ef8e --- /dev/null +++ b/normas.txt @@ -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 index 0000000..1dba5c0 Binary files /dev/null and b/normastabular.pdf differ