From 4f2ca9d7c35eea87644de7a1ed88df256c3882ef Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 5 Dec 2023 20:45:58 +0000 Subject: ufrgscca (5dec23) git-svn-id: svn://tug.org/texlive/trunk@69042 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/ufrgscca/README.md | 9 +- .../doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex | 26 +++++- .../doc/latex/ufrgscca/ufrgscca-forms.tex | 4 +- .../doc/latex/ufrgscca/ufrgscca-terms-en.tex | 4 +- .../doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex | 96 +++++++++++---------- Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf | Bin 588902 -> 590459 bytes Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex | 42 ++++++--- 7 files changed, 115 insertions(+), 66 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/latex/ufrgscca/README.md b/Master/texmf-dist/doc/latex/ufrgscca/README.md index 16b72a2b73d..6c1eac798e6 100644 --- a/Master/texmf-dist/doc/latex/ufrgscca/README.md +++ b/Master/texmf-dist/doc/latex/ufrgscca/README.md @@ -46,7 +46,7 @@ Please do not use the issue page for generic help on how to use the package. * git: https://github.com/alceu-frigeri/ufrgscca ------------- -Copyright 2022-23 by Alceu Frigeri +Copyright 2022-present by Alceu Frigeri This work may be distributed and/or modified under the conditions of @@ -107,7 +107,12 @@ The Current Maintainer of this work is Alceu Frigeri ## Changelog -* Version 2.2 (this) +* Version 2.3 (this) + - adjustments to report's cover + - added two student's list related commands \studentaddtolist and \sortstudentlist (-coord) + - some code clean up + +* Version 2.2 - fixed the reports table broken by last update :/ - added an option to sort student's list (-coord) by presentation's date - further code clean up diff --git a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex index c0bfe2c643b..e61c119748d 100644 --- a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex +++ b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex @@ -1,5 +1,5 @@ %%%============================================================================== -%% Copyright 2022-23 by Alceu Frigeri +%% Copyright 2022-present by Alceu Frigeri %% %% This work may be distributed and/or modified under the conditions of %% @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.2} {2023/12/02} +%% This is version {2.3} {2023/12/05} %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -107,6 +107,20 @@ \MakeUppercase{\UseHeading{department}}\\ \MakeUppercase{\UseHeading{class.code}~ -~ \UseHeading{class.name}}\\ } , + report.prof-descpage = % + {% + \noindent\raggedleft + \studentAdvCase{% + \UseTerm{professors}:\\ + \studentadvisoriterate% + {% + \DataFields{student.advisor}{name}\\ + } + }{% + \UseTerm{professor}:\\ + \DataFields{student.advisor}{name}\\ + } + } , } \SetTerms{ @@ -293,12 +307,18 @@ CONTROLE~ E~ AUTOMAÇÃO } %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% -\SetCoverFields{class-report}{clist}{cover} +\SetCoverFields{class-report}{clist}{desc} \SetCoverFields{class-report}{top}{ \UseTerm{report.top} } \SetCoverFields{class-report}{students}{ \UseTerm{cover.students} } \SetCoverFields{class-report}{title}{ \UseTerm{cover.title} } \SetCoverFields{class-report}{bottom}{\centering \UseConst{publ.city}\\\UseConst{publ.month}~ \UseConst{publ.year}\par} +\SetCoverFields{class-report}{text-descpage}{ \UseTerm{class-report.desc} } + +\SetCoverFields{class-report}{advisor-descpage}{ \UseTerm{report.prof-descpage} } + +\SetCoverFields{class-report}{bottom-descpage}{\centering \UseConst{publ.city}\\\UseConst{publ.month}~ \UseConst{publ.year}\par} + \SetCoverFields{class-report}{text-approvalpage}{} \SetCoverFields{class-report}{advisor-approvalpage}{} diff --git a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex index c2eff7eaf93..6a3b6573c1d 100644 --- a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex +++ b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-forms.tex @@ -1,5 +1,5 @@ %%%============================================================================== -%% Copyright 2022-23 by Alceu Frigeri +%% Copyright 2022-present by Alceu Frigeri %% %% This work may be distributed and/or modified under the conditions of %% @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.2} {2023/12/02} +%% This is version {2.3} {2023/12/05} %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca diff --git a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex index 357a65e9910..0a5f9557b51 100644 --- a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex +++ b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-en.tex @@ -1,5 +1,5 @@ %%%============================================================================== -%% Copyright 2022-23 by Alceu Frigeri +%% Copyright 2022-present by Alceu Frigeri %% %% This work may be distributed and/or modified under the conditions of %% @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.2} {2023/12/02} +%% This is version {2.3} {2023/12/05} %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca diff --git a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex index 4001c9ba940..f054d3473c7 100644 --- a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex +++ b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex @@ -1,5 +1,5 @@ %%%============================================================================== -%% Copyright 2022-23 by Alceu Frigeri +%% Copyright 2022-present by Alceu Frigeri %% %% This work may be distributed and/or modified under the conditions of %% @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.2} {2023/12/02} +%% This is version {2.3} {2023/12/05} %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -159,7 +159,9 @@ Orientador\DataFields{student.advisor}{narticle}} e Banca Examinadora abaixo.% } , internship.title = - { RELATÓRIO DE ESTÁGIO SUPERVISIONADO OBRIGATÓRIO EM ENG. DE CONTROLE E AUTOMAÇÃO } , + { \centering\textbf{% + RELATÓRIO DE ESTÁGIO SUPERVISIONADO OBRIGATÓRIO, DESENVOLVIDO\\DE \DataFields{student.internship}{start} ATÉ \DataFields{student.internship}{end} } + }, internship.text-approvalpage = { Este Relatório foi julgado adequado para a obtenção do conceito final na Atividade de Estágio Supervisionado Obrigatório em Eng. de Controle e Automação e aprovado em sua forma final pel\DataFields{student.tutor}{article} @@ -171,7 +173,9 @@ e Automação e aprovado em sua forma final pel\DataFields{student.tutor}{article} Tutor\DataFields{student.tutor}{narticle} e Supervisor\DataFields{student.supervisor}{narticle}.% } , internship-opt.title = - { RELATÓRIO DE ESTÁGIO SUPERVISIONADO NÂO OBRIGATÓRIO EM ENG. DE CONTROLE E AUTOMAÇÃO } , + { \centering\textbf{% + RELATÓRIO DE ESTÁGIO SUPERVISIONADO NÂO OBRIGATÓRIO, DESENVOLVIDO\\DE \DataFields{student.internship}{start} ATÉ \DataFields{student.internship}{end} } + }, } @@ -183,47 +187,49 @@ \SetLabels{% - advisor = Orientador\DataFields{student.advisor}{narticle} , - advisors = Orientadores , - advisor.gen = Orientador(a) , - advisor.email = Email d\DataFields{student.advisor}{article} Orientador\DataFields{student.advisor}{narticle} , - coadvisor = Coorientador\DataFields{student.coadvisor}{narticle} , - coadvisor.gen = Coorientador(a) , - coadvisor.email = Email d\DataFields{student.coadvisor}{article} Coorientador\DataFields{student.coadvisor}{narticle} , - reviewer.base = Avaliador , - reviewer = Avaliador\DataFields{student.reviewer}{narticle} , - altreviewer = Suplente , - altreviewer.sig = Avaliador\DataFields{student.altreviewer}{narticle} , - tutor = Tutor\DataFields{student.tutor}{narticle} , - tutor.gen = Tutor(a) , - tutor.email = Email d\DataFields{student.tutor}{article} Tutor\DataFields{student.tutor}{narticle} , - supervisor = Supervisor\DataFields{student.supervisor}{narticle} , - supervisor.gen = Supervisor(a) , - student = Alun\DataFields{student}{article} , - student.gen = Aluno(a) , - student.email = Email d\DataFields{student}{article} Alun\DataFields{student}{article} , - student.ID = Cartão , - signature.gen = Assinatura , - signature.student = Assinatura\ \ d\DataFields{student}{article}\ \ Alun\DataFields{student}{article} , - signature.student.gen = Assinatura\ \ do(a)\ \ Aluno(a) , - signature.advisor = Assinatura\ \ d\DataFields{student.advisor}{article}\ \ Orientador\DataFields{student.advisor}{narticle} , - signature.coadvisor = Assinatura\ \ d\DataFields{student.coadvisor}{article}\ \ Coorientador\DataFields{student.coadvisor}{narticle} , - signature.reviewer = Assinatura\ \ d\DataFields{student.reviewer}{article}\ \ Avaliador\DataFields{student.reviewer}{narticle} , - signature.board = Assinatura\ \ do\ \ Membro\ \ da\ \ Banca , - signature.gen = Assinatura , - signature.supervisor = Assinatura\ \ d\DataFields{student.supervisor}{article}\ \ Supervisor\DataFields{student.supervisor}{narticle} , - signature.tutor = Assinatura\ \ d\DataFields{student.tutor}{article}\ \ Tutor\DataFields{student.tutor}{narticle} , - signature.internshipcoord = Assinatura\ \ d\ActivityCoord[internship]{article}\ \ Coordenador\ActivityCoord[internship]{narticle} , - worktitle = Título do Trabalho , - worktitle.temp = Título Provisório , - email = Email , - phone = ramal , - board = Banca Examinadora , - board.member = Membro da Banca , - agree = De Acordo , - Nproc = SEI , - remarks = remarks , - boardtime.gen = Horário , + professor = {Professor\DataFields{student.advisor}{narticle}} , + professors = {Professores} , + advisor = {Orientador\DataFields{student.advisor}{narticle}} , + advisors = {Orientadores} , + advisor.gen = {Orientador(a)} , + advisor.email = {Email d\DataFields{student.advisor}{article} Orientador\DataFields{student.advisor}{narticle}} , + coadvisor = {Coorientador\DataFields{student.coadvisor}{narticle}} , + coadvisor.gen = {Coorientador(a)} , + coadvisor.email = {Email d\DataFields{student.coadvisor}{article} Coorientador\DataFields{student.coadvisor}{narticle}} , + reviewer.base = {Avaliador} , + reviewer = {Avaliador\DataFields{student.reviewer}{narticle}} , + altreviewer = {Suplente} , + altreviewer.sig = {Avaliador\DataFields{student.altreviewer}{narticle}} , + tutor = {Tutor\DataFields{student.tutor}{narticle}} , + tutor.gen = {Tutor(a)} , + tutor.email = {Email d\DataFields{student.tutor}{article} Tutor\DataFields{student.tutor}{narticle}} , + supervisor = {Supervisor\DataFields{student.supervisor}{narticle}} , + supervisor.gen = {Supervisor(a)} , + student = {Alun\DataFields{student}{article}} , + student.gen = {Aluno(a)} , + student.email = {Email d\DataFields{student}{article} Alun\DataFields{student}{article}} , + student.ID = {Cartão} , + signature.gen = {Assinatura} , + signature.student = {Assinatura\ \ d\DataFields{student}{article}\ \ Alun\DataFields{student}{article}} , + signature.student.gen = {Assinatura\ \ do(a)\ \ Aluno(a)} , + signature.advisor = {Assinatura\ \ d\DataFields{student.advisor}{article}\ \ Orientador\DataFields{student.advisor}{narticle}} , + signature.coadvisor = {Assinatura\ \ d\DataFields{student.coadvisor}{article}\ \ Coorientador\DataFields{student.coadvisor}{narticle}} , + signature.reviewer = {Assinatura\ \ d\DataFields{student.reviewer}{article}\ \ Avaliador\DataFields{student.reviewer}{narticle}} , + signature.board = {Assinatura\ \ do\ \ Membro\ \ da\ \ Banca} , + signature.gen = {Assinatura} , + signature.supervisor = {Assinatura\ \ d\DataFields{student.supervisor}{article}\ \ Supervisor\DataFields{student.supervisor}{narticle}} , + signature.tutor = {Assinatura\ \ d\DataFields{student.tutor}{article}\ \ Tutor\DataFields{student.tutor}{narticle}} , + signature.internshipcoord = {Assinatura\ \ d\ActivityCoord[internship]{article}\ \ Coordenador\ActivityCoord[internship]{narticle}} , + worktitle = {Título do Trabalho} , + worktitle.temp = {Título Provisório} , + email = {Email} , + phone = {ramal} , + board = {Banca Examinadora} , + board.member = {Membro da Banca} , + agree = {De Acordo} , + Nproc = {SEI} , + remarks = {remarks} , + boardtime.gen = {Horário} , } \SetLabels{% diff --git a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf index b00760ede4e..02ac40fc7ce 100644 Binary files a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf and b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.pdf differ diff --git a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex index 9b5171802b6..413f1fc7d6e 100644 --- a/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex +++ b/Master/texmf-dist/doc/latex/ufrgscca/ufrgscca.tex @@ -2,7 +2,7 @@ % !TEX ext = --interaction=nonstopmode --enable-etex --enable-write18 % !BIB program = none %%%============================================================================== -%% Copyright 2022-23 by Alceu Frigeri +%% Copyright 2022-present by Alceu Frigeri %% %% This work may be distributed and/or modified under the conditions of %% @@ -15,7 +15,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.2} {2023/12/02} +%% This is version {2.3} {2023/12/05} %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca @@ -644,11 +644,12 @@ These are, respectively, \tsobj{\starray_get_prop:nn, \starray_term_syntax:n,\st \end{codedescribe} -\begin{codedescribe}[code,new=2023/11/18]{\studentiterate} +\begin{codedescribe}[code,new=2023/11/18,update=2023/12/02]{\studentiterate,\studentadvisoriterate} \begin{codesyntax}% \tsmacro{\studentiterate}{code} + \tsmacro{\studentadvisoriterate}{code} \end{codesyntax} -This is \tsobj{\starray_iterate_over:nn} from \tsobj[pack]{starray}. \tsobj[meta]{code} will be executed for every defined student. +These are \tsobj{\starray_iterate_over:nn} from \tsobj[pack]{starray}. \tsobj[meta]{code} will be executed for every defined student, \tsobj{\studentiterate} or student's advisor, \tsobj{\studentadvisoriterate}. \end{codedescribe} \begin{codedescribe}[code,new=2023/11/29]{\ActivityCalendarIterate} @@ -1051,12 +1052,13 @@ Those commands are only of use when using \tsobj[pkg]{ufrgscca-coord}. \tsmacro{ \end{codedescribe} -\begin{codedescribe}[code,new=2023/11/18]{\studentCase,\studentCoadvCase,\studentDismissCase,\studentNewPageCase,\studentDistinctBoardCase} +\begin{codedescribe}[code,new=2023/11/18,update=2023/12/02]{\studentCase,\studentAdvCase,\studentCoadvCase,\studentDismissCase,\studentNewPageCase,\studentDistinctBoardCase} \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} \tsmacro{\studentCoadvCase}{if-defined,if-not} \tsmacro{\studentDismissCase}{if-dismiss,if-not} - \tsmacro{\studentNewPageCase}{if-new,if-not} + \tsmacro{\studentNewPageCase}{if-newpage,if-not} \tsmacro{\studentDistinctBoardCase}{if-distinct,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. @@ -1180,6 +1182,13 @@ These are a set of auxiliary conditionals, for instance, \tsobj{\StudentCase} wi 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) \end{codedescribe} +\begin{codedescribe}[code,new=2023/12/04]{\studentaddtolist} + \begin{codesyntax}% + \tsmacro{\studentaddtolist}{listID} + \end{codesyntax} +Adds the student to a given list (defined by \tsobj[marg]{listID}), to be later used by \tsobj{\sortstudentlist} and \tsobj{\tcreport}. +\end{codedescribe} + \begin{codedescribe}{\checklist} \begin{codesyntax}% \tsmacro{\checklist}{csv-checkitems} @@ -1196,7 +1205,7 @@ To set the \tsobj[meta]{local}, \tsobj[meta]{date} and \tsobj[meta]{time} of a s \end{codedescribe} \begin{tsremark} -\tsobj[meta]{date} must be given in numerical form, either \tsmeta{day}/\tsmeta{month} or \tsmeta{day}/\tsmeta{month}/\tsmeta{year}. The day-of-the-week will be obtained using \tsobj[pkg]{pgfcalendar}. +\tsobj[meta]{date} must be given in numerical form, either \tsmeta{day}/\tsmeta{month} or \tsmeta{day}/\tsmeta{month}/\tsmeta{year}. The day-of-the-week will be obtained using \tsobj[pkg]{pgfcalendar}.\\ Likewise, \tsobj[marg]{time} must be given in a (24h) \tsmeta{hour}:\tsmeta{min} format. \end{tsremark} @@ -1250,18 +1259,27 @@ Quite obvious, this set the grades given by an examiner (the one defined by the \begin{codedescribe}[code,update=2023/11/29]{\setstudentlist} \begin{codesyntax}% \tsmacro{\setstudentlist}{listID,list} - \tsmacro{\setstudentlist*}{listID,list} - \tsmacro{\setstudentlist+}{listID,list} \end{codesyntax} -This command will define/create a list named \tsobj[meta]{listID} composed of a csv \tsobj[meta]{list}~ of student hashes (as defined by \tsmacro{\student}[student-hash]{...}). The star version sorts the list by student's full name, the \emph{plus} version sorts the list by student's presentation date. +This command will define/create a list named \tsobj[meta]{listID} composed of a csv \tsobj[meta]{list}~ of student hashes (as defined by \tsmacro{\student}[student-hash]{...}). +\end{codedescribe} + +\begin{codedescribe}[code,new=2023/12/04]{\sortstudentlist} + \begin{codesyntax}% + \tsmacro{\sortstudentlist}{listID} + \tsmacro{\sortstudentlist*}{listID} + \tsmacro{\sortstudentlist+}{listID} + \end{codesyntax} +These will sort (and classify) a given student list defined by \tsobj[meta]{listID}. The star version sorts the list by student's full name, the \emph{plus} version sorts the list by student's presentation date. +By default, the list remains unchanged (no sort). \end{codedescribe} + \begin{codedescribe}{\tcreports} \begin{codesyntax}% - \tsmacro{\tcreports}[rep-list]{listID} + \tsmacro{\tcreports}[report-list]{listID} \end{codesyntax} This will typeset the many reports, using the student list defined by \tsobj[meta]{listID}. - \tsobj[meta]{rep-list} is a csv list of keys as follow: + Where \tsobj[meta]{report-list} is a csv list of keys as follow: \end{codedescribe} \begin{describelist}{option} -- cgit v1.2.3