texlive[76157] Master: abntexto-uece (27aug25)

commits+karl at tug.org commits+karl at tug.org
Wed Aug 27 22:11:10 CEST 2025


Revision: 76157
          https://tug.org/svn/texlive?view=revision&revision=76157
Author:   karl
Date:     2025-08-27 22:11:10 +0200 (Wed, 27 Aug 2025)
Log Message:
-----------
abntexto-uece (27aug25)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/CHANGELOG
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/README.md
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.pdf
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.tex
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.bib
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.pdf
    trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.tex
    trunk/Master/texmf-dist/tex/latex/abntexto-uece/
    trunk/Master/texmf-dist/tex/latex/abntexto-uece/abntexto-uece.cls
    trunk/Master/tlpkg/tlpsrc/abntexto-uece.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/abntexto-uece/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/CHANGELOG	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/CHANGELOG	2025-08-27 20:11:10 UTC (rev 76157)
@@ -0,0 +1,17 @@
+# `abntexto-uece`
+
+- Autor: Elayson Abreu
+- Versão: 2025-08-27 1.0
+- Contato: abntexto.classe at gmail.com
+- Licença: Public Domain Software 2025
+
+## Sobre
+
+Classe LaTeX não-oficial para preparação de TCCs, dissertações e teses
+de acordo com as normas da Universidade Estadual do Ceará (UECE).
+
+# Changelog
+
+## [1.0] - 2025-08-27
+
+- Início.
\ No newline at end of file

Added: trunk/Master/texmf-dist/doc/latex/abntexto-uece/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/README.md	2025-08-27 20:11:10 UTC (rev 76157)
@@ -0,0 +1,11 @@
+# `abntexto-uece`
+
+- Author: Elayson Abreu
+- Version: 1.0 2025-08-27
+- Contact: abntexto.classe at gmail.com
+- License: Public Domain Software 2025
+
+## About
+
+This is a unofficial LaTeX class created for Brazilian students to facilitate the use of standards from the Universidade Estadual do Ceará (UECE) in academic works like TCCs, dissertations, theses. Manual: `abntexto.uece.pdf`.
+


Property changes on: trunk/Master/texmf-dist/doc/latex/abntexto-uece/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.pdf	2025-08-27 20:10:26 UTC (rev 76156)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.pdf	2025-08-27 20:11:10 UTC (rev 76157)

Property changes on: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.tex	2025-08-27 20:11:10 UTC (rev 76157)
@@ -0,0 +1,96 @@
+%! abntexto-uece.cls
+%! Author: Elayson Abreu
+%! Version: 1.0 2025-08-27
+%! Contact: abntexto.classe at gmail.com
+%! License: Public Domain Software 2025
+
+% !TeX TS-program = lualatex
+\documentclass{abntexto-uece}
+
+\usepackage{lipsum}
+\usepackage[colorlinks,linktocpage]{hyperref}
+\usepackage[english,brazil]{babel}
+\usepackage{fontspec}
+\usepackage{unicode-math}
+
+\Autor{Fulano de Tal}
+\Universidade{Universidade Estadual do Ceará}
+\SiglaDaInstituicao{SIGLA}
+
+% Estes três são mutuamente exclusivos.
+%\Programa{Programa de Pós-Graduação em Saúde Coletiva}
+%\Faculdade{Faculdade de Filosofia Dom Aureliano Matos}
+\Centro{Centro de Ciências e Tecnologia}
+
+% Estes dois são mutuamente exclusivos.
+%\Especializacao{Especialização em Gestão Pedagógica da Escola Básica}
+%\Curso{Curso de Graduação em Informática Licenciatura a Distância}
+
+\Cidade{Cidade --- Ceará}
+\AnoDeEntrega{Ano de Entrega}
+\Titulo{Um título de exemplo}
+\Subtitulo{um subtítulo}
+\TipoDeTrabalho{Dissertação}
+\DescricaoDoTrabalho{\xTipoDeTrabalho\ apresentada a \xUniversidade\
+                     como cumprimento às exigências legais para obtenção do
+                     título de Mestre.}
+\AreaDeConcentracao{Matemática}
+\Orientador{Dr.\,Nome}
+\Coorientador{Dr.\,Nome}
+\AvaliadorA{
+    Dr.\,Nome \\
+    Faculdade \\
+    Universidade
+}
+\AvaliadorB{
+    Dr.\,Nome \\
+    Faculdade \\
+    Universidade
+}
+\AvaliadorC{
+    Dr.\,Nome \\
+    Faculdade \\
+    Universidade
+}
+\Dedicatoria{Dedico este trabalho a\dots}
+\Epigrafe{Linha de texto}
+\Resumo{brazil}{Parágrafo do Resumo.}
+\Resumo{english}{Paragraph.}
+\PalavrasChave{brazil}{
+    Palavra 1,
+    Palavra 2,
+    Palavra 3,
+    Palavra 4,
+}
+\PalavrasChave{english}{
+    Keyword 1,
+    Keyword 2,
+    Keyword 3,
+    Keyword 4,
+}
+\setmainfont{XITS}[
+    UprightFont    = *-Regular,
+    BoldFont       = *-Bold,
+    ItalicFont     = *-Italic,
+    BoldItalicFont = *-BoldItalic,
+    Extension      = .otf
+]
+\setmathfont{XITSMath-Regular.otf}
+
+\begin{document}
+\ImprimirPretextual
+\nonum\notoc\section{Lista de Figuras}
+\makelof
+\nonum\notoc\section{Sumário}
+\maketoc
+\section{Introdução}
+\lipsum[1]
+\legend{figure}{Um título}\src{Elaboração própria.}
+\begin{place}
+    \includegraphics[width=.3\linewidth]{example-image}
+\end{place}
+\subsection{Uma seção secundária}
+\subsubsection{Uma seção terciária}
+\section{Desenvolvimento}
+\section{Conclusão}
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece-exemplo.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.bib	2025-08-27 20:10:26 UTC (rev 76156)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.bib	2025-08-27 20:11:10 UTC (rev 76157)

