texlive[75994] Master/texmf-dist: abntexto (6aug25)

commits+karl at tug.org commits+karl at tug.org
Wed Aug 6 21:41:37 CEST 2025


Revision: 75994
          https://tug.org/svn/texlive?view=revision&revision=75994
Author:   karl
Date:     2025-08-06 21:41:37 +0200 (Wed, 06 Aug 2025)
Log Message:
-----------
abntexto (6aug25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/abntexto/CHANGELOG
    trunk/Master/texmf-dist/doc/latex/abntexto/README
    trunk/Master/texmf-dist/doc/latex/abntexto/abntexto-exemplo.pdf
    trunk/Master/texmf-dist/doc/latex/abntexto/abntexto-exemplo.tex
    trunk/Master/texmf-dist/doc/latex/abntexto/abntexto.pdf
    trunk/Master/texmf-dist/doc/latex/abntexto/abntexto.tex
    trunk/Master/texmf-dist/tex/latex/abntexto/abntexto.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/abntexto/abntexto-3-2-1-beta.cls

Modified: trunk/Master/texmf-dist/doc/latex/abntexto/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto/CHANGELOG	2025-08-06 19:41:25 UTC (rev 75993)
+++ trunk/Master/texmf-dist/doc/latex/abntexto/CHANGELOG	2025-08-06 19:41:37 UTC (rev 75994)
@@ -1,7 +1,7 @@
 # `abntexto`
 
 Autor: Elayson Abreu
-Versão: 2025-07-21 4.0.1-beta
+Versão: 2025-08-05 4.0.2-beta
 Contato: abntexto.classe at gmail.com
 Licença: Public Domain Software
 
@@ -13,6 +13,22 @@
 
 # Changelog
 
+## [4.0.2-beta] - 2025-08-05
+
+### Adições
+
+- Adicionado o arquivo `abntexto-3-2-1-beta.cls`;
+- Âncoras em `\normalsize` e `\abntsmall`. Nelas haverá valores
+  dependentes do tamanho da fonte como `\medskipamount`, por exemplo.
+  Novo comando: `\setamounts`;
+
+### Mudanças
+
+- Parâmetros flutuantes em multiplace geravam o erro "Not in outer par mode";
+- Excesso de espaço vertical entre título, conteúdo e fonte no ambiente "multiplace";
+- Adicionado espaço vertical antes de "Palavras-chave" e "Keywords" em `abntexto-exemplo.tex`;
+- O circuito em `abntexto-exemplo.tex` foi trocado;
+
 ## [4.0.1-beta] - 2025-07-21
 
 ### Mudanças
@@ -22,7 +38,7 @@
 
 ## [4.0.0-beta] - 2025-07-17
 
-### Adicionado
+### Adições
 
 - Houve um número significativo de mudanças nessa versão, por isso
   documentos antigos provavelmente terão layout alterado. Felizmente,
@@ -149,6 +165,7 @@
 - A list of Standards covered by abntexto was duly explained in the manual
 
 ## [3.0.1-alpha] - 2023-10-12
+
 - A PIX key for contributions has been added: abntexto.classe at gmail.com
 - The definition of \place was inserted inside a group.
 - \begcorrprint and \endcorrprint have been renamed in favor of

Modified: trunk/Master/texmf-dist/doc/latex/abntexto/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto/README	2025-08-06 19:41:25 UTC (rev 75993)
+++ trunk/Master/texmf-dist/doc/latex/abntexto/README	2025-08-06 19:41:37 UTC (rev 75994)
@@ -1,7 +1,7 @@
 # `abntexto`
 
 Author: Elayson Abreu
-Version: 2025-07-21 4.0.1-beta
+Version: 2025-08-05 4.0.2-beta
 Contact: abntexto.classe at gmail.com
 License: Public Domain Software
 

Modified: trunk/Master/texmf-dist/doc/latex/abntexto/abntexto-exemplo.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/abntexto/abntexto-exemplo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto/abntexto-exemplo.tex	2025-08-06 19:41:25 UTC (rev 75993)
+++ trunk/Master/texmf-dist/doc/latex/abntexto/abntexto-exemplo.tex	2025-08-06 19:41:37 UTC (rev 75994)
@@ -1,6 +1,6 @@
 %! Public Domain Software 2022-2025
-%! 2025-07-21
-%! 4.0.1-beta
+%! 2025-08-05
+%! 4.0.2-beta
 %! Elayson Abreu
 %! abntexto.classe at gmail.com
 
@@ -36,7 +36,7 @@
 \setmonofont{InconsolataN-Regular.otf}
 
 % Só é preciso guardar em macros informações que
-% serão utilizadas repetidas vezes como o Nome ou o
+% serão utilizadas repetidas vezes como o Nome ou
 % o Título do trabalho, por exemplo.
 
 \def \Autor{Elayson Abreu}
@@ -267,7 +267,7 @@
 \nonum\notoc\section{Resumo}
 % Apesar de ser um parágrafo, o Resumo
 % não costuma ter indentação.
-\noindent \lipsum[1]
+\noindent \lipsum[1]\Enter
 
 Palavras-chave: Palavra-chave A. Palavra-chave B. Palavra-chave C.
 \newpage
@@ -276,7 +276,7 @@
 % ================================================
 
 \nonum\notoc\section{Abstract}
-\noindent \lipsum[1]
+\noindent \lipsum[1]\Enter
 
 Keywords: Keyword A. Keyword B. Keyword C.
 \newpage
@@ -429,47 +429,23 @@
     \begin{subplace}
         \chemfig{H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-O-H}
     \end{subplace}
-    \\ \null \hfil
-    \sublegend[circ]{\raggedright Amplificador não-inversor completo} \label{circ:am}
+    \vadjust{\kern\baselineskip}\\ \null \hfil
+    \sublegend[circ]{\raggedright Fonte de tensão $V$ e dois resistores $R_1$ e $R_2$ ligados em paralelo.} \label{circ:am}
     \subsrc\me
     \begin{subplace}
-    \begin{circuitikz}[american,scale=.5]
-    % Fonte de sinal
-    \draw (0,0) node[ground]{} to[sV, l_=$V_\text{in}$] (0,2)
-         to[R, l=$R_\text{in}$] (2,2)
-         to[short] (3,2);
+        \begin{circuitikz}[scale=.7]
+            \draw
+            (0,0) to[battery1, l=$V$] (0,4)
+                  to[short] (2,4)
+                  to[R, l=$R_1$] (2,2)
+                  -- (2,0)
+                  -- (0,0);
 
-    % Entrada não-inversora (+)
-    \draw (3,2) to[short] (4,2)
-         to[short] (4,1.5)
-         to[short] (5,1.5);
-
-    % Amplificador operacional
-    \draw (5,0) node[op amp, noinv input up, anchor=+] (opamp) {};
-
-    % Entrada inversora (-)
-    \draw (4,0) to[R, l=$R_1$] (4,-1.5)
-         to[R, l=$R_2$] (4,-3)
-         node[ground]{};
-    \draw (4,0) -- (opamp.-);
-
-    % Ligação da entrada não-inversora ao op amp
-    \draw (5,1.5) -- (opamp.+);
-
-    % Saída do op amp
-    \draw (opamp.out) to[short, -*] ++(2,0)
-         coordinate (vout) node[right] {$V_\text{out}$}
-         to[R, l=$R_L$] ++(0,-2)
-         node[ground]{};
-
-    % Realimentação
-    \draw (vout) |- (4,-1.5);
-
-    % Fontes de alimentação do amp op
-    \draw (opamp.up) to[short] ++(0,0.5) node[vcc]{+Vcc};
-    \draw (opamp.down) to[short] ++(0,-0.5) node[vee]{--Vcc};
-
-    \end{circuitikz}
+            \draw
+            (2,4) to[short] (4,4)
+                  to[R, l=$R_2$] (4,0)
+                  -- (2,0);
+        \end{circuitikz}
     \end{subplace}
     \hfil
     \sublegend[a]{Exemplo} \label{a:exemplo}
@@ -483,7 +459,7 @@
          return $t$
          \end{pseudo}
     \end{subplace}
-    \\ \hfil
+    \vadjust{\kern\baselineskip}\\ \null \hfil
     \sublegend[d]{Exemplo em 3D} \label{d:exemplo}
     \subsrc\me
     \begin{subplace}
@@ -515,16 +491,16 @@
 
 \section{Alíneas}
 
-\lipsum[1][1-5]
+\lipsum[1][1-5]:
 
 \begin{topics}
-    \item \lipsum[1][1]
+    \item \lipsum[1][1]:
     \begin{topics}
-        \item \lipsum[1][1]
-        \item \lipsum[1][1]
+        \item \lipsum[1][1];
+        \item \lipsum[1][1];
     \end{topics}
+    \item \lipsum[1][1];
     \item \lipsum[1][1]
-    \item \lipsum[1][1]
 \end{topics}
 
 \newpage

Modified: trunk/Master/texmf-dist/doc/latex/abntexto/abntexto.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/abntexto/abntexto.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto/abntexto.tex	2025-08-06 19:41:25 UTC (rev 75993)
+++ trunk/Master/texmf-dist/doc/latex/abntexto/abntexto.tex	2025-08-06 19:41:37 UTC (rev 75994)
@@ -1,6 +1,6 @@
 %! Public Domain Software 2022-2025
-%! 2025-07-21
-%! 4.0.1-beta
+%! 2025-08-05
+%! 4.0.2-beta
 %! Elayson Abreu
 %! abntexto.classe at gmail.com
 
@@ -47,7 +47,7 @@
     \ttfamily
 }
 
