Consulta de materiais sobre as normas da ABNT

24 views
Skip to first unread message

Renan Aguiar

unread,
Oct 20, 2025, 8:03:28 PMOct 20
to abnTeX2
Boa noite, desde que entrei na faculdade fiquei fascinado com o LaTeX e usufrui com muita alegria do trabalho do abnTeX2. Recentemente, esse meu amor pelo LaTeX deu lugar a um amor pelo Typst. Por conta disso, eu quis me propor a escrever minha tese de mestrado nessa nova ferramenta, mas, por ser muito nova, não houve o mesmo nível de dedicação a criar um template compatível com as normas ABNT.

Por conta disso, vim pedir ajuda para entender melhor como eu poderia começar a escrever um template para Typst que tomando como inspiração o trabalho que é realizado no abnTeX2. Se alguém puder me providenciar um pontapé inicial, agradeceria bastante.

Renan Aguiar

Emílio Kavamura

unread,
Oct 22, 2025, 10:56:34 AMOct 22
to abnTeX2
Olá Renan,

Ferramentas novas, exigem muito trabalho inicial para criar customizações.  Eu não conheço o sistema, e por curiosidade acabei usando um IA para pedir exemplificações (final desta msg). 

Gostei pois me parece um sistema mais simples e direto numa primeira tentativa, apesar de ter de refazer todo processo de definições (talvez um IA possa reduzir o seu trabalho).

Eu usei o deepseek, apenas por minha comodidade. Talvez um outro sistema seja mais adequado.

Obrigado pela dica, vou verificar a possibilidade de usá-lo mais adiante.


*************************


O Typst usa um sistema de funções e set rules (regras de definição) para customizar a formatação.

1. Configuração Básica do Documento ABNT
typst
// Configurações principais do documento #set page( paper: "a4", margins: (left: 3cm, right: 2cm, top: 3cm, bottom: 2cm), numbering: "1", footer: [ // Rodapé com numeração #align(center)[#text(10pt)[#page.number]] ] ) // Fonte Times New Roman ou similar #set text( font: "Times New Roman", size: 12pt, line-height: 1.5 ) // Configuração de parágrafos #set par( first-line-indent: 1.25cm, spacing: 1.5 lines )
2. Customização de Títulos e Seções
typst
// Definindo estilos para títulos #show heading: it => { if it.level == 1 { // CAPÍTULO 1 - NOME DO CAPÍTULO block( align(center)[ text(size: 12pt, weight: "bold")[ CAPÍTULO #counter(heading).display() - #it.body ] ], v(2em) ) } else if it.level == 2 { // 1.1 Seção - em negrito block( text(size: 12pt, weight: "bold")[ #counter(heading).display("1.1") #it.body ], v(1em) ) } else if it.level == 3 { // 1.1.1 Subseção - em negrito text(size: 12pt, weight: "bold")[ #counter(heading).display("1.1.1") #it.body ] } else { // Demais níveis text(size: 12pt)[ #counter(heading).display() #it.body ] } }
3. Modelo Completo de Capa ABNT
typst
// Função para criar capa ABNT #let capa-abnt(universidade, autor, titulo, subtitulo, cidade, ano) = { set align(center) set text(size: 12pt) block( v(8em) text(weight: "bold", size: 14pt)[#universidade] v(3em) text(weight: "bold", size: 14pt)[#autor] v(6em) text(weight: "bold", size: 16pt)[#titulo] v(0.5em) text(weight: "medium", size: 14pt)[#subtitulo] v(8em) text()[#cidade] v(0.5em) text()[#ano] ) } // Usando a capa #capa-abnt( universidade: "UNIVERSIDADE FEDERAL DE EXEMPLO", autor: "JOÃO DA SILVA", titulo: "TÍTULO DA DISSERTAÇÃO", subtitulo: "Subtítulo se houver", cidade: "São Paulo", ano: "2024" )
4. Customização para Instituições Específicas
typst
// Arquivo: usp.typ // Perfil de formatação para USP #let config-usp = ( page: ( margins: (left: 3cm, right: 2cm, top: 3cm, bottom: 2cm), ), text: ( font: "Times New Roman", size: 12pt, ), heading-level-1: ( size: 14pt, weight: "bold", align: "center", ), // ... outras configurações específicas ) // Arquivo: puc.typ #let config-puc = ( page: ( margins: (left: 2.5cm, right: 2.5cm, top: 3cm, bottom: 2cm), ), text: ( font: "Arial", size: 11pt, ), // ... configurações da PUC )
5. Sistema de Referências e Citações ABNT
typst
// Configuração de referências #let referencia-abnt(autor, titulo, editora, local, ano) = { par( first-line-indent: 0pt, hanging-indent: 1.25cm )[ #autor. #text(weight: "bold")[#titulo]. #local: #editora, #ano. ] } // Exemplo de uso na seção de referências = Referências #referencia-abnt( autor: "SOBRENOME, Nome", titulo: "Título do Livro", editora: "Editora Exemplo", local: "São Paulo", ano: "2020" ) #referencia-abnt( autor: "OUTRO, Autor", titulo: "Artigo Científico", editora: "Revista Acadêmica", local: "Rio de Janeiro", ano: "2019" )
6. Estrutura Modular para Diferentes Instituições
typst
// Arquivo principal #import "normas/": abnt, usp, puc // Escolha a instituição (mude esta linha para alternar) #let config = abnt.config-abnt // #let config = usp.config-usp // #let config = puc.config-puc // Aplica as configurações #set page(..config.page) #set text(..config.text) // Funções específicas da instituição #let capa = config.capa #let titulo = config.titulo // Seu conteúdo aqui #capa( titulo: "Meu Trabalho Acadêmico", autor: "Seu Nome", // ... outros parâmetros )
7. Elementos Específicos da ABNT
typst
// Resumo em português #let resumo(texto, palavras-chave) = { = Resumo #par(first-line-indent: 1.25cm)[#texto] v(1em) #text(weight: "bold")[Palavras-chave:] #palavras-chave.join(", ") } // Abstract em inglês #let abstract(text, keywords) = { = Abstract #par(first-line-indent: 1.25cm)[#text] v(1em) #text(weight: "bold")[Keywords:] #keywords.join(", ") } // Lista de figuras customizada #let lista-figuras = { = Lista de Figuras #figure.where(kind: "figure").each(f => { block( h(1cm)[Figura #f.position()] // Alinhamento h(1cm)[] [#f.caption.first()] // Primeira linha da legenda ... ) }) }
8. Exemplo de Uso Prático
typst
// Importa as configurações #import "normas/abnt.typ" // Aplica configurações ABNT #show: normas.abnt.configurar-documento = Introdução Este é um documento formatado conforme as normas ABNT #cite("autor2024"). #figura( "logo.png", width: 60%, caption: [ Exemplo de figura formatada ] ) #resumo( texto: "Este é o resumo do trabalho...", palavras-chave: ("Typst", "ABNT", "Formatação") ) == Referências #bibliografia( arquivo: "referencias.bib", estilo: "abnt" )


Emílio Kavamura

unread,
Oct 22, 2025, 10:57:46 AMOct 22
to abnTeX2
"Eu usei o deepseek, apenas por minha comodidade. Talvez um outro sistema seja mais adequado." 

quis dizer um outro sistema/robot de IA seja mais adequado

Renan Aguiar

unread,
Oct 22, 2025, 5:27:03 PMOct 22
to abn...@googlegroups.com
Pois é, comecei a usar e gostei bastante. Acredito que as IAs não são tão boas em Typst por ser uma linguagem muito nova e não ter tido tempo de gerar dados que treinassem bem uma LLM.

Com relação à escrita do código, para mim é tranquilo, o meu maior problema seria saber se o que eu estou escrevendo se encaixa nas normas ABNT ou se eu estaria esquecendo de algo.

--
abnTeX2 - http://abntex2.googlecode.com/
---
Você recebeu essa mensagem porque está inscrito no grupo "abnTeX2" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para abntex2+u...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/abntex2/157322be-2e2f-4010-94a3-e6986287f921n%40googlegroups.com.

Emílio Kavamura eek

unread,
Oct 23, 2025, 8:48:39 AMOct 23
to abn...@googlegroups.com
Olá Renan,

O trabalho não fica bom de início, ainda mais quando o trabalho é solitário.
Com o LaTeX aqui na UFPR foi assim desde 2002, até conseguir a confiança das pessoas para usarem o sistema, testarem para suas necessidades, apontarem os erros e ajustes necessários, levou tempo e muito empenho.
Quando surgiram pessoas dispostas a colaborar e a usar um espelhamento dos meus codigos o trabalho ficou menos intenso.

A adequação às normas da instituição e dentro dela, de cada programa ou curso foram os momentos de maiores ajustes e compatibilizações. 
Tudo isso compensa, você vê muitos documentos produzidos com a ajuda de seu trabalho e a gratidão desse pessoal incentiva a você a continuar.

Espero que isso o anime, pois é um trabalho vivo, que requer atenção


Emílio Eiji Kavamura, MSc

Professor Assistente
Curso de Expressão Gráfica - DEGraf/UFPR
41 3361-3642



Você recebeu essa mensagem porque está inscrito em um tema no grupo "abnTeX2" dos Grupos do Google.
Para cancelar inscrição nesse tema, acesse https://groups.google.com/d/topic/abntex2/Kv9K0o-xysU/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus temas, envie um e-mail para abntex2+u...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/abntex2/CAM63DGdZ2%2BbWC0gKoOrM9yVvATA8Qqf_5J1%3DR8UjeDMtPQ97Wg%40mail.gmail.com.

Emílio Kavamura eek

unread,
Oct 23, 2025, 8:52:45 AMOct 23
to abn...@googlegroups.com
(Enviei a mensagem inacabada sem querer)

Espero que isso o anime, pois é um trabalho vivo, que requer atenção e manutenção.

E com o trabalho conjunto, se torna mais fácil de envolver cada vez mais pessoas e a dinâmica do processo evolui.

Grande abraço, e espero poder ajudá-lo, pois me interessei pelo sistema.

At.te,

Emílio Eiji Kavamura, MSc

Professor Assistente
Curso de Expressão Gráfica - DEGraf/UFPR
41 3361-3642


Reply all
Reply to author
Forward
0 new messages