Property changes on: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.bib
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.pdf	2025-08-27 20:10:26 UTC (rev 76156)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.pdf	2025-08-27 20:11:10 UTC (rev 76157)

Property changes on: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.tex	2025-08-27 20:11:10 UTC (rev 76157)
@@ -0,0 +1,430 @@
+%! abntexto-uece.cls
+%! Author: Elayson Abreu
+%! Version: 1.0 2025-08-27
+%! Contact: abntexto.classe at gmail.com
+%! License: Public Domain Software 2025
+
+% !TeX TS-program = lualatex
+\documentclass{abntexto-uece}
+
+\usepackage[brazil,shorthands=off]{babel}
+\usepackage[cmyk]{xcolor}
+\usepackage{lipsum}
+\usepackage[
+    style       = abnt,
+    maxbibnames = 100,
+    extrayear   = true,
+]{biblatex} \addbibresource{abntexto-uece.bib}
+\usepackage{unicode-math}
+\usepackage[colorlinks,linktoc=page]{hyperref}
+\usepackage{microtype}
+\usepackage{fontspec}
+\usepackage{listings}
+\usepackage{lua-widow-control} \clubpenalty=10000\widowpenalty=10000
+
+\makeatletter
+
+% VERBATIM
+% ================================================
+
+\def\adef#1{\catcode`#1=13 \begingroup \lccode`\~=`#1\lowercase{\endgroup\def~}}
+\def\setverb{\def\do##1{\catcode`##1=12}\dospecials\space}
+\def\verbchar#1{%
+    \ifx\savedttchar\undefined\else \catcode\savedttchar=\savedttcharc \fi
+    \chardef\savedttchar=`#1\relax
+    \chardef\savedttcharc=\catcode`#1\relax
+    \adef{#1}{\leavevmode\hbox\bgroup\setverbchar\readverb}%
+    \bgroup\lccode`\~=`#1\lowercase{\egroup\def\readverb ##1~}{##1\egroup}%
+    \catcode`#1=13
+}
+\def\setverbchar{\setverb
+    \adef{ }{\ }%
+    \adef{\{}{\bgroup\normalcolor\char`\{}%
+    \adef{\}}{\char`\}\egroup}%
+    \adef{[}{\bgroup\normalcolor\char`[}%
+    \adef{]}{\char`]\egroup}%
+    \ttfamily
+}
+
+\edef\bslash{\csstring\\}
+\def\mytarget#1{\vbox to0pt{\kern-12pt \hypertarget{#1}{}\vss}}
+\def\1{`}\def\2{``}
+{\catcode`\`=13 \AtBeginDocument{%
+    \verbchar{`}%
+    \def\^`{\bgroup \docpoint}%
+    \def\docpoint#1`{\egroup\leavevmode\edef\tmp{\csstring#1}%
+        \expandafter\parsecn \string#1\relax
+        \ifcsname \cn s/^\tmp\endcsname \else
+            \mytarget{\cn s/^\tmp}\csgdef{\cn s/^\tmp}{}%
+        \fi
+        \hyperlink{\cn s/\tmp}{\color{blue}\ttfamily\if\cn c\bslash\fi\tmp}%
+    }%
+    \def\parsecn #1#2\relax {\edef\cn{\if\bslash#1c\else n\fi}}%
+    \def\`{\bgroup \mainpoint}%
+    \def\mainpoint #1`{\egroup\leavevmode\edef\tmp{\csstring#1}%
+        \expandafter\parsecn \string#1\relax
+        \ifcsname \cn s/\tmp\endcsname \moremainpoints \else
+            \mytarget{\cn s/\tmp}\csgdef{\cn s/\tmp}{}%
+        \fi
+        \ifcsname \cn s/^\tmp\endcsname
+            \hyperlink{\cn s/^\tmp}{\ttfamily\if\cn c\bslash\fi\tmp}\else
+            {\color{red}\ttfamily\string#1}%
+        \fi
+    }%
+    \def\moremainpoints{\errmessage{Second main documentation point \if\cn c\bslash\fi\tmp}}
+}}
+
+\let\lchevron=<
+{\catcode`<=13 \AtBeginDocument{\catcode`<=13
+    \def<#1>{\ifhmode\else\expandafter\hbox\fi\bgroup\normalcolor\ttfamily
+             $\color{gray}\langle$\/{\rmfamily\itshape #1\/}$\color{gray}\rangle$\egroup}}%
+}
+
+\def\type#1{\NoCaseChange{\protect\typeA{#1}}}
+\def\typeA#1{\bgroup\normalshape\ttfamily{\escapechar=-1\relax\expandafter}\detokenize{#1}\egroup}
+% Precisamos de \m at ne aqui, \m at ne=-1.
+\pdfstringdefDisableCommands{%
+    \def\type#1{\bgroup\escapechar\m at ne\expandafter\egroup\detokenize{#1}}%
+    \let\escapechar=\relax
+    \let\m at ne=\relax
+}
+
+\definecolor{P}{RGB}{242, 121, 0}   % Primitivas.
+\definecolor{C}{RGB}{23, 230, 23}   % Comentários.
+\definecolor{B}{RGB}{245, 250, 247} % Fundo.
+
+\lstset{
+    language        = [latex]tex,
+    basicstyle      = \abntsmall\singlesp\ttfamily,
+    texcsstyle      = *\color{P}, % O listings não permite ":"
+    commentstyle    = \color{C},  % no nome dessas cores. Bug.
+    backgroundcolor = \color{B},
+    frame           = leftline,
+    rulecolor       = \color{lightgray},
+    columns         = fullflexible,
+    breaklines      = false,
+    keepspaces      = true,
+    aboveskip       = 0pt plus1.2ex minus.67ex,
+    belowskip       = 0pt plus1.2ex minus.67ex,
+    abovecaptionskip = 0pt,
+    belowcaptionskip = 0pt,
+%    tabsize         = 1, % Sem efeito, porque o documento usa Espaço na tabulação.
+}
+
+% #1 = linewidth
+% #2 = border
+% #3 = padding
+% #4 = padding-top
+% #5 = padding-right
+% #6 = padding-bottom
+% #7 = padding-left
+% #8 = margin-left
+% #9 = margin-right
+\def\mylstset#1#2#3#4#5#6#7#8#9{\lstset{
+    linewidth          = \dimexpr#1 -#2 -#3 -#5\relax,
+    framerule          = \dimexpr#2\relax,
+    framesep           = \dimexpr#3\relax,
+    xleftmargin        = \dimexpr#2 +#3 +#7 +#8\relax,
+    xrightmargin       = \dimexpr#9\relax,
+    framextopmargin    = \dimexpr#4\relax,
+    framexrightmargin  = \dimexpr#5\relax,
+    framexbottommargin = \dimexpr#6\relax,
+    framexleftmargin   = \dimexpr#7\relax,
+}}
+\mylstset{\linewidth}{1pt}{0pt}{0pt}{0pt}{0pt}{0pt}{0pt}{0pt}
+
+\lstnewenvironment{lst}[1][\placepos]{%
+    \let\medskipamount=\smallskipamount
+    \place[#1]\vbox\bgroup
+}{%
+    \egroup\endplace
+}
+\lstnewenvironment{longlst}[1][\placepos]{%
+    \begingroup
+    \processplacearg{#1}%
+    \parskip=0pt \parindent=0pt
+    \initplace
+    \printlegendbox
+    \resetORIlabel \ignorespaces
+}{%
+    \unskip
+    \savedplacewidth=\hsize
+    \printsrcbox
+    \finishplace
+    \resetplace \gresetORIlabel
+    \endgroup
+}
+
+\def\hookXP{}
+\lstnewenvironment{xp}[1][]{%
+    \lstset{
+        frame           = leftline,
+        basicstyle      = \normalsize\ttfamily\singlesp\vskip-\baselineskip,
+        texcsstyle      = \normalcolor,
+        commentstyle    = \normalcolor,
+        backgroundcolor = \color{white},
+        gobble          = 4,
+    }%
+    \mylstset{\linewidth}{0pt}{0pt}{0pt}{0pt}{0pt}{\parindent}{0pt}{0pt}%
+    \expandafter\lstset \expandafter{\hookXP,#1}%
+    \endgraf\null
+}{}
+
+% ETC.
+% ================================================
+
+\setmainfont{XITS}[
+    UprightFont    = *-Regular,
+    BoldFont       = *-Bold,
+    ItalicFont     = *-Italic,
+    BoldItalicFont = *-BoldItalic,
+    Extension      = .otf
+]
+\setmathfont{XITSMath-Regular.otf}
+\setmonofont{InconsolataN}[
+    UprightFont = *-Regular,
+    BoldFont    = *-Bold,
+    Extension   = .otf
+]
+
+\definelegendplace{code}{Código}{loc}
+%\definelegendplace{output}{Saída}{loo}
+%\definelegendplace{scr}{\emph{Screenshot}}{loscr}
+
+\let\over=\@@over
+\AtBeginDocument{\def\refname{Referências}} % Removido \^ da definição.
+\def\hooksection{}
+\AtBeginDocument{\pretocmd\appendix{\clearpage}{}{}}
+\pretocmd\annex{\clearpage}{}{}
+\def\etex{\leavevmode\hbox{$\varepsilon$-\TeX}}
+\def\pdflatex{\leavevmode\hbox{PDF\LaTeX}}
+\def\xelatex{\leavevmode\hbox{Xe\LaTeX}}
+\def\lualatex{\leavevmode\hbox{Lua\LaTeX}}
+\def\me{Elaboração própria.}
+\def\bibfont{\raggedright\interlinepenalty=10000\singlesp\bibitemsep=\baselineskip}
+%\appto\textual{
+%    \def\@evenhead{\abntsmall \firstmarks0\hfil\thepage}
+%    \def\@oddhead {\abntsmall \botmarks1\hfil\thepage}
+%    \def\sectionmark   #1{\marks0{Seção \thesection: \unexpanded{#1}}}
+%    \def\subsectionmark#1{\marks1{Subseção \thesubsection: \unexpanded{#1}}}
+%    \preto\@oddhead {\lower4pt\rlap{\vrule width\hsize height.4pt}}
+%    \preto\@evenhead{\lower4pt\rlap{\vrule width\hsize height.4pt}}
+%}
+%\patchcmd{\eletroniclayout}{false}{true}{}{}
+\let\onesidelayout=\eletroniclayout
+\let\twosidelayout=\eletroniclayout
+\let\Metadados=\relax
+\hypersetup{
+    pdfauthor   = Elayson Abreu,
+    pdftitle    = Classe ABNTexto-UECE: trabalhos
+                  conforme as normas da UECE,
+    pdfsubject  = Manual da classe ABNTexto-UECE,
+    pdfcreator  = LaTeX with abntexto-uece,
+    pdfkeywords = ABNTexto-UECE; LaTeX; Classe; ABNT.
+}
+\makeatother
+
+\begin{document}
+
+\leavevmode\vskip1.9in
+\begingroup \centering \LARGE\sffamily\bfseries
+    Classe ABNTexto-UECE\vskip2em \normalfont\large
+    Elayson Abreu\vskip-3pt
+    \href{mailto:abntexto.classe at gmail.com}%
+                {abntexto.classe at gmail.com}\vskip2ex
+    \today
+\vskip2in\endgroup
+
+\noindent\hfil {\Large\ttfamily 1.0}
+\newpage
+
+\nonum\notoc\section{Sumário}
+\maketoc
+\newpage
+
+\section{Introdução}
+
+Esta classe é destinada aos estudantes da UECE como auxílio na criação de trabalhos acadêmicos: TCCs, dissertações e teses. Ela foi baseada na classe `abntexto.cls` disponível no CTAN: \url{https://ctan.org/pkg/abntexto} e no Guia de Normalização de Trabalhos Acadêmicos da UECE: \url{https://www.uece.br/biblioteca/wp-content/uploads/sites/27/2024/09/GUIA-UECE-2024-Atualizado-1.pdf}, 5ª edição, V1, 2024.
+
+Exemplo de uso desta classe disponível no arquivo `abntexto-uece-exemplo.tex` (Código~\ref{cd:ex}):
+
+\legend{code}{Exemplo de uso} \label{cd:ex}
+\src\me
+\begin{longlst}
+    % !TeX TS-program = lualatex
+    \documentclass{abntexto-uece}
+
+    \usepackage{hyperref}
+    \usepackage[english,brazil]{babel}
+    \usepackage{fontspec}
+    \usepackage{unicode-math}
+
+    \Autor{Fulano de Tal}
+    \Universidade{Universidade Estadual do Ceará}
+    \SiglaDaInstituicao{SIGLA}
+
+    % Estes três são mutuamente exclusivos.
+    %\Programa{Programa de Pós-Graduação em Saúde Coletiva}
+    %\Faculdade{Faculdade de Filosofia Dom Aureliano Matos}
+    \Centro{Centro de Ciências e Tecnologia}
+
+    % Estes dois são mutuamente exclusivos.
+    %\Especializacao{Especialização em Gestão Pedagógica da Escola Básica}
+    \Curso{Curso de Graduação em Informática Licenciatura a Distância}
+
+    \Cidade{Cidade --- Ceará}
+    \AnoDeEntrega{Ano de Entrega}
+    \Titulo{Um título de exemplo}
+    \Subtitulo{um subtítulo}
+    \TipoDeTrabalho{Dissertação}
+    \DescricaoDoTrabalho{\xTipoDeTrabalho\ apresentada a \xUniversidade\
+                         como cumprimento às exigências legais para obtenção do
+                         título de Mestre.}
+    \AreaDeConcentracao{Matemática}
+    \Orientador{Dr.\,Nome}
+    \Coorientador{Dr.\,Nome}
+    \AvaliadorA{
+        Dr.\,Nome \\
+        Faculdade \\
+        Universidade
+    }
+    \AvaliadorB{
+        Dr.\,Nome \\
+        Faculdade \\
+        Universidade
+    }
+    \AvaliadorC{
+        Dr.\,Nome \\
+        Faculdade \\
+        Universidade
+    }
+    \Dedicatoria{Dedico este trabalho a\dots}
+    \Epigrafe{Linha de texto}
+    \Resumo{brazil}{Parágrafo do Resumo.}
+    \Resumo{english}{Paragraph.}
+    \PalavrasChave{brazil}{
+        Palavra 1,
+        Palavra 2,
+        Palavra 3,
+        Palavra 4,
+    }
+    \PalavrasChave{english}{
+        Keyword 1,
+        Keyword 2,
+        Keyword 3,
+        Keyword 4,
+    }
+
+    \setmainfont{XITS}[
+        UprightFont    = *-Regular,
+        BoldFont       = *-Bold,
+        ItalicFont     = *-Italic,
+        BoldItalicFont = *-BoldItalic,
+        Extension      = .otf
+    ]
+    \setmathfont{XITSMath-Regular.otf}
+
+    \begin{document}
+        \ImprimirPretextual
+        \nonum\notoc\section{Lista de Figuras}
+        \makelof
+        \nonum\notoc\section{Sumário}
+        \maketoc
+        \section{Introdução}
+        \lipsum[1]
+        \legend{figure}{Um título}\src{Elaboração própria.}
+        \begin{place}
+            \includegraphics[width=.3\linewidth]{example-image}
+        \end{place}
+        \subsection{Uma seção secundária}
+        \subsubsection{Uma seção terciária}
+        \section{Desenvolvimento}
+        \section{Conclusão}
+    \end{document}
+\end{longlst}
+
+% MACROS PARA O CÓDIGO-FONTE
+% ================================================
+
+\pdfstringdefDisableCommands{\def\marks#1#2{}}
+\appendix{\marks0{}\marks1{}Código-fonte\label{ap:codigo-fonte}}
+
+\makeatletter
+\newcounter{codesection}
+\newcounter{codesubsection}[codesection]
+\let\c at section=\c at codesection
+\let\c at subsection=\c at codesubsection
+\def\thecodesection{\arabic{codesection}}
+\def\thecodesubsection{\thecodesection.\arabic{codesubsection}}
+\edef\toclevel at codesection{\mainseclevel}
+\edef\toclevel at codesubsection{\the\numexpr\mainseclevel-1\relax}
+
+\appto\hooktocsection{\def\extleaders{}%
+    \edef\savedskips{\rightskip=\the\rightskip \parfillskip=\the\parfillskip\relax}}
+\appto\hooktocsubsection{\def\extleaders{}%
+    \edef\savedskips{\rightskip=\the\rightskip \parfillskip=\the\parfillskip\relax}}
+\appto\hookextline{\savedskips}
+
+\def\toclabelbox{\lowercase{\eqbox{codetoc}}}
+\def\tocsectionfont{\itshape\MakeUppercase}
+\def\tocsubsectionfont{}
+\def\sectionfont{\tocsectionfont}
+\def\subsectionfont{\itshape}
+
+% O \addcontentsline{#1}{#2}{#3} está programado para
+% enviar marcadores apenas se #1 = toc. Podemos
+% mudar isso com \hypersetup{bookmarkstype=<outro>}.
+\hypersetup{bookmarkstype=codetoc}
+\patchcmd{\targetsection}{\refstepcounter{section}}{\refstepcounter{codesection}}{}{}
+\patchcmd{\targetsection}{\addcontentsline{toc}}{\addcontentsline{codetoc}}{}{}
+\patchcmd{\targetsubsection}{\refstepcounter{subsection}}{\refstepcounter{codesubsection}}{}{}
+\patchcmd{\targetsubsection}{\addcontentsline{toc}}{\addcontentsline{codetoc}}{}{}
+
+\def\hooksection{}
+\def\codesection{\section}
+\def\codesubsection{\subsection}
+
+\colorlet{C}{.}
+\definecolor{tmp}{RGB}{128, 0, 32}    \colorlet{P}{tmp}
+\definecolor{tmp}{RGB}{255, 228, 236} \colorlet{B}{tmp}
+
+\expanded{\noexpand\lstdefinelanguage{mylang}{
+    language    = [latex]tex,
+    texcs       = {\directlua{for k,v in pairs(tex.primitives())
+                   do tex.print(k, v.. ',')end}},
+    deletetexcs = {end}
+}}
+
+\lstset{
+    language    = mylang,
+    frame       = single,
+    numbers     = left,
+    numbersep   = \dimexpr-5pt+\addnumbersep\relax,
+    numberstyle = \fontsize{8bp}{9bp}\selectfont,
+    literate    = {\^^M\%.}{}1,
+}
+\def\addnumbersep{9pt}
+\mylstset{\linewidth}{0pt}{0pt}{3pt}{0pt}{3pt}{13pt+\addnumbersep}{0pt}{0pt}
+
+\newcount\codecount \codecount=1
+\newbox\mybox
+\setbox\mybox=\hbox to\hsize{\hfil\abntsmall\ttfamily\bfseries\color{gray}abntexto-uece.cls}
+\lstnewenvironment{code}[1][]{%
+    \lstset{
+        title       = \copy\mybox\nobreak,
+        firstnumber = \codecount,
+        #1
+    }%
+}{%
+    \global\codecount=\value{lstnumber}\relax
+}
+\appto\hookXP{
+    frame     = none,
+    numbers   = none,
+    numbersep = 0pt,
+    gobble    = 4,
+}
+\parskip=0pt plus.2ex minus.1ex
+\@starttoc{codetoc}
+{\def\excl{!}\catcode\1\!=14 \catcode\1\%=9 \input{abntexto-uece.cls}}
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/abntexto-uece/abntexto-uece.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/abntexto-uece/abntexto-uece.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/abntexto-uece/abntexto-uece.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/abntexto-uece/abntexto-uece.cls	2025-08-27 20:11:10 UTC (rev 76157)
@@ -0,0 +1,380 @@
+%! abntexto-uece.cls
+%! Author: Elayson Abreu
+%! Version: 1.0 2025-08-27
+%! Contact: abntexto.classe at gmail.com
+%! License: Public Domain Software 2025
+
+% \codesection{Identificação da classe}
+
+% \begin{code}
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass{abntexto-uece}%
+    [2025-08-27 1.0 Preparation of works in UECE standards]
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{abntexto}}
+
+\ProcessOptions
+
+\LoadClass{abntexto}
+%. \end{code}
+
+% \codesection{Macros auxiliares}
+
+% O comando `\RecortarEsquerda` remove espaço à esquerda a nível de processador de expansão, significando dizer que podemos fazer algo do tipo:
+%\begin{xp}
+%   \edef\y{ 123}
+%   \edef\x{\RecortarEsquerda \y}
+%   \show\x % >123.
+%\end{xp}
+% `\RecortarDireita` é análogo ao comando anterior e permite remover espaços à direita:
+%\begin{xp}
+%   \edef\y{123 }
+%   \edef\x{\expandafter\RecortarDireita\expandafter{\y}}
+%   \show\x % >123.
+%\end{xp}
+% `\RecortarAmbos` remove espaços à esquerda e direita.
+
+% \begin{code}
+\def\RecortarEsquerda{\romannumeral-`\.}
+
+\count2=\catcode`?
+\catcode`?=3
+\def\RecortarDireita#1{\RecortarDireitaA#1? ?}
+\def\RecortarDireitaA#1 ?{\RecortarDireitaB#1?}
+\def\RecortarDireitaB#1?#2{#1}
+\catcode`?=\count2
+
+\def\RecortarAmbos#1{\expandafter\RecortarDireita\expandafter{\romannumeral-`\.#1}}
+%. \end{code}
+
+% \codesection{Macros de identificação do documento}
+
+% Definindo macros de identificação do documento.
+
+% \begin{code}
+\def\Autor{\def\xAutor}
+\def\Universidade{\def\xUniversidade}
+\def\Centro{\def\xFaculdade{}\def\xPrograma{}\def\xCentro}
+\def\Faculdade{\def\xCentro{}\def\xPrograma{}\def\xFaculdade}
+\def\Programa{\def\xCentro{}\def\xFaculdade{}\def\xPrograma}
+\def\Curso{\def\xEspecializacao{}\def\xCurso}
+\def\Especializacao{\def\xCurso{}\def\xEspecializacao}
+\def\SiglaDaInstituicao{\def\xSiglaDaInstituicao}
+\def\Titulo{\def\xTitulo}
+\def\Subtitulo{\def\xSubtitulo}
+\def\Cidade{\def\xCidade}
+\def\AnoDeEntrega{\def\xAnoDeEntrega}
+\def\TipoDeTrabalho{\def\xTipoDeTrabalho}
+\def\DescricaoDoTrabalho{\def\xDescricaoDoTrabalho}
+\def\AreaDeConcentracao{\def\xAreaDeConcentracao}
+\def\Orientador{\def\xOrientador}
+\def\Coorientador{\def\xCoorientador}
+\def\AvaliadorA{\def\xAvaliadorA}
+\def\AvaliadorB{\def\xAvaliadorB}
+\def\AvaliadorC{\def\xAvaliadorC}
+\def\AvaliadorD{\def\xAvaliadorD}
+\def\Agradecimentos{\def\xAgradecimentos}
+\def\Dedicatoria{\def\xDedicatoria}
+\def\Epigrafe{\def\xEpigrafe}
+%. \end{code}
+
+% `\xResumo` e `\xPalavrasChave` são definidos apenas como indicativo de que `\Resumo` e `\PalavrasChave` foram chamados pelo estudante e, adicionalmente, aqueles serão usados em `\CamposMandatorios`.
+
+% `\Mandatorio\<atributo>` verifica se `\x<atributo>` está vazio ou indefinido. Se sim, uma mensagem de alerta é emitida pedindo que `\<atributo>{<valor>}` seja chamado no preâmbulo. `\CamposMandatorios` será chamado em `\begin{document}`.
+
+% `\Centralizar` e `\Direita` serão úteis para alinhamento de caixas ou parágrafos de linhas únicas, por exemplo, `\Centralizar\begin{minipage}{<largura>}\end{minipage}`.
+
+% \begin{code}
+\def\Resumo#1#2{\def\xResumo{#2}\csdef{resumo/#1}{#2}}
+\def\PalavrasChave#1#2{\def\xPalavrasChave{#2}\csdef{pchave/#1}{#2}%
+    \def\tmp{#1}\@tempcnta=1 \doPalavrasChave#2,\relax,%
+}
+\def\doPalavrasChave#1,{\if&\RecortarEsquerda#1&\expandafter\doPalavrasChave \else
+    \ifx\relax#1\else
+        \csedef{xPalavraChave\@Alph\@tempcnta/\tmp}{\RecortarAmbos{#1}}%
+        \advance\@tempcnta by1
+        \expandafter\expandafter\expandafter \doPalavrasChave
+    \fi\fi
+}
+
+\def\Mandatorio#1{\ifcsname x\expandafter\@gobble\string#1\endcsname
+        \expandafter\ifx\csname x\expandafter\@gobble\string#1\endcsname\empty
+        \ClassWarning{abntexto-uece}{Campo obrigatório vazio! "\string#1"}
+        \csdef{x\expandafter\@gobble\string#1}{??}\fi
+    \else
+        \ClassWarning{abntexto-uece}{Campo obrigatório vazio! "\string#1"}
+        \csdef{x\expandafter\@gobble\string#1}{??}
+    \fi
+}
+\def\CamposMandatorios{
+    \Mandatorio\Autor
+    \Mandatorio\Universidade
+    \Mandatorio\SiglaDaInstituicao
+    \ifdefined\xCentro    \else
+    \ifdefined\xFaculdade \else
+    \ifdefined\xPrograma  \else
+        \ClassWarning{abntexto-uece}{^^JUm dos três campos precisa ser chamado:
+            \noexpand\Centro ou \noexpand\Faculdade ou \string\Programa!}
+        \Centro{}\Faculdade{}\Programa{}%
+    \fi\fi\fi
+        \ifdefined\xCurso          \else
+        \ifdefined\xEspecializacao \else
+            \ClassWarning{abntexto-uece}{^^JUm dos dois campos precisa ser chamado:
+                \noexpand\Curso ou \string\Especializacao!}
+            \Curso{}\Especializacao{}
+        \fi\fi
+    \Mandatorio\SiglaDaInstituicao
+    \Mandatorio\Titulo
+    \Mandatorio\Subtitulo
+    \Mandatorio\Cidade
+    \Mandatorio\AnoDeEntrega
+    \Mandatorio\TipoDeTrabalho
+    \Mandatorio\DescricaoDoTrabalho
+    \Mandatorio\AreaDeConcentracao
+    \Mandatorio\Orientador
+    \Mandatorio\Coorientador
+    \Mandatorio\AvaliadorA
+    \Mandatorio\Resumo
+    \Mandatorio\PalavrasChave
+}
+
+\AtBeginDocument{\CamposMandatorios}
+
+\def\Centralizar{\noindent\hfil}
+\def\Direita{\noindent\hfill}
+%. \end{code}
+
+% \codesection{Impressão dos elementos pré-textuais}
+
+% Definições de `\ImprimirCapa`, `\ImprimirFolhaDeRosto`, `\ImprimirFichaCatalografica`, `\ImprimirErrata`, `\ImprimirFolhaDeAprovacao`, `\ImprimirAvaliadores`, `\ImprimirDedicatoria`, `\ImprimirAgradecimentos`, `\ImprimirResumo`, `\ImprimirPalavrasChave`, `\ImprimirPretextual`, `\Metadados`. Todas essas intruções podem ser redefinidas pelo usuário.
+
+% \begin{code}
+\def\ImprimirCapa{
+    \Centralizar
+    \begin{minipage}{.7\linewidth}
+        \centering
+        \includegraphics[height=4\baselineskip]{example-image}\\
+        \MakeUppercase{\xUniversidade}\\
+        \MakeUppercase{\xCentro\xFaculdade\xPrograma}\\
+        \MakeUppercase{\xCurso\xEspecializacao}\\
+    \end{minipage}
+    \Enter[3]
+    \Centralizar\MakeUppercase{\xAutor}
+    \Enter[5]
+    \Centralizar
+    \begin{minipage}{.7\linewidth}
+        \centering\MakeUppercase{\xTitulo}
+    \end{minipage}
+    \vfill
+    \Centralizar\MakeUppercase{\xCidade} % A próxima linha em branco é necessária.
+
+    \Centralizar\MakeUppercase{\xAnoDeEntrega}
+}
+\def\ImprimirFolhaDeRosto{
+    \Centralizar\MakeUppercase{\xAutor}
+    \Enter[9]
+    \Centralizar
+    \begin{minipage}{.7\linewidth}
+        \centering\MakeUppercase{\xTitulo}
+    \end{minipage}
+    \Enter[2]
+    \Direita
+    \begin{minipage}{.5\linewidth}
+        \singlesp\nohyph
+        \xDescricaoDoTrabalho
+        \Enter
+        Área de concentração: \xAreaDeConcentracao.\\
+        Orientador(a): \xOrientador.\\
+        Coorientador(a): \xCoorientador.
+    \end{minipage}
+    \vfill
+    \Centralizar\MakeUppercase{\xCidade} % A próxima linha em branco é necessária.
+
+    \Centralizar\MakeUppercase{\xAnoDeEntrega}
+}
+%. \end{code}
+
+% É provável que a biblioteca de sua instituição forneça a ficha catalográfica em formato |.pdf|. Nesse caso, `\ImprimirFichaCatalografica` servirá apenas de preenchimento.
+
+% \begin{code}
+\def\CDU{000}
+\def\CDD{A000}
+\def\NumeroDeFolhas{100}
+\edef\icardHeight{\the\dimexpr\icardHeight+4\baselineskip}
+
+\def\ImprimirFichaCatalografica{
+    \leavevmode\vfill
+    \Centralizar Dados Internacionais de Catalogação na Publicação (CIP)
+    \Enter[.5]
+    \Centralizar
+    \begin{indexcard}
+        \noindent \CDD\hskip\parindent \qquad \xAutor
+
+        \setbox0=\hbox{\CDD\qquad}\leftskip=\wd0 % A linha em branco antes
+                                                 % dessa instrução é necessária.
+        \xTitulo: \xSubtitulo\ / \xAutor\ --- \xCidade: \xUniversidade,
+        \xSiglaDaInstituicao, \xAnoDeEntrega.
+
+        \NumeroDeFolhas\,f.
+
+        \xTipoDeTrabalho\ (\MakeUppercase{\xAreaDeConcentracao}) --- \xUniversidade,
+        \xSiglaDaInstituicao: \xCidade, \xAnoDeEntrega.
+
+        Orientador(a): \xOrientador.
+
+        Coorientador(a): \xCoorientador.
+
+        \ImprimirPalavrasChaveFicha{brazil}
+        I. \xTitulo: \xSubtitulo.
+
+        \Direita CDU \CDU
+    \end{indexcard}
+}
+\def\ImprimirPalavrasChaveFicha#1{\def\tmp{#1}\@tempcnta=1 \doImprimirPalavrasChaveFicha}
+\def\doImprimirPalavrasChaveFicha{%
+    \ifcsname xPalavraChave\@Alph\@tempcnta/\tmp\endcsname
+        \the\@tempcnta.~\csname xPalavraChave\@Alph\@tempcnta/\tmp\endcsname .\space
+        \advance\@tempcnta by1
+        \expandafter\doImprimirPalavrasChaveFicha
+    \else
+        \ignorespaces
+    \fi
+}
+\def\ImprimirErrata{
+    \nonum\notoc\section{Errata}
+    \begingroup
+        \ifdefined\fullcite \bibfont\fullcite{ferrigno2011}.\else
+            \ClassWarning{abntexto-uece}{"biblatex.sty" ausente.}
+        \fi
+    \par\endgroup % Esse \par é necessário.
+    \Enter
+    \Centralizar
+    \begin{tabular}{cccc}
+        \hline
+        \bfseries Folha & \bfseries Linha & \bfseries Onde se lê & \bfseries Leia-se \\ \hline
+        16 & 10 & auto-clavado & autoclavado \\ \hline
+    \end{tabular}
+}
+\def\ImprimirFolhaDeAprovacao{
+    \Centralizar\xAutor
+    \Enter[2]
+    \Centralizar
+    \begin{minipage}{.7\linewidth}
+        \centering\xTitulo
+    \end{minipage}
+    \Enter[2]
+    \Direita
+    \begin{minipage}{.5\linewidth}
+        \singlesp
+        \xDescricaoDoTrabalho
+        \Enter
+        Área de concentração: \xAreaDeConcentracao.
+    \end{minipage}
+    \Enter
+    {\parindent=1.5cm Aprovado em 00/00/0000.\par}
+    \Enter
+    \Centralizar BANCA EXAMINADORA
+    \Enter
+    \ImprimirAvaliadores
+}
+\def\ImprimirAvaliadores{\@tempcnta=1 \doImprimirAvaliadores}
+\def\doImprimirAvaliadores{%
+    \ifcsname xAvaliador\@Alph\@tempcnta\endcsname
+        \judgeline{\csuse{xAvaliador\@Alph\@tempcnta}}%
+        \Enter
+        \advance\@tempcnta by1
+        \expandafter\doImprimirAvaliadores
+    \fi
+}
+\def\ImprimirDedicatoria{
+    \leavevmode\vfill
+    \Direita
+    \begin{minipage}{\dimexpr\linewidth-8cm}
+        \xDedicatoria
+    \end{minipage}
+}
+\def\ImprimirAgradecimentos{
+    \nonum\notoc\section{\bfseries Agradecimentos}
+    {\parindent=1.5cm\xAgradecimentos\par}
+}
+\def\ImprimirEpigrafe{
+    \leavevmode\vfil
+    \Direita
+    \begin{minipage}{5cm}
+        \noindent \enquote{\xEpigrafe}\\ (autor,~ano)
+    \end{minipage}
+}
+\def\ImprimirResumo#1#2{
+    \nonum\notoc {\selectlanguage{#1}\section{\abstractname}}
+    \noindent {\selectlanguage{#1}\csname resumo/#1\endcsname\par}
+    \Enter
+    \noindent \textbf{#2:}~%
+    \begingroup \selectlanguage{#1}\nohyph
+        \ImprimirPalavrasChave{#1}%
+    \par\endgroup
+}
+
+\def\ImprimirPalavrasChave#1{%
+    \expandafter\expandafter\expandafter \RecortarEsquerda
+    \expandafter\@gobble
+    \expanded{%
+        \expandafter\expandafter\expandafter \ImprimirPalavrasChaveA
+        \csname pchave/#1\endcsname ,\relax,%
+    }%
+}
+\def\ImprimirPalavrasChaveA#1,{\if&\RecortarEsquerda#1&\expandafter\ImprimirPalavrasChaveA\else
+    \ifx\relax#1.\else
+        ;\space \RecortarAmbos{#1}%
+        \expandafter\expandafter\expandafter \ImprimirPalavrasChaveA
+    \fi\fi
+}
+
+\AtBeginDocument{\@ifpackageloaded{babel}{\relax}{\def\selectlanguage#1{}}}
+
+\def\ImprimirPretextual{
+    \ImprimirCapa               \newpage
+    \ImprimirFolhaDeRosto       \newpage
+    \ImprimirFichaCatalografica \newpage
+    \ImprimirErrata             \newpage
+    \ImprimirFolhaDeAprovacao   \newpage
+    \ifdefined\xAgradecimentos \ImprimirAgradecimentos \fi \newpage
+    \ifdefined\xDedicatoria    \ImprimirDedicatoria    \fi \newpage
+    \ifdefined\xEpigrafe       \ImprimirEpigrafe       \fi \newpage
+    \ImprimirResumo{brazil}{Palavras-chave} \newpage
+    \ImprimirResumo{english}{Keywords}      \newpage
+}
+%. \end{code}
+
+% \codesection{Metadados}
+
+% \begin{code}
+\def\Metadados{%
+    \ifdefined\hypersetup \expandafter\hypersetup \else \expandafter\@gobble \fi
+    {
+        pdftitle    = \xTitulo,
+        pdfauthor   = \xAutor,
+        pdfcreator  = LaTeX with abntexto-uece,
+        pdfkeywords = \ImprimirPalavrasChave{brazil},
+    }%
+}
+\AtBeginDocument{\Metadados}
+%. \end{code}
+
+% \codesection{Ajustes finais}
+
+% Trocando a palavra \enquote{Ilustração} por \enquote{Figura}. Essa redefinição não é necessária se você estiver usando o `abntexto` numa versão igual ou superior a 4.0.4-beta.
+
+% \begin{code}
+\definelegendplace{figure}{Figura}{lof}
+%. \end{code}
+
+% Indentação deixou de ser 1,5~cm e passou a ser 2~cm. O título das figuras/tabelas deve ser em negrito. \LaTeX\ emite um erro quando `\\` é chamado no modo vertical: o removeremos para que os alertas de `\Mandatorio` sejam destacados no terminal.
+
+% \begin{code}
+\parindent=2cm
+\appto\targetlegend{\bfseries}
+\let\@nolnerr=\relax
+
+\endinput
+%. \end{code}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/latex/abntexto-uece/abntexto-uece.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-08-27 20:10:26 UTC (rev 76156)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2025-08-27 20:11:10 UTC (rev 76157)
@@ -21,7 +21,7 @@
 my @TLP_working = qw(
   12many 2up
   a0poster a2ping a4wide a5comb
-    aaai-named aalok aastex abbr abc abnt abntex2 abntexto
+    aaai-named aalok aastex abbr abc abnt abntex2 abntexto abntexto-uece
     aboensis abraces abspos abstract abstyles
     academicons accanthis accents accessibility accfonts accsupp achemso
     acmart acmconf acro acronym acroterm

Added: trunk/Master/tlpkg/tlpsrc/abntexto-uece.tlpsrc
===================================================================
Modified: trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc	2025-08-27 20:10:26 UTC (rev 76156)
+++ trunk/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc	2025-08-27 20:11:10 UTC (rev 76157)
@@ -7,6 +7,7 @@
 depend abnt
 depend abntex2
 depend abntexto
+depend abntexto-uece
 depend acmart
 depend acmconf
 depend active-conf



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