diff options
author | Karl Berry <karl@freefriends.org> | 2024-02-21 21:10:20 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-02-21 21:10:20 +0000 |
commit | 60f3bd5d1ac0ae4dbcc1d6e9ff079bb31023e862 (patch) | |
tree | eae8c0ea4f239507acc1b2035460ba3b08449db3 /Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty | |
parent | e534302325fefa02f44cfb0c723f38194ebeea6f (diff) |
ufrgscca (21feb24)
git-svn-id: svn://tug.org/texlive/trunk@70047 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty | 149 |
1 files changed, 88 insertions, 61 deletions
diff --git a/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty b/Master/texmf-dist/tex/latex/ufrgscca/ufrgscca-coord.sty index 612a5885c82..109029231ea 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.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,6 +476,13 @@ } } +\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} @@ -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 +} |