-\def\lstanchors{}\edef\bslash{\csstring\\}
+\edef\bslash{\csstring\\}
 \def\mytarget#1{\vbox to0pt{\kern-12pt \hypertarget{#1}{}\vss}}
 \def\1{`}\def\2{``}
 {\catcode`\`=13 \AtBeginDocument{%
@@ -194,7 +194,6 @@
 \def\xelatex{\leavevmode\hbox{Xe\LaTeX}}
 \def\lualatex{\leavevmode\hbox{Lua\LaTeX}}
 \def\me{Elaboração própria.}
-\def\placepos{tbp} % Habilita flutuação.
 \def\bibfont{\raggedright\interlinepenalty=10000\singlesp\bibitemsep=\baselineskip}
 \appto\textual{
     \def\@evenhead{\abntsmall \firstmarks0\hfil\thepage}
@@ -229,7 +228,7 @@
     \today
 \vskip2in\endgroup
 
-\noindent\hfil {\Large\ttfamily 4.0.1-beta}
+\noindent\hfil {\Large\ttfamily 4.0.2-beta}
 \newpage
 
 \nonum\notoc\section{Sumário}
@@ -325,7 +324,7 @@
 
 O espaçamento é de 1,5 por padrão e pode ser alterado com os atalhos \^`\singlesp` e \^`\onehalfsp` que alternam para espaçamento simples e de 1,5, respectivamente\footnote{O \type{\\doublesp} está obsoleto.}. A fórmula desses comandos foi atualizada, portanto documentos com versões antigas do `abntexto` terão o \emph{layout} alterado.
 
-Nesta versão, \^`\spacing` está obsoleto porque esse comando ainda usa a fórmula antiga. Além disso, ele tem uma limitação: só pode ser usado após um seletor de tamanho, porque tais seletores redefinem `\baselineskip` diretamente. Por exemplo, `\abntsmall\spacing{<fator>}` é correto, porém `\spacing{<fator>}\abntsmall` é ineficaz. Essa limitação não existe ao usar os reimplementados `\singlesp` e `\onehalf` de forma que tanto `\singlesp\onehalfsp` quanto `\onehalfsp\singlesp` produzem o mesmo efeito.
+Nesta versão, `\spacing` está obsoleto porque esse comando ainda usa a fórmula antiga. Além disso, ele tem uma limitação: só pode ser usado após um seletor de tamanho, porque tais seletores redefinem `\baselineskip` diretamente. Por exemplo, `\abntsmall\spacing{<fator>}` é correto, porém `\spacing{<fator>}\abntsmall` é ineficaz. Essa limitação não existe ao usar os reimplementados `\singlesp` e `\onehalf` de forma que tanto `\singlesp\onehalfsp` quanto `\onehalfsp\singlesp` produzem o mesmo efeito.
 
 \section{\emph{Layout}}
 
@@ -488,7 +487,7 @@
 
 \section{Áreas de legenda\label{sec:area-de-legenda}}
 
-Use o ambiente \^`place` para inserir áreas de legenda. Ele substitui integralmente os ambientes `figure` e `table` , bem como o comando `\caption`, não suportados pela classe. Além disso, tem-se \^`\legend`\nobreak`{<tipo>}{<legenda>}` para titular; \^`\src`\nobreak`{<fonte>}` (\emph{source}) para inserir a fonte como mostrado em \ref{cd:place}. Porém, existem condições: `place` deve constar em último lugar e `\label` deve suceder `\legend`.
+Use o ambiente \^`place` para inserir áreas de legenda. Ele substitui integralmente os ambientes `figure` e `table`, bem como o comando `\caption`, não suportados pela classe. Além disso, tem-se \^`\legend`\nobreak`{<tipo>}{<legenda>}` para titular; \^`\src`\nobreak`{<fonte>}` (\emph{source}) para inserir a fonte como mostrado em \ref{cd:place}. Porém, existem condições: `place` deve constar em último lugar e `\label` deve suceder `\legend`.
 
 \legend{code}{Áreas de legenda}
 \src\me
@@ -963,7 +962,7 @@
 \def\thecodesection{\arabic{codesection}}
 \def\thecodesubsection{\thecodesection.\arabic{codesubsection}}
 \edef\toclevel at codesection{\mainseclevel}
-\edef\toclevel at codesubsection{\numexpr\mainseclevel-1\relax}
+\edef\toclevel at codesubsection{\the\numexpr\mainseclevel-1\relax}
 
 \appto\hooktocsection{\def\extleaders{}%
     \edef\savedskips{\rightskip=\the\rightskip \parfillskip=\the\parfillskip\relax}}
@@ -998,6 +997,7 @@
     language    = [latex]tex,
     texcs       = {\directlua{for k,v in pairs(tex.primitives())
                    do tex.print(k, v.. ',')end}},
+    deletetexcs = {end}
 }}
 
 \lstset{

Added: trunk/Master/texmf-dist/tex/latex/abntexto/abntexto-3-2-1-beta.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/abntexto/abntexto-3-2-1-beta.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/abntexto/abntexto-3-2-1-beta.cls	2025-08-06 19:41:37 UTC (rev 75994)
@@ -0,0 +1,907 @@
+%! Public Domain Software
+%! 2024-12-29
+%! 3.2.1-beta
+%! Elayson Abreu
+%! abntexto.classe at gmail.com
+
+%! RECOMENDAÇÕES
+%! PRÉ-CONFIGURAÇÕES
+%! FONTES
+%! LAYOUT
+%! SUMÁRIO
+%! SECIONAMEMTO
+%! CITAÇÕES
+%! ALÍNEAS
+%! TABELAS
+%! ÁREAS DE LEGENDA
+%! NOTAS DE RODAPÉ
+%! IDENTIFICAÇÃO DO TRABALHO
+%! A VÍRGULA COMO SEPARADOR DECIMAL
+%! INICIALIZAÇÃO
+
+% \sec RECOMENDAÇÕES
+
+% Macros internas não devem ser modificadas ou usadas diretamente. Isso é porque essas macros podem ser redefinidas ou até renomeadas em futuras versões desta classe. Por macros internas entende-se aquelas com o prefixo do pacote em questão, neste caso, |tnba@|. Se você precisa de algum comando interno, defina outro sem anexar o prefixo.
+
+% \sec PRÉ-CONFIGURAÇÕES
+
+% Identificação do formato \TeX\ e da classe, carregando a classe |article| e os únicos pacotes do |abntexto|.
+
+% \begin{code}
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass{abntexto}[2024-12-29 3.2.1-beta Preparation of works in ABNT standards]
+
+\LoadClass{article}
+\RequirePackage{geometry}
+\RequirePackage{graphicx}
+\RequirePackage{csquotes}
+% \end{code}
+
+% Um atalho para |\ClassError|.
+
+% \begin{code}
+\def\tnba at error#1{\ClassError{abntexto}{#1}{}}
+% \end{code}
+
+% Condicionais para identificação da extensão TeX.
+
+% \begin{code}
+\newif \iftnba at PDFTEX
+\newif \iftnba at XETEX
+\newif \iftnba at LUATEX
+
+\ifx\directlua\undefined \ifx\XeTeXversion\undefined
+	\tnba at PDFTEXtrue \else
+	\tnba at XETEXtrue  \fi \else
+	\tnba at LUATEXtrue     \fi
+% \end{code}
+
+% \sec FONTE TIPOGRÁFICA
+
+% O tamanho 12\,pt foi definido ao final deste manual e é o tamanho padrão da classe. Com ele foi definido um tamanho menor |\small|.
+
+% \begin{code}
+\def\sizedef#1#2#3#4{\DeclareRobustCommand#1{\fontsize{#2}{#3}\selectfont#4\relax}}
+
+\def\spacing#1{\def\currspacing{#1}%
+	\@tempdima=\f at size pt \baselineskip=#1\@tempdima \ignorespaces
+}
+
+\AddToHook{begindocument}{%
+	\@tempdima=\f at size pt \baselineskip=\currspacing\@tempdima \relax
+}
+
+\def\singlesp{\baselineskip=\normalbaselineskip}
+\def\onehalfsp{\spacing{1.5}}
+\def\doublesp{\spacing{2}}
+% \end{code}
+
+% \sec \emph{LAYOUT}
+
+% O estilo de página |\pretextual| omite a numeração de página e desliga o modo |twoside| porque os elementos pré-textuais que compreendem as folhas da capa à do sumário, devem constar no anverso da página, ou seja, na “frente” da folha.
+
+% A instrução |\textual| põe a numeração de página no topo direito nas páginas ímpares e no topo esquerdo em páginas pares. Além disso, |twoside| vai espelhar as margens horizontais.
+
+% Ambos |\pretextual| e |\textual| são iniciados automaticamente.
+
+% O comando |\eletroniclayout| é útil para leitura do trabalho em {\em display} digital.
+
+% Por algum motivo, |\newgeometry| reseta |\baselineskip| e |\parindent|, então temos de repetir estas instruções.
+
+% \begin{code}
+\def\onesidelayout{%
+	\newgeometry{
+		twoside=false,
+		left   = 3cm,
+		top    = 3cm,
+		right  = 2cm,
+		bottom = 2cm
+	}
+}
+\def\twosidelayout{%
+	\newgeometry{
+		twoside=true,
+		left   = 3cm,
+		top    = 3cm,
+		right  = 2cm,
+		bottom = 2cm
+	}%
+}
+\def\eletroniclayout{%
+	\newgeometry{
+		twoside=false,
+		left   = 2.5cm,
+		top    = 3cm,
+		right  = 2.5cm,
+		bottom = 2cm
+	}%
+}
+
+\def\pretextual{%
+	\onesidelayout
+	\spacing{1.5}%
+	\let\@oddhead=\empty
+	\let\@evenhead=\empty
+	\let\@oddfoot=\empty
+	\let\@evenfoot=\empty
+}
+\def\textual{%
+	\twosidelayout
+	\spacing{1.5}%
+	\parindent=1.5cm
+	\def\@oddhead{\hfil\small\thepage}%
+	\def\@evenhead{\small\thepage\hfil}%
+}
+% \end{code}
+
+% \sec SUMÁRIO
+
+% Aqui, a macro |\extline| foi baseada em |\@dottedtocline|, do kernel do LaTeX. Ela não é uma instrução privada, ou seja, com prefixo interno, porque existe a chance de o leitor querer redefiní-la.
+
+% \begin{code}
+\def\extpagenumwidth{1.55em}
+\def\extrightmargin{2.55em}
+
+\def\extline#1#2#3#4#5{%
+	\begingroup
+		\parindent=0pt \leftskip=#1\relax
+		\rightskip=\extrightmargin\relax \parfillskip=-\rightskip
+		#3{\global\advance\leftskip#2\relax \hskip-#2\relax #4}%
+		\nobreak\extleaders\nobreak
+		\hbox to\extpagenumwidth{\hfil #5\kern-1pt\kern1pt}\nbpar
+	\endgroup
+	\global\leftskip=0pt
+}
+\def\extleaders{\leaders\hbox{$\mathsurround=0pt \mkern4.5mu\hbox{.}\mkern4.5mu$}\hfill}
+
+\def \l at part          {\addpenalty{-300}\addvspace{2.25em plus1pt}%
+                       \extline{0pt}{\toclabelwidth}{\def\extleaders{\hfil}\tocpartfont}}
+\def \l at chapter       {\addpenalty{-300}\addvspace{1em plus1pt}%
+                       \extline{0cm}{\toclabelwidth}{\def\extleaders{\hfil}\tocchapterfont}}
+\def \l at section       {\addpenalty{-300}\addvspace{1em plus1pt}%
+                       \extline{0pt}{\toclabelwidth}{\def\extleaders{\hfil}\tocsectionfont}}
+\def \l at subsection    {\vskip0pt plus.2pt
+                       \extline{0pt}{\toclabelwidth}{\tocsubsectionfont}}
+\def \l at subsubsection {\vskip0pt plus.2pt
+                       \extline{0pt}{\toclabelwidth}{\tocsubsubsectionfont}}
+\def \l at paragraph     {\vskip0pt plus.2pt
+                       \extline{0pt}{\toclabelwidth}{\tocparagraphfont}}
+\def \l at subparagraph  {\vskip0pt plus.2pt
+                       \extline{0pt}{\toclabelwidth}{\tocsubparagraphfont}}
+
+\def\toclabelbox#1{\hbox to\toclabelwidth{#1\hss}}
+% \end{code}
+
+% \sec SECIONAMENTO
+
+% Nesta parte estão definidos os comandos secionais. Nenhum destes comandos são internos, caso o leitor queira redefiní-los.
+
+% O comando |\hangfrom| é oriundo do kernel. Ele vai ser útil na formatação das seções.
+
+% A ideia de usar |\nonum| e |\notoc| ao invés de * vem do Op\TeX\ (muitas outras implementações aqui foram inspiradas nele).
+
+% \begin{code}
+\newif\ifnotoc
+\newif\ifnonum
+
+\let\hangfrom=\@hangfrom
+\def\nbpar{{\interlinepenalty=10000\par}}
+\def\trytextual{\textual \let\textual=\relax}
+\def\nonum{\global\nonumtrue}
+\def\notoc{\global\notoctrue}
+\def\resetnonumnotoc{\global\notocfalse \global\nonumfalse}
+
+\newcount\countseclevel
+
+\newcount\countpart
+\newcount\countchapter
+\newcount\countsection
+\newcount\countsubsection
+\newcount\countsubsubsection
+\newcount\countparagraph
+\newcount\countsubparagraph
+
+\def\thepart{\@Roman\countpart}
+\def\thechapter{\the\countchapter}
+\def\thesection{\the\countsection}
+\def\thesubsection{\thesection .\the\countsubsection}
+\def\thesubsubsection{\thesubsection .\the\countsubsubsection}
+\def\theparagraph{\thesubsubsection .\the\countparagraph}
+\def\thesubparagraph{\theparagraph .\the\countsubparagraph}
+
+\def\recountchapter       {\countsection=0 \recountsection}
+\def\recountsection       {\countsubsection=0 \recountsubsection}
+\def\recountsubsection    {\countsubsubsection=0 \recountsubsubsection}
+\def\recountsubsubsection {\countparagraph=0 \recountparagraph}
+\def\recountparagraph     {\countsubparagraph=0 }
+
+\def\printpart#1{%
+	\begingroup
+		\centering\huge\bfseries Parte \thepart
+		\vskip20pt
+		\Huge\bfseries #1\nbpar
+	\endgroup
+}
+
+\def\printchapter#1{%
+	\begingroup
+		\raggedright\huge\bfseries
+		\ifnonum \else Capítulo \thechapter \vskip20pt \fi
+		\Huge\bfseries #1\nbpar
+	\endgroup
+}
+\def\printnonumchapter#1{{\centering\Huge\bfseries{#1}\par}}
+
+\def\printsection#1{{%
+	\hangfrom{\sectionfont\thesection\quad}%
+	\sectionfont{#1}\nbpar
+}}
+\def\printnonumsection#1{{\centering\sectionfont{#1}\par}}
+
+\def\printsubsection#1{{%
+	\hangfrom{\subsectionfont\thesubsection\quad}%
+	\subsectionfont{#1}\nbpar
+}}
+\def\printsubsubsection#1{{%
+	\hangfrom{\subsubsectionfont\thesubsubsection\quad}%
+	\subsubsectionfont{#1}\nbpar
+}}
+\def\printparagraph#1{{%
+	\hangfrom{\paragraphfont\theparagraph\quad}%
+	\paragraphfont{#1}\nbpar
+}}
+\def\printsubparagraph#1{{%
+	\hangfrom{\subparagraphfont\thesubparagraph\quad}%
+	\subparagraphfont{#1}\nbpar
+}}
+% \end{code}
+
+% A instrução |\setlabel| ensina a forma como |\label|'s devem ser referenciados. O comando |\setlabel| será útil em outros contextos.
+
+% As referências cruzadas (\emph{cross ref}) serão impressas por meio de |\ref| conforme |\cfpart|, |\cfchapter| etc. O leitor pode querer redefiní-los.
+
+% \begin{code}
+\def\setlabel#1{\def\@currentlabel{#1}}
+
+\def\cfpart          {parte\,\thepart}
+\def\cfchapter       {capítulo\,\thechapter}
+\def\cfsection       {secão\,\thesection}
+\def\cfsubsection    {subseção\,\thesubsection}
+\def\cfsubsubsection {subseçao\,\thesubsubsection}
+\def\cfparagraph     {subseçao\,\theparagraph}
+\def\cfsubparagraph  {subseçao\,\thesubparagraph}
+% \end{code}
+
+% Por meio de |\trytextual|, a instrução |\textual| é iniciada automaticamente na primeira chamada de |\section|, |\chapter| ou |\part|, conforme o nível secional principal.
+
+% É mais provável que o usuário queira redefinir comandos como |\printsection|, |\printsubsection| ao invés de seus invólucros maiores, neste caso, |\section| e |\subsection|.
+
+% \begin{code}
+\def\partlevel          {-1}
+\def\chapterlevel       {0}
+\def\sectionlevel       {1}
+\def\subsectionlevel    {2}
+\def\subsubsectionlevel {3}
+\def\paragraphlevel     {4}
+\def\subparagraphlevel  {5}
+
+\def\part#1{\ifnonum\else\cleardoublepage\fi \ifnonum\else\trytextual\fi
+	\leavevmode\vfil
+	\ifnonum \else
+		\global\advance\countpart by1
+	\fi
+	\countseclevel=\partlevel\relax \ifnonum \else \setlabel\cfpart \fi
+	\ifnotoc \else
+		\addtoext{toc}{part}{\ifnonum \else \protect\toclabelbox{\thepart}\fi #1}%
+	\fi
+	\printpart{#1}%
+	\markpart{#1}%
+	\resetnonumnotoc
+	\newpage
+}
+\def\chapter#1{\ifnonum\else\cleardoublepage\fi \ifnonum\else\trytextual\fi
+	\leavevmode\vskip\abovechapter\relax
+	\ifnonum \else
+		\global\advance\countchapter by1 {\globaldefs=1 \recountchapter}%
+	\fi
+	\countseclevel=\chapterlevel\relax \ifnonum \else \setlabel\cfchapter \fi
+	\ifnotoc \else
+		\addtoext{toc}{chapter}{\ifnonum \else \protect\toclabelbox{\thechapter}\fi #1}%
+	\fi
+	\ifnonum
+		\printnonumchapter{#1}\else
+		\printchapter{#1}%
+	\fi
+	\markchapter{#1}%
+	\resetnonumnotoc
+	\par\nobreak \vskip\belowchapter\relax
+}
+\def\section#1{\ifnonum\else\trytextual\fi \addpenalty{-300}\addvspace\abovesection
+	\ifnonum \else
+		\global\advance\countsection by1 {\globaldefs=1 \recountsection}%
+	\fi
+	\countseclevel=\sectionlevel\relax \ifnonum \else \setlabel\cfsection \fi
+	\ifnotoc \else
+		\addtoext{toc}{section}{\ifnonum \else \protect\toclabelbox{\thesection}\fi #1}%
+	\fi
+	\ifnonum
+		\printnonumsection{#1}\else
+		\printsection{#1}%
+	\fi
+	\marksection{#1}%
+	\resetnonumnotoc
+	\par\nobreak \vskip\belowsection\relax % Esse \par é necessário.
+}
+\def\subsection#1{\addpenalty{-300}\addvspace\abovesubsection
+	\global\advance\countsubsection by1 {\globaldefs=1 \recountsubsection}%
+	\countseclevel=\subsectionlevel\relax \setlabel\cfsubsection
+	\addtoext{toc}{subsection}{\protect\toclabelbox{\thesubsection}#1}%
+	\printsubsection{#1}%
+	\marksubsection{#1}%
+	\par\nobreak \vskip\belowsubsection\relax
+}
+\def\subsubsection#1{\addpenalty{-300}\addvspace\abovesubsubsection
+	\global\advance\countsubsubsection by1 {\globaldefs=1 \recountsubsubsection}%
+	\countseclevel=\subsubsectionlevel\relax \setlabel\cfsubsubsection
+	\addtoext{toc}{subsubsection}{\protect\toclabelbox{\thesubsubsection}#1}%
+	\printsubsubsection{#1}%
+	\par\nobreak \vskip\belowsubsubsection\relax
+}
+\def\paragraph#1{\addpenalty{-300}\addvspace\aboveparagraph
+	\global\advance\countparagraph by1 {\globaldefs=1 \recountparagraph}%
+	\countseclevel=\paragraphlevel\relax \setlabel\cfparagraph
+	\addtoext{toc}{paragraph}{\protect\toclabelbox{\theparagraph}#1}%
+	\printparagraph{#1}%
+	\par\nobreak \vskip\belowparagraph\relax
+}
+\def\subparagraph#1{\addpenalty{-300}\addvspace\abovesubparagraph
+	\global\advance\countsubparagraph by1 {\globaldefs=1 \recountsubparagraph}%
+	\countseclevel=\subparagraphlevel\relax \setlabel\cfsubparagraph
+	\addtoext{toc}{subparagraph}{\protect\toclabelbox{\thesubparagraph}#1}%
+	\printsubparagraph{#1}%
+	\par\nobreak \vskip\belowsubparagraph\relax
+}
+% \end{code}
+
+% O |\@starttoc| pode ser usado não apenas para criar sumários, mas também listas em geral, como listas de figuras, tabelas etc. as quais são armazenadas em arquivos de extensão predefinida, a saber, |.toc|, |.lof|, |.lot| entre outros. Portanto, |\makeext| parece ter mais valor semântico.
+
+% Comandos como |\printbibliography| e |\printglossaries| já vêm com título embutido. Mas este título precisa estar inserido na macro secional principal, |\section| ou |\chapter|, dependendo de |\usechapters|/|\useparts| estar ativado ou não. Por este motivo foi definido o ambiente |corrprint|.
+
+% \begin{code}
+\def\makeext#1{\@starttoc{#1}}
+\def\maketoc{\makeext{toc}}
+
+\def\corrprint{\begingroup
+	\def\tmp{section}%
+	\ifx\mainsecname\tmp
+		\let\origsection=\section
+		\def\chapter##1##2{\nonum \origsection {##2}}%
+		\def\section##1##2{\nonum \origsection {##2}}%
+	\else
+		\edef\mainsecname{orig\mainsecname}%
+		\let\origchapter=\chapter
+		\let\origsection=\section
+		\def\chapter##1##2{\nonum \csname\mainsecname\endcsname {##2}}%
+		\def\section##1##2{\nonum \csname\mainsecname\endcsname {##2}}%
+	\fi
+}
+\def\endcorrprint{\par\endgroup}
+
+\def\mainsecname{section}
+\def\mainseclevel{\sectionlevel}
+\def\maintocfont{\tocsectionfont}
+
+\def\usechapters{%
+	\def\l at section{\extline{0pt}{\toclabelwidth}{\tocsectionfont}}%
+	\def\thesection{\thechapter.\the\countsection}%
+	\def\mainsecname{chapter}%
+	\def\mainseclevel{\chapterlevel}%
+	\def\maintocfont{\tocchapterfont}%
+}
+\def\useparts{\usechapters
+	\def \l at chapter {\addpenalty{-300}\addvspace{1em plus1pt}%
+	                 \extline{0pt}{\toclabelwidth}{\tocchapterfont}}%
+}
+% \end{code}
+
+% Quando |\usechapters| está ativo, o LaTeX, por algum motivo, exige a criação do contador |\c at chapter|.
+
+% \begin{code}
+\newcount\c at chapter
+
+\AddToHook{begindocument}{%
+	\pdfstringdefDisableCommands{\def\toclabelbox#1{#1 }}%
+}
+
+\def\markpart#1{}
+\def\markchapter#1{}
+\def\marksection#1{\markboth
+	{\MakeUppercase{\thesection\quad #1}}%
+	{}%
+}
+\def\marksubsection#1{\markright{\MakeUppercase{\thesubsection\quad #1}}}
+% \end{code}
+
+% Os comandos a seguir são usados pelo |hyperref.sty| na criação de \emph{bookmarks} em PDFs.
+
+% \begin{code}
+\def\toclevel at part          {\partlevel}
+\def\toclevel at chapter       {\chapterlevel}
+\def\toclevel at section       {\sectionlevel}
+\def\toclevel at subsection    {\subsectionlevel}
+\def\toclevel at subsubsection {\subsubsectionlevel}
+\def\toclevel at paragraph     {\paragraphlevel}
+\def\toclevel at subparagraph  {\subparagraphlevel}
+
+\def\toclevel at appendix {\mainseclevel}
+\def\toclevel at annex    {\mainseclevel}
+% \end{code}
+
+% A definição de |\addtoext| depende de o |hyperref.sty| estar presente ou não.
+
+% \begin{code}
+\def\addtoext#1#2#3{\noindent % Esse \noindent é necessário.
+	\setcounter{section at level}{\countseclevel}%
+	\NR at gettitle{#3}%
+	\Hy at MakeCurrentHrefAuto{section*}%
+	\setlength{\Hy at SectionHShift}{0pt}%
+	\Hy at SectionAnchorHref{\@currentHref}%
+	\addcontentsline{#1}{#2}{#3}%
+}
+
+\AddToHook{begindocument/before}{%
+	\@ifpackageloaded{hyperref}{}{%
+		\def\addtoext#1#2#3{\addcontentsline{#1}{#2}{#3}}%
+		\let\pdfstringdefDisableCommands=\@gobble
+	}%
+}
+% \end{code}
+
+% Aqui estão definidos |\appendix| e |\annex|.
+
+% \begin{code}
+\newcount\countappendix
+\newcount\countannex
+
+\def\theappendix{\@Alph\countappendix}
+\def\theannex{\@Alph\countannex}
+
+\def\appendixlabelbox#1{\hbox to\appendixlabelwidth{Apêndice~#1~---\hss}}
+\def\annexlabelbox#1{\hbox to\annexlabelwidth{Anexo~#1~---\hss}}
+
+\AddToHook{begindocument}{\pdfstringdefDisableCommands{%
+	\def\appendixlabelbox#1{Apêndice #1 }%
+	\def\annexlabelbox#1{Anexo #1 }%
+}}
+
+\def \l at appendix {\addpenalty{-300}\addvspace{1em plus1pt}%
+                  \extline{0pt}{\appendixlabelwidth}{\def\extleaders{\hfil}\maintocfont}}
+\def \l at annex    {\addpenalty{-300}\addvspace{1em plus1pt}%
+                  \extline{0pt}{\annexlabelwidth}{\def\extleaders{\hfil}\maintocfont}}
+
+\def\cfappendix{Apêndice~\theappendix}
+\def\cfannex{Anexo~\theannex}
+
+\def\appendix#1{\newpage \global\advance\countappendix by1
+	\addtoext{toc}{appendix}{\protect\appendixlabelbox{\theappendix}#1}%
+	\setlabel\cfappendix
+	\par\nointerlineskip
+	\begingroup
+		\def\abovesection{0pt}%
+		\nonum\notoc \csname\mainsecname\endcsname {Apêndice~\theappendix~---~#1}%
+	\endgroup
+}
+\def\annex#1{\newpage \global\advance\countannex by1
+	\addtoext{toc}{annex}{\protect\annexlabelbox{\theannex}#1}%
+	\setlabel\cfannex
+	\par\nointerlineskip
+	\begingroup
+		\def\abovesection{0pt}%
+		\nonum\notoc \csname\mainsecname\endcsname {Anexo~\theannex~---~#1}%
+	\endgroup
+}
+% \end{code}
+
+% \sec CITAÇÕES
+
+% O comando |\enquote| é fornecido pelo pacote |csquotes|, carregado pela classe.
+
+% \begin{code}
+\long\def\Enquote#1{\par\ifdim\lastskip>0pt \vskip-\lastskip \fi
+	\vskip\baselineskip
+	{\noindent\leftskip=4cm \small \ignorespaces#1\unskip \par}%
+	\vskip\baselineskip
+}
+% \end{code}
+
+% \sec ALÍNEAS
+
+% Estas linhas não foram baseadas no ambiente |list| do LaTeX, portanto não podem ser personalizadas por pacotes como |enumitem|, por exemplo.
+
+% \begin{code}
+\newcount\counttopicsdepth
+\newcount\counttopics
+\newcount\countsubtopics
+
+\def\thetopics{\@alph\counttopics}
+\def\thesubtopics{\the\countsubtopics}
+
+\def\topicslabeli{\thetopics)}
+\def\topicslabelii{---}
+
+\def\cftopics{alínea~\thetopics)}
+\def\cfsubtopics{subalínea~\thetopics\thesubtopics}
+
+\def\topics{\par \advance\counttopicsdepth by1
+	\ifnum\counttopicsdepth=1 \advance\leftskip\parindent \fi
+	\advance\leftskip\topicslabelwidth
+	\edef\topicsmakelabel{\expandafter\noexpand
+		\csname topicslabel\romannumeral\counttopicsdepth\endcsname}%
+	\let\item=\topicsitem
+	\expandafter\def \expandafter\@esphack \expandafter{\@esphack\ignorespaces}%
+}
+\def\endtopics{\par}
+
+\def\topicsitem{\par
+	\ifnum\counttopicsdepth=1
+		\advance\counttopics by1 \setlabel\cftopics
+	\else
+		\advance\countsubtopics by1 \setlabel\cfsubtopics
+	\fi
+	\noindent \kern-\topicslabelwidth
+	\hbox to\topicslabelwidth{\topicsmakelabel\hfil}%
+	\ignorespaces
+}
+% \end{code}
+
+% \sec ÁREAS DE LEGENDA
+
+% \begin{code}
+\def\@nameedef#1{\expandafter\edef\csname#1\endcsname}
+
+\def\definelegendplace#1#2#3#4{\expandafter\newcount\csname count#1\endcsname
+	\@namedef{#1name}{#2}%
+	\@nameedef{the#1}{\noexpand\the\csname count#1\endcsname}%
+	\@nameedef{cf#1}{\unexpanded{#3}\expandafter\noexpand\csname the#1\endcsname}%
+	\@namedef{#1ext}{#4}%
+	\@nameedef{l@#4i}{\noexpand\extline{0pt}%
+		{\expandafter\noexpand\csname #4labelwidth\endcsname}%
+		{\expandafter\noexpand\csname #4ifont\endcsname}}%
+	\@namedef{#4labelwidth}{5.4em}%
+	\@nameedef{#4labelbox}##1{\hbox to\expandafter\noexpand\csname #4labelwidth\endcsname{#2~##1~---\hss}}%
+	\AddToHook{begindocument}{%
+		\pdfstringdefDisableCommands{\@namedef{#4labelbox}##1{##1 }}%
+	}%
+	\@namedef{#4ifont}{\maintocfont}%
+	\@namedef{make#4}{\makeext{#4}}%
+}
+% \end{code}
+
+% O valor de |\placewidth| foi configurado após |\begin{document}|, pois o valor de |\linewidth| durante e depois do preâmbulo não são necessariamente iguais.
+
+% \begin{code}
+\newdimen\placewidth \AddToHook{begindocument}{\placewidth=.43\linewidth}
+\newdimen\savedplacewidth
+
+\def\printlegend#1{\setbox0=\hbox{\legendlabel#1}%
+	\hfil \vtop{\hsize=\ifdim\wd0>\legendmaxwidth \legendmaxwidth\else\wd0 \fi
+		\singlesp
+		\hangfrom\legendlabel #1%
+		\par\xdef\savedprevdepth{\the\prevdepth}%
+	}%
+	\printlegendA
+	\par\nointerlineskip \nobreak\vskip\medskipamount
+}
+\def\printlegendA{%
+	\def \@tempa{\expandafter\noexpand \csname\csname\savedplace ext\endcsname labelbox\endcsname}%
+	\edef\@tempa{\noexpand\addtoext
+		 {\csname \savedplace ext\endcsname}%
+		 {\csname \savedplace ext\endcsname i}%
+		 {\noexpand\protect \@tempa {\thelegend}\noexpand\savedlegend}%
+	}%
+	\@tempa
+}
+\def\printplace#1{\setbox0=\hbox{\ignorespaces#1\unskip}%
+	\global\savedplacewidth=\wd0
+	\hfil \unhbox0
+	\par\nointerlineskip \nobreak\vskip\medskipamount
+}
+\def\printsrc#1{\hfil \vbox{\hsize=\savedplacewidth
+	\raggedright\footnotesize\singlesp
+	\hangfrom\srclabel #1%
+}}
+
+\def\place#1{\par \vskip\aboveplace\relax
+	\begingroup
+		\parindent=0pt\parskip=0pt
+		\ifx\empty\savedplace\else \printlegend\savedlegend \fi
+		\printplace{#1}%
+		\printsrc\savedsrc
+	\par\endgroup
+	\resetplace
+	\vskip\belowplace\relax
+}
+\def\subplace#1{\leavevmode
+	\vtop{\hsize=\placewidth \linewidth=\hsize
+		\parindent=0pt\parskip=0pt
+		\ifx\empty\savedplace\else \printlegend\savedlegend \fi
+		\printplace{#1}%
+		\printsrc\savedsrc
+		\par\xdef\savedprevdepth{\the\prevdepth}%
+	}%
+	\resetplace
+	\ignorespaces
+}
+\def\resetplace{%
+	\let\savedplace=\empty
+	\let\savedlegend=\empty
+	\let\savedsrc=\empty
+	\setlabel{}%
+}
+
+\def\legend#1#2{\ifdim\lastskip>0pt \vskip-\lastskip\fi
+	\def\savedplace{#1}%
+	\def\savedlegend{#2}%
+	\ifx\empty#1\else
+		\global\advance\csname count#1\endcsname by1
+		\setlabel{\csname cf#1\endcsname}%
+	\fi
+	\ignorespaces
+}
+\def\sublegend#1#2{\ifdim\lastskip>0pt \vskip-\lastskip\fi
+	\def\savedplace{#1}%
+	\def\savedlegend{#2}%
+	\ifx\empty#1\else
+		\global\advance\@tempcnta by1
+		\setlabel{\csname cf#1\endcsname \@alph\@tempcnta}%
+	\fi
+	\ignorespaces
+}
+
+\def\src#1{\ifdim\lastskip>0pt \vskip-\lastskip\fi
+	\ifx\empty#1\else \def\savedsrc{#1}\fi
+	\ignorespaces
+}
+
+\def\legendname{\csname \savedplace name\endcsname}
+\def\thelegend{\the\csname count\savedplace\endcsname}
+
+\def\savedlegend{}
+\def\savedplace{}
+\def\savedsrc{}
+
+\newenvironment{multiplace}{\par \ifdim\lastskip>0pt \vskip-\lastskip \fi
+	\vskip\aboveplace\relax
+	\ifx\savedlegend\empty \else
+		\printlegend\savedlegend \par\prevdepth=\savedprevdepth\relax
+	\fi
+	\noindent
+	\def\legendmaxwidth{\placewidth}%
+	\@tempcnta=0 \let\legend=\sublegend \let\legendlabel=\sublegendlabel
+	\let\printlegendA=\relax
+	\ignorespaces
+}{%
+	\unskip
+	\vskip\belowplace\relax
+	\par\prevdepth=\savedprevdepth\relax
+}
+% \end{code}
+
+% O suporte para tabelas que se partem entre páginas usando |longtable.sty| ainda está em desenvolvimento.
+
+% \begin{code}
+\AddToHook{begindocument}{%
+	\def\LT at makecaption#1#2#3{\LT at mcol{\LT at cols}{c}{%
+		\hbox to\z@{\hss
+			\parbox[t]{\legendmaxwidth}{\def\savedplace{table}\global\setlabel\cftable
+				\legendlabel#3\endgraf\vskip\baselineskip}%
+		\hss}%
+	}}%
+	\def\LT at c@ption#1[#2]#3{%
+		\LT at makecaption#1\fnum at table{#3}%
+		\def\@tempa{#2}%
+		\ifx\@tempa\@empty\else
+		{\let\\\space
+			\addtoext{lot}{lofi}{\protect\lotlabelbox{\the\counttable}#2}}%
+		\fi
+	}%
+}
+
+\AddToHook{begindocument}{\@ifpackageloaded{longtable}{\LTpre=\baselineskip \LTpost=\baselineskip}{}}
+
+\def\longlegend#1{%
+	\caption{#1} \\ \hline \endfirsthead
+	\caption*{#1}\\ \multicolumn{\LT at cols}{r}{\small (continuação)} \\ \hline \endhead
+}
+\def\longsrc#1{\LT at mcol{\LT at cols}{c}{%
+	\hbox to\z@{\hss \savedplacewidth=\legendmaxwidth
+		\parbox[b]{\legendmaxwidth}{\vskip\medskipamount \printsrc{#1\vskip-\baselineskip}}%
+	\hss}%
+}}
+
+\AddToHook{begindocument}{\let\c at table=\counttable}
+% \end{code}
+
+% \sec NOTAS DE RODAPÉ
+
+% As notas de rodapé também foram modificadas.
+
+% \begin{code}
+\def\@makefnmark{\hbox{\@textsuperscript{\selectfont\@thefnmark}}}
+\def\@makefntext#1{\hangfrom{\@makefnmark\kern2pt}\small #1}
+\def\footnoterule{\kern18pt \hrule width5cm \kern2.6pt }
+% \end{code}
+
+% \sec IDENTIFICAÇÃO DO TRABALHO
+
+% \begin{code}
+\def\Enter{\@ifnextchar[\tnba at Enter{\tnba at Enter[]}}
+\def\tnba at Enter[#1]{\vskip#1\baselineskip}
+
+\long\def\indexcard#1{\hbox{\vrule\vbox to7.5cm{\hsize=12.5cm
+	\advance\hsize by-2cm
+	\advance\hsize by-0.8pt
+	\hrule\indexcardA{#1}\vss\xindexcardbar\hrule}\vrule}%
+}
+\long\def\indexcardA#1{\hbox spread2cm{\hss\vbox spread2cm{\vss
+	\ttfamily\small\parindent=1em #1%
+	\vss}\hss}%
+}
+
+\def\xindexcardbar{}
+\def\indexcardbar{\def\xindexcardbar{\hrule\kern1cm}}
+
+\def\judgeline#1{{\centering \rule{.7\linewidth}{.6pt}\\ #1\par}\Enter[1.5]}
+% \end{code}
+
+% \sec A VÍRGULA COMO SEPARADOR DECIMAL
+
+% No Brasil e em outro lugares a vírgula é um separador decimal, portanto |$1,2$| deve produzir um resultado diferente de |$1, 2$|, por exemplo.
+
+% As linhas abaixo são uma cópia da implementação do pacote |icomma|.
+
+% \begin{code}
+{\catcode`,=13
+	\gdef,{\futurelet\@let at token\tnba at smartcomma}
+}
+\def\tnba at smartcomma{%
+	\ifx\@let at token\@sptoken \else
+	\ifx\@let at token\space    \else \mathord \fi\fi
+	\tnba at mathcomma
+}
+
+\AddToHook{begindocument}{%
+	\mathchardef\tnba at mathcomma=\mathcode`\,%
+	\mathcode`\,="8000
+}
+% \end{code}
+
+% Abaixo está definido um ajuste para que o |hyperref| não crie conflitos com |\MakeUppercase| nas entradas do sumário.
+
+% \begin{code}
+\iftnba at XETEX \else
+	\AddToHook{begindocument/before}{
+		\let\tnba at hyper@linkstart=\hyper at linkstart
+		\protected\def\hyper at linkstart#1#2{\lowercase{\tnba at hyper@linkstart{#1}{#2}}}
+	}
+\fi
+% \end{code}
+
+% \sec COMANDOS OBSOLETOS
+
+% O |abntexto| emitirá um aviso ou erro caso um destes comandos seja usado.
+
+% \begin{code}
+\def\tnba at undefcmd#1{\def#1{\tnba at error{%
+	O comando "\noexpand#1" não existe mais%
+}}}
+\def\tnba at obscmd#1#2{\def#1{\tnba at error{%
+	O comando "\noexpand#1" é obsoleto, use "\unexpanded{#2}" ao invés%
+}}}
+
+\tnba at undefcmd \extlineshape
+\tnba at undefcmd \advcount
+\tnba at undefcmd \definefontsize
+\tnba at undefcmd \setfontsize
+\tnba at undefcmd \fontsizedef
+\tnba at undefcmd \paper
+\tnba at undefcmd \papersizedef
+\tnba at undefcmd \startseci
+\tnba at undefcmd \startsecii
+\tnba at undefcmd \startseciii
+\tnba at undefcmd \startseciv
+\tnba at undefcmd \startsecv
+\tnba at undefcmd \sectionuppercase
+\tnba at undefcmd \tociuppercase
+
+\tnba at obscmd \sectionspaces       {\def\abovesection{valor}\def\belowsection{valor}}
+\tnba at obscmd \subsectionspaces    {\def\abovesubsection{valor}\def\belowsubsection{valor}}
+\tnba at obscmd \subsubsectionspaces {\def\abovesubsubsection{valor}\def\belowsubsubsection{valor}}
+\tnba at obscmd \paragraphspaces     {\def\aboveparagraph{valor}\def\belowparagraph{valor}}
+\tnba at obscmd \subparagraphspaces  {\def\abovesubparagraph{valor}\def\belowsubparagraph{valor}}
+\tnba at obscmd \qt    \enquote
+\tnba at obscmd \quote \Enquote
+% \end{code}
+
+% \sec INICIALIZAÇÃO
+
+% Aqui o |abntexto| define as configurações padrões.
+
+% \begin{code}
+\sizedef\normalsize{12pt}{14.5pt}{%
+	\abovedisplayskip=12pt plus3pt minus7pt
+	\belowdisplayskip=\abovedisplayskip
+	\abovedisplayshortskip=0pt plus3pt
+	\belowdisplayshortskip=6.5pt plus3.5pt minus3pt
+}
+\sizedef\small{10pt}{12pt}{%
+	\abovedisplayskip=10pt plus2pt minus5pt
+	\belowdisplayskip=\abovedisplayskip
+	\abovedisplayshortskip=0pt plus3pt
+	\belowdisplayshortskip=6pt plus3pt minus3pt
+}
+
+\spacing{1.5}
+
+\geometry{a4paper}
+
+\frenchspacing
+\parindent=0pt
+\parskip=0pt
+
+\def\tocpartfont          {\bfseries\MakeUppercase}
+\def\tocchapterfont       {\bfseries\MakeUppercase}
+\def\tocsectionfont       {\bfseries\MakeUppercase}
+\def\tocsubsectionfont    {\itshape}
+\def\tocsubsubsectionfont {\scshape}
+\def\tocparagraphfont     {}
+\def\tocsubparagraphfont  {}
+
+\def\sectionfont       {\bfseries\MakeUppercase}
+\def\subsectionfont    {\itshape}
+\def\subsubsectionfont {\scshape}
+\def\paragraphfont     {}
+\def\subparagraphfont  {}
+
+\def\abovechapter       {50pt}
+\def\abovesection       {\baselineskip}
+\def\abovesubsection    {\baselineskip}
+\def\abovesubsubsection {\baselineskip}
+\def\aboveparagraph     {\baselineskip}
+\def\abovesubparagraph  {\baselineskip}
+
+\def\belowchapter       {40pt}
+\def\belowsection       {\baselineskip}
+\def\belowsubsection    {\baselineskip}
+\def\belowsubsubsection {\baselineskip}
+\def\belowparagraph     {\baselineskip}
+\def\belowsubparagraph  {\baselineskip}
+
+\definelegendplace{figure}{Figura}{fig.\,}{lof}
+\definelegendplace{table}{Tabela}{tab.\,}{lot}
+
+\def\legendlabel{\legendname\ \thelegend\ ---~}
+\def\sublegendlabel{(\@alph\@tempcnta)~}
+\def\srclabel{Fonte:~}
+\def\legendmaxwidth{.7\linewidth}
+
+\def\aboveplace{\baselineskip}
+\def\belowplace{\baselineskip}
+
+\def\toclabelwidth{2em}
+\def\lotlabelwidth{5.5em}
+\def\loflabelwidth{5.5em}
+\def\appendixlabelwidth{9.2em}
+\def\annexlabelwidth{7.3em}
+
+\def\topicslabelwidth{4ex}
+% \end{code}
+
+% Se o comando de estilo de página |\pretextual| fosse carregado diretamente, e o usuário quisesse redefiní-lo no preâmbulo, teria de chamar |\pretextual| novamente para que a redefinição tivesse efeito. Sendo assim, para evitar múltiplas chamadas de |\pretextual|, este foi inserido após |\begin{document}|.
+
+% \begin{code}
+\AddToHook{begindocument}{\pretextual}
+
+\endinput
+% \end{code}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/latex/abntexto/abntexto-3-2-1-beta.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/abntexto/abntexto.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/abntexto/abntexto.cls	2025-08-06 19:41:25 UTC (rev 75993)
+++ trunk/Master/texmf-dist/tex/latex/abntexto/abntexto.cls	2025-08-06 19:41:37 UTC (rev 75994)
@@ -1,6 +1,6 @@
 %! Public Domain Software 2022-2025
