%%%============================================================================== %% 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-ppc} \def\tc@tmp@altpackname{ufrgsccappc} \def\tc@tmp@packdesc{UFRGS/CCA PPC 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] \DeclareKeys[ufrgscca-ppc]{ showind.usage = load, showind.if = @showindicators, indlong.usage = load, indlong.if = @indlongtext, nocomments.usage = load, nocomments.if = @indnocomments, } \ProcessKeyOptions[ufrgscca-ppc]\relax \RequirePackage{longtable} \RequirePackage{pdfcomment} \WarningFilter{latex}{name}% \RequirePackage[tikz]{mdframed}% \RequirePackage{ufrgscca-abnt} %\RequirePackage{ufrgscca-curr} \RequirePackage{ufrgscca-curr-tab} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % PPC macros %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % %% pre-defined status: % noref (default, still not in the text) % tbd (to be done) % review (in review, probably done) % attention (to be looked at) % done (done) % NSA (not relevant) % * (undefined, copy text) %% %%%%%%%%%%%%%%%%%%% %\iftc@ppc \RenewDocumentCommand{\maketitle}{}{\tcppc@PPCcoverpages}% %\fi % \NewDocumentCommand{\tcppc@PPCcoverpages}{}{ \begin{titlepage}% \noindent\tc@covertopbox% \vfill% \centerline{\tc@city}% \centerline{\tc@publyear}% \end{titlepage}%% \if@openright\cleardoublepage\else\clearpage\fi%% }% \RenewDocumentCommand\tc@winbox{}{%% \parbox[b]{\tc@coverwinwidth}{%% \centering\vbox to \tc@coverwinheight{%% \vspace*{\fill}% {\large\MakeUppercase{\textbf{\@title}}\par}% \vfill% }%% }%% }% % % \NewDocumentCommand{\set@statuscolor}{m}{%% \@ifundefined{#1@txtcolor}{% \gdef\ind@txtcolor{\csname default@txtcolor\endcsname}%% \gdef\ind@bgcolor{\csname default@bgcolor\endcsname}%% }{% \gdef\ind@txtcolor{\csname #1@txtcolor\endcsname}%% \gdef\ind@bgcolor{\csname #1@bgcolor\endcsname}%% }% }% % % \newcounter{@indcounter}% % \NewDocumentCommand{\declareindicator}{st+O{noref}mmm}{% %#3: status #4:org #5:mark #6:short text #7:long text #8:extra text #9:'clarification text'(for inep/mec) \stepcounter{@indcounter}% \IfBooleanTF{#1}{\expandafter\gdef\csname @indicator#4#5star\endcsname{#1}\ifcsundef{@indicator#4lst}{\csgdef{@indicator#4lst}{#5}}{\csgappto{@indicator#4lst}{,#5}}}{} \IfBooleanTF{#2}{\ifcsundef{@indicator#4lst}{\csgdef{@indicator#4lst}{#5}}{\csgappto{@indicator#4lst}{,#5}}}{} \expandafter\gdef\csname @indicator#4#5status\endcsname{#3}% \expandafter\gdef\csname @indicator#4#5short\endcsname{#6}% \expandafter\gdef\csname @indicator#4#5long\endcsname{}% \expandafter\gdef\csname @indicator#4#5extra\endcsname{}% \expandafter\gdef\csname @indicator#4#5text\endcsname{}% \expandafter\gdef\csname @indrefA\arabic{@indcounter}\endcsname{#4}% \expandafter\gdef\csname @indrefB\arabic{@indcounter}\endcsname{#5}% \newcounter{@indcount#4#5}% \@ifundefined{iftcppc@indset#4view}{\expandafter\newif\csname iftcppc@indset#4view\endcsname\csname tcppc@indset#4viewtrue\endcsname}{} \gdef\tcppc@indindex{#4#5} }% \NewDocumentCommand{\indicatorDesc}{+m+m}{% \expandafter\gdef\csname @indicator\tcppc@indindex long\endcsname{#1} \expandafter\gdef\csname @indicator\tcppc@indindex extra\endcsname{#2} } \NewDocumentCommand{\indicatorText}{+m}{% \expandafter\gdef\csname @indicator\tcppc@indindex text\endcsname{#1} } \NewDocumentCommand{\lstind}{O{\section}O{\subsection}m}{% \def\doit##1{\ifcsundef{@indicator#3##1star}{#2{\csname @indicator#3##1short\endcsname}}{#1{\csname @indicator#3##1short\endcsname}} \csname @indicator#3##1text\endcsname\par}% \expandafter\expandafter\expandafter\forcsvlist\expandafter\expandafter\expandafter\doit\expandafter\expandafter\expandafter{\csname @indicator#3lst\endcsname} } % %\newcommand{\indsetstatus}[3][attention]{\expandafter\gdef\csname @indicator#2#3status\endcsname{#1}} \NewDocumentCommand{\indsetstatus}{O{attention}mm}{% \gdef\tcppc@indsetstatus##1{\expandafter\gdef\csname @indicator#2##1status\endcsname{#1}}% \expandafter\forcsvlist\expandafter\tcppc@indsetstatus\expandafter{#3}% } % \NewDocumentCommand{\indsetview}{m}{\csname tcppc@indset#1viewtrue\endcsname}% % \NewDocumentCommand{\indsethide}{m}{\csname tcppc@indset#1viewfalse\endcsname}% % \NewDocumentEnvironment{listofindicators}{m}{% \begin{list}{\textbf{??}}{% \settowidth{\labelwidth}{#1}% \setlength{\labelsep}{1em}% \setlength{\itemindent}{0mm}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% \setlength{\rightmargin}{0mm}% \setlength{\itemsep}{.1\baselineskip}% \renewcommand{\makelabel}[1]{\makebox[\labelwidth][l]{##1}}% }% }{% \end{list}% }% % \NewDocumentCommand{\tcppc@indrefitem}{O{, }m}{% \@ifundefined{r@@indlabel\tcppc@indA\tcppc@indB:#2}{}{#1 \ref{@indlabel\tcppc@indA\tcppc@indB:#2} (\pageref{@indlabel\tcppc@indA\tcppc@indB:#2})}% }% % \newif\iftcppc@itemdisp% \NewDocumentCommand{\tcppc@indicatorsitem}{m}{%% \@ifundefined{@indrefA#1}{}{%% \gdef\tcppc@indA{\csname @indrefA#1\endcsname}%% \gdef\tcppc@indB{\csname @indrefB#1\endcsname}%% \csname iftcppc@indset\tcppc@indA view\endcsname% \gdef\tcppc@status{\csname @indicator\tcppc@indA\tcppc@indB status\endcsname}%% \iftcppc@ind@filter\expandafter\tcppc@ind@filtercase\expandafter{\tcppc@status}\else\tcppc@itemdisptrue\fi% \iftcppc@itemdisp% \set@statuscolor{\tcppc@status}%% \@ifundefined{theind@\tcppc@status @count}{\stepcounter{ind@default@count}}{\stepcounter{ind@\tcppc@status @count}}%% \item[\textbf{\color{\ind@txtcolor}\hypertarget{@indlabel\tcppc@indA\tcppc@indB\tcppc@ind@filterstatus}{\tcppc@indA: \tcppc@indB}}]% {\color{\ind@txtcolor}\emph{\csname @indicator\tcppc@indA\tcppc@indB short\endcsname}} \dotfill % {\normalsize\color{\ind@txtcolor}\textbf{\csname @indicator\tcppc@indA\tcppc@indB status\endcsname}} % \ifthenelse{\equal{\csname @indicator\tcppc@indA\tcppc@indB long\endcsname}{}}{\break}{\newline\csname @indicator\tcppc@indA\tcppc@indB long\endcsname \csname @indicator\tcppc@indA\tcppc@indB extra\endcsname\hfill\break}%% \tcppc@indrefitem[.\dotfill]{1}%% \forcsvlist\tcppc@indrefitem{2,3,4,5,6,7,8,9,10,11,12,13}% \fi% \fi% }%% }% % \NewDocumentCommand{\tcppc@indicatorsbatch}{m}{\forcsvlist\tcppc@indicatorsitem{#10,#11,#12,#13,#14,#15,#16,#17,#18,#19}}% % \NewDocumentCommand{\tcppc@indicatorsBatch}{m}{\forcsvlist\tcppc@indicatorsbatch{#10,#11,#12,#13,#14,#15,#16,#17,#18,#19}}% % % \NewDocumentCommand{\tcppc@helpstatus}{+m}{\makebox[5mm]{}\makebox[17mm][r]{\textbf{#1}}\ \ \csname #1@text\endcsname\newline}% % \NewDocumentCommand{\tcppc@helpbf}{+m}{\textbf{\color{black}\textbackslash #1}$\,\,$}% \NewDocumentCommand{\tcppc@helpO}{+m}{{\color{darkteal}\textbf{[}#1\textbf{]}}$\,\,$}% \NewDocumentCommand{\tcppc@helpM}{+m}{{\color{darkblue}\textbf{\{}#1\textbf{\}}}$\,\,$}% % \NewDocumentCommand{\helpindicators}{}{{\footnotesize% \if@showindicators% \begin{itemize}[nosep,label=,leftmargin=0mm]% \item \tcppc@helpbf{indsethide}\tcppc@helpM{} - Hide an indicator's set% \item \tcppc@helpbf{comment}\tcppc@helpO{}\tcppc@helpM{}\tcppc@helpM{<comment>} - Just a comment% \item \tcppc@helpbf{indref}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{<ref>}\tcppc@helpM{<comment>} - Single indicator's reference% \item \tcppc@helpbf{indref*}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{<ref>}\tcppc@helpM{<comment>} - (Short text only)% \item \tcppc@helpbf{indreflst}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{\tcppc@helpO{:}<ref> , \tcppc@helpO{:}<ref> , ...}\tcppc@helpM{<comment>} - Referece list % \item \tcppc@helpbf{indreflst*}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{\tcppc@helpO{:}<ref> , \tcppc@helpO{:}<ref> , ...}\tcppc@helpM{<comment>} - (Single box)% \item \tcppc@helpbf{indsetstatus}\tcppc@helpO{}\tcppc@helpM{<set>}\tcppc@helpM{<ref> , <ref> , ...} - Set the status of a list of indicators.% \end{itemize}% where status:\newline% \expandafter\forcsvlist\expandafter\tcppc@helpstatus\expandafter{\ind@statuslst}% \fi% }}% % \NewDocumentCommand{\tcppc@printcount}{+m}{\item[ ] {\color{\attention@txtcolor}\large\textbf{\makebox[15mm][r]{#1 :} \csname theind@#1@count\endcsname}}% }% % % % %\NewDocumentCommand{\ifshowindicators}{m}{\if@showindicators#1\fi} %\NewDocumentCommand{\ifthenelseshowindicators}{+m+m}{\if@showindicators#1\else#2\fi} \NewDocumentCommand{\ifshowind}{+m+m}{\if@showindicators#1\else#2\fi} % % \newif\iftcppc@ind@filter% \mkswitch[\tcppc@itemdispfalse]\tcppc@ind@filtercase% \NewDocumentCommand{\tcppc@ind@filteraux}{+m}{\addcase\tcppc@ind@filtercase{#1}{\tcppc@itemdisptrue}}% \NewDocumentCommand{\PrintIndicators}{O{}}{\footnotesize% \if@showindicators%% \def\tcppc@ind@filterstatus{#1}% \ifthenelse{\equal{#1}{}}{\tcppc@ind@filterfalse}{\tcppc@ind@filtertrue\expandafter\forcsvlist\expandafter\tcppc@ind@filteraux\expandafter{#1}}% \if@openright\cleardoublepage\else\clearpage\fi%%% \phantomsection%% \chapter*{Indicadores #1}%\newpage%% \begin{listofindicators}{EMPTY LIST . . .}%% \iftcppc@ind@filter\else\item[ ] {\color{\attention@txtcolor}\large\textbf{\the@indcounter}\ Indicadores.}\fi%% \tcppc@indicatorsbatch{}% \tcppc@indicatorsBatch{}% \forcsvlist\tcppc@indicatorsBatch{1,2,3,4,5,6,7,8,9}% \iftcppc@ind@filter\else\expandafter\forcsvlist\expandafter\tcppc@printcount\expandafter{\ind@statuslst}\fi% \end{listofindicators}% \fi% }% % % \NewDocumentCommand{\textmark}{O{attention}m}{\set@statuscolor{#1}{\color\ind@txtcolor {\textbf{!! #2 !!}}}} \NewDocumentCommand{\comment}{O{attention}m+m}{% \if@showindicators% \if@indnocomments\else% \set@statuscolor{#1}% \ \hfill\parbox{0.9\textwidth}{\small% \begin{mdframed}[style=indicatorsTikZ,frametitle=\tikztitle{#2}]% {\footnotesize #3\par}% \hfill\emph{status: }\textbf{\color{\ind@txtcolor}#1}% \end{mdframed}% }\\[-2.7mm]% \fi% \fi% }% \let\remark\comment % \NewDocumentCommand{\indtext}{mm}{\csname @indicator#1#2short\endcsname} % \NewDocumentCommand{\tcppc@indhack}{smm+m}{% \csname iftcppc@indset#2view\endcsname% \set@statuscolor{\tcppc@status}% \ \hfill\parbox{0.9\textwidth}{\small%% \begin{mdframed}[style=indicatorsTikZ,frametitle=\tikztitle{\hyperlink{@indlabel#2#3}{#2 : #3}}]%% \pdftooltip{\emph{\csname @indicator#2#3short\endcsname}}{\csname @indicator#2#3long\endcsname}\par%% \if@indlongtext%% \IfBooleanF{#1}{%% \ifthenelse{\equal{\csname @indicator#2#3long\endcsname}{}}{}{\enquote{\footnotesize\csname @indicator#2#3long\endcsname}\par}%% }% \fi%% \if@indnocomments\else\ifthenelse{\equal{#4}{}}{}{{\emph{\color{\comments@txtcolor}{#4}}}\par}\fi%% \hfill\emph{status: }\textbf{\color{\ind@txtcolor}\tcppc@status}%% \end{mdframed}%% }\\[-2.7mm]%% \fi% } \NewDocumentCommand{\indref}{sO{}mm+m}{%% \ifthenelse{\equal{#2}{}}{}{\expandafter\gdef\csname @indicator#3#4status\endcsname{#2}}%% \expandafter\gdef\expandafter\tcppc@status{\csname @indicator#3#4status\endcsname}% \stepcounter{@indcount#3#4}\label{@indlabel#3#4:\csname the@indcount#3#4\endcsname}%% \if@showindicators%% \IfBooleanTF{#1}{\tcppc@indhack*{#3}{#4}{#5}}{\tcppc@indhack{#3}{#4}{#5}} \fi% % }% % % \newcommand{\tcppc@indreflstitem}[4][]{% \ifthenelse{\equal{#1}{}}{}{\expandafter\gdef\csname @indicator#2#3status\endcsname{#1}}% \expandafter\gdef\expandafter\tcppc@status{\csname @indicator#2#3status\endcsname}% \stepcounter{@indcount#2#3}\label{@indlabel#2#3:\csname the@indcount#2#3\endcsname}%% \set@statuscolor{\tcppc@status}% \hyperlink{@indlabel#2#3}{\textbf{#3 :}}\pdftooltip{\emph{\csname @indicator#2#3short\endcsname}}{\csname @indicator#2#3long\endcsname}\par%% \if@indlongtext%% \ifthenelse{\equal{\csname @indicator#2#3long\endcsname}{}}{}{\enquote{\footnotesize\csname @indicator#2#3long\endcsname}\par}%% \fi%% \hfill\emph{status: }\textbf{\color{\ind@txtcolor}\tcppc@status\break}%% }% \NewDocumentCommand{\indreflst}{sO{}mmm}{% \IfBooleanTF{#1}{% \gdef\tcppc@indreflst##1{\StrCut{##1}{:}\tcppc@parA\tcppc@parB\IfStrEq{\tcppc@parB}{}{\tcppc@indreflstitem{#3}{\tcppc@parA}{#5}}{\expandafter\tcppc@indreflstitem\expandafter[\tcppc@parA]{#3}{\tcppc@parB}{#5}}}% \if@showindicators% \csname iftcppc@indset#3view\endcsname% \ \hfill\parbox{0.9\textwidth}{\small% \begin{mdframed}[style=indicatorsTikZ,frametitle=\tikztitle{#3}]%% \expandafter\forcsvlist\expandafter\tcppc@indreflst\expandafter{#4}% \if@indnocomments\else\ifthenelse{\equal{#5}{}}{}{{\emph{\color{\comments@txtcolor}{#5}}}\par}\fi%% \set@statuscolor{#2}% \end{mdframed}% }% \fi% \fi% }{% \gdef\tcppc@indreflst##1{\StrCut{##1}{:}\tcppc@parA\tcppc@parB\IfStrEq{\tcppc@parB}{}{\indref{#3}{\tcppc@parA}{}}{\indref[\tcppc@parA]{#3}{\tcppc@parB}{}}}% \expandafter\forcsvlist\expandafter\tcppc@indreflst\expandafter{#4}% \comment[#2]{comment}{#5}% }% }% % % other default colors (xcolor pack): lime, olive, orange, pink, purple. % \def\tcppc@defcolorpair#1{\colorlet{light#1}{white!85!#1}\colorlet{dark#1}{#1!70!black!100}} % % \definecolor{grayblack}{rgb}{0.8,0.8,0.8}% % % \NewDocumentCommand{\ind@defstatus}{mmm}{% \newcounter{ind@#1@count}% \tcppc@defcolorpair{#2}% \expandafter\gdef\csname #1@txtcolor\endcsname{dark#2}% \expandafter\gdef\csname #1@bgcolor\endcsname{light#2}% \expandafter\gdef\csname #1@text\endcsname{#3 (#2)}% \@ifundefined{ind@statuslst}{\gdef\ind@statuslst{#1}}{\edef\ind@statuslst{\ind@statuslst,#1}}% }% % \ind@defstatus{tbd}{gray}{To Be Done}% \ind@defstatus{done}{green}{Done}% \ind@defstatus{review}{yellow}{to be reviewed}% \ind@defstatus{attention}{red}{needs Attention}% \ind@defstatus{NSA}{brown}{NSA}% \ind@defstatus{noref}{magenta}{no references}% \ind@defstatus{EAD}{violet}{EAD}% \ind@defstatus{MDi}{teal}{(courseware)...}% \ind@defstatus{DOCs}{blue}{other DOCs}% \ind@defstatus{default}{cyan}{everything else}% % \def\comments@txtcolor{darkblue}% % % \def\ind@TikZpos{0.44}% \NewDocumentCommand{\tikztitle}{m}{\tikz[baseline=(current bounding box.east),outer sep=0pt,xshift=1cm,thin,color=grayblack] \draw (0,0) (\ind@TikZpos,0) node[anchor=west,rectangle,rounded corners,fill=white,draw] at (\ind@TikZpos,0) {#1} node[anchor=west,rectangle,rounded corners,color=black] at (\ind@TikZpos,0) {#1};}%% % % \mdfdefinestyle{indicatorsTikZ}{% linecolor=grayblack,%% linewidth=0.4pt,% % skipabove=0.65\baselineskip,% % skipbelow=0.5\baselineskip,% skipabove=0pt,% skipbelow=0pt,% leftmargin =-3.5pt,% rightmargin=-3.5pt,% innerleftmargin=3pt,% innerrightmargin=3pt,% needspace=3\baselineskip,% backgroundcolor=\ind@bgcolor,% usetwoside=false,% % innertopmargin = 3pt,% % innerbottommargin = 2pt,% innertopmargin = 2pt,% innerbottommargin = 2pt,% roundcorner = 4pt,% frametitle={\tikztitle{TITLE}},% frametitleaboveskip=-0.6\baselineskip,% frametitlebelowskip=0pt,% frametitlealignment = \raggedleft,% leftline = true,% rightline = true,% nobreak = true,% }% \NewDocumentCommand{\fancyquote}{O{-2\topsep-2\parsep-2\partopsep-2\parskip}+mmm}{% \vspace{#1}{% \ \hfill\begin{minipage}{0.5\textwidth}\noindent\scriptsize\emph{''#2''}% {\vspace{-\parsep}\begin{flushright}\footnotesize#3\\\sc #4\end{flushright}} \end{minipage}\\ }} \NewDocumentEnvironment{ppc.quote}{}{\begin{displayquote}\begin{itshape}\smaller}{\end{itshape}\end{displayquote}} %\preto\displayquote{\begingroup\setlength{\leftmargini}{0mm}} %\appto\enddisplayquote{\endgroup} \RenewDocumentEnvironment{quote}{}{% \list{}{\leftmargin20mm\rightmargin0mm}% \item\relax% }{\endlist} % \NewDocumentCommand{\labelhack}{m}{\def\@currentlabelname{#1}} \NewDocumentCommand{\acrolist}{}{} \NewDocumentCommand{\acrodef}{mmm}{% %\expandafter\DeclareFixedFootnote\expandafter{\csname #1\endcsname}{#3}% \expandafter\def\csname #1\endcsname{\footnote{#3}}% \expandafter\def\csname acrolsti:#1\endcsname{\item[#2] #3}% \appto\acrolist{\item[#2] #3}% \expandafter\def\csname acroS:#1\endcsname{#2}% \expandafter\def\csname acroL:#1\endcsname{#3}% } \NewDocumentCommand{\acroitem}{m}{\csname acrolsti:#1\endcsname} \NewDocumentCommand{\printacrolist}{O{}m}{\begin{listofabbrv}[#1]{#2}\acrolist\end{listofabbrv}} \NewDocumentCommand{\acro}{m}{\csname acroS:#1\endcsname} \NewDocumentCommand{\acrol}{m}{\csname acroL:#1\endcsname} \NewDocumentCommand{\acrols}{m}{\csname acroL:#1\endcsname, \csname acroS:#1\endcsname} \NewDocumentCommand{\acrosl}{m}{\csname acroS:#1\endcsname, \csname acroL:#1\endcsname} \NewDocumentCommand{\acrofoot}{m}{\csname acroS:#1\endcsname\csname #1\endcsname} \RenewDocumentCommand{\subparagraph}{m}{} \RenewDocumentCommand{\part}{m}{} % %Se alguém é capaz de me convencer e me evidenciar que o que penso %ou faço não é correto, será com contentamento que me corrigirei; afinal, %procuro a verdade, a qual jamais causou danos a alguém. Aquele, porém, %que persevera no engano e na ignorância causa danos a si mesmo. %Observa com olho crítico seus princípios norteadores e os indivíduos %sensatos, tanto aquilo de que se esquivam como aquilo que buscam. %Prestei algum benefício à comunidade? Se o fiz, então prestei um %benefício a mim. Em todas as ocasiões tem isso sempre em mente e em lugar %algum deixes de abrigar esse pensamento. %%Caso ajas conforme a reta razão com referência ao que se coloca %diante de ti, com seriedade, firmeza, benevolência, não admitindo que nada %secundário te desvie de tua ação, mas conservando pura a divindade que %existe em ti, como se devesses restituí-la de imediato; caso te vincules a isso, %sem nada esperar nem fugir de nada, contente com tua atividade presente %conforme a natureza, a dizer e murmurar em todo som emitido de tua boca %uma verdade heroica, então viverás feliz. E não existe ninguém com o poder %de impedi-lo. %Se tu mesmo não consegues com teu esforço realizar algo, não penses %ser isso impossível para o ser humano; se, entretanto, algo é possível ao ser %humano e lhe é próprio, pensa que isso a ti também é acessível. %É indispensável ter compreensão, atentando para cada palavra, daquilo %que se diz, e sobre cada ação, deve-se ter compreensão do seu efeito. Nesse %caso, é necessário ver diretamente a relação do ponto de vista de sua meta, %ou melhor, a qual meta a ação se relaciona; quanto ao outro caso, é preciso %observar o significado das palavras. %Como és uma parte que ajuda a tornar um sistema social completo, %faz toda ação tua ser uma parte integrante completa da vida social. Assim, %qualquer ação tua que não tenha referência imediata ou remotamente ao fim %social produz em tua vida uma ruptura violenta, impedindo que seja íntegra, %e é de caráter sedicioso