texlive[70047] Master/texmf-dist: ufrgscca (21feb24)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 21 22:10:21 CET 2024


Revision: 70047
          https://tug.org/svn/texlive?view=revision&revision=70047
Author:   karl
Date:     2024-02-21 22:10:20 +0100 (Wed, 21 Feb 2024)
Log Message:
-----------
ufrgscca (21feb24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/ufrgscca/README.md
    trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex
    trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex
    trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex
    trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex
    trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf
    trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty
    trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls

Modified: trunk/Master/texmf-dist/doc/latex/ufrgscca/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ufrgscca/README.md	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/doc/latex/ufrgscca/README.md	2024-02-21 21:10:20 UTC (rev 70047)
@@ -107,7 +107,13 @@
 
 
 ## Changelog
-* Version 2.3 (this)
+* Version 2.4/2.4a (this)
+    - a few typos (including [l3kernel prop check](https://github.com/latex3/latex3/issues/1460))
+    - extended \studentfate possible values (see documentation).
+    - \makeforms code cleanup. switching to \prop_get:NnNTF instead of \prop_item:Nn
+    - reports: some info adjustment
+
+* Version 2.3
     - adjustments to report's cover
     - added two student's list related commands \studentaddtolist and \sortstudentlist (-coord)
     - some code clean up

Modified: trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -438,18 +438,21 @@
      \item \emptybox\ \textbf{Abordagem/Plano de Trabalho Proposto}. {\footnotesize(peso:2)}\\ {\footnotesize Considerar se a abordagem, plano de trabalho proposto, é adequada e factivel.}
      \item \emptybox\ \textbf{Redação}. {\footnotesize(peso:1)}\\ {\footnotesize     Considerar a qualidade do trabalho escrito apresentado.}
      \item { O Trabalho Submetido}
-     \begin{itemize}[tcc,nosep]
-       \item[$\Box$] Está adequado, dispensando correções do texto.
-       \item[$\Box$] Está adequado, sendo necessário correções, conforme anotações anexas.
-       \item[$\Box$] Necessita ser revisto/re-escrito,\footnotemark[3] e: 
-       \begin{itemize}
-         \item[$\Box$] basta a revisão final do texto pelo orientador,
-         \item[$\Box$] revisarei o trabalho depois de corrigido.
-       \end{itemize}
-     \end{itemize} 
+     \begin{enumerate}[tcc,nosep]
+       \item[$\Box$ a)] Está adequado, 
+       \begin{enumerate}
+         \item[$\Box$ a.1)]  dispensando correções do texto.
+         \item[$\Box$ a.2)]  sendo necessário correções, conforme anotações anexas.
+       \end{enumerate}
+       \item[$\Box$ b)]  Necessita ser revisto/re-escrito,\footnotemark[3] e: 
+       \begin{enumerate}
+         \item[$\Box$ b.1)] basta a revisão final do texto pelo orientador,
+         \item[$\Box$ b.2)] revisarei o trabalho depois de corrigido.
+       \end{enumerate}
+     \end{enumerate} 
    \end{enumerate}
    
-Outras considerações, parecer (se necessário): \BlankLines{6}
+Outras considerações, parecer (se necessário): \BlankLines{5}
 
   \footnotetext[2]{Use a escala: \begin{enumerate*}\item[0.]Péssimo  \item[3.]Deficitário \item[6.]Bom \item[8.]Muito Bom \item[10.]Excelente \end{enumerate*}}%
   \footnotetext[3]{Neste caso \DataFields{student}{article} alun\DataFields{student}{article} estará em EXAME e receberá conceito final C ou D, conforme revisão final do texto.}%