-%! 2025-07-21
-%! 4.0.1-beta
+%! 2025-08-05
+%! 4.0.2-beta
 %! Elayson Abreu
 %! abntexto.classe at gmail.com
 
@@ -43,7 +43,7 @@
 \NeedsTeXFormat{LaTeX2e}
 
 \ProvidesClass{abntexto}%
-    [2025-07-21 4.0.1-beta Preparation of works in ABNT standards]
+    [2025-08-05 4.0.2-beta Preparation of works in ABNT standards]
 %. \end{code}
 
 % Estas são as únicas dependências do `abntexto`. Os pacotes `enumitem` e
@@ -134,10 +134,9 @@
 % ou tamanho de fonte forem alterados, mais compilações seriam necessárias.
 
 % Diferente da versão em OpTeX, a `\eqbox` nesta classe foi modificada para ter
-% uma sintaxe LaTeX-amigável: `\eqbox[<alinhamento
-% horizontal>]{<rótulo>}{<texto>}`. Os valores para o parâmetro opcional são
-% `l`, `c` ou `r`. Se o parâmetro opcional não for chamado, `l` é usado como
-% padrão \cite{optex}.
+% uma sintaxe LaTeX-amigável: `\eqbox[<alinhamento horizontal>]{<rótulo>}{<texto>}`.
+% Os valores para o parâmetro opcional são `l`, `c` ou `r`. Se o parâmetro
+% opcional não for chamado, `l` é usado como padrão \cite{optex}.
 
 % Na primeira compilação, a instrução `\eqbox` anexa
 % `\Xeqbox{<rótulo>}{<largura>}` no arquivo auxilar `.aux` e as caixas são
