summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty')
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty561
1 files changed, 561 insertions, 0 deletions
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
new file mode 100644
index 0000000000..d2f7b26adf
--- /dev/null
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -0,0 +1,561 @@
+%%%==============================================================================
+%% Copyright 2022 by Alceu Frigeri
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status “maintained”.
+%%
+%% The Current Maintainer of this work is Alceu Frigeri
+%%
+%% This is version 1.0 (2022/09/01)
+%%
+%%
+%% This work consists of the files
+%%
+%% ufrgscca.cls main class (bundle)
+%%
+%% ufrgscca-abnt.sty abnt page geometry, and chapter/sectioning/etc. settings
+%% ufrgscca-core.sty core macros (students related data, advisor, work title, etc.)
+%% ufrgscca-cover.sty cover pages macros
+%% ufrgscca-lists.sty New float environments (for code listing, for instance)
+%% ufrgscca-gen.sty a switch/case macro construct and
+%% 'macro factory', for instance to create commands used in the .def files.
+%% ufrgscca-forms.sty forms creation macros (course specific)
+%% ufrgscca-coord.sty student work coordenation related macros (course specific)
+%% ufrgscca-ppc.sty ppc specific macros (ppc stands for Course Pedagogic Project)
+%% ufrgscca-curr.sty curricula specific macros (as a set of semesters and class dependency lists)
+%% ufrgscca-curr-tab.sty curricula tabular macros (to display the curricula as tables)
+%% ufrgscca-curr-graph.sty curricula graph macros (to display the curricula as a dependency graph)
+%%
+%% ufrgscca-en-base.def locale, English, base def's (for babel)
+%% ufrgscca-en-core.def locale, English, for -core.sty
+%% ufrgscca-en-forms.def locale, English, for -forms.sty
+%% ufrgscca-en-coord.def locale, English, for -coord.sty
+%%
+%% ufrgscca-ptBR-base.def locale, Portuguese, base def`s (for babel)
+%% ufrgscca-ptBR-core.def locale, Portuguese, for -core.sty
+%% ufrgscca-ptBR-forms.def locale, Portuguese, for -forms.sty
+%% ufrgscca-ptBR-coord.def locale, Portuguese, for -coord.sty
+%%
+%% README.md quick introduction
+%%
+%% ufrgscca.tex LaTeX documentation
+%% ufrgscca.pdf documentation in PDF form
+%%
+%% 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)
+%%
+%%%==============================================================================
+\NeedsTeXFormat{LaTeX2e}[2022/06/01]
+\def\tc@tmp@packname{ufrgscca-forms}
+\def\tc@tmp@altpackname{ufrgsccaforms}
+\def\tc@tmp@packdesc{UFRGS/CCA forms commands}
+\def\tc@tmp@packdate{2022/09/01}
+\def\tc@tmp@packversion{1.0}
+\let\@exp\expandafter
+\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
+\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
+
+\RequirePackage{amsfonts}
+
+
+%% local for tc@formsigdate {ufrgscca-forms}
+
+\cmdfactory<forms>{formssignaturelabel,examinersignature,boardsignature,advisorsignature,coadvisorsignature}
+\cmdfactory<forms>{studentsignature,studentsignaturegen}%
+\cmdfactory<forms>{formsstudentlabel,formsstudentlabelgen,formproflabel}%
+\cmdfactory<forms>{formsboardlabel,formsadvisorlabel,formsadvisorlabelgen}%
+\cmdfactory<forms>{formscoadvisorlabel,formsexaminerlabel,formsaltexaminerlabel}
+\cmdfactory<forms>{formstimelabel,formsworktitlelabel,formstemptitlelabel}
+\cmdfactory<forms>{formsstudentIDlabel,formsemaillabel,formsphonelabel}
+\cmdfactory<forms>{agreelabel,continuelabel}
+\cmdfactory<forms>{formsdatelabel,formstitle,formsfootnote}
+\cmdfactory<forms>{renewreqformtitle,renewreqformnotes,reqformtitle,reqformopening,reqformdesc}%
+\cmdfactory<forms>{coadvisorformtitle,coadvisorformdesc}
+\cmdfactory<forms>{formsbrieflabel,formsstudentemaillabel,formsadvisoremaillabel}
+\cmdfactory<forms>{formsreasonlabel}
+\cmdfactory<forms>{examformtitle,examformdesc,examformnoteslabel}
+\cmdfactory<forms>{examformnotes,examboardformtitle,examboardformdesc}%
+\cmdfactory<forms>{formsboardtitle,advisorapprovalformtitle,advisorapprovalformdesc,advisorapprovalformdescB}
+\cmdfactory<forms>{rectifyapprovalformtitle,rectifyapprovalformdesc}%
+\cmdfactory<forms>{receiptformtitle,receiptformfootnote,receiptformdesc}%
+\cmdfactory<forms>{reviewformtitle,reviewformdesc,reviewformfootnoteB,reviewformfootnote}
+\cmdfactory<forms>{formsrectifyOKdesc}
+
+\NewDocumentCommand{\TCCpointsweight}{mmm}{%
+ \gdef\tc@TCCpointAweight{#1}%
+ \gdef\tc@TCCpointBweight{#2}%
+ \gdef\tc@TCCpointCweight{#3}%
+}%
+
+\NewDocumentCommand{\TCCpointslabel}{mmm}{%
+ \gdef\tc@TCCpointAlabel{#1}%
+ \gdef\tc@TCCpointBlabel{#2}%
+ \gdef\tc@TCCpointClabel{#3}%
+}%
+%
+
+
+\iftcif@english%
+\input{ufrgscca-en-forms.def}%
+\else%
+\input{ufrgscca-ptBR-forms.def}%
+\fi%
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Examiners forms%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examinersForms}{}{%
+ \tccore@examiners{examinerA}%
+ \tcforms@examinersform{examinerA}%
+ \tcforms@reviewform{examinerA}%
+ \tccore@examiners{examinerB}%
+ \tcforms@examinersform{examinerB}%
+ \tcforms@reviewform{examinerB}%
+ \tccore@examiners{examinerC}%
+ \tcforms@examinersform{examinerC}%
+ \tcforms@reviewform{examinerC}%
+ \tccore@examiners{altexaminerA}%
+ \tcforms@examinersform{altexaminerA}%
+ \tcforms@reviewform{altexaminerA}%
+}%
+%
+\NewDocumentCommand{\tcforms@examinerforms}{m}{%
+ \tcforms@examinersform{#1}%
+ \tcforms@reviewform{#1}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% Board receipt forms%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@receiptforms}{}{%
+ \tcforms@receiptform{examinerA}%
+ \tcforms@receiptform{examinerB}%
+ \tcforms@receiptform{examinerC}%
+ \tcforms@receiptform{altexaminerA}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% Aux commands%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@formsigdate}{m}{%%
+ \begin{flushright} \tcdef@core@formlocal %
+ ~\vspace*{6mm}\\%
+%
+ $\overline{#1}$%%
+ \end{flushright}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% examiners description (for Board approval forms)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examinerdesc}{O{\tcdef@forms@formsexaminerlabel}mm}{%%
+ \tccore@examiners{#3}%
+ \@ifundefined{tc@#2@#3}{--}{#1: {\bf \csname tc@#2@#3\endcsname}%
+
+ \hfill \tcdef@forms@formsemaillabel: {\bf \csname tc@#2@#3email\endcsname} ~\tcdef@forms@formsphonelabel: {\bf \csname tc@#2@#3phone\endcsname} ~\tcdef@forms@agreelabel: \rule{\tc@agreerule}{.1pt}\\}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC description (for many forms)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@tccdesc}{}{%%
+ \tcdef@forms@formsstudentlabel : {\bf \tc@studentA} \hfill \tcdef@forms@formsstudentIDlabel : {\bf \tc@studentAID}%
+
+ \tcdef@forms@formsworktitlelabel : {\bf \@title}\\[-4mm]%
+
+ \tcdef@forms@formsadvisorlabel : {\bf \tc@studentA@advisor}\\%
+}%
+%
+
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC examiner form (grades)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examinersform}{m}{%
+ \tc@formtopbox[tcdef@forms@formsfootnote]{\tcdef@forms@formstitle}{\tcdef@forms@examformtitle}%
+%
+ \vfill%
+ \tcdef@forms@formsstudentlabel : {\bf \csname tc@student\Alph{tc@studentcount}\endcsname}\\%
+ \tcdef@forms@formsexaminerlabel : \csname tc@student\Alph{tc@studentcount}@#1\endcsname%
+ \vfill%
+ \tcdef@forms@examformdesc%
+
+ \vfill%
+
+ \begin{center}
+ \begin{tabular}{|c|c|c|}%
+ \hline%
+ \tc@TCCpointAlabel & \tc@TCCpointBlabel & \tc@TCCpointClabel \\\hline%
+ & & \\\hline
+ \end{tabular}%
+ \end{center}%
+
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@examinersignature}%
+ \vfill%
+ \begin{description}
+ \item[\tcdef@forms@examformnoteslabel:] \tcdef@forms@examformnotes
+ \end{description}%
+
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC examiners reviewer form (corrections)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@reviewform}{m}{%
+ \tc@formtopbox[tcdef@forms@reviewformfootnote]{\tcdef@forms@formstitle}{\tcdef@forms@reviewformtitle}%
+
+ \vfill%
+ \tcdef@forms@formsstudentlabel : {\bf \expandafter\csname tc@student\Alph{tc@studentcount}\endcsname}\\%
+ \tcdef@forms@formsexaminerlabel : \expandafter\csname tc@student\Alph{tc@studentcount}@#1\endcsname%
+ \vfill%
+ \resizebox{0.9\textwidth}{!}{%%
+ \tcdef@forms@reviewformdesc%
+ }%
+ \footnotetext[2]{\tcdef@forms@reviewformfootnoteB}%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@examinersignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC requirement form (TCC register)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@reqform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@reqformtitle}%
+
+ \vfill%
+
+ \tcdef@forms@reqformopening%
+ \vfill%
+
+ \tcdef@forms@reqformdesc%
+ \vfill%
+
+ \tcdef@forms@formstemptitlelabel : \@title %
+
+ \tcdef@forms@formsstudentemaillabel : {\bf \tc@studentAemail} %
+
+ \tcdef@forms@formsadvisorlabel : \tc@studentA@advisor%
+
+ \tcdef@forms@formsadvisoremaillabel : {\bf \tc@studentA@advisoremail}%
+ \hfill \tcdef@forms@formsphonelabel : {\bf \tc@studentA@advisorphone}%
+
+ {\bf \tcdef@forms@formsbrieflabel}:\footnote[1]{\tcdef@forms@renewreqformnotes}%
+
+ \vfill%
+ \tcdef@core@tccbrief%
+
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@studentsignature}}\hfill%
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@advisorsignature}}%
+ \pagebreak%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC co-advisor requirement form (TCC register)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@coadvisorform}{}{%
+ \@ifundefined{tc@studentA@coadvisor}{%
+ \coadvisor{\rule{\tc@namerule}{.1pt}}{}%
+ \coadvisorinfo{}{\rule{\tc@titlerule}{.1pt}}{\rule{\tc@emailrule}{.1pt}}{\rule{\tc@phonerule}{.1pt}}%
+ }{}%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@coadvisorformtitle}%
+
+ \vfill%
+
+ \tcdef@forms@reqformopening%
+ \vfill%
+
+ \tcdef@forms@coadvisorformdesc%
+ \vfill%
+
+ \tcdef@forms@formstemptitlelabel : \@title %
+
+ \tcdef@forms@formsadvisorlabel: \tc@studentA@advisor
+
+ \tcdef@forms@formscoadvisorlabel: \tc@studentA@coadvisor%
+
+ \vfill%
+ {\bf \tcdef@forms@formsreasonlabel}:%
+
+ \tcdef@core@tcccoadvisorbrief% !!!! What a Hell ?!?!?!
+
+ \tcforms@formsigdate{\tcdef@forms@studentsignature}%
+
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@advisorsignature}}\hfill%
+ \parbox[t]{.45\textwidth}{\tcforms@formsigdate{\tcdef@forms@coadvisorsignature}}%
+ \pagebreak%
+}%
+%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC renew requirement form (TCC register)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@renewreqform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@renewreqformtitle}%
+
+ \vfill%
+ \tcforms@tccdesc%
+
+ \tcdef@forms@formsstudentemaillabel : {\bf \tc@studentAemail} %
+
+ \hfill \tcdef@forms@formsadvisoremaillabel : {\bf \tc@studentA@advisoremail}%
+
+ \hfill \tcdef@forms@formsphonelabel : {\bf \tc@studentA@advisorphone}%
+ \vfill%
+ {\bf \tcdef@forms@formsbrieflabel}:\footnote[1]{\tcdef@forms@renewreqformnotes}%
+
+ \tcdef@core@tccbrief%
+ \vfill%
+ \tcforms@formsigdate{\tcdef@forms@studentsignature}%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@advisorsignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Board approval form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@examboardform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@examboardformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \vfill%
+ \begin{center}
+ \tcdef@forms@formsboardtitle
+ \end{center}%
+
+ \tcforms@examinerdesc{studentA}{examinerA}%
+
+ \tcforms@examinerdesc{studentA}{examinerB}%
+
+ \tcforms@examinerdesc{studentA}{examinerC}%
+
+ \tcforms@examinerdesc[\tcdef@forms@formsaltexaminerlabel]{studentA}{altexaminerA}%
+
+ \vfill%
+
+ \tcdef@forms@examboardformdesc%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@advisorsignature}%
+ \vfill%
+
+ \pagebreak%
+}%
+%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Board receipts form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@receiptform}{m}{%
+ \tc@formtopbox[tcdef@forms@receiptformfootnote]{\tcdef@forms@formstitle}{\tcdef@forms@receiptformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \tcdef@forms@formsboardlabel : {\bf \csname tc@student\Alph{tc@studentcount}@#1\endcsname }%
+
+ \vfill%
+ \tcdef@forms@receiptformdesc {\bf \tc@studentA},\ \ \ \tcdef@forms@formsstudentIDlabel : {\bf \tc@studentAID}.%
+
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@boardsignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% examiners approval/not signature (for rectify approval form)%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@approvalsigdate}{mm}{%%
+ \tcdef@forms@formsrectifyOKdesc%
+ \hfill\tcdef@forms@formsdatelabel:\rule{\tc@daterule}{.1pt}\\[3mm]%
+ #1: #2 \hfill \tcdef@forms@formssignaturelabel:\rule{\tc@namerule}{.1pt}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Board rectify approval form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@rectifyexaminersig}{O{\tcdef@forms@formsexaminerlabel}m}{\@ifundefined{#2}{}{\tcforms@approvalsigdate{#1}{\csname #2\endcsname}}\\[3mm]}%
+%
+\NewDocumentCommand{\tcforms@rectifyapprovalform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@rectifyapprovalformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \vfill%
+ \tcdef@forms@rectifyapprovalformdesc%
+
+ \vfill%
+
+ \tcforms@rectifyexaminersig[\tcdef@forms@formsadvisorlabel]{tc@studentA@advisor}%
+
+ \vfill%
+
+ \@ifundefined{tc@nBoard}{}{%
+ \tcforms@rectifyexaminersig{tc@studentA@examinerA}%
+ }%
+
+ \tcforms@rectifyexaminersig{tc@studentA@examinerB}%
+
+ \tcforms@rectifyexaminersig{tc@studentA@examinerC}%
+
+ \tcforms@rectifyexaminersig{tc@studentA@altexaminerA}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% TCC Advisor approval form%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand{\tcforms@advisorapprovalform}{}{%
+ \tc@formtopbox{\tcdef@forms@formstitle}{\tcdef@forms@advisorapprovalformtitle}%
+
+ \vfill%
+
+ \tcforms@tccdesc%
+
+ \vfill%
+ \tcdef@forms@advisorapprovalformdesc%
+
+ \vfill%
+
+ \tcdef@core@tccadvisorsreview%
+
+ \vfill%
+ \tcdef@forms@advisorapprovalformdescB%
+
+ \tcforms@formsigdate{\tcdef@forms@advisorsignature}%
+ \vfill%
+
+ \tcforms@formsigdate{\tcdef@forms@studentsignature}%
+ \vfill%
+ \pagebreak%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%
+%
+
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% set of blank lines%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\cmdfactory<core>{formsblanklines}
+\formsblanklines{\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill\\%
+
+\hrulefill%
+}%
+%
+
+
+\DeclareKeys[forms]{
+ reqform.usage = general,
+ reqform.code = {\tcforms@reqform},
+ coadvisor.usage = general,
+ coadvisor.code = {\tcforms@coadvisorform},
+ boardsapproval.usage = general,
+ boardsapproval.code = {\tcforms@examboardform},
+ advisorsapproval.usage = general,
+ advisorsapproval.code = {\tcforms@advisorapprovalform},
+ receipts.usage = general,
+ receipts.code = {\tcforms@receiptforms},
+ examinersforms.usage = general,
+ examinersforms.code = {\tcforms@examinersForms},
+ rectifyapproval.usage = general,
+ rectifyapproval.code = {\tcforms@rectifyapprovalform},
+}
+
+
+\NewDocumentCommand{\tcforms}{m}{%
+ \SetKeys[forms]{#1}%
+}
+
+\NewDocumentCommand{\tcemptyforms}{m}{%
+ \tccore@resetfields%
+ \title{\rule{\tc@namerule}{.1pt}}%
+ \tccore@emptyfields%
+ \SetKeys[forms]{#1}%
+}