@@ -751,40 +754,46 @@
 
 %%%
 \SetForm{correctionsform-II}{body}{  \resizebox{0.9\textwidth}{!}{
-O texto submetido:
- \parbox[t]{.75\textwidth}{
-    \begin{itemize}[tcc,nosep]
-     \item[$\Box$] Está adequado, dispensando correções do texto.
-     \item[$\Box$] Está adequado, sendo necessário correções, conforme a
-      seguir (e anotações anexas).
-      	\begin{description}[tcc,noitemsep]
-        	\item[$\Box$] Ortográfica
-        	\item[$\Box$] Regras de Escrita
-        	\item[$\Box$] Equações
-        	\item[$\Box$] Resumo
-        	\item[$\Box$] Abstract
-        	\item[$\Box$] Índice
-        	\item[$\Box$] Introdução
-        	\item[$\Box$] Conclusões
-        	\item[$\Box$] Corpo do Trabalho
-        	\item[$\Box$] Resultados
-        	\item[$\Box$] Adicionar mais exemplos
-        	\item[$\Box$] Figuras
-        	\item[$\Box$] Tabelas
-        \end{description}
-     \item[$\Box$] Necessita ser revisto/re-escrito,\footnotemark[2] e: 
-       \begin{itemize}
-         \item[$\Box$] basta a revisão final do texto pelo orientador,
-         \item[$\Box$] revisarei o trabalho depois de corrigido.
-       \end{itemize}
-	\item[$\Box$] Outras considerações (se necessário): \\
-	\begin{tabular}{p{0.7\textwidth}}
-	~\\\hline
-	~\\\hline
-	~\\\hline
-	~\\\hline
-	\end{tabular}\\[-1mm]
-	\end{itemize}}  }
+ \parbox[t]{.9\textwidth}{
+ O texto submetido:
+ 
+    \begin{enumerate}[tcc,nosep]
+      \item[$\Box$ a)] Está adequado, 
+        \begin{enumerate}
+          \item[$\Box$ a.1)] dispensando correções do texto.
+          \item[$\Box$ a.2)] sendo necessário correções, conforme a seguir (e anotações anexas).        
+            \begin{description}[tcc,noitemsep]
+            	\item[$\Box$] Ortográfica
+            	\item[$\Box$] Regras de Escrita
+            	\item[$\Box$] Equações
+            	\item[$\Box$] Resumo
+            	\item[$\Box$] Abstract
+            	\item[$\Box$] Índice
+            	\item[$\Box$] Introdução
+            	\item[$\Box$] Conclusões
+            	\item[$\Box$] Corpo do Trabalho
+            	\item[$\Box$] Resultados
+            	\item[$\Box$] Adicionar mais exemplos
+            	\item[$\Box$] Figuras
+            	\item[$\Box$] Tabelas
+            \end{description}
+        \end{enumerate}
+      \item[$\Box$ b)] Necessita ser revisto/re-escrito,\footnotemark[2] e: 
+        \begin{itemize}
+          \item[$\Box$ b.1)] basta a revisão final do texto pelo orientador.
+          \item[$\Box$ b.2)] revisarei o trabalho depois de corrigido.
+        \end{itemize}
+      \item[]
+	    \item[$\Box$] Outras considerações (se necessário): \\
+    	\begin{tabular}{p{0.7\textwidth}}
+        	~\\\hline
+        	~\\\hline
+        	~\\\hline
+        	~\\\hline
+    	\end{tabular}\\[-1mm]
+	\end{enumerate}
+}  
+}
   \footnotetext[2]{Neste caso \DataFields{student}{article} alun\DataFields{student}{article} estará em EXAME e receberá conceito final C ou D, conforme revisão final do texto.}
 }
 
@@ -847,15 +856,15 @@
         & \UseLabel{board} \\\hline%
         \IfBooleanTF{#1}
           {
-            \multirow{4}={\DataFields{student}{name}} %
+            \multirow{3}={\DataFields{student}{name}} %
             &\DataFields{student.reviewer[1]}{name}\\%
           }%
           {%
-            \multirow{3}={\DataFields{student}{name}}%
+            \multirow{2}={\DataFields{student}{name}}%
           }
         &\DataFields{student.reviewer[2]}{name}\\%
-        &\DataFields{student.reviewer[3]}{name}\\%
-        & ~\\[-2.5ex]
+        &\DataFields{student.reviewer[3]}{name}\\[0.25ex]%
+%        & ~\\[-2.5ex]
         \multicolumn{2}{l}{\studentCoadvLabelCase} \\\hline%
       \end{tabular}%
     \end{center}%
@@ -894,7 +903,9 @@
 }
 
 \NewDocumentCommand{\ReviewerLine}{m}{%
-  & \hspace{-0.4em}\DataFields{student.reviewer[#1]}{name} 
+  \studentReviewerCase{#1}
+    {& \hspace{-0.4em}\textcolor{red}{\DataFields{student.reviewer[#1]}{name}}}
+    {& \hspace{-0.4em}\DataFields{student.reviewer[#1]}{name}}
   & \DataFields{student.reviewer[#1]}{pointA} & \DataFields{student.reviewer[#1]}{pointB} & \DataFields{student.reviewer[#1]}{pointC}  
   & \DataFields{student.reviewer[#1]}{pointD} & \DataFields{student.reviewer[#1]}{grade} & %
 }
@@ -902,14 +913,14 @@
 \NewDocumentCommand{\studentLine}{s}{%
   \IfBooleanTF{#1}%
     {%
-      \multirow{4}={\textbf{\DataFields{student}{name}}}
+      \multirow[c]{3}={\textbf{\DataFields{student}{name}}}%
       \ReviewerLine{1}\\*
-    }
+    }%
     {%
-      \multirow{3}={\textbf{\DataFields{student}{name}}}    
-    }
+      \multirow[c]{2}={\textbf{\DataFields{student}{name}}}%    
+    }%
     \ReviewerLine{2}\\*%
-    \nopagebreak\ReviewerLine{3}\\[0.75ex]%
+    \ReviewerLine{3}\\*%[0.75ex]%
     \multicolumn{6}{l}{\studentCoadvLabelCase} & \textbf{\DataFields{student}{gradeavrg}} & \textbf{\DataFields{student}{grade}}%\\ \hline%   
 }
 
@@ -917,10 +928,13 @@
    \kill\nopagebreak\\[-2ex]%
    \multicolumn{#1}{p{#2}}{\ \ \ \UseLabel{worktitle}: \DataFields{student}{worktitle}}\\*       
    \multicolumn{#1}{l}{\ \ \ (\UseLabel{Nproc}: \DataFields{student}{Nproc}) \UseLabel{student.ID}: \DataFields{student}{ID} / \DataFields{student}{email}}\\*  
-   \multicolumn{#1}{l}{\ \ \ \color{darkerblue}\UseLabel{advisor.email}: \DataFields{student.advisor}{email} \UseLabel{phone}: \DataFields{student.advisor}{phone}}\\*          
-   \multicolumn{#1}{l}{\ \ \ \color{darkerred}\UseLabel{board}: \DataFields{student.reviewer[1]}{email} / \DataFields{student.reviewer[2]}{email} / \DataFields{student.reviewer[3]}{email}}\\*          
+%%%   \multicolumn{#1}{l}{\ \ \ \color{darkerblue}\UseLabel{advisor.email}: \DataFields{student.advisor}{email} \UseLabel{phone}: \DataFields{student.advisor}{phone}}\\*          
+%%%   \multicolumn{#1}{p{#2}}{\ \ \ \color{darkerred}\UseLabel{board}: \DataFields{student.reviewer[1]}{email} (\DataFields{student.reviewer[1]}{phone}) / \DataFields{student.reviewer[2]}{email} (\DataFields{student.reviewer[2]}{phone}) / \DataFields{student.reviewer[3]}{email} (\DataFields{student.reviewer[3]}{phone})}\\*          
 
-   \multicolumn{#1}{l}{\ \ \ \UseLabel{remarks}: {\color{red}\textbf{\DataFields{student}{remarks}}}}%\\ \hline
+   \multicolumn{#1}{p{#2}}{{\ \ \ \color{darkerblue}\bf \DataFields{student.advisor}{email} (\DataFields{student.advisor}{phone})} ~~ - ~~
+   {\color{darkerred} \DataFields{student.reviewer[2]}{email} (\DataFields{student.reviewer[2]}{phone}) / \DataFields{student.reviewer[3]}{email} (\DataFields{student.reviewer[3]}{phone})}}\\*          
+
+   \multicolumn{#1}{p{#2}}{\ \ \ \UseLabel{remarks}: {\color{red}\textbf{\DataFields{student}{remarks}}}}%\\ \hline
 }
 
 
@@ -941,23 +955,23 @@
 
 \studentCase%
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, tendo sido APROVAD\DataFields{student}{Article} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, tendo sido \textbf{APROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
     \studentBoardGraded
   }
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, tendo sido REAPROVAD\DataFields{student}{Article} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, tendo sido \textbf{REPROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
      \studentBoardGraded
  }
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi APROVAD\DataFields{student}{Article} com conceito final \DataFields{student}{grade}.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi \textbf{APROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}.\\[2em]
     \studentBoard
   }
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi REPROVAD\DataFields{student}{Article} com conceito final \DataFields{student}{grade}.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ submeteu o trabalho intitulado \emph{\DataFields{student}{worktitle}}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi \textbf{REPROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}.\\[2em]
     \studentBoard
   }
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ não concluiu o trabalho de conclusão de Curso tendo sido REPROVAD\DataFields{student}{Article}  com conceito final \textbf{FF}.
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ não concluiu o trabalho de conclusão de Curso tendo sido \textbf{REPROVAD\DataFields{student}{Article}}  com conceito final \textbf{FF}.
   }
 }
 
@@ -986,23 +1000,23 @@
 
 \studentCase%
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia \DataFields{student}{board-date}, tendo sido APROVAD\DataFields{student}{Article} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia \DataFields{student}{board-date}, tendo sido \textbf{APROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
     \studentBoardGraded*
   }%
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia \DataFields{student}{board-date}, tendo sido REAPROVAD\DataFields{student}{Article} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia \DataFields{student}{board-date}, tendo sido \textbf{REPROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}, conforme quadro de notas abaixo.\\[2em]
     \studentBoardGraded*
   }%
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia  \DataFields{student}{board-date}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi APROVAD\DataFields{student}{Article} com conceito final \DataFields{student}{grade}.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia  \DataFields{student}{board-date}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi \textbf{APROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}.\\[2em]
     \studentBoard*
   }%
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia  \DataFields{student}{board-date}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi REPROVAD\DataFields{student}{Article} com conceito final \DataFields{student}{grade}.\\[2em]
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ apresentou o trabalho intitulado \emph{\DataFields{student}{worktitle}}\  no dia  \DataFields{student}{board-date}, não tendo sido considerad\DataFields{student}{article} apt\DataFields{student}{article} pela banca listada abaixo. Posto em exame, \DataFields{student}{article} mesm\DataFields{student}{article} foi \textbf{REPROVAD\DataFields{student}{Article}} com conceito final \textbf{\DataFields{student}{grade}}.\\[2em]
     \studentBoard*
   }%
   {
-    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ não concluiu o trabalho de conclusão de Curso tendo sido REPROVAD\DataFields{student}{Article}  com conceito final \textbf{FF}.
+    \DataFields{student}{Article} alun\DataFields{student}{article} \emph{\DataFields{student}{name}}\ não concluiu o trabalho de conclusão de Curso tendo sido \textbf{REPROVAD\DataFields{student}{Article}}  com conceito final \textbf{FF}.
   }
 }
 
@@ -1022,6 +1036,10 @@
 
 \ExplSyntaxOn
 
+\cs_new:Npn \__ufrgscca_hline:nnn #1#2#3 {\noalign{\vskip #1\vskip 0pt\hrule height #2\arrayrulewidth\vskip #3\vskip 0pt\penalty 10000}}
+\cs_new:Npn \__ufrgscca_hline:n #1       {\__ufrgscca_hline:nnn {-0.5ex}{#1}{0.25ex}}
+\cs_new:Npn \__ufrgscca_hline:           {\__ufrgscca_hline:nnn {-0.5ex}{0.5}{0.25ex}}
+
 \cs_new_protected:Npn \reportBody #1#2
   {
     \str_case:nn {#1}
@@ -1028,6 +1046,7 @@
       {
         {I} 
           {
+            \ActivitySelect{tccI}
             \begin{longtable}
               {
                 p{\UseConst{report.tabA}}@{\ }
@@ -1042,6 +1061,7 @@
           }
         {II}
           {
+            \ActivitySelect{tccII}
             \begin{longtable}
               {
                 p{\UseConst{report.tabA}}@{\ }
@@ -1059,8 +1079,17 @@
     \seq_map_inline:Nn \l__ufrgscca_baselist_graded_seq
       {
         \studentselect{##1}
-        #2\\*\hline
-        \studentExtLine{7}{\UseConst{report.tabMult.#1}}\\\hline        
+        #2\\\hline
+        \studentExtLine{7}{\UseConst{report.tabMult.#1}}\\\hline
+        \bool_if:nT {\l__ufrgscca_checklist_bool}
+        {
+          \multicolumn{7}{l}
+            {
+              \begin{tabular}{llllll}
+                \__ufrgscca_checktable_lines:nn {L1,L2,L3}{C1,C2,C3,C4,C5,C6}
+              \end{tabular}
+            }\\\hline     
+        }
       }
     \__ufrgscca_miss_case:nnnnn 
       {7} {report.tabMult.#1}
@@ -1079,7 +1108,7 @@
   {
     \seq_if_empty:NF #3
       {
-        &\\
+        &\\\pagebreak
         \multicolumn{#1}{l}{\textbf{\color{#5}#4}}\\\hline
         \seq_map_inline:Nn #3 
           {
@@ -1097,13 +1126,14 @@
 %%%%%%%%%%%%%%%
 %%  report TCC - I
 %%%%%%%%%%%%%%%
-\SetForm{report-I}{heading}{\UseTerm{title.tccI}}
-\SetForm{report-I}{title}{Relatório Acompanhamento - \UseTerm{semester}}
+\SetForm{report-I}{top}{}
+\SetForm{report-I}{heading}{\vspace*{-5ex}\UseTerm{title.tccI}~ - ~\textbf{\UseTerm{semester}}}
+%\SetForm{report-I}{title}{}
 \SetForm{report-I}{opening}{}
 
 %%%
 \SetForm{report-I}{opening}{  %
-  { \tiny
+  { \vspace*{-5ex}\tiny
     \reportBody {I}{\studentLine}
   }
 }
@@ -1115,14 +1145,16 @@
 %%%%%%%%%%%%%%%
 %%  report TCC - II
 %%%%%%%%%%%%%%%
-\SetForm{report-II}{heading}{\UseTerm{title.tccII}}
-\SetForm{report-II}{title}{Relatório Acompanhamento - \UseTerm{semester}}
+\SetForm{report-II}{top}{}
+\SetForm{report-II}{heading}{\vspace*{-5ex}\UseTerm{title.tccII}~ - ~\textbf{\UseTerm{semester}}}
+%\SetForm{report-II}{title}{Relatório Acompanhamento - \UseTerm{semester}}
+%\SetForm{report-II}{title}{\vspace*{-2ex}\UseTerm{semester}}
 \SetForm{report-II}{opening}{}
 
 
 %%%
 \SetForm{report-II}{opening}{  %
-  { \tiny
+  { \vspace{-2ex}\tiny
     \reportBody {II}{\studentLine*}
   }
 }
@@ -1145,10 +1177,10 @@
 \SetForm{checklist-I}{opening}{  %
   \ActivitySelect{tccI}
   { \scriptsize
-    \begin{longtable}{lllll}%
-    \CheckList{5}{graded}{Alunos~Com~ Conceito}[black]
-    \CheckList{5}{ff}{Desistentes~ com~ conceito~ (2o ~ semestre)}[red]
-    \CheckList{5}{dismiss}{Desistentes~ sem~ conceito~ (1o ~ semestre)}[magenta]
+    \begin{longtable}{llllll}%
+    \CheckList{6}{graded}{Alunos~Com~ Conceito}[black]
+    \CheckList{6}{ff}{Desistentes~ com~ conceito~ (2o ~ semestre)}[red]
+    \CheckList{6}{dismiss}{Desistentes~ sem~ conceito~ (1o ~ semestre)}[magenta]
     \end{longtable}
   }
   ~\vfill
@@ -1169,10 +1201,10 @@
 \SetForm{checklist-II}{opening}{  %
   \ActivitySelect{tccII}
   { \scriptsize
-    \begin{longtable}{lllll}%
-    \CheckList{5}{graded}{Alunos~Com~ Conceito}[black]
-    \CheckList{5}{ff}{Desistentes~ com~ conceito~ (2o ~ semestre)}[red]
-    \CheckList{5}{dismiss}{Desistentes~ sem~ conceito~ (1o ~ semestre)}[magenta]
+    \begin{longtable}{llllll}%
+    \CheckList{6}{graded}{Alunos~Com~ Conceito}[black]
+    \CheckList{6}{ff}{Desistentes~ com~ conceito~ (2o ~ semestre)}[red]
+    \CheckList{6}{dismiss}{Desistentes~ sem~ conceito~ (1o ~ semestre)}[magenta]
     \end{longtable}
   }
   ~\vfill
@@ -1224,7 +1256,7 @@
         & \multirow{4}={ \DataFields{student}{board-time}\\[1mm]\DataFields{student}{board-local} }\\*
         && \DataFields{student.reviewer[2]}{name} \\*
         && \DataFields{student.reviewer[3]}{name} \\*
-        && (\DataFields{student.altreviewer[1]}{name}) \\*
+        && ({\DataFields{student.altreviewer[1]}{name}}) \\*
         \multicolumn{4}{p{\UseConst{board.tabAll}}}
            {\textsc{Título:}\ \emph{\DataFields{student}{worktitle}}}\\\hline      
       }

Modified: trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -61,10 +61,10 @@
 \ActivitySetCoord{Nome Coordenador}
 \ActivitySetCoordTitle{Coordenador\ActivityCoord[internship]{narticle} da Atividade de Ensino de\newline Estágio Supervisionado Obrigatório}
 
-\ActivitySelect{internship}
-\ActivitySet{Est.Ob.}{Estágio Supervisionado Não Obrigatório}
+\ActivitySelect{internship-opt}
+\ActivitySet{Est. Não Ob.}{Estágio Supervisionado Não Obrigatório}
 \ActivitySetCoord{Nome Coordenador}
-\ActivitySetCoordTitle{Coordenador\ActivityCoord[internship]{narticle} da Atividade de Ensino de\newline Estágio Supervisionado Não Obrigatório}
+\ActivitySetCoordTitle{Coordenador\ActivityCoord[internship]{narticle} da Atividade de Ensino de\newline Estágio Supervisionado Obrigatório}
 
 
 \SetTerms{%
@@ -226,6 +226,7 @@
   phone                     = {ramal} ,
   board                     = {Banca Examinadora} ,
   board.member              = {Membro da Banca} ,
+  board.acro                = {Banca} ,
   agree                     = {De Acordo} ,
   Nproc                     = {SEI} ,
   remarks                   = {remarks} ,
@@ -272,7 +273,7 @@
   report.tabF = {8mm} ,
   report.tabG = {12mm} , 
   report.tabMult.II = {141mm} , % A+B+C+D+E+F+G
-  report.tabMult.I = {156mm} , % A+B+C+D+E+F+G + Ex
+  report.tabMult.I = {141mm} , % A+B+C+D+E+F+G + Ex
 }
 
 \SetConsts{%

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

Modified: trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex	2024-02-21 21:10:20 UTC (rev 70047)
@@ -15,7 +15,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -558,7 +558,7 @@
   reviewer . struct {
     first , last , name , institution , title , email , phone ,    
         article , Article , narticle , Narticle , carticle , Carticle ,
-    pointA , pointB , pointC , pointD , grade , gradetype ,    
+    pointA , pointB , pointC , pointD , grade , gradetype ,  flag-examreview ,  
   } ,
   altreviewer . struct {
     first , last , name , institution , title , email , phone ,    
@@ -1052,7 +1052,7 @@
 \end{codedescribe}
 
 
-\begin{codedescribe}[code,new=2023/11/18,update=2023/12/02]{\studentCase,\studentAdvCase,\studentCoadvCase,\studentDismissCase,\studentNewPageCase,\studentDistinctBoardCase}
+\begin{codedescribe}[code,new=2023/11/18,update=2023/12/02,update=2024/01/15]{\studentCase,\studentAdvCase,\studentCoadvCase,\studentDismissCase,\studentNewPageCase,\studentDistinctBoardCase,\studentReviewerCase}
 	\begin{codesyntax}%
     \tsmacro{\studentCase}{if-A-B-C,if-D,if-Exam-C,if-Exam-D,if-FF}
     \tsmacro{\studentAdvCase}{if-more-than-one,if-not}
@@ -1060,6 +1060,7 @@
     \tsmacro{\studentDismissCase}{if-dismiss,if-not}
     \tsmacro{\studentNewPageCase}{if-newpage,if-not}
     \tsmacro{\studentDistinctBoardCase}{if-distinct,if-not}
+    \tsmacro{\studentReviewerCase}{if-marked,if-not}
 	\end{codesyntax}
 These are a set of auxiliary conditionals, for instance, \tsobj{\StudentCase} will execute \emph{only one} of the \tsobj[meta]{if-} accordingly.
 \end{codedescribe}
@@ -1175,12 +1176,15 @@
 %%%%
 
 \paragraph{Student Specific Commands}\label{student-specific-commands}
-\begin{codedescribe}[code,update=2023/11/18]{\studentfate}
+\begin{codedescribe}[code,update=2023/11/18,update=2024/02/15]{\studentfate}
 	\begin{codesyntax}%
 		\tsmacro{\studentfate}[fate]{}
 	\end{codesyntax}
-This assigns the \tsobj[meta]{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \tsobj[meta]{fate} can be either C or D (in case a student got in exam), FF for those that haven't finished the work or 'Dismiss' for those that, for whatever reason, got dismissed. The default is 'do nothing' (no \tsobj[meta]{fate} assigned)
+This assigns the \tsobj[meta]{fate} of a student, for those cases that one cannot rely on the 'calculated one' (from examiners individual grades). \tsobj[meta]{fate} can be either \emph{exam} (if the student is in exam, but didn't got a grade yet) \emph{C} or \emph{D} (in case a student in exam got graded), \emph{FF} for those that haven't finished the work or \emph{dismiss} for those that, for whatever reason, got dismissed. The default is 'do nothing' (no \tsobj[meta]{fate} assigned)
 \end{codedescribe}
+\begin{tsremark}
+(2024/02/15) In case some other, odd, value is assigned, this command will record as if the student is in 'exam', with the given grade \tsobj[oarg]{fate} marked in bold red.
+\end{tsremark}
 
 \begin{codedescribe}[code,new=2023/12/04]{\studentaddtolist}
 	\begin{codesyntax}%
@@ -1243,11 +1247,11 @@
 \tscode*[emph={distinctboard}]{d.distinct}
 
 
-\begin{codedescribe}[code,update=2023/11/18]{\examinergrades}
+\begin{codedescribe}[code,update=2023/11/18,update=2024/02/15]{\examinergrades}
 	\begin{codesyntax}%
-		\tsmacro{\examinersgrades}{N1,N2,N3}\tsargs[oarg]{N4}
+		\tsmacro{\examinersgrades}{N1,N2,N3}\tsargs[oarg]{N4}\tsverb[oarg]{*}
 	\end{codesyntax}
-Quite obvious, this set the grades given by an examiner (the one defined by the 'last' \tsmacro{\examiner}{} before this.). In case \tsobj[oarg]{N4} is given it's assumed the TCC-I case, otherwise TCC-II.
+Quite obvious, this set the grades given by an examiner (the one defined by the 'last' \tsmacro{\examiner}{} before this.). In case \tsobj[oarg]{N4} is given it's assumed the TCC-I case, otherwise TCC-II. (update:2024/02/15) The 'star' at the end will mark said reviewer, in red, when generating a report.
 \end{codedescribe}
 
 
@@ -1299,6 +1303,12 @@
 %	\describe {checklist} { a students check list.}
 \end{describelist}
 
+\begin{codedescribe}[code,new=2024/02/18]{\suppresschecklist}
+	\begin{codesyntax}%
+		\tsmacro{\suppresschecklist}{}
+	\end{codesyntax}
+	This will suppress the “student checklist” on the general report.
+\end{codedescribe}
 
 \section{\tightul{ufrgscca-ppc} Package (extended documentation)}
 This contains a set of auxiliary commands to keep track of many \emph{indicators} whilst writing  a \emph{PPC document} (which is going to be evaluated based on said \emph{indicators}, though the track of those \emph{indicators} themselves shall not appear in the final version of it). Keep in mind, when considering the use of it: “it works as is” but it hasn't being properly debugged, and it might change “as needed locally”.

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-abnt}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA ABNT layout}
 
 
@@ -42,23 +42,15 @@
   {
      name        .code:n = {ufrgscca-abnt} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~ abnt~layout}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
   }  
 %%%%%%%
 %%% End of cut-n-paste

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-coord}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA coord commands}
 
 
@@ -42,24 +42,16 @@
   {
      name        .code:n = {ufrgscca-coord} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~ coordination~ report~ commands}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%
@@ -134,9 +126,9 @@
 \starray_new:n {prof}
 \starray_def_from_keyval:nn {prof}
  {
-   last = ,
-   first = ,
-   gender = ,
+   last   = {},
+   first  = {},
+   gender = {},
  }
  
 \NewDocumentCommand{\professor}{O{}mmmmO{}}
@@ -144,10 +136,10 @@
     \starray_new_term:nn {prof}{#1}
     \starray_set_from_keyval:nn {prof}
       {
-        last = {#2},
-        first = {#3},
-        email = {#4},
-        phone = {#5},
+        last   = {#2},
+        first  = {#3},
+        email  = {#4},
+        phone  = {#5},
         gender = {#6},
       }
   }
@@ -229,57 +221,77 @@
 
 %
 \NewDocumentCommand{\studentfate}{O{}}{%%
-  \str_case:nnF  {#1}
+  \tl_if_blank:nTF {#1}
     {
-      {C}
+      \emptytermifnone[3]{student.reviewer}[\starray_gset_prop:nnn {student}{flag-null}{\c_true_bool}]
+      \__ufrgscca_studentgrade:
+    }
+    {
+      \str_case:nnF  {#1}
         {
-          \starray_gset_from_keyval:nn {student} 
+          {C}
             {
-              grade = C ,
-              flag-exam = \c_true_bool ,
-              flag-graded = \c_true_bool ,
-              flag-approved = \c_true_bool ,
+              \starray_gset_from_keyval:nn {student} 
+                {
+                  grade = C ,
+                  flag-exam = \c_true_bool ,
+                  flag-graded = \c_true_bool ,
+                  flag-approved = \c_true_bool ,
+                }
             }
-        }
-      {D}
-        {
-          \starray_gset_from_keyval:nn {student} 
+          {D}
             {
-              grade = D ,
-              flag-exam = \c_true_bool ,
-              flag-graded = \c_true_bool ,
+              \starray_gset_from_keyval:nn {student} 
+                {
+                  grade = D ,
+                  flag-exam = \c_true_bool ,
+                  flag-graded = \c_true_bool ,
+                }
             }
-        }
-      {FF}
-        {
-          \starray_gset_from_keyval:nn {student} 
+          {exam}
             {
-              grade = FF ,
-              flag-ff = \c_true_bool ,
-              flag-graded = \c_true_bool ,
+              \starray_gset_from_keyval:nn {student} 
+                {
+                  grade = {\textcolor{red}{exame}} ,
+                  flag-exam = \c_true_bool ,
+                  flag-graded = \c_true_bool ,
+                }
             }
-        }
-      {dismiss}
-        {
-          \starray_gset_from_keyval:nn {student} 
+          {FF}
             {
-              flag-dismiss = \c_true_bool ,
-              flag-graded = \c_true_bool ,
+              \starray_gset_from_keyval:nn {student} 
+                {
+                  grade = FF ,
+                  flag-ff = \c_true_bool ,
+                  flag-graded = \c_true_bool ,
+                }
             }
+          {dismiss}
+            {
+              \starray_gset_from_keyval:nn {student} 
+                {
+                  flag-dismiss = \c_true_bool ,
+                  flag-graded = \c_true_bool ,
+                }
+            }
+          {none}
+            {
+              \starray_gset_from_keyval:nn {student} 
+                {
+                  flag-dismiss = \c_true_bool ,
+                  flag-graded = \c_true_bool ,
+                }
+            }
         }
-      {none}
-        {
+        { %% in case of none of above...
           \starray_gset_from_keyval:nn {student} 
             {
-              flag-dismiss = \c_true_bool ,
+              grade = {\textcolor{red}{\textbf{#1}}} ,
+              flag-exam = \c_true_bool ,
               flag-graded = \c_true_bool ,
-            }
+            }       
         }
     }
-    { %% in case of none of above...
-      \emptytermifnone[3]{student.reviewer}[\starray_gset_prop:nnn {student}{flag-null}{\c_true_bool}]
-      \__ufrgscca_studentgrade:
-    }
 }%%
 %
 \tl_new:N \l__ufrgscca_tmpa_tl
@@ -464,7 +476,14 @@
     }
 }
 
+\NewDocumentCommand{\studentReviewerCase}{mmm}{
+    \starray_term_syntax:n{student.reviewer[#1]}
+    \bool_if:nTF {\starray_parsed_get_prop:n{flag-examreview}}
+      {#2}
+      {#3}
+}
 
+
 \NewDocumentCommand{\studentDismissCase}{mm}{
     \starray_term_syntax:n{student}
     \bool_if:nTF {\starray_parsed_get_prop:n{flag-dismiss}}
@@ -554,7 +573,7 @@
 \cs_generate_variant:Nn \starray_gset_prop:nnn {nne}
 
 
-\NewDocumentCommand{\examinergrades}{mmmO{}}{
+\NewDocumentCommand{\examinergrades}{mmmO{}s}{
   \tl_if_blank:nTF {#1}
     { 
       \starray_gset_prop:nnn {student.reviewer}{grade}{0} 
@@ -589,6 +608,8 @@
                     \fpeval{round((#1 * \UseConst{TCC-I.weightA} + #2 * \UseConst{TCC-I.weightB} + #3 * \UseConst{TCC-I.weightC} + #4 * \UseConst{TCC-I.weightD}) / ( \UseConst{TCC-I.weightA} + \UseConst{TCC-I.weightB} + \UseConst{TCC-I.weightC} + \UseConst{TCC-I.weightD}) , 2 , 1) }
                 }    
         }
+      \bool_if:nT {#5}
+        {\starray_gset_prop:nnn {student.reviewer}{flag-examreview}{\c_true_bool}}
     }
 }
 
@@ -840,8 +861,14 @@
             \studentselect{##1}
             &\\[-2ex]
             ~\multicolumn{#1}{l}{\textbf{\color{#4}\DataFields{student}{name}}}\\*
-            \__ufrgscca_checktable_lines:nn {L1,L2,L3,L4,L5}{C1,C2,C3,C4,C5}\hline
+            \__ufrgscca_checktable_lines:nn {L1,L2,L3}{C1,C2,C3,C4,C5,C6}\hline
           }     
       }
       
 }
+
+\bool_new:N \l__ufrgscca_checklist_bool
+\bool_set_true:N \l__ufrgscca_checklist_bool
+\NewDocumentCommand{\suppresschecklist}{}{
+  \bool_set_false:N \l__ufrgscca_checklist_bool
+}

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-core}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA core commands}
 
 
@@ -42,24 +42,16 @@
   {
      name        .code:n = {ufrgscca-core} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~core~commands/data}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%
@@ -192,7 +184,8 @@
     pointC = ,
     pointD = ,
     grade = 0 ,
-    gradetype = ,    
+    gradetype = ,   
+    flag-examreview = \c_false_bool , 
   } ,
   altreviewer . struct = {
     first = ,
@@ -280,9 +273,9 @@
 \NewDocumentCommand{\NewActivity}{m} {
     \starray_new_term:nn {activity}{#1}
     \starray_new_term:nn {activity.coord}{}
-    \starray_gset_prop:nnV {activity}{checkmarked}\c_empty_prop
-    \starray_gset_prop:nnV {activity}{checkunmarked}\c_empty_prop
-    \starray_gset_prop:nnV {activity}{checkref}\c_empty_prop
+    \starray_gset_prop:nnV {activity}{chkmarked}\c_empty_prop
+    \starray_gset_prop:nnV {activity}{chkunmarked}\c_empty_prop
+    \starray_gset_prop:nnV {activity}{chkref}\c_empty_prop
 }
 
 
@@ -485,12 +478,23 @@
 
 \cs_new_protected:Npn \__ufrgscca_set_prof:nnnnn #1#2#3#4#5 
   {
-    \starray_gset_from_keyval:nn {student.#1}
+    \tl_if_blank:nTF {#2}
       {
-        last = {#3} ,
-        first = {#4} ,
-        name = {#2~#4~ #3} ,
+        \starray_gset_from_keyval:nn {student.#1}
+          {
+            last = {#3} ,
+            first = {#4} ,
+            name = {#4~ #3} ,
+          }
       }
+      {
+        \starray_gset_from_keyval:nn {student.#1}
+          {
+            last = {#3} ,
+            first = {#4} ,
+            name = {#2~#4~ #3} ,
+          }
+      }
    \__ufrgscca_setgender:nn {student.#1}{#5}
   }
 

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-cover}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA cover commands}
 
 
@@ -42,24 +42,16 @@
   {
      name        .code:n = {ufrgscca-cover} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~ cover~pages}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }  
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-curr}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA curricula commands}
 
 %%%%%%%
@@ -41,24 +41,16 @@
   {
      name        .code:n = {ufrgscca-curr} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~ curricula~ commands}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-forms}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA forms commands}
    
     
@@ -42,24 +42,16 @@
   {
      name        .code:n = {ufrgscca-forms} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~ forms~commands}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%
@@ -196,24 +188,40 @@
       {
         \centering
           {
-            \UseTerm{cover.topbase}\\
-			{\sc \prop_item:Nn \l__ufrgscca_forms_prop {#1.heading}}
+            \prop_get:NnNTF \l__ufrgscca_forms_prop {#1.top} \l_tmpa_tl 
+              { \l_tmpa_tl }
+              { \UseTerm{cover.topbase}\\ }
+            \prop_get:NnNTF \l__ufrgscca_forms_prop {#1.heading} \l_tmpa_tl 
+              { {\sc \l_tmpa_tl}\\[6mm] }
+              { \par\vspace{5mm} }
           }
-      }\\[7mm]
-    {\bf \prop_item:Nn \l__ufrgscca_forms_prop {#1.title}}
-    \prop_if_in:NnTF \l__ufrgscca_forms_prop {#1.footnote}
-      {\footnote[1]{\prop_item:Nn \l__ufrgscca_forms_prop {#1.footnote}}}
-      {}\\
+      }\par
+      \prop_get:NnNT \l__ufrgscca_forms_prop {#1.title} \l_tmpa_tl 
+        {
+          \textbf{\l_tmpa_tl}
+          \prop_get:NnNT \l__ufrgscca_forms_prop {#1.footnote} \l_tmpa_tl
+            { \footnote[1]{\l_tmpa_tl} }
+          \\
+        }
   \end{center}
 %
-  \vfill
-   \prop_item:Nn \l__ufrgscca_forms_prop {#1.opening}
-  \vfill
-  \prop_item:Nn \l__ufrgscca_forms_prop {#1.body}
-  \vfill
-  \prop_item:Nn \l__ufrgscca_forms_prop {#1.closing}
+  \prop_get:NnNT \l__ufrgscca_forms_prop {#1.opening} \l_tmpa_tl 
+    {
+      \vfill
+      \l_tmpa_tl
+    }
+  \prop_get:NnNT \l__ufrgscca_forms_prop {#1.body} \l_tmpa_tl 
+    {
+      \vfill
+      \l_tmpa_tl
+    }
+  \prop_get:NnNT \l__ufrgscca_forms_prop {#1.closing} \l_tmpa_tl 
+    {
+      \vfill
+      \l_tmpa_tl
+    }
   \pagebreak
-  }
+}
 
 
 \NewDocumentCommand{\SignatureDate}{m}{

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-lists}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA auxiliary lists commands}
 
 
@@ -42,24 +42,16 @@
   {
      name        .code:n = {ufrgscca-lists} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05} ,
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19} ,
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~Auxiliary~ lists~ commands}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplPackage
     {ufrgscca-ppc}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA PPC commands}
 
 %%%%%%%
@@ -41,24 +41,16 @@
   {
      name        .code:n = {ufrgscca-ppc} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~ auxiliary~ PPC-related~ (indicators)~ commands}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls	2024-02-21 21:10:10 UTC (rev 70046)
+++ trunk/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls	2024-02-21 21:10:20 UTC (rev 70047)
@@ -12,7 +12,7 @@
 %%
 %% The Current Maintainer of this work is Alceu Frigeri
 %%
-%% This is version {2.3} {2023/12/05}
+%% This is version {2.4a} {2024/02/19}
 %%
 %% The list of files that compose this work can be found in the README.md file at
 %% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
 
 \ProvidesExplClass
     {ufrgscca}
-    {2023/12/05}
-    {2.3}
+    {2024/02/19}
+    {2.4a}
     {UFRGS/CCA class}
 
 
@@ -42,24 +42,16 @@
   {
      name        .code:n = {ufrgscca} ,
      prefix      .code:n = {ufrgscca} ,
-     date        .code:n = {2023/12/05},
-     version     .code:n = {2.3} ,
+     date        .code:n = {2024/02/19},
+     version     .code:n = {2.4a} ,
      description .code:n = {UFRGS/CCA~a~report~based~class~bundle}
   }
-\cs_if_exist:NF \__codedesc_pkg_info:nn 
+\cs_if_exist:NF \PkgInfo 
   {
-    \cs_new_protected:Npn \__codedesc_pkg_info:nn #1#2
-      { \keys_set:nn {#1 / pkg info}{#2} }
-  }
-\cs_if_exist:NF \PkgInfo
-  { \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } }
-\cs_if_exist:NF \PkgDescription
-  { 
+    \NewDocumentCommand \PkgInfo {mm} { \keys_set:nn {#1 / pkg info}{#2} } 
     \NewDocumentCommand \PkgDescription {m} 
-      { 
-        \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par 
-      } 
-  }
+      { \noindent Package~ \textbf{\PkgInfo{#1}{name}}~Version:~\PkgInfo{#1}{version}~ -~ \PkgInfo{#1}{date}\par \emph{\PkgInfo{#1}{description}}~\par } 
+  }  
 %%%%%%%
 %%% End of cut-n-paste
 %%%%%%%



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