@@ -251,11 +250,21 @@
 % significado de `\small` será igual ao de `\abntsmall` para compatibilidade com
 % documentos antigos.
 
+% O `\setamounts` configura `\<value>amount`s conforme o tamannho de fonte.
+
 % \begin{code}
+\def\hooknormalsize{\setamounts}
+\def\hookabntsmall{\setamounts}
+\def\setamounts{%
+    \dimen4=\f at size pt
+    \bigskipamount=\dimen4 plus.33333\dimen4 minus.33333\dimen4
+    \medskipamount=.5\dimen4 plus.16666\dimen4 minus.16666\dimen4
+    \smallskipamount=.25\dimen4 plus.08333\dimen4 minus.08333\dimen4
+}
 \input{size12.clo}
 \def\definesize#1#2#3#4{\DeclareRobustCommand#1{\@setfontsize{#1}{#2}{#3}#4\relax}}
-\definesize\normalsize{12bp}{13.8bp}{} % 13.8 = 12 * 1.15
-\definesize\abntsmall{10bp}{11.5bp}{} % 11.5 = 10 * 1.15
+\definesize\normalsize{12bp}{13.8bp}{\hooknormalsize} % 13.8 = 12 * 1.15
+\definesize\abntsmall{10bp}{11.5bp}{\hookabntsmall} % 11.5 = 10 * 1.15
 \def\small{\abntsmall} % Para compatibilidade com versões anteriores da classe.
 \normalsize
 %. \end{code}
