From f301a9f32ac9a287615fb0d80fbfd49b0c17f1c8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 3 Dec 2023 21:08:42 +0000 Subject: ufrgscca (3dec23) git-svn-id: svn://tug.org/texlive/trunk@69025 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/ufrgscca/ufrgscca-abnt.sty | 18 +- .../tex/latex/ufrgscca/ufrgscca-base-en.def | 2 +- .../tex/latex/ufrgscca/ufrgscca-base-ptBR.def | 2 +- .../tex/latex/ufrgscca/ufrgscca-coord.sty | 261 +++++++++++++++------ .../tex/latex/ufrgscca/ufrgscca-core.sty | 20 +- .../tex/latex/ufrgscca/ufrgscca-cover.sty | 20 +- .../tex/latex/ufrgscca/ufrgscca-curr.sty | 10 +- .../tex/latex/ufrgscca/ufrgscca-forms.sty | 17 +- .../tex/latex/ufrgscca/ufrgscca-lists.sty | 10 +- .../texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty | 10 +- Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls | 10 +- 11 files changed, 244 insertions(+), 136 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty index dce7de584a0..9eb2b1b127f 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-abnt.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA ABNT layout} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca-abnt} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~ abnt~layout} } \cs_if_exist:NF \__codedesc_pkg_info:nn @@ -782,7 +782,7 @@ %==============================================================================% % date redefinition (separated month and year) %==============================================================================% -\RenewDocumentCommand{\date}{O{\number\day}mm}{% +\NewDocumentCommand{\pubdate}{O{\number\day}mm}{% \int_compare:nNnTF {#1} < {10} { \SetConsts{% @@ -799,7 +799,11 @@ } } }% -\date{\monthname}{\number\year}% +\pubdate{\monthname}{\number\year}% +\bool_if:NT \l__ufrgscca_oldrenews_bool + { + \RenewDocumentCommand{\date}{O{\number\day}mm}{\pubdate[#1]{#2}{#3}}% + } \bool_if:NTF \l__ufrgscca_english_bool diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def index fcbb6748152..e1fa48bde03 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-en.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/tex/latex/ufrgscca/ufrgscca-base-ptBR.def b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def index a75f798851f..3f92982697d 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-base-ptBR.def @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/tex/latex/ufrgscca/ufrgscca-coord.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty index a232b458912..2ac06980144 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA coord commands} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca-coord} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~ coordination~ report~ commands} } \cs_if_exist:NF \__codedesc_pkg_info:nn @@ -71,6 +71,9 @@ \keys_define:nn { ufrgscca / coord } { + attendance. bool_set:N = \l__ufrgscca_attendance_bool , + attendance. usage:n = general , + calendar-I. bool_set:N = \l__ufrgscca_calendarI_bool , calendar-I. usage:n = general , @@ -136,47 +139,63 @@ gender = , } -\NewDocumentCommand{\professor}{O{}mmO{}} +\NewDocumentCommand{\professor}{O{}mmmmO{}} { \starray_new_term:nn {prof}{#1} \starray_set_from_keyval:nn {prof} { last = {#2}, first = {#3}, - gender = {#4}, + email = {#4}, + phone = {#5}, + gender = {#6}, } } -\cs_new_protected:Npn \__ufrgscca_prof_ref_set:nnnn #1#2#3#4 - { #1 {#2}{#3}[#4] } +\cs_new_protected:Npn \__ufrgscca_prof_ref_set:nnnnnnn #1#2#3#4#5#6#7 + { + #1 {#3}{#4}[#5] + #2 {}{}{#6}{#7} + } -\cs_generate_variant:Nn \__ufrgscca_prof_ref_set:nnnn {eeee} +\cs_generate_variant:Nn \__ufrgscca_prof_ref_set:nnnnnnn {nneeeee} -\cs_new_protected:Npn \__ufrgscca_prof_ref:nn #1#2 +\cs_new_protected:Npn \__ufrgscca_prof_ref:nnn #1#2#3 { - \starray_set_iter_from_hash:nnTF {prof}{#2} + \starray_set_iter_from_hash:nnTF {prof}{#3} { \starray_term_syntax:n {prof} - \__ufrgscca_prof_ref_set:eeee {#1}{\starray_parsed_get_prop:n{last}}{\starray_parsed_get_prop:n{first}}{\starray_parsed_get_prop:n{gender}} + \__ufrgscca_prof_ref_set:nneeeee {#1}{#2} + {\starray_parsed_get_prop:n{last}}{\starray_parsed_get_prop:n{first}}{\starray_parsed_get_prop:n{gender}} + {\starray_parsed_get_prop:n{email}}{\starray_parsed_get_prop:n{phone}} } { - #1{definido:(#2)}{não} + #1{definido:(#3)}{não} } } \NewDocumentCommand{\advisorprof}{m} - { \__ufrgscca_prof_ref:nn {\advisor}{#1} } + { \__ufrgscca_prof_ref:nnn {\advisor}{\advisorinfo}{#1} } \NewDocumentCommand{\coadvisorprof}{m} - { \__ufrgscca_prof_ref:nn {\coadvisor}{#1} } + { \__ufrgscca_prof_ref:nnn {\coadvisor}{\coadvisorinfo}{#1} } \NewDocumentCommand{\examinerprof}{m} - { \__ufrgscca_prof_ref:nn {\examiner}{#1} } + { \__ufrgscca_prof_ref:nnn {\examiner}{\examinerinfo}{#1} } \NewDocumentCommand{\altexaminerprof}{m} - { \__ufrgscca_prof_ref:nn {\altexaminer}{#1} } - + { \__ufrgscca_prof_ref:nnn {\altexaminer}{\altexaminerinfo}{#1} } +%%% from -ppc +\cs_new:Npn \__ufrgscca_def_colorpair:n #1 + { + \colorlet{light#1}{white!85!#1} + \colorlet{dark#1}{#1!70!black!100} + \colorlet{darker#1}{#1!40!black!100} + } +\__ufrgscca_def_colorpair:n {red} +\__ufrgscca_def_colorpair:n {green} +\__ufrgscca_def_colorpair:n {blue} \NewDocumentCommand{\ActivitySetNewEvent}{O{}mm}{ \tl_if_blank:nTF {#1} @@ -267,12 +286,14 @@ \tl_new:N \l__ufrgscca_tmpb_tl \tl_new:N \l__ufrgscca_tmpc_tl \tl_new:N \l__ufrgscca_tmpd_tl +\tl_new:N \l__ufrgscca_tmpe_tl +\prg_generate_conditional_variant:Nnn \str_case:nn {en}{T,F,TF} \cs_new_protected:Npn \__ufrgscca_studentgrade: { \starray_term_syntax:n {student} \bool_if:nTF {\starray_parsed_get_prop:n {flag-null}} { - \starray_gset_prop:nnn {student}{grade}{D*} + \starray_gset_prop:nnn {student}{grade}{\color{red}D*} } { %(\DataFields{student}{name})\par @@ -282,7 +303,8 @@ \tl_set:Ne \l__ufrgscca_tmpb_tl {\starray_parsed_get_prop:n {grade}} \starray_term_syntax:n {student.reviewer[3]} \tl_set:Ne \l__ufrgscca_tmpc_tl {\starray_parsed_get_prop:n {grade}} - \str_case:nnF {\starray_parsed_get_prop:n {gradetype}} + \tl_set:Ne \l__ufrgscca_tmpe_tl {\starray_parsed_get_prop:n {gradetype}} + \str_case:enF {\l__ufrgscca_tmpe_tl} { {1} { @@ -295,7 +317,9 @@ {\fpeval{round(((\l__ufrgscca_tmpa_tl + \l__ufrgscca_tmpb_tl + \l__ufrgscca_tmpc_tl)/3),2,1)}} } } - { \tl_set:Nn \l__ufrgscca_tmpd_tl {0} } + { \tl_set:Nn \l__ufrgscca_tmpd_tl {7.99} + \starray_gset_prop:nne {student}{reason}{\l__ufrgscca_tmpa_tl-\l__ufrgscca_tmpb_tl-\l__ufrgscca_tmpc_tl-\l__ufrgscca_tmpe_tl} + } \starray_gset_prop:nne {student}{gradeavrg}{\l__ufrgscca_tmpd_tl} \fp_compare:nNnTF {\l__ufrgscca_tmpd_tl} < {\UseConst{NgradeC}} @@ -324,46 +348,99 @@ \starray_gset_prop:nnn {student}{flag-graded}{\c_true_bool} } - -\cs_new_protected:Npn \__ufrgscca_set_timeslot:nnnn #1#2#3#4 +\cs_new_protected:Npn \__ufrgscca_set_timeslot:nnnnn #1#2#3#4#5 { \starray_gset_from_keyval:nn {student} { board-local = {#1} , board-time = {#2} , board-date = {#3} , + board-datetime = {#5} , } \SetConsts { date:#3 = {\__ufrgscca_weekday:n {#4}} , } } -\cs_generate_variant:Nn \__ufrgscca_set_timeslot:nnnn {nnee} +\cs_generate_variant:Nn \__ufrgscca_set_timeslot:nnnnn {neeee} +\cs_generate_variant:Nn \int_set:Nn {Ne} -\seq_new:N \l__ufrgscca_cal_seq +\seq_new:N \l__ufrgscca_date_seq +\seq_new:N \l__ufrgscca_time_seq \newcount\l__ufrgscca_day_counter \newcount\l__ufrgscca_weekday_counter -\NewDocumentCommand{\timeslot}{O{}mm}{%% - \seq_set_split:Nnn \l__ufrgscca_cal_seq {/} {#2} - \int_case:nnF {\seq_count:N \l__ufrgscca_cal_seq} - { - {2}{ \seq_put_right:Ne \l__ufrgscca_cal_seq {\number\year} } - {3}{} - } - { - \seq_clear:N \l__ufrgscca_cal_seq - \seq_put_right:Nn \l__ufrgscca_cal_seq {31} - \seq_put_right:Nn \l__ufrgscca_cal_seq {12} - \seq_put_right:Ne \l__ufrgscca_cal_seq {\number\year} - } - \seq_reverse:N \l__ufrgscca_cal_seq - \pgfcalendardatetojulian{\seq_use:Nn \l__ufrgscca_cal_seq {-}}{\l__ufrgscca_day_counter} - \pgfcalendarjuliantoweekday{\the\l__ufrgscca_day_counter}{\l__ufrgscca_weekday_counter} - \seq_reverse:N \l__ufrgscca_cal_seq - \seq_pop_right:NN \l__ufrgscca_cal_seq \l_tmpa_tl - - \__ufrgscca_set_timeslot:nnee {#1}{#3}{\seq_use:Nn \l__ufrgscca_cal_seq {/}}{\the\l__ufrgscca_weekday_counter} -}% +\tl_new:N \l__ufrgscca_cal_datetime_tl +\int_new:N \l__ufrgscca_day_tmp_int +\int_new:N \l__ufrgscca_month_tmp_int +\int_new:N \l__ufrgscca_year_tmp_int +\int_new:N \l__ufrgscca_hour_tmp_int +\int_new:N \l__ufrgscca_min_tmp_int +\cs_generate_variant:Nn \seq_set_split:Nnn {Nen} +\NewDocumentCommand{\timeslot}{O{}mm} + {%% + \tl_set:Ne \l_tmpa_tl {\tl_to_str:n{:}} + \seq_set_split:Nen \l__ufrgscca_time_seq {\l_tmpa_tl} {#3} + \int_case:nnF {\seq_count:N \l__ufrgscca_time_seq} + { + {2}{ + \seq_pop_left:NNTF \l__ufrgscca_time_seq \l_tmpa_tl + { \int_set:Ne \l__ufrgscca_hour_tmp_int {\l_tmpa_tl} } + {} + \seq_pop_left:NNTF \l__ufrgscca_time_seq \l_tmpa_tl + { \int_set:Ne \l__ufrgscca_min_tmp_int {\l_tmpa_tl} } + {} + } + } + { + \int_set:Nn \l__ufrgscca_hour_tmp_int {12} + \int_set:Nn \l__ufrgscca_min_tmp_int {12} + } + \seq_clear:N \l__ufrgscca_time_seq + \int_compare:nNnTF {\l__ufrgscca_hour_tmp_int} < {10} + {\seq_put_right:Ne \l__ufrgscca_time_seq {0 \int_use:N \l__ufrgscca_hour_tmp_int}} + {\seq_put_right:Ne \l__ufrgscca_time_seq { \int_use:N \l__ufrgscca_hour_tmp_int}} + \int_compare:nNnTF {\l__ufrgscca_min_tmp_int} < {10} + {\seq_put_right:Ne \l__ufrgscca_time_seq {0 \int_use:N \l__ufrgscca_min_tmp_int}} + {\seq_put_right:Ne \l__ufrgscca_time_seq { \int_use:N \l__ufrgscca_min_tmp_int}} + + \seq_set_split:Nnn \l__ufrgscca_date_seq {/} {#2} + \int_case:nnF {\seq_count:N \l__ufrgscca_date_seq} + { + {2}{ \seq_put_right:Ne \l__ufrgscca_date_seq {\number\year} } + {3}{} + } + { + \seq_clear:N \l__ufrgscca_date_seq + \seq_put_right:Nn \l__ufrgscca_date_seq {31} + \seq_put_right:Nn \l__ufrgscca_date_seq {12} + \seq_put_right:Ne \l__ufrgscca_date_seq {\number\year} + } + \seq_pop_left:NNTF \l__ufrgscca_date_seq \l_tmpa_tl + { \int_set:Ne \l__ufrgscca_day_tmp_int {\l_tmpa_tl} } + {} + \seq_pop_left:NNTF \l__ufrgscca_date_seq \l_tmpa_tl + { \int_set:Ne \l__ufrgscca_month_tmp_int {\l_tmpa_tl} } + {} + \seq_pop_left:NNTF \l__ufrgscca_date_seq \l_tmpa_tl + { \int_set:Ne \l__ufrgscca_year_tmp_int {\l_tmpa_tl} } + {} + \seq_clear:N \l__ufrgscca_date_seq + \seq_put_right:Ne \l__ufrgscca_date_seq {\int_use:N \l__ufrgscca_year_tmp_int} + \int_compare:nNnTF {\l__ufrgscca_month_tmp_int} < {10} + {\seq_put_right:Ne \l__ufrgscca_date_seq {0 \int_use:N \l__ufrgscca_month_tmp_int}} + {\seq_put_right:Ne \l__ufrgscca_date_seq { \int_use:N \l__ufrgscca_month_tmp_int}} + \int_compare:nNnTF {\l__ufrgscca_day_tmp_int} < {10} + {\seq_put_right:Ne \l__ufrgscca_date_seq {0 \int_use:N \l__ufrgscca_day_tmp_int}} + {\seq_put_right:Ne \l__ufrgscca_date_seq { \int_use:N \l__ufrgscca_day_tmp_int}} + + \tl_set:Ne \l__ufrgscca_cal_datetime_tl {\seq_use:Nn \l__ufrgscca_date_seq {-} - \seq_use:Nn \l__ufrgscca_time_seq {:}} + \pgfcalendardatetojulian{\seq_use:Nn \l__ufrgscca_date_seq {-}}{\l__ufrgscca_day_counter} + \pgfcalendarjuliantoweekday{\the\l__ufrgscca_day_counter}{\l__ufrgscca_weekday_counter} + \seq_greverse:N \l__ufrgscca_date_seq + \seq_gpop_right:NN \l__ufrgscca_date_seq \l_tmpa_tl + + \__ufrgscca_set_timeslot:neeee {#1}{\seq_use:Nn \l__ufrgscca_time_seq {:}}{\seq_use:Nn \l__ufrgscca_date_seq {/}}{\the\l__ufrgscca_weekday_counter}{\l__ufrgscca_cal_datetime_tl} + }% @@ -517,20 +594,36 @@ } + + \tl_new:N \l__ufrgscca_sortA_tl \tl_new:N \l__ufrgscca_sortB_tl +\cs_new_protected:Npn \__ufrgscca_seq_sort:nn #1#2 + { + \seq_gsort:cn {l__ufrgscca_#1_seq } + { + \starray_set_iter_from_hash:nn {student}{##1} + \starray_get_prop:nnN {student}{#2} \l__ufrgscca_sortA_tl + \starray_set_iter_from_hash:nn {student}{##2} + \starray_get_prop:nnN {student}{#2} \l__ufrgscca_sortB_tl + \str_compare:eNeTF { \l__ufrgscca_sortA_tl } > { \l__ufrgscca_sortB_tl } + { \sort_return_swapped: } + { \sort_return_same: } + } + } + -\NewDocumentCommand{\setstudentlist}{sO{tcc}mm}{ - \seq_new:c {l__ufrgscca_#3_seq} - \seq_new:c {l__ufrgscca_#3_ff_seq} - \seq_new:c {l__ufrgscca_#3_dismiss_seq} - \seq_new:c {l__ufrgscca_#3_graded_seq} +\NewDocumentCommand{\setstudentlist}{st+O{tcc}mm}{ + \seq_new:c {l__ufrgscca_#4_seq} + \seq_new:c {l__ufrgscca_#4_ff_seq} + \seq_new:c {l__ufrgscca_#4_dismiss_seq} + \seq_new:c {l__ufrgscca_#4_graded_seq} - \clist_map_inline:nn {#4} + \clist_map_inline:nn {#5} { \starray_set_iter_from_hash:nnT {student}{##1} { - \seq_put_right:cn {l__ufrgscca_#3_seq} {##1} + \seq_put_right:cn {l__ufrgscca_#4_seq} {##1} \emptytermifnone{student.advisor} \emptytermifnone[3]{student.reviewer}[\starray_gset_prop:nnn {student}{flag-null}{\c_true_bool}] \emptytermifnone{student.altreviewer} @@ -538,43 +631,34 @@ } % \seq_gset_from_clist:cn {l__ufrgscca_#3_seq}{#4} - \bool_if:nT {#1} - { - \seq_gsort:cn {l__ufrgscca_#3_seq } - { - \starray_set_iter_from_hash:nn {student}{##1} - \starray_get_prop:nnN {student}{name} \l__ufrgscca_sortA_tl - \starray_set_iter_from_hash:nn {student}{##2} - \starray_get_prop:nnN {student}{name} \l__ufrgscca_sortB_tl - \str_compare:eNeTF { \l__ufrgscca_sortA_tl } > { \l__ufrgscca_sortB_tl } - { \sort_return_swapped: } - { \sort_return_same: } - } + \bool_if:nTF {#1} + { \__ufrgscca_seq_sort:nn {#4}{name} } + { + \bool_if:nT {#2} + { \__ufrgscca_seq_sort:nn {#4}{board-datetime} } } - - - \str_case:nn {#2} + \str_case:nn {#3} { {tcc} { - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_grade:n} - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_listclassify:nn {#3}} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_grade:n} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_listclassify:nn {#4}} } {tccI} { - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_grade:n} - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_listclassify:nn {#3}} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_grade:n} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_listclassify:nn {#4}} } {tccII} { - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_grade:n} - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_listclassify:nn {#3}} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_grade:n} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_listclassify:nn {#4}} } {intern} { %% TO BE IMPLEMENTED !!! - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_grade:n} - \seq_map_tokens:cn {l__ufrgscca_#3_seq} {\__ufrgscca_listclassify:nn {#3}} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_grade:n} + \seq_map_tokens:cn {l__ufrgscca_#4_seq} {\__ufrgscca_listclassify:nn {#4}} } } } @@ -609,6 +693,10 @@ \seq_gset_eq:Nc \l__ufrgscca_baselist_ff_seq {l__ufrgscca_#2_ff_seq} \seq_gset_eq:Nc \l__ufrgscca_baselist_dismiss_seq {l__ufrgscca_#2_dismiss_seq} \seq_gset_eq:Nc \l__ufrgscca_baselist_graded_seq {l__ufrgscca_#2_graded_seq} + + \bool_if:NT \l__ufrgscca_attendance_bool + { \MakeForm{attendancelist} + \MakeForm{attendancelist} } \bool_if:NT \l__ufrgscca_calendarI_bool { \MakeForm{calendar-I} } @@ -649,7 +737,9 @@ } \bool_if:NT \l__ufrgscca_referralII_bool { - \MakeForm{referral-II} + \studentDismissCase + {} + { \MakeForm{referral-II} } } \bool_if:NT \l__ufrgscca_revformsII_bool { @@ -740,3 +830,18 @@ \l__ufrgscca_table_tl } +\NewDocumentCommand{\CheckList}{mmmO{red}}{ + \seq_if_empty:cF {l__ufrgscca_baselist_#2_seq} + { + &\\ + \multicolumn{#1}{l}{\textbf{\color{#4}#3}}\\\hline + \seq_map_inline:cn {l__ufrgscca_baselist_#2_seq} + { + \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 + } + } + +} diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty index 92b211cf5c5..a303a53a2ad 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-core.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA core commands} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca-core} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~core~commands/data} } \cs_if_exist:NF \__codedesc_pkg_info:nn @@ -403,7 +403,7 @@ } % -\NewDocumentCommand{\studentCoadvCase}{mm}{ +\NewDocumentCommand{\studentCoadvCase}{+m+m}{ \starray_term_syntax:n{student} \bool_if:nTF {\starray_parsed_get_prop:n{flag-coadvisor}} {#1} @@ -457,7 +457,7 @@ { Nproc = {#1} , ID = {#2} , - email = {#3} , + email = {\tl_to_str:n{#3}} , } }% @@ -466,7 +466,7 @@ { \RenewDocumentCommand{\author}{O{}mmO{}}{\student[#1]{#2}{#3}[#4]}% \NewDocumentCommand{\authorinfo}{O{}mm}{\studentinfo[#1]{#2}{#3}}% - \NewDocumentCommand{\title}{m}{\worktitle{#1}}% + \RenewDocumentCommand{\title}{m}{\worktitle{#1}}% } @@ -490,7 +490,7 @@ { institution = {#2} , title = {#3} , - email = {#4} , + email = {\tl_to_str:n{#4}} , phone = {#5} , } } @@ -578,7 +578,7 @@ { register = {#1} , office = {#2} , - email = {#3} , + email = {\tl_to_str:n{#3}} , phone = {#4} , } }% diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty index 5f33f075588..ab87aa84b82 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-cover.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA cover commands} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca-cover} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~ cover~pages} } \cs_if_exist:NF \__codedesc_pkg_info:nn @@ -106,11 +106,11 @@ \keys_define:nn { ufrgscca / layout } { cover .usage:n = general, - cover .code:n = {\__ufrgscca_cover_page:n{#1}}, - desc .usage:n = general, - desc .code:n = {\__ufrgscca_desc_page:n{#1}}, - approval .usage:n = general, - approval .code:n = {\__ufrgscca_approval_page:n{#1}}, + cover .code:n = {\__ufrgscca_cover_page:n{#1}}, + desc .usage:n = general, + desc .code:n = {\__ufrgscca_desc_page:n{#1}}, + approval .usage:n = general, + approval .code:n = {\__ufrgscca_approval_page:n{#1}}, } \cs_generate_variant:Nn \seq_map_inline:Nn {Ne} diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty index c1d47459071..05380271f62 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-curr.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA curricula commands} %%%%%%% @@ -41,8 +41,8 @@ { name .code:n = {ufrgscca-curr} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~ curricula~ commands} } \cs_if_exist:NF \__codedesc_pkg_info:nn diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty index 38380a97c32..4acd2de65b5 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-forms.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA forms commands} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca-forms} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~ forms~commands} } \cs_if_exist:NF \__codedesc_pkg_info:nn @@ -175,14 +175,13 @@ \int_new:N \l__ufrgscca_a_int \int_new:N \l__ufrgscca_b_int -\NewDocumentCommand{\BlankLines}{m}{ +\NewDocumentCommand{\BlankLines}{O{0pt}m}{ \int_zero:N \l__ufrgscca_a_int - \int_set:Nn \l__ufrgscca_b_int {#1} + \int_set:Nn \l__ufrgscca_b_int {#2} \int_do_until:nNnn {\l__ufrgscca_a_int} {=} {\l__ufrgscca_b_int} { \int_incr:N \l__ufrgscca_a_int - \hrulefill\\\par% - + \hrulefill\\[#1]\par% } } diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty index 0e00613fe42..732b0ed3a57 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-lists.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA auxiliary lists commands} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca-lists} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30} , - version .code:n = {2.1} , + date .code:n = {2023/12/02} , + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~Auxiliary~ lists~ commands} } \cs_if_exist:NF \__codedesc_pkg_info:nn diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty index 4a176fd236e..67724e318ce 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-ppc.sty @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA PPC commands} %%%%%%% @@ -41,8 +41,8 @@ { name .code:n = {ufrgscca-ppc} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~ auxiliary~ PPC-related~ (indicators)~ commands} } \cs_if_exist:NF \__codedesc_pkg_info:nn diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls index 4aa296e5c42..4b49363841f 100644 --- a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls +++ b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca.cls @@ -12,7 +12,7 @@ %% %% The Current Maintainer of this work is Alceu Frigeri %% -%% This is version {2.1} {2023/11/30} +%% This is version {2.2} {2023/12/02} %% %% 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/11/30} - {2.1} + {2023/12/02} + {2.2} {UFRGS/CCA class} @@ -42,8 +42,8 @@ { name .code:n = {ufrgscca} , prefix .code:n = {ufrgscca} , - date .code:n = {2023/11/30}, - version .code:n = {2.1} , + date .code:n = {2023/12/02}, + version .code:n = {2.2} , description .code:n = {UFRGS/CCA~a~report~based~class~bundle} } \cs_if_exist:NF \__codedesc_pkg_info:nn -- cgit v1.2.3