% !TeX TS-program = lualatex

\documentclass{abntexto}

\usepackage[cmyk]{xcolor}
\usepackage[style=abnt]{biblatex} \addbibresource{abntexto.bib}
\usepackage[brazil]{babel}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage[colorlinks,linktoc=page]{hyperref}
\usepackage{listings}
\usepackage{microtype}

\makeatletter

% VERBATIM
% ================================================

\newcount\verbcount
\newdimen\hh \hh=6pt

\def\adef#1{\catcode`#1=13 \begingroup \lccode`\~=`#1\lowercase{\endgroup\def~}}
\def\setverb{\def\do##1{\catcode`##1=12}\dospecials}

{\catcode`\^^M=13
	\gdef\verbpercent#1^^M{{\bfseries\color{comment}\%#1}^^M}
}

\def\makeverbcount{}

\def\begverb{\par \begingroup\parindent=0pt\parskip=0pt
	\setverb \catcode`\|=0
	\adef{ }{\ }%
	\adef{\^^I}{\ \ \ }%
%	\everypar={\makeverbcount}%
	\def\par##1{\endgraf\ifx##1\par\leavevmode\fi ##1}%
	\obeylines
	\adef{'}{\textquotesingle}%
%	\adef{`}{\`{}}%
	\adef{-}{-\kern0pt }%
	\adef{\%}{\verbpercent}%
	\startverb
}

{\catcode`\^^M=13 \catcode`\|=0 \catcode`\\=12 
	|long|gdef|startverb#1\endverb{|verbbox{#1|endgraf}|endgroup|resetplace}
}

\def\verbbox#1{\place{\verbframe{#1}}}
\def\verbframe#1{%
	\hbox{{\color{leftbar}\vrule width3pt}\kern\hh\vbox{%
		\hbox{\vbox{\advance\hsize-3pt \advance\hsize-\hh \verbfont #1}}%
	}}%
}
\def\verbfont{\sloppy\ttfamily\small\singlesp}

\def\verbchar#1{%
	\ifx\savedttchar\undefined\else \catcode\savedttchar=\savedttcharc \fi
	\chardef\savedttchar=`#1%
	\chardef\savedttcharc=\catcode`#1%
	\bgroup\lccode`\~=`#1%
	\lowercase {\egroup\def~}{\leavevmode\hbox\bgroup\color{blue!90!black}\setverb\adef{ }{\ }%
		\ttfamily\readverb}%
	\bgroup\lccode`\~=`#1\lowercase{\egroup\def\readverb ##1~}{##1\egroup}%
	\catcode`#1=13
}
\verbchar{|}

\AddToHook{begindocument}{\adef{<}{\begingroup \setverb\startmeta}}
\def\startmeta#1>{\normalcolor\ttfamily$\langle${\rmfamily\itshape #1\/}$\rangle$\endgroup}

% MISC
% ================================================

\definecolor{leftbar}{gray}{.75}
\definecolor{comment}{gray}{.2}

\setmainfont{texgyretermes}[
	UprightFont    = *-regular,
	BoldFont       = *-bold,
	ItalicFont     = *-italic,
	BoldItalicFont = *-bolditalic,
	Extension      = .otf
]
\setmonofont{InconsolataN-Regular.otf}
\setmathfont{texgyretermes-math.otf}

\def\tocsectionfont#1{\bfseries#1\mdseries}
\def\sectionfont{\bfseries}
\def\appendixlabelwidth{6.7em}

\def \l@section  {\addpenalty{-300}\addvspace{.5em plus1pt}
				  \extline{0pt}{\toclabelwidth}{\tocsectionfont}}
\def \l@appendix {\addpenalty{-300}\addvspace{.5em plus1pt}%
                  \extline{0pt}{\appendixlabelwidth}{\maintocfont}}
\def \l@annex    {\addpenalty{-300}\addvspace{.5em plus1pt}%
                  \extline{0pt}{\annexlabelwidth}{\maintocfont}}

\definelegendplace{code}{Código}{cód.\,}{loc}
\def\me{o Autor.}

\clubpenalty=10000
\widowpenalty=10000

\def\bibfont{\raggedright \singlesp \bibitemsep=\baselineskip}

\makeatother



\begin{document}

\leavevmode\vskip1.9in

{\centering \LARGE\sffamily\bfseries
	abntexto\\[0.4em] \Large\itshape\mdseries
	Classe para {\upshape\LaTeX}\\[2em] \normalfont\large
	Elayson Abreu\\[1ex]
	\href{mailto:abntexto.classe@gmail.com}{abntexto.classe@gmail.com}\\[2.5ex]
	\today
\par}
\vskip3in

{\centering\large\ttfamily 3.2.1-beta\par}
\newpage

\nonum\notoc\section{Sumário}
\maketoc
\newpage

\section{Introdução}

O |abntexto| é uma classe do \LaTeX\ criada para facilitar a utilização das normas da Associação Brasileira de Normas Técnicas (ABNT) em trabalhos acadêmicos (monografias, dissertações, teses).

Este \emph{não} é um manual sobre LaTeX (ou TeX, a ferramenta que o constitui) nem tampouco uma descrição detalhada sobre as normas ABNT. Para aprender sobre LaTeX leia \textcite{viaexemplos}, em português, ou \textcite{latex2eunnoficial}, disponível em inglês, espanhol e francês. Além disso, também se pode ler \textcite{texbytopic}, em inglês, para aprender sobre o sistema \TeX.

Já existe uma classe para aplicação das normas ABNT cujo nome é |abntex2|. Mas, diferente desta, o |abntexto| não depende  do |memoir|, uma classe de código-fonte e manual extensos e que implementa funções as quais, em sua maioria, não são pertinentes a um documento que use as diretrizes da ABNT.

As normas ABNT as quais o |abntexto| se propõe a seguir seguem listadas:

\begin{topics}
	\item NBR 14724:2011. Informação e documentação --- Trabalhos acadêmicos --- Apresentação \cite{nbr14724}.
	\item NBR 12225:2004. Informação e documentação --- Lombada --- Apresentação \cite{nbr12225}.
	\item NBR 6028:2021. Informação e documentação --- Resumo --- Apresentação \cite{nbr6028}.
	\item NBR 6027:2012. Informação e documentação --- Sumário --- Apresentação \cite{nbr6027}.
	\item NBR 10520:2002. Informação e documentação --- Citações em documentos --- Apresentação \cite{nbr10520}.
	\item NBR 6023:2018. Informação e documentação --- Referências --- Elaboração \cite{nbr6023}.
	\item NBR 5892:2019. Informação e documentação --- Representação e formatos de tempo --- Datas e horas --- Apresentação \cite{nbr5892}.
	\item NBR 6024:2012. Informação e documentação --- Numeração progressiva das seções de um documento --- Apresentação \cite{nbr6024}.
	\item IBGE. Normas de apresentação tabular \cite{ibge1993}. 
\end{topics}

\section{Chamando a classe}

Digite as linhas em \ref{cd:início} e use |abntexto|.

\legend{code}{Início} \src\me
\label{cd:início}
\begverb
% !TeX TS-program = lualatex
\documentclass{abntexto}

\usepackage[brazil]{babel}
\usepackage{fontspec}

\setmainfont{texgyretermes}[
	UprightFont    = *-regular,
	BoldFont       = *-bold,
	ItalicFont     = *-italic,
	BoldItalicFont = *-bolditalic,
	Extension      = .otf
]

\begin{document}
	Texto
\end{document}
\endverb

O arquivo |exemplo.tex|, disponível no diretório da classe no CTAN, mostra como elaborar os elementos pré-textuais.

\section{Fonte tipográfica}

O tamanho da fonte é 12\,pt de imediato e pode ser configurado redefinindo |\normalsize| por meio de |\sizedef|. Além disso, com os seletores de tamanho |\normalsize| e |\small| que configuram 12\,pt e 10\,pt, nessa ordem, é possível mudar o tamanho da fonte no corpo do documento.

O espaçamento é de um e meio e pode ser alterado para dois com |\spacing{2}|, por exemplo. Os atalhos |\singlesp|, |\onehalfsp| e |\doublesp| estão disponíveis. Note que o espaçamento simples não tem o mesmo valor que o espaçamento um, portanto, |\singlesp| é diferente de |\spacing{1}|! Os atalhos |\onehalfsp| e |\doublesp| tem o mesmo significado de |\spacing{1.5}| e |\spacing{2}|.

A limitação do comando |\spacing| é que ele só pode ser usado após um seletor de tamanho, porque este redefine a entrelinha. Por exemplo, |\small\onehalfsp| é correto, porém |\onehalfsp\small| é ineficaz.

\section{\emph{Layout}}

A folha é A4 por padrão e as margens esquerda e direita são de 3\,cm, 2\,cm para páginas ímpares e de 2\,cm, 3\,cm para páginas pares, respectivamente. Além disso, as margens superior e inferior têm, nessa ordem, 3\,cm, 2\,cm para todo o documento. As margens foram ajustadas com o pacote |geometry|.

Existem dois comandos que configuram o \emph{layout} da página: |\pretextual| e |\textual|. O primeiro executa |\onesidelayout| internamente e remove a numeração de página. O comando |\onesidelayout| configura as páginas para impressão de somente um lado do papel (frente). O comando |\pretextual| é executado automaticamente após |\begin{document}| tendo efeito a partir da primeira página, portanto o usuário não precisa inserí-lo no documento, mas pode redefiní-lo conforme a necessidade. O segundo comando é |\textual|. Este executa |\twosidelayout| e habilita a numeração de página. A instrução |\twosidelayout| habilita as páginas para impressão dos dois lados do papel (frente e verso). O comando |\twosidelayout| não precisa ser inserido pelo usuário, pois ele é iniciado automaticamente pelo primeiro comando secional. O primeiro comando secional é, por padrão, |\section|, mas pode ser alterado conforme o uso de |\usechapters| e |\useparts| (Ver \ref{secionamento}).

Os trabalhos acadêmicos podem ser disponiblizados num repositório \emph{online}. Neste caso, o usuário pode querer reconfigurar as margens de forma a se ter uma leitura mais confortável em dispositivos eletrônicos. Para isto, existem duas possibilidades. A primeira é, no preâmbulo, redefinir |\pretextual| e |\textual| substituindo as instruções |\onesidelayout| e |\twosidelayout| por |\eletroniclayout|. A segunda possibilidade é, também no preâmbulo, redefinir |\onesidelayout| e |\twosidelayout| diretamente conforme \ref{cod:eletroniclayout}. O comando |\eletroniclayout| centraliza o corpo do texto pondo 2.5\,cm as margens esquerda e direita.

\legend{code}{\emph{Layout} para dispositivos eletrônicos}
\src\me
\label{cod:eletroniclayout}

\begverb
\documentclass{abntexto}

\let\onesidelayout=\eletroniclayout
\let\twosidelayout=\eletroniclayout

\begin{document}
	texto
\end{document}
\endverb

\section{Sumário}

Os comandos que configuram a fonte tipográfica das entradas no ToC (Table of Contents) são  |\tocsectionfont|, |\tocsubsectionfont|, \dots, |\tocsubparagraphfont| (ver \ref{cd:contents}).

\legend{code}{Aparência do sumário} \src\me
\label{cd:contents}
\begverb
\documentclass{abntexto}

\usepackage{xcolor}

\def \tocsectionfont    {\color{red}\itshape\MakeUppercase}
\def \tocsubsectionfont {\color{blue}\bfseries}

\begin{document}
	\nonum\notoc\section{Sumário}
	\maketoc
	\newpage

	\section{Título}
	\subsection{Título}
\end{document}
\endverb

\section{Secionamento}
\label{secionamento}

A personalização das macros de seção (|\section|, |\subsection| etc.) é análoga a personalização do sumário e deve ser feita com |\sectionfont|, |\subsectionfont| etc. como exemplificado em \ref{cd:sec}.

Também há como alterar o espaço vertical acima e abaixo das seções usando |\abovesection|, |\belowsection| e semelhantes. Por exemplo, |\def\abovesubsection{2cm}| insere um espaço de 2\,cm acima de |\subsection|.

\legend{code}{Aparência das seções} \src\me
\label{cd:sec}
\begverb
\documentclass{abntexto}

\usepackage{xcolor}

\def \sectionfont       {\color{blue}\scshape}
\def \subsectionfont    {\color{red}\itshape}
\def \subsubsectionfont {\color{yellow}\sffamily}

\begin{document}
	\nonum\notoc\section{Sumário}
	\maketoc

	\section{Texto}
	\subsection{Texto}
	\subsubsection{Texto}
\end{document}
\endverb

O usuário pode querer utilizar capítulos no trabalho. O |abntexto| disponibiliza a instrução |\chapter| para capítulos, porém não em conformidade com a Norma, mas no estilo da classe |book|. Para ativá-los é preciso chamar a instrução |\usechapters| no preâmbulo do documento. Também é possível usar |\part| em conjunto com o comando |\useparts|. Este útlimo contém |\usechapters| em sua definição, portanto, ao chamar |\useparts|, você também estará chamando |\usechapters|.

Os níveis secionais |\section|, |\chapter| e |\part| podem ser prefixados com |\nonum| que remove a numeração do título: |\nonum\section|. O títulos não numerados devem ser centralizados como orientado na Norma, portanto |\nonum| centraliza os títulos. Veja um exemplo de uso em \ref{cd:nonum}.

\legend{code}{Exemplo de título sem numeração}
\src\me
\label{cd:nonum}

\begverb
\nonum\notoc\section{Resumo}
Texto

\nonum\notoc\section{Sumário}
\maketoc
\endverb

Os níveis secionais supracitados também podem ser prefixados com |\notoc| que instrui o título a não ingressar no sumário: |\notoc\section|. Além disso, é possível usar ambos os prefixos ao mesmo tempo, conforme mostrado em \ref{cd:nonum}.

O primeiro parágrafo após uma seção é indentado por padrão, dispensando, assim, o uso do pacote |indentfirst|.

Infelizmente, comandos como |\printbibliography|, |\printglossary| e |\printindex| inserem o título internamente. Para que este título seja exibido corretamente no |abntexto|, é necessário usar o ambiente |corrprint|, como demonstrado em \ref{cd:corrprint}. O título aparecerá normalmente no Sumário e, se o pacote |hyperref| estiver carregado, também vai constar na lista de marcadores do visualizador de PDF.

\legend{code}{Ambiente {\ttfamily corrprint}}
\src\me
\label{cd:corrprint}

\begverb
\begin{corrprint}
	\printbibliography % ou \printglossary, \printindex e semelhantes
\end{corrprint}
\endverb

Existe a possibilidade de o usuário desejar criar um Índice Remissivo usando o ambiente |theindex| do kernel LaTeX --- embora alternativas automatizadas sejam preferíveis, como a ferramenta |makeindex|, por exemplo. Neste caso, o ambiente |corrprint| funcionará como esperado conforme explicitado em \ref{cd:corrprint-theindex}. De forma semelhante a |theindex|, |corrprint| também pode ser usado em conjunto com |thebibliography|.

\legend{code}{Ambientes {\ttfamily corrprint} e {{\ttfamily theindex}}}
\src\me
\label{cd:corrprint-theindex}

\begverb
\begin{corrprint}
	\begin{theindex}
		\item acorn squash, 1
			\subitem maple baked, 2
		\indexspace
		\item bacon, 3
			\subitem maple baked, 4
	\end{theindex}
\end{corrprint}
\endverb

%\chapter{Lorem}

%\begin{corrprint}
%	\begin{thebibliography}{9}
%		\bibitem{latexdps}
%		Leslie Lamport.
%		\textit{\LaTeX{}: a document preparation system}.
%		Addison-Wesley, Reading, Massachusetts, 1993.
%		\bibitem{texbook}
%		Donald Ervin Knuth.
%		\textit{The \TeX book}.
%		Addison-Wesley, Reading, Massachusetts, 1983.
%	\end{thebibliography}
%\end{corrprint}

%\begin{corrprint}
%	\begin{theindex}
%		\item acorn squash, 1
%			\subitem maple baked, 2
%		\indexspace
%		\item bacon, 3
%			\subitem maple baked, 4
%	\end{theindex}
%\end{corrprint}

\section{Alíneas}

Use o ambiente |topics| para criar alíneas. Ele dispõe de dois níveis sendo que o segundo usa um travessão como marcador conforme o exemplo em \ref{cd:topics}. Naturalmente, é permitido usar |\label| após um item.

\legend{code}{Alíneas} \src\me
\label{cd:topics}
\begverb
\begin{topics}
	\item \label{al:x} 1
		\begin{topics}
			\item \label{subal:x} x
			\item y
			\item z
		\end{topics}
	\item \label{al:y} 2
	\item 3
\end{topics}
\endverb

\section{Áreas de legenda}

Use |\place{<obj>}| para inserir áreas de legenda, |\legend{<tipo de obj>}{<texto>}| para títular e |\src{<texto>}| para inserir a fonte como mostrado em \ref{cd:place}. Mas, existem condições: |\place| deve constar em último lugar e |\legend| deve preceder |\label|. Além disso, existe a possibilidade de alterar o espaço vertical acima e abaixo de uma área de legenda com |\def\aboveplace{<valor>}| e |\def\belowplace{<valor>}|.

\legend{code}{Áreas de legenda} \src\me
\label{cd:place}
\begverb
\begin{document}
	\legend{figure}{Um título}
	\src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.}
	\label{fig:teste}
	
	\place{\includegraphics[width=0.4\linewidth]{example-image}}
	
	Ver \ref{fig:teste}.
\end{document}
\endverb

O leitor pode querer definir uma nova área de legenda usando, por exemplo, a instrução |\definelegendplace{diagram}{Diagrama}{diag.\,#1}{lod}| que criará o comando |\makelod| para escrever no documento as entradas do arquivo auxiliar .lod. Por exemplo, |\definelegendplace| foi usado para criar as áreas de legenda para tabelas e figuras nesta classe.

O |abntexto| também tem suporte nativo para inserção de figuras lado a lado. Elas se comportam como caracteres então podemos usar |\hfil| para centralizá-las. Veja o exemplo no \ref{cd:multiple} e o resultado logo em seguida.

\legend{code}{Figuras lado a lado} \src\me
\label{cd:multiple}
\begverb
	\legend{figure}{Duas figuras}
	
	\begin{multiplace}
		\sublegend{figure}{Um título}
		\src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.}
		\label{fig:teste1}
			\hfil \subplace{\includegraphics[width=\linewidth]{example-image-a}}
		\sublegend{figure}{Outro título}
		\src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.}
		\label{fig:teste2}
			\hfil \subplace{\includegraphics[width=\linewidth]{example-image-b}}
	\end{multiplace}
	
	Ver \ref{fig:teste1} e \ref{fig:teste2}.
\endverb

\legend{figure}{Duas figuras}

\begin{multiplace}
	\sublegend{figure}{Um título}
	\src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.}
	\label{fig:teste1}
		\hfil \subplace{\includegraphics[width=\linewidth]{example-image-a}}
	\sublegend{figure}{Outro título}
	\src{\texttt{www.site.com.br}. Acesso em 01 jan. 2020.}
	\label{fig:teste2}
		\hfil \subplace{\includegraphics[width=\linewidth]{example-image-b}}
\end{multiplace}

Ver \ref{fig:teste1} e \ref{fig:teste2}.

Há uma legenda principal impressa com |\legend| e duas sublegendas para cada objeto inseridas com |\sublegend|, bem como dois |\subplace's|. Além disso, a ordem das instruções é similar àquela aplicada em |\place|: |\subplace| deve ser posto após |\sublegend|, |\src| e |\label| sendo que |\sublegend| deve preceder |\label|.

Linhas em branco são proibidas no ambiente |multiplace|.

Até o momento, esta classe não tem suporte para objetos flutuantes.

\section{Formatação de {\mdseries\ttfamily\textbackslash\lowercase{cite}} e referências}
\label{section}

Até o momento o |abntexto| não possui macros para formatação de |\cite| e referências. Utilize |\usepackage[style=abnt]{biblatex}|.

\section{Citações}

Pela Norma ABNT, Para inserir aspas duplas em citações diretas, de até três linhas, use |\enquote{<texto>}\cite{<key>}|. Mas, se tratando de citações diretas, com mais de três linhas, alterne para |\Enquote{<texto> \cite{<key>}}|.

\section{Apêndice e Anexo}

Com os comandos |\appendix| e |\annex| você pode inserir apêndices e anexos junto dos indicativos desejados: “Apêndice 1 --- \dots” ou “Anexo 1 --- \dots” (ver \ref{cd:appendix}).

\legend{code}{Anexos e apêndices} \src\me
\label{cd:appendix}
\begverb
\begin{document}
	\appendix{Lorem}
	\appendix{Lipsum}

	\annex{Lorem}
	\annex{Lipsum}
\end{document}
\endverb

Pode-se alterar a largura dos rótulos das entradas no sumário redefinindo o comando |\appendixlabelwidth|\,/\,|\annexlabelwidth|.

\section{Limitações e planos para o futuro}

\begin{topics}
	\item No momento não existe suporte para tabelas que se partem entre páginas usando |longtable.sty|.
	\item O suporte para objetos flutuantes pode ser implementado, mas não é prioridade, porque não são compatíveis com a Norma.
	\item \emph{Hyperlinks} de |\labels's| oriundos de áreas de legenda podem não estar funcionando corretamente.
	\item Implementar subitens em listas de figuras e tabelas.
	\item Implementar notas gerais e específicas em tabelas.
\end{topics}

\newpage

\begin{corrprint}
	\printbibliography
\end{corrprint}

\appendix{Glossário}

Você pode criar glossários com o pacote |glossaries|, como em \ref{cd:gloss}.

\legend{code}{Glossário} \src\me
\label{cd:gloss}

\begverb
\documentclass{abntexto}

\usepackage{lipsum}
\usepackage{glossaries}

\makenoidxglossaries

\newglossaryentry{metalism}{name=metalismo,description={Tipo de sistema monetário cujo valor da moeda, geralmente de uma nação ou de um país, é determinado pela quantidade constante de certo metal (ouro ou prata), desta forma se estabelece um valor fixo de troca entre esses metais e o próprio dinheiro}}

\newglossaryentry{lip}{name=lipsum,description={\lipsum[1]}}

\begin{document}
	O \gls{metalism} e o \gls{lip}.
	
	\begin{corrprint}
		\printnoidxglossary
	\end{corrprint}
\end{document}
\endverb

\appendix{Lista de siglas}

O |glossaries.sty| também serve para criar uma lista de siglas, conforme \ref{cd:acro}.

\legend{code}{Siglas} \src\me
\label{cd:acro}
\begverb
\documentclass{abntexto}

\usepackage[acronym]{glossaries}

\makenoidxglossaries

\newacronym{ibge}{IBGE}{Instituto Brasileiro de Geografia e Estatística}
\newacronym{html}{HTML}{Hypertext Markup Language}

\def\acr#1{\gls{#1}}

\begin{document}
	1ª chamada: \acr{ibge}, \acr{html}.
	
	2ª chamada: \acr{ibge}, \acr{html}.

	\begin{corrprint}
		\def\acronymname{Lista de siglas}
		\printnoidxglossary[type=acronym]
	\end{corrprint}
\end{document}
\endverb

\appendix{\emph{Feedback}}

Sugestões, relatos de \emph{bugs} e doações são bem-vindas.

Chave PIX: {\ttfamily abntexto.classe@gmail.com}

% MACROS PARA O CÓDIGO-FONTE
% ================================================

\appendix{Código-fonte}

\definecolor{background}{cmyk}{0,0.08,0,0}
\definecolor{comment}{cmyk}{0.9,0,0,0.1}
\definecolor{letter}{cmyk}{0,0,0,.8}

\parskip=0pt plus.2ex minus.1ex

\countsection=0
\def\addtoext#1#2#3{}
\def\sectionfont{\itshape}
\def\sec#1\par{\section{#1}}
\def\verbfont{\raggedright\ttfamily\small\sloppy}
\def\codesep{2mm}
\def\leftsep{5mm}

\lstnewenvironment{code}{\lstset{
%	language=TeX, Definir uma linguagem não está funcionando aqui.
	basicstyle=\verbfont,
	frame=single,
	framerule=0pt,
	framesep=\codesep,
	xleftmargin=\dimexpr\codesep+\leftsep,
	xrightmargin=\codesep,
	framexleftmargin=\leftsep,
	firstnumber=last,
	numbers=left,
	numbersep=6pt,
	numberstyle=\fontsize{8pt}{9pt}\selectfont,
	commentstyle=\color{blue}\bfseries,
	comment=[l]{\%},
	columns=fullflexible,
	tabsize=3,
	backgroundcolor=\color{background},
	literate=
		{\ }{ }1 {\^^M\%}{}2
}}{}

{\catcode`\!=14 \catcode`\%=9
	\input abntexto.cls
}

\end{document}