@@ -514,9 +523,7 @@
 
 % \codesection{SUMÁRIO\label{codesec:sumario}}
 
-% O \`\tocsectionfont`, \`\tocsubsectionfont` e semelhantes foram definidos aqui.
-
-% Aqui, a macro `\extline` foi baseada em `\@dottedtocline`, definida no LaTeX
+% O \`\tocsectionfont`, \`\tocsubsectionfont` e semelhantes foram definidos aqui. A macro `\extline` foi baseada em `\@dottedtocline`, definida no LaTeX
 % \cite{source2e}. Uma âncora de abstração de nome `\hookextline` foi deixada em
 % `\extline` para permitir que o escritor insira parâmetros de ajuste de
 % parágrafo, do tipo:
@@ -809,11 +816,8 @@
 }
 %. \end{code}
 
-% Aqui estão \`\nonum` e \`\notoc`.
+% Aqui estão \`\nonum` e \`\notoc`. Os comandos secionais `\part`, `\chapter` e `\section` têm âncoras em suas definições que servem para instruções de quebra de página.
 
-% Os comandos secionais `\part`, `\chapter` e `\section` têm âncoras em suas
-% definições que servem para instruções de quebra de página.
-
 % \begin{code}
 \def\hookpart{\clearpage}
 \def\hookchapter{\clearpage}
