%%%============================================================================== %% Copyright 2022-present by Alceu Frigeri %% %% This work may be distributed and/or modified under the conditions of %% %% * The [LaTeX Project Public License](http://www.latex-project.org/lppl.txt), %% version 1.3c (or later), and/or %% * The [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), %% version 3 (or later) %% %% This work has the LPPL maintenance status *maintained*. %% %% The Current Maintainer of this work is Alceu Frigeri %% %% This is version {2.11} {2024/10/17} %% %% The list of files that compose this work can be found in the README.md file at %% https://ctan.org/pkg/ufrgscca %% %%%============================================================================== %% UFRGS stands for "Federal University of Rio Grande do Sul" in south Brazil %% EE stands for "Engineering School" %% CCA stands for "Control and Automation Engineering Course" (Portuguese acronym) %%%============================================================================== \ExplSyntaxOn \tl_new:N \tmpFieldA \tl_new:N \tmpFieldB \tl_new:N \tmpFieldC \ExplSyntaxOff %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% \SetTerms{% advisor.descpage = % {% \noindent% \studentCoadvCase{% \UseTerm{advisors}:\\ \DataFields{student.advisor}{name}\\[1ex] \DataFields{student.coadvisor}{name} }{% \UseTerm{advisor}:\\ \DataFields{student.advisor}{name} } } , advisor.approvalpage = % {% \noindent% \studentCoadvCase{% \UseTerm{advisors}:\\ \DataFields{student.advisor}{name}, \DataFields{student.advisor}{institution}\\ \DataFields{student.advisor}{title}\\[1ex] \DataFields{student.coadvisor}{name}, \DataFields{student.coadvisor}{institution}\\ \DataFields{student.coadvisor}{title} }{% \UseTerm{advisor}:\\ \DataFields{student.advisor}{name}, \DataFields{student.advisor}{institution}\\ \DataFields{student.advisor}{title} } } , internship.tutorapproval = { ~\\ \noindent\UseTerm{tutor}:\\ \DataFields{student.tutor}{name}, \DataFields{student.tutor}{institution}\\ \DataFields{student.tutor}{title}\\[1ex] \noindent\UseTerm{supervisor}:\\ \DataFields{student.supervisor}{name}, \DataFields{student.supervisor}{institution}\\ \DataFields{student.supervisor}{office}\\ \DataFields{student.internship}{company}\\ } , cover.students = % {% \DataGet{student}{name}{\tmpFieldA} \DataGet{student}{ID}{\tmpFieldB} \centering{\MakeUppercase{\tmpFieldA} - \tmpFieldB} } , cover.topbase = % {% \centering% \MakeUppercase{\UseHeading{university}}\\ \MakeUppercase{\UseHeading{unit}}\\ \MakeUppercase{\UseHeading{course}} } , cover.title = % {% \DataGet{student}{worktitle}{\tmpFieldA} \centering\textbf{\MakeUppercase{\tmpFieldA}} } , cover.bottom = {% \centering \UseConst{publ.city}\\ \UseConst{publ.date}\par } , ppc.top = % {% \centering% \MakeUppercase{\UseHeading{university}}\\ \MakeUppercase{\UseHeading{unit}}\\ \MakeUppercase{\UseHeading{ppc.comgrad}}\\ \MakeUppercase{\UseHeading{ppc.nde}}\\ \MakeUppercase{\UseHeading{ppc.course}}\\ } , report.top = % {% \centering% \MakeUppercase{\UseHeading{university}}\\ \MakeUppercase{\UseHeading{unit}}\\ \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{ cover.students = {% \studentiterate% {% \DataGet{student}{name}{\tmpFieldA} \DataGet{student}{ID}{\tmpFieldB} \centering{\MakeUppercase{\tmpFieldA} - \tmpFieldB} } } } %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% %%% %%% TCC I %%% %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% \SetCoverFields{tccI}{clist}{cover,desc,approval} \SetCoverFields{tccI}{top}{ \UseTerm{cover.topbase} } \SetCoverFields{tccI}{students}{ \UseTerm{cover.students} } \SetCoverFields{tccI}{title}{ \UseTerm{cover.title} } \SetCoverFields{tccI}{bottom}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} \SetCoverFields{tccI}{text-descpage}{ \UseTerm{tccI.text-descpage} } \SetCoverFields{tccI}{advisor-descpage}{ \UseTerm{advisor.descpage} } \SetCoverFields{tccI}{bottom-descpage}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} \SetCoverFields{tccI}{text-approvalpage}{ \UseTerm{tccI.text-approvalpage} } \SetCoverFields{tccI}{advisor-approvalpage}{ \UseTerm{advisor.approvalpage} } \SetCoverFields{tccI}{bottom-approvalpage}{ \UseTerm{cover.bottom} } \SetCoverFields{tccI}{board}{% \noindent \UseTerm{board}:\\ \indent \DataFields{student.reviewer[2]}{name}, \DataFields{student.reviewer[2]}{institution}\\ \indent \DataFields{student.reviewer[2]}{title}\\ \\ \indent \DataFields{student.reviewer[3]}{name}, \DataFields{student.reviewer[2]}{institution}\\ \indent \DataFields{student.reviewer[3]}{title}\\ } \SetCoverFields{tccI}{coord}{% \noindent\hrulefill\\ \ActivityCoord[course]{name}\\ \ActivityCoord[course]{title}\\ \Activity[course]{name} } %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% %%% %%% TCC II %%% %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% \SetCoverFields{tccII}{clist}{cover,desc,approval} \SetCoverFields{tccII}{top}{ \UseTerm{cover.topbase} } \SetCoverFields{tccII}{students}{ \UseTerm{cover.students} } \SetCoverFields{tccII}{title}{ \UseTerm{cover.title} } \SetCoverFields{tccII}{bottom}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} \SetCoverFields{tccII}{text-descpage}{ \UseTerm{tccII.text-descpage} } \SetCoverFields{tccII}{advisor-descpage}{ \UseTerm{advisor.descpage} } \SetCoverFields{tccII}{bottom-descpage}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} \SetCoverFields{tccII}{text-approvalpage}{ \UseTerm{tccII.text-approvalpage} } \SetCoverFields{tccII}{advisor-approvalpage}{ \UseTerm{advisor.approvalpage} } \SetCoverFields{tccII}{bottom-approvalpage}{ \UseTerm{cover.bottom} } \SetCoverFields{tccII}{board}{ \noindent \UseTerm{board}:\\ \indent \DataFields{student.reviewer[1]}{name}, \DataFields{student.reviewer[1]}{institution}\\ \indent \DataFields{student.reviewer[1]}{title}\\[-1ex] \indent \DataFields{student.reviewer[2]}{name}, \DataFields{student.reviewer[2]}{institution}\\ \indent \DataFields{student.reviewer[2]}{title}\\[-1ex] \indent \DataFields{student.reviewer[3]}{name}, \DataFields{student.reviewer[2]}{institution}\\ \indent \DataFields{student.reviewer[3]}{title}\\ } \SetCoverFields{tccII}{coord}{ \noindent\hrulefill\\ \ActivityCoord[course]{name}\\ \ActivityCoord[course]{title}\\ \Activity[course]{name} } \SetCoverFields{ppc}{clist}{cover} \SetCoverFields{ppc}{top}{ \UseTerm{ppc.top} } \SetCoverFields{ppc}{students}{ } \SetCoverFields{ppc}{title}{ \centering PROJETO~ PEDAGÓGICO~ DO\\ CURSO~ EM~ ENGENHARIA~ DE\\ CONTROLE~ E~ AUTOMAÇÃO } \SetCoverFields{ppc}{bottom}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% %%% %%% Internship %%% %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% \SetCoverFields{internship}{clist}{cover,approval} \SetCoverFields{internship}{top}{ \UseTerm{cover.topbase} } \SetCoverFields{internship}{students}{ \UseTerm{cover.students} } \SetCoverFields{internship}{title}{ \centering\textbf{ \UseTerm{internship.title} } } \SetCoverFields{internship}{bottom}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} \SetCoverFields{internship}{text-approvalpage}{ \UseTerm{internship.text-approvalpage} } \SetCoverFields{internship}{advisor-approvalpage}{ \UseTerm{internship.tutorapproval} } \SetCoverFields{internship}{bottom-approvalpage}{ \centering \UseConst{publ.city}\\\UseConst{publ.month}~ \UseConst{publ.year}\par } \SetCoverFields{internship}{board}{} \SetCoverFields{internship}{coord}{ \noindent\hrulefill\\ \ActivityCoord[internship]{name}\\ \ActivityCoord[internship]{title} } %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% %%% %%% Nonrequired / Internship-optional %%% %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% \SetCoverFields{internship-opt}{clist}{cover,approval} \SetCoverFields{internship-opt}{top}{ \UseTerm{cover.topbase} } \SetCoverFields{internship-opt}{students}{ \UseTerm{cover.students} } \SetCoverFields{internship-opt}{title}{ \centering\textbf{ \UseTerm{internship-opt.title} } } \SetCoverFields{internship-opt}{bottom}{\centering \UseConst{publ.city}\\ \UseConst{publ.year}\par} \SetCoverFields{internship-opt}{text-approvalpage}{ \UseTerm{internship-opt.text-approvalpage} } \SetCoverFields{internship-opt}{advisor-approvalpage}{ \UseTerm{internship.tutorapproval} } \SetCoverFields{internship-opt}{bottom-approvalpage}{ \centering \UseConst{publ.city}\\\UseConst{publ.month}~ \UseConst{publ.year}\par } \SetCoverFields{internship-opt}{board}{} \SetCoverFields{internship-opt}{coord}{} %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% %%% %%% class report %%% %%%%%%%%%%%%%%% %%%%%%%%%%%%%%% \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}{} \SetCoverFields{class-report}{bottom-approvalpage}{} \SetCoverFields{class-report}{board}{} \SetCoverFields{class-report}{coord}{}