% Padrão para abntexto
% Classe base: article
% pacote adicional: geometry, graphicx
% font size: 12pt
% twoside=true
% Observação: Tabelas e figuras flutuantes não estão suportados oficienalemnte (2024). Além disso, tabela flutuante está desativada e a figura flutuante pode não funciona junto com subfiguras -- usando multiplace desta classe -- 
%
% neste modelo, usa o layout de um lado
\documentclass[a4paper]{abntexto}
\usechapters% ativar o uso de capítulos (ajuste ao sumário)

% O padrão é dois lados. Para um lado, ou modo eletronico (um lado com margem menor), requer pequeno ajuste

% Em um lado somente
\let\twosidelayout=\onesidelayout

% No formato eletronico (suas margens parece não ser de ABNT)
%\let\onesidelayout=\eletroniclayout% pretextual
%\let\twosidelayout=\eletroniclayout% textual

\usepackage{iftex} % Para detectar o motor de TeX utilizado
% Fontes, de acordo com o motor do TeX
\ifPDFTeX % PDFLaTeX
  \usepackage[T1]{fontenc} % codificação da fonte em 8-bits
  \usepackage{mlmodern} % fontes MLModern que é mais escura que Computer Modern tradicional (espessura de letra de Book)
  %\usepackage{lmodern} % fontes Latin Modern: espessura tradicional do Computer Modern
  \usepackage[utf8]{inputenc} % acentuação direta em UTF-8
\else % XeLaTeX/LuaLaTeX
  \usepackage{fontsetup} % New Cmputer Modern com espessura da letra de Book
  % Padrão do XeLaTeX/LuaLaTeX
\fi

% idiomas
\usepackage[english,main=brazil]{babel}%padrão é brazil.

% pacotes matemáticas de acordo com o motor TeX
\ifPDFTeX
  \usepackage{amsmath,amssymb} % para matematica
\else
  % para matematica
  \usepackage{unicode-math}
  \ifLuaTeX
    \usepackage{lualatex-math}
  \fi
\fi
%Outros pacotes
\usepackage{hyperref} % para link automático no PDF
% Desabilitando ou redefinindo comandos que causa erros no bookmark do PDF
\pdfstringdefDisableCommands{%
\let\MakeUppercase\relax% desabilitando
\def\\{ }%
\def\and{ e }
}
\usepackage{pdfpages} % para incluir documento PDF (ex.: folha de aprovação)
\usepackage{indentfirst} % se quer que o primeiro parágrafo seja indentada
%% Se for criar o índice remissivo (opcional)
%\usepackage{makeidx}
%\makeindex
\usepackage{microtype} % micro tipografia para ajuste refinado de espaçamento

\usepackage{xtab} % para tabela longa configurável xtabular
% Para linhas horizontais com espaçamento melhorado: \toprule, \midrule, \bottomrule, \cmidrule
\usepackage{booktabs}

% BibLaTeX
\usepackage{csquotes} % biblatex recomenda quando usar o pacote de idiomas babel/poligrossia
\usepackage[backend=biber, language=auto, style=abnt]{biblatex}
\addbibresource{modelo-biblatex.bib} % arquivo bib


%\addto{\captionsbrazil}{
%    \renewcommand{\refname}{Referências}
%}

% Mesmo com \usechapters do ABNTexto, tamanho das fontes do título da referências bibliográficas e similares ficam como seção. Para ser de capítulo, precisa de ajustes
\defbibheading{bibliography}[\refname]{\chapter*{#1}}
\makeatletter
% Índice remissivo
\AddToHook{env/theindex/begin}{\let\@section@original\section \let\section\chapter}
\AddToHook{env/theindex/end}{\let\section\@section@original}
% referências bibliográficas
\AddToHook{env/thebibliography/begin}{\let\@section@original\section \let\section\chapter}
\AddToHook{env/thebibliography/end}{\let\section\@section@original}
% Glossário com pacote glossaries
\AtBeginDocument{\@ifpackageloaded{glossaries}{
  \AddToHook{cmd/printglossary/before}{\let\@section@original\section \let\section\chapter}
  \AddToHook{cmd/printglossary/after}{\let\section\@section@original}   
}} %\@ifpackageloaded %\AtBeginDocument
\makeatother
  
% ABNTexto define o contador \c@chapter usando \newcount do TeX.
% Assim, está sem o \cl@chapter para subordinar outros contadores
% Para que a subordinação de outros contadores (dois ou mais) funcionem devidamente (como feito pelo \numberwithin{}{}, \newtheorem{}{}[] e \newcounter{}[]), deve ter o seguinte comando
\makeatletter
  \@ifundefined{c@chapter}{\newcount \c@chapter}{}% contador principal
  \global\let\cl@chapter\@empty% lista de aplicações de \@elt nos contadores subordinados (ao executar, aplicará \@elt em cada um dos contadores subordinados)
  \def\@stpelt@on@cl#1{
     \begingroup% agrupando para que mudanças seja local.
      \let\@elt@original\@elt% copia do original
      \let\@elt\@stpelt % \@elt será o \@stpelt
      \csname cl@#1\endcsname % aplica o \@elt em cada contador
      \let\@elt\@elt@original% restaura o \@elt original
    \endgroup
  }

  % Caso de part, subsubsection e paragraph, são analogos
  \AddToHook{cmd/recountchapter/after}{\@stpelt@on@cl{chapter}}
  \AddToHook{cmd/recountsection/after}{\@stpelt@on@cl{section}}
  \AddToHook{cmd/recountsubsection/after}{\@stpelt@on@cl{subsection}}
\makeatother

% versão * do capítulo/seção não tem no ABNTexto.
% No ABNTexto, será \clearpage\nonum\notoc\chapter{\centering } ou \nonum\notoc\section{\centering }
% Providenciando versão * pela praticidade em usar no conteúdo pretextual (ABNT: deve ser centralizada)

\makeatletter
  \let\chapter@nostar\chapter% copiando o original
  \def\chapter{\@ifstar\chapter@star\chapter@nostar}
  \def\chapter@star#1{% com *
    \cleardoublepage
    \nonum\notoc\chapter@nostar{\centering #1}
  }
% Para artigos
%\let\section@nostar\section% copiando o original
%\def\section{\@ifstar\section@star\section@nostar}
%\def\section@star#1{% com *
%  \nonum\notoc\section@nostar{\centering #1}
%}
\makeatother
% informação do documento (requer o pacote hyperref)
\hypersetup{pdftitle={Exemplo de ABNTexto},
  pdfauthor={Sadao Massago},
  pdfsubject={Exemplo do documento em ABNT com a classe ABNTexto},
  pdfkeywords={ABNT}{Trabalho acadêmico}{LaTeX}{ABNTexto}
}

\sloppy % preferência a underfull (muito espaço entre palavras)
% enumeração subordinado a capítulo
\numberwithin{equation}{chapter}
% permite quebrar equacoes entre linhas
\allowdisplaybreaks

% INICIO DO DOCUMENTO
\begin{document}

\begin{titlepage}
UNIVERSIDADE FEDERAL DE SÃO CARLOS \\
CENTRO DE CIÊNCIAS E TECNOLOGIAS PARA SUSTENTABILIDADE
\begin{center}
\vfill
\Large SADAO MASSAGO
\vfill
{\Huge\bfseries EXEMPLO DE ABNTEXTO}
\vfill
SOROCABA \\
NOVEMBRO DE 2024
\end{center}
\end{titlepage}
\pretextual % pretextual é iniciado automaticamente?
% Folha de rosto é obrigatório no ABNT
\begin{center}
\vfill
Sadao Massago
\vfill
{\Large\bfseries Exemplo de ABNTexto}
\vfill
\begin{flushright}\begin{minipage}{0.5\textwidth}
\noindent% sem indentação
\singlesp % espaçamento simpoles, usando o comando de ABNTexto
Texto do tipo ‘‘Monografia apresentada ...’’ que depende da instituição
\end{minipage}\end{flushright}
\vfill
Universidade Federal de São Carlos \\
Centro de Ciências e Tecnologias para Sustentabilidade
\vfill
Orientador(a): Nome do(a) orientador(a)
\vfill
Sorocaba\\
Novembro de 2024
\end{center}

%% Ficha catalográfica, caso existir, deve ficar no verso da folha de rosto
%\newpage % Quando tiver versão definitiva, inserir aqui
%\includepdf{fichacatalograficafinal.pdf}
%
%Caso exista errata. Opcional no ABNT.
%\chapter*{Errata}
%
\newpage
Folha de aprovação é obrigatório no ABNT
%% Quando tiver a folha de aprovação devidamente assinada, incluir aqui
%% \includepdf{folhadeaprovacaofinal.pdf}
%
%\chapter*{}
%%Dedicatória é um elemento opcional para ABNT
%
\chapter*{}
Agradecimentos é opcional no ABNT, mas boa educação é agradecer aos que contribuíram para realização do trabalho.
%
%\chapter*{}
%epigrafe (uma mensagem) que é opcional no ABNT. Deverá colocar o autor da mensagem, alinhada a direita.
%
\chapter*{Resumo}
\noindent Resumo em português, obrigatório no ABNT.

\noindent
\textbf{Palavras-chave}: ABNT, LaTeX, ABNTexto.
%
\chapter*{Abstract} %Resumo em língua estrangeira (obrigatório no ABNT).
\begin{otherlanguage}{english}
\noindent Abstract in foreign language is required in ABNT.

\noindent
\textbf{Keywords}: ABNT, LaTeX, ABNTexto.
\end{otherlanguage}
%
%\clearpage\phantomsection\pdfbookmark[chapter]{\listfigurename}{lof}
%\chapter*{Lista de Figuras}% opcional no ABNT
%\makeext{lof}
%
%\clearpage\phantomsection\pdfbookmark[chapter]{\listfigurename}{lot}
%\chapter*{Lista de Tabelas} % opcional no ABNT
%\makeext{lot}
%
% \clearpage
%\chapter*{Siglas} % Lista de siglas é opcional no ABNT.
%\begin{description}
%\item[ABNT] Associação Brasileira de Normas Técnicas.
%\end{description}
%\end{siglas}
%
% \clearpage
%\chapter*{Simbolos}% Lista de Símbolos é opcional no ABNT
%\begin{description}
%\item[$\pi$] Razão entre circunferência e raio.
%\item[ABNT] Associação Brasileira de Normas Técnicas.
%\end{description}
%
\clearpage
% \section*{Sumário} % artigo
\chapter*{Sumário}
\maketoc % produz sumário. Não use \tableofcontents

% CONTEÚDO PRINCIPAL
\clearpage
\textual \let\textual=\relax% iniciando o textual e desativando o comando
%
% Como já é conteúdo textual, capítulos serão enumerados.
\chapter{Prefácio} % prefácio (ou apresentação) é opcional no ABNT
Prefácio aqui. Se preferir, pode incorporar na introdução.

\clearpage
\chapter{Introdução}
Introdução aqui.

\clearpage
\chapter{Alíneas}
Alineas é criado pelo ambiente \texttt{topics}.
\begin{topics}
\item \label{alinea:1} ítem 1
\begin{topics}
\item subítem a
\item subítem b
\end{topics}
\item \label{alinea:2} ítem 2
\end{topics}
\clearpage
\chapter{Legenda}
O comando \verb+\legend+ especifica se vai ser figura ou tabela e cria a legenda (título).
Deve respeitar a ordem dos comandos \verb+\legend+, \verb+\src+ e \verb+\place+. O ambiente de figuras flutuantes \texttt{figure} funciona, mas não está suportado oficialmente na classe \texttt{abntexto} (2024). Se usar, não esquecer de verificar se está de acordo com o ABNT.
\begin{figure}[hbp!]
\legend{figure}{Uma figura}
\src{CTAN: \url{https://ctan.org/}}
\label{fig:teste}
\place{\includegraphics[width=0.4\linewidth]{example-image}}
\end{figure}
Ver \ref{fig:teste}.

Poderá usar subfiguras nativamente como na Figura~\ref{fig:teste2} (Figura~\ref{fig:teste2:a} e \ref{fig:teste2:b}).
\begin{figure}[hbp!]
\legend{figure}{Duas figuras}\label{fig:teste2}
\begin{multiplace}
  \sublegend{figure}{Normal}
  \src{CTAN: \url{https://ctan.org/}}
  \label{fig:teste2:a}
  \subplace{\includegraphics[width=0.4\linewidth]{example-image-a}}
  % figura 2
  \sublegend{figure}{Rotacionada}
  \src{CTAN: \url{https://ctan.org/}}
  \label{fig:teste2:b}
  \subplace{\includegraphics[width=0.4\linewidth,angle=45]{example-image-a}}  
\end{multiplace}
\end{figure}

A tabela pequena pode ser inseridas no ambiente \texttt{table}, caso quer que seja auto posicionado, mas deve usar o comando \verb+\legend+ devidamente.
\begin{table}[hbp!]
\begin{center}
\legend{table}{Um título}\label{tab:primeira}
\src{Elaboração do autor.}
\place{%
\begin{tabular}{ll} 
\toprule %\hline
   produto & preço \\
\midrule %\hline
   cenouras  (500g)          & R\$0,50  \\
   cogumelos (vidro de 500g) & R\$5,00  \\
   batata    (1Kg)           & R\$1,20  \\ \midrule % \hline
   total & R\$6,70 \\
   \bottomrule %\hline
\end{tabular}
}
\end{center}
\end{table}

Não há suporte para tabelas longas (2024). Também não há suporte para quadros ainda (2024).

Quem precisar de tabelas e quadros longos (e curtos), use o pacote como o \texttt{tabularray-abnt} do \url{https://ctan.org/pkg/tabularray-abnt}.

\clearpage
\chapter{Citações}
Para citações curtas, use \verb+\enquote{texto}\cite{key}+.

Para citações longas (mais de 3 linhas), use
\verb+\Enquote{texto\cite{key}}+ (com ``E'' maiúsculo).
Por exemplo, 
\Enquote{O Lua\LaTeX{} foi designado para ser o sucessor do PDF\LaTeX{} e por isso, deve ser o \LaTeX{} padrão no futuro, mas pode ser um pouco mais lento do que o Xe\LaTeX. \cite{book:sadao:2019}
} %Enquote

\clearpage
\chapter{Considerações Finais}
Conclusão do trabalho.
% PÓS TEXTUAL
\clearpage
%% Referencias bibliográficas é obrigatório no ABNT
% \phantomsection\addcontentsline{toc}{chapter}{\refname}%adicionando no sumário
\phantomsection\addtoext{toc}{chapter}{\refname} %adicionando no sumário pelo comando de ABNTexto
\printbibliography%sem opção, para devido funcionamento em ABNTexto
%% glossário é opcional no ABNT
%\clearpage\phantomsection\addtoext{toc}{chapter}{Glossário} %adicionando no sumário pelo comando de ABNTexto
% inserir glossário pelo comando de acordo com o pacote usado: pacotes mais usados são acro e glossaries
%%Apêndices são opcionais no ABNT
%\clearpage
%\appendix{Primeiro Apêndice}
%Conteúdo do primeiro apêndice.
%\clearpage
%\appendix{Segundo Apêndice}
%Conteúdo do segundo apêndice.
%% Anexos são opcionais no ABNT
%\clearpage
%\annex{Primeiro Anexo}
%Conteúdo do primeiro anexo
%\annex{Segundo Anexo}
%Conteúdo do segundo anexo
%% Índice remissivo (opcional no ABNT)
% \clearpage\phantomsection\addtoext{toc}{chapter}{\indexname}%adicionando no sumário pelo comando de ABNTexto
% \printindex
\end{document}