@@ -937,7 +941,6 @@
 % usar `\lastskip` ou `\lastpenalty` para remoção de `\vskip`s duplicados\bgroup
 % \def\UrlBreaks{\do\-}\footnote{\url{https://tex.stackexchange.com/questions/709109/cross-referencing-label-affects-vertical-spacing},
 % \url{https://tex.stackexchange.com/questions/22068/biblatex-multicol-incorrect-vertical-space-after-bibliography-heading}.}\egroup.
-
 % Exemplos de tais comandos são `\toptitle` e `\bottitle`, implementados nesta
 % classe.
 
@@ -1717,7 +1720,7 @@
 
 % \begin{code}
 \newenvironment{subplace}[1][.4\linewidth]{%
-    \begingroup
+    \begingroup \def\aboveplace{0pt}\def\belowplace{0pt}%
     \hsize=#1\relax \linewidth=\hsize
     \let\savedlegend=\savedsublegend
     \let\savedsrc=\savedsubsrc
@@ -1731,7 +1734,7 @@
     \ignorespacesafterend
     \endgroup
 }
-\def\buildsubplace{\leavevmode\vbox{%
+\def\buildsubplace{\leavevmode\vbox{\processplacearg{here}%
     \initplace
     \ifx\savedplace\empty \else
         \printlegendbox



More information about the tex-live-commits mailing list.