summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty')
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty159
1 files changed, 63 insertions, 96 deletions
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
index db572b8c15..e03a338b2f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version {2.5} {2024/02/25}
+%% This is version {2.6} {2024/02/29}
%%
%% 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}
- {2024/02/25}
- {2.5}
+ {2024/02/29}
+ {2.6}
{UFRGS/CCA coord commands}
@@ -42,8 +42,8 @@
{
name .code:n = {ufrgscca-coord} ,
prefix .code:n = {ufrgscca} ,
- date .code:n = {2024/02/25},
- version .code:n = {2.5} ,
+ date .code:n = {2024/02/29},
+ version .code:n = {2.6} ,
description .code:n = {UFRGS/CCA~ coordination~ report~ commands}
}
\cs_if_exist:NF \PkgInfo
@@ -274,6 +274,14 @@
flag-graded = \c_true_bool ,
}
}
+ {other}
+ {
+ \starray_gset_from_keyval:nn {student}
+ {
+ flag-other = \c_true_bool ,
+ flag-graded = \c_true_bool ,
+ }
+ }
}
{ %% in case of none of above...
\starray_gset_from_keyval:nn {student}
@@ -292,6 +300,7 @@
\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}
@@ -314,44 +323,52 @@
{
\tl_set:Ne \l__ufrgscca_tmpd_tl
{\fpeval{round(((\l__ufrgscca_tmpb_tl + \l__ufrgscca_tmpc_tl)/2),2,1)}}
+ \__ufrgscca_set_grade:n \l__ufrgscca_tmpd_tl
}
{2}
{
\tl_set:Ne \l__ufrgscca_tmpd_tl
{\fpeval{round(((\l__ufrgscca_tmpa_tl + \l__ufrgscca_tmpb_tl + \l__ufrgscca_tmpc_tl)/3),2,1)}}
+ \__ufrgscca_set_grade:n \l__ufrgscca_tmpd_tl
}
}
- { \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}}
- { % D
- \starray_gset_prop:nnn {student}{grade}{D}
- }
- {
- \fp_compare:nNnTF {\l__ufrgscca_tmpd_tl} < {\UseConst{NgradeB}}
- { % C
- \starray_gset_prop:nnn {student}{grade}{C}
- \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
- }
- {
- \fp_compare:nNnTF {\l__ufrgscca_tmpd_tl} < {\UseConst{NgradeA}}
- { % B
- \starray_gset_prop:nnn {student}{grade}{B}
- \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
- }
- { % A
- \starray_gset_prop:nnn {student}{grade}{A}
- \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
- }
- }
+ {
+ \starray_gset_prop:nne {student}{gradeavrg}{0}
+ \starray_gset_prop:nnn {student}{grade}{\color{red}D*}
}
}
\starray_gset_prop:nnn {student}{flag-graded}{\c_true_bool}
}
+
+\cs_new_protected:Npn \__ufrgscca_set_grade:n #1
+ {
+ \starray_gset_prop:nne {student}{gradeavrg}{#1}
+ \fp_compare:nNnTF {#1} < {\UseConst{NgradeC}}
+ { % D
+ \starray_gset_prop:nnn {student}{grade}{D}
+ }
+ {
+ \fp_compare:nNnTF {#1} < {\UseConst{NgradeB}}
+ { % C
+ \starray_gset_prop:nnn {student}{grade}{C}
+ \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
+ }
+ {
+ \fp_compare:nNnTF {#1} < {\UseConst{NgradeA}}
+ { % B
+ \starray_gset_prop:nnn {student}{grade}{B}
+ \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
+ }
+ { % A
+ \starray_gset_prop:nnn {student}{grade}{A}
+ \starray_gset_prop:nnn {student}{flag-approved}{\c_true_bool}
+ }
+ }
+ }
+ }
+
+
\cs_new_protected:Npn \__ufrgscca_set_timeslot:nnnnn #1#2#3#4#5
{
\starray_gset_from_keyval:nn {student}
@@ -448,63 +465,6 @@
-\NewDocumentCommand{\studentCase}{mmmmm}{
- \starray_term_syntax:n{student}
- \bool_case:nF
- {
- {\starray_parsed_get_prop:n{flag-ff}}
- {#5}
- {\starray_parsed_get_prop:n{flag-exam}}
- {
- \bool_if:nTF{\starray_parsed_get_prop:n{flag-approved}}
- {#3}
- {#4}
- }
- }
- {
- \bool_if:nTF{\starray_parsed_get_prop:n{flag-approved}}
- {#1}
- {#2}
- }
-}
-
-\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}}
- {#1}
- {#2}
-}
-
-\NewDocumentCommand{\studentremark}{m}{
- \starray_gset_prop:nnn {student}{remarks}{#1}
-}
-
-
-
-\NewDocumentCommand{\studentNewPageCase}{mm}
- {
- \starray_term_syntax:n{student}
- \bool_if:nTF {\starray_parsed_get_prop:n{flag-newpage}}
- {#1}
- {#2}
- }
-
-\NewDocumentCommand{\studentnewpage}{O{}}{
- \tl_if_blank:nTF {#1}
- { \starray_gset_prop:nnn {student}{flag-newpage}{\c_true_bool} }
- { \starray_gset_prop:nnn {student[#1]}{flag-newpage}{\c_true_bool} }
-}%
-
-
-
\NewDocumentCommand{\boardtitle}{m}{%%
\SetTerms{%
board.title = {#1} ,
@@ -624,6 +584,7 @@
\seq_new:c {l__ufrgscca_#1_list_ff_seq}
\seq_new:c {l__ufrgscca_#1_list_dismiss_seq}
\seq_new:c {l__ufrgscca_#1_list_graded_seq}
+ \seq_new:c {l__ufrgscca_#1_list_other_seq}
\bool_new:c {l__ufrgscca_#1_classified_bool}
}
@@ -650,6 +611,7 @@
\seq_gclear_new:c {l__ufrgscca_#1_list_seq}
\seq_gclear_new:c {l__ufrgscca_#1_list_ff_seq}
\seq_gclear_new:c {l__ufrgscca_#1_list_dismiss_seq}
+ \seq_gclear_new:c {l__ufrgscca_#1_list_other_seq}
\seq_gclear_new:c {l__ufrgscca_#1_list_graded_seq}
\bool_if_exist:cF {l__ufrgscca_#1_classified_bool}
{ \bool_new:c {l__ufrgscca_#1_classified_bool} }
@@ -671,7 +633,10 @@
\starray_set_iter_from_hash:nn {student}{#1}
\starray_term_syntax:n {student}
\bool_if:nF {\starray_parsed_get_prop:n {flag-graded}}
- { \__ufrgscca_studentgrade: }
+ {
+ \emptytermifnone[3]{student.reviewer}[\starray_gset_prop:nnn {student}{flag-null}{\c_true_bool}]
+ \__ufrgscca_studentgrade:
+ }
}
@@ -683,6 +648,7 @@
{
{\starray_parsed_get_prop:n {flag-ff}}{\seq_gput_right:cn {l__ufrgscca_#1_list_ff_seq}{#2}}
{\starray_parsed_get_prop:n {flag-dismiss}}{\seq_gput_right:cn {l__ufrgscca_#1_list_dismiss_seq}{#2}}
+ {\starray_parsed_get_prop:n {flag-other}}{\seq_gput_right:cn {l__ufrgscca_#1_list_other_seq}{#2}}
}
{\seq_gput_right:cn {l__ufrgscca_#1_list_graded_seq}{#2}}
}
@@ -697,6 +663,7 @@
\seq_gset_eq:Nc \l__ufrgscca_baselist_seq {l__ufrgscca_#2_list_seq}
\seq_gset_eq:Nc \l__ufrgscca_baselist_ff_seq {l__ufrgscca_#2_list_ff_seq}
\seq_gset_eq:Nc \l__ufrgscca_baselist_dismiss_seq {l__ufrgscca_#2_list_dismiss_seq}
+ \seq_gset_eq:Nc \l__ufrgscca_baselist_other_seq {l__ufrgscca_#2_list_other_seq}
\seq_gset_eq:Nc \l__ufrgscca_baselist_graded_seq {l__ufrgscca_#2_list_graded_seq}
\bool_if:NT \l__ufrgscca_attendance_bool
@@ -728,13 +695,13 @@
}
\bool_if:NT \l__ufrgscca_referralI_bool
{
- \studentDismissCase
+ \studentDismissOtherCase
{}
{ \MakeForm{referral-I} }
}
\bool_if:NT \l__ufrgscca_revformsI_bool
{
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
\eDataSet{student.reviewer}
@@ -744,7 +711,7 @@
\tl_set:Nn \ReviewerBookMarkTL {~-~2}
}
\MakeForm{examinersform-I}
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
\eDataSet{student.reviewer}
@@ -758,13 +725,13 @@
}
\bool_if:NT \l__ufrgscca_referralII_bool
{
- \studentDismissCase
+ \studentDismissOtherCase
{}
{ \MakeForm{referral-II} }
}
\bool_if:NT \l__ufrgscca_revformsII_bool
{
- \SetReviewer{1}
+ \studentReviewerSelect{1}
\studentReviewerSetCase{1}
{
\eDataSet{student.reviewer}
@@ -775,7 +742,7 @@
}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
- \SetReviewer{2}
+ \studentReviewerSelect{2}
\studentReviewerSetCase{2}
{
\eDataSet{student.reviewer}
@@ -786,7 +753,7 @@
}
\MakeForm{examinersform-II}
\MakeForm{correctionsform-II}
- \SetReviewer{3}
+ \studentReviewerSelect{3}
\studentReviewerSetCase{3}
{
\eDataSet{student.reviewer}