summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/abntexto/abntexto.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/abntexto/abntexto.cls')
-rw-r--r--macros/latex/contrib/abntexto/abntexto.cls591
1 files changed, 591 insertions, 0 deletions
diff --git a/macros/latex/contrib/abntexto/abntexto.cls b/macros/latex/contrib/abntexto/abntexto.cls
new file mode 100644
index 0000000000..09e3cf9750
--- /dev/null
+++ b/macros/latex/contrib/abntexto/abntexto.cls
@@ -0,0 +1,591 @@
+%! Public Domain Software
+%! 2022-09-25
+%! 1.0.0-alpha
+%! Elayson
+%! elaysonabreu@gmail.com
+
+%! SUMÁRIO
+
+%! PRÉ-CONFIGURAÇÕES
+%! FONTES
+%! LAYOUT
+%! SUMÁRIO
+%! SECIONAMEMTO
+%! CITAÇÕES
+%! ALÍNEAS
+%! TABELAS
+%! ÁREAS DE LEGENDA
+%! UTILIDADES
+%! IDENTIFICAÇÃO DO TRABALHO
+%! PATCHS, HOOKS
+%! INICIALIZAÇÃO
+
+% |sec PRÉ-CONFIGURAÇÕES
+% !=======================================================
+
+% Identificação do formato |TeX| e da classe. Apenas o pacote |pkg=keyval= é carregado nesta classe.
+
+% |bcode !------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass{abntexto}[2022-09-25 1.0.0-alpha Preparation of works in ABNT standards]
+
+\RequirePackage{keyval}
+% |ecode !------------------------------------------------
+
+% Macros auxiliares e sistema |dest=<key|eq val>=.
+
+\ifx\csstring\undefined
+ \def\tnba@csstring#1{\expandafter\tnba@csstringA\string#1//}
+ \def\tnba@csstringA#1#2//{#2}
+\else
+ \let\tnba@csstring=\csstring
+\fi
+
+% Definição do sistema |dest=keyval= e de um comando de |dest=debug=.
+
+% |bcode !------------------------------------------------
+\def\tnba@keyprefix{tnba}
+
+\def\tnba@key{\define@key{\tnba@keyprefix @\tnba@keyfamily}}
+\def\tnba@setkeys{\setkeys{\tnba@keyprefix @\tnba@keyfamily}}
+\def\tnba@setmacrokeys#1{\setkeys{\tnba@keyprefix @#1}}
+
+\def\advancecount#1{\global\advance#1by1 }
+\edef\tnba@bslash{\tnba@csstring\\}
+\def\tnba@addto#1#2{\expandafter\def\expandafter#1\expandafter {#1#2}}
+\def\tnba@tobdocument{\tnba@addto\tnba@bdocumenthook}
+
+\AddToHook{begindocument}{\def\tnba@bdocument{}}
+
+\def\tnba@error{\ClassError{abntexto}}
+% |ecode !------------------------------------------------
+
+% |sec FONTES
+% !================================================
+
+\def\tnba@inputfonts#1{\@namedef{tnba@fonts@#1}}
+
+\tnba@inputfonts{Latin Modern}{\usepackage{amssymb,lmodern,bm}}
+
+\tnba@inputfonts{helvetica-clone}{\def\sfdefault{qhv}\def\familydefault{\sfdefault}}
+\tnba@inputfonts{palatino-clone}{\usepackage{newpxtext,newpxmath,bm}}
+\tnba@inputfonts{timesnewroman-clone}{\usepackage{newtxtext,newtxmath,bm}}
+
+\def\fonts#1{\ifcsname tnba@fonts@#1\endcsname
+ \csname tnba@fonts@#1\endcsname \else
+ \tnba@error{Fonte *#1* desconhecida}\relax \fi
+}
+
+% Apenas o tamanho 12|,pt está definido. Defina outros usando |cs=fontsizedef=|metac=size=|metac=defs=.
+
+% |bcode !------------------------------------------------
+\def\fontsizedef#1#2{\@namedef{tnba@fontsize@#1}{#2}}
+\def\sizeselectordef#1#2#3{\DeclareRobustCommand#1{\@setfontsize#1{#2}{#3}}}
+\def\setfontsize#1{\ifcsname tnba@fontsize@#1\endcsname
+ \def\tnba@setfontsizehook{\csname tnba@fontsize@#1\endcsname} \else
+ \let\normalsize=\relax
+ \tnba@error{Tamanho de fonte *#1* desconhecido}{}\relax \fi
+}
+
+\AddToHook{begindocument/before}{\tnba@setfontsizehook}
+% |ecode !------------------------------------------------
+
+\def\spacing#1{\ifx\tnba@bdocument\undefined
+ \def\tnba@spacinghook{\tnba@spacing{#1}} \else
+ \tnba@spacing{#1}\fi \ignorespaces
+}
+\def\tnba@spacing#1{\dimen0=\f@size pt \dimen0=#1\dimen0 \baselineskip=\dimen0 }
+
+\def\singlesp{\baselineskip=\normalbaselineskip}
+\def\onehalfsp{\spacing{1.5}}
+\def\doublesp{\spacing{2}}
+
+\AddToHook{begindocument}{\csname tnba@spacinghook\endcsname}
+
+% LAYOUT
+% ================================================
+
+\def\tnba@keyfamily{paper}
+
+\def\papersizedef#1(#2,#3){\def\tnba@keyfamily{paper}%
+ \tnba@key{#1}[]{\def\tnba@W{#2}\def\tnba@H{#3}}%
+}
+
+\tnba@key{width} {\def\tnba@W{#1}}
+\tnba@key{height} {\def\tnba@H{#1}}
+\tnba@key{left} {\def\tnba@L{#1}}
+\tnba@key{right} {\def\tnba@R{#1}}
+\tnba@key{top} {\def\tnba@T{#1}}
+\tnba@key{bottom} {\def\tnba@B{#1}}
+\tnba@key{twoside}[true]{\def\tnba@twoside{#1}}
+
+\def\paper#1{\tnba@setmacrokeys{paper}{#1}%
+ \paperwidth=\tnba@W
+ \paperheight=\tnba@H
+ \oddsidemargin=\tnba@L
+ \evensidemargin=\tnba@R
+ \topmargin=\tnba@T
+ \textwidth=\paperwidth
+ \textheight=\paperheight
+ \headheight=12pt
+ \headsep=1cm
+ \advance\topmargin-\headheight \advance\topmargin-\headsep
+ \advance\textwidth-\tnba@L \advance\textwidth-\tnba@R
+ \advance\textheight-\tnba@T \advance\textheight-\tnba@B
+ \advance\headsep-\fontcharht\font`1
+ \ifx\pdfpagewidth\undefined
+ \ifx\pagewidth\undefined
+ \tnba@error{O comando \tnba@bslash paper só suporta saída em PDF. Use o formato PDF ou carregue o pacote *geometry*}\expandafter\enddocument\relax \else
+ \horigin=0pt
+ \vorigin=0pt
+ \pagewidth=\paperwidth
+ \pageheight=\paperheight
+ \fi
+ \else
+ \ifx\pdfhorigin\undefined
+ \advance\oddsidemargin-1in
+ \advance\topmargin-1in
+ \pdfpagewidth=\paperwidth
+ \pdfpageheight=\paperheight
+ \else
+ \pdfhorigin=0pt
+ \pdfvorigin=0pt
+ \pdfpagewidth=\paperwidth
+ \pdfpageheight=\paperheight
+ \fi
+ \fi
+ \ifx\tnba@twoside\undefined \else
+ \csname @twoside\tnba@twoside\endcsname \fi
+}
+
+\def\pretextual{\paper{twoside=false}%
+ \let\@oddhead=\empty
+ \let\@evenhead=\empty
+ \let\@oddfoot=\empty
+ \let\@evenfoot=\empty
+}
+\def\textual{\paper{twoside=true}%
+ \def\@oddhead{{\itshape\rightmark}\hfil{\small\thepage}}%
+ \def\@evenhead{{\small\thepage}\hfil\itshape\leftmark}%
+ \let\@oddfoot=\empty
+ \let\@evenfoot=\empty
+ \justifying
+ \parindent=1.5cm
+}
+
+% SUMÁRIO
+% ================================================
+
+\def\thepage{\the\c@page}
+\def\noprotrusion{\kern-1pt\kern1pt}
+\def\extfile#1{\@starttoc{#1}}
+
+\def\extline#1#2#3#4{%
+ \begingroup
+ \csname use#1\romannumeral#2font\endcsname \nobreak
+ \extlineshape
+ \hskip-\leftskip {#3}\nobreak
+ \leaders\hbox{$\m@th \mkern4.5mu\hbox{.}\mkern4.5mu$}\hfil\nobreak
+ \hbox to1.55em{\hss #4\noprotrusion}\par
+ \endgroup
+}
+\def\extlineshape{%
+ \parindent=0pt
+ \leftskip=\extlabelwidth
+ \rightskip=2.55em
+ \parfillskip=-\rightskip
+ \interlinepenalty=10000
+ \leavevmode
+}
+
+\def\l@section#1#2{\smartaboveskip{\penalty351}{\vskip1em plus1pt}%
+ \begingroup
+ \usetocifont \nobreak
+ \extlineshape
+ \hskip-\leftskip \maybeuctoc{#1}\nobreak\hfil\nobreak
+ \hbox to1.55em{\hss #2\noprotrusion}\par
+ \endgroup
+}
+\def\l@subsection {\extline{toc}{2}}
+\def\l@subsubsection {\extline{toc}{3}}
+\def\l@paragraph {\extline{toc}{4}}
+\def\l@subparagraph {\extline{toc}{5}}
+
+\def\tocifont#1{\def\usetocifont{#1}}
+\def\tociifont#1{\def\usetociifont{#1}}
+\def\tociiifont#1{\def\usetociiifont{#1}}
+\def\tocivfont#1{\def\usetocivfont{#1}}
+\def\tocvfont#1{\def\usetocvfont{#1}}
+
+% SECIONAMENTO
+% ================================================
+
+\def\tnba@nbpar{\interlinepenalty=10000\par}
+\def\noindentfirst{\global\everypar={\tnba@wipeepar \setbox7=\lastbox}}
+\def\tnba@wipeepar{\global\everypar={}}
+
+\newskip\savedtitleskip
+\newskip\savedlastskip
+
+\def\smartaboveskip#1#2{\savedlastskip=\lastskip
+ \ifdim\lastskip>\z@ \vskip-\lastskip \fi
+ \ifnum\lastpenalty=11333 \vskip-\savedtitleskip \else #1\fi
+ \ifdim\savedlastskip>\z@ \setbox0=\vbox{#2\global\dimen0=\lastskip}%
+ \else \dimen0=\maxdimen \fi
+ \ifdim\savedlastskip>\dimen0 \vskip\savedlastskip \else #2\fi
+}
+\def\smartbelowskip#1{#1\global\savedtitleskip=\lastskip \penalty11333}
+
+\newcount\sectioncount
+\newcount\subsectioncount
+\newcount\subsubsectioncount
+\newcount\paragraphcount
+\newcount\subparagraphcount
+
+\def\thesection{\the\sectioncount}
+\def\thesubsection{\thesection .\the\subsectioncount}
+\def\thesubsubsection{\thesubsection .\the\subsubsectioncount}
+\def\theparagraph{\thesubsubsection .\the\paragraphcount}
+\def\thesubparagraph{\theparagraph .\the\subparagraphcount}
+
+\def\sectionmark#1{}
+\def\subsectionmark#1{}
+\def\subsubsectionmark#1{}
+\def\paragraphmark#1{}
+\def\subparagraphmark#1{}
+
+\def\section#1{\par \smartaboveskip{\penalty351}{\vskip\sectionabove}\noindent
+ \advancecount\sectioncount
+ \setbox0=\hbox{\usesectionfont \thesection\quad}%
+ {\usesectionfont \hangindent=\wd0 \box0 \maybeucsec{#1}\tnba@nbpar}%
+% \noindentfirst
+ \addcontentsline{toc}{section}{\protect\extlabelbox{\thesection\hss}#1}%
+ \nobreak \smartbelowskip{\vskip\sectionbelow}%
+}
+\def\subsection#1{\par \smartaboveskip{\penalty351}{\vskip\subsectionabove}\noindent
+ \advancecount\subsectioncount
+ \setbox0=\hbox{\usesubsectionfont \thesubsection\quad}%
+ {\usesubsectionfont \hangindent=\wd0 \box0 #1\tnba@nbpar}%
+% \noindentfirst
+ \addcontentsline{toc}{subsection}{\protect\extlabelbox{\thesubsection\hss}#1}%
+ \nobreak \smartbelowskip{\vskip\subsectionbelow}%
+}
+\def\subsubsection#1{\par \smartaboveskip{\penalty351}{\vskip\subsubsectionabove}\noindent
+ \advancecount\subsubsectioncount
+ \setbox0=\hbox{\usesubsubsectionfont \thesubsubsection\quad}%
+ {\usesubsubsectionfont \hangindent=\wd0 \box0 #1\tnba@nbpar}%
+% \noindentfirst
+ \addcontentsline{toc}{subsubsection}{\protect\extlabelbox{\thesubsubsection\hss}#1}%
+ \nobreak \smartbelowskip{\vskip\subsubsectionbelow}%
+}
+\def\paragraph#1{\par \smartaboveskip{\penalty351}{\vskip\paragraphabove}\noindent
+ \advancecount\paragraphcount
+ \setbox0=\hbox{\useparagraphfont \theparagraph\quad}%
+ {\useparagraphfont \hangindent=\wd0 \box0 #1\tnba@nbpar}%
+% \noindentfirst
+ \addcontentsline{toc}{paragraph}{\protect\extlabelbox{\theparagraph\hss}#1}%
+ \nobreak \smartbelowskip{\vskip\paragraphbelow}%
+}
+\def\subparagraph#1{\par \smartaboveskip{\penalty351}{\vskip\subparagraphabove}\noindent
+ \advancecount\subparagraphcount
+ \setbox0=\hbox{\subsubparagraphfont \thesubparagraph\quad}%
+ {\usesubparagraphfont \hangindent=\wd0 \box0 #1\tnba@nbpar}%
+% \noindentfirst
+ \addcontentsline{toc}{subparagraph}{\protect\extlabelbox{\thesubparagraph\hss}#1}%
+ \nobreak \smartbelowskip{\vskip\subparagraphbelow}%
+}
+
+\def\heading#1{\noindent
+ {\usesectionfont \centering \maybeucsec{#1}\tnba@nbpar}%
+% \noindentfirst
+ \nobreak \vskip\sectionbelow
+% \addcontentsline{toc}{section}{\hbox to\extlabelwidth{}\maybeuctoc{#1}}%
+}
+
+\def\tociuppercase{\def\maybeuctoc{\MakeUppercase}}
+\def\tocilowercase{\let\maybeuctoc=\relax}
+\def\sectionuppercase{\def\maybeucsec{\MakeUppercase}}
+\def\sectionlowercase{\let\maybeucsec=\relax}
+
+\def\sectionfont#1{\def\usesectionfont{#1}}
+\def\subsectionfont#1{\def\usesubsectionfont{#1}}
+\def\subsubsectionfont#1{\def\usesubsubsectionfont{#1}}
+\def\paragraphfont#1{\def\useparagraphfont{#1}}
+\def\subparagraphfont#1{\def\usesubparagraphfont{#1}}
+
+\def\sectionspaces#1#2{\def\sectionabove{#1}\def\sectionbelow{#2}}
+\def\subsectionspaces#1#2{\def\subsectionabove{#1}\def\subsectionbelow{#2}}
+\def\subsubsectionspaces#1#2{\def\subsubsectionabove{#1}\def\subsubsectionbelow{#2}}
+\def\paragraphspaces#1#2{\def\paragraphabove{#1}\def\paragraphbelow{#2}}
+\def\subparagraphspaces#1#2{\def\subparagraphabove{#1}\def\subparagraphbelow{#2}}
+
+% CITAÇÕES
+% ================================================
+
+\def\qt#1{``#1''}
+
+\def\quote#1{\smartaboveskip{\penalty351}{\vskip\baselineskip}%
+\hfill\vtop{\advance\hsize-4cm \noindent\small #1\getprev}\useprev
+ \smartbelowskip{\vskip\baselineskip}%
+}
+
+% ALÍNEAS
+% ================================================
+
+\newcount\topicsdepth
+\newcount\topicscount
+
+\def\topicsindenti{\advance\leftskip\topicslabelwidth}
+\def\topicsindentii{\advance\leftskip\topicslabelwidth \advance\leftskip\topicslabelwidth}
+\def\topicslabelwidth{4ex}
+
+\def\topicsitem{\par\leavevmode\noindent \advance\topicscount by1
+ \def\@currentlabel{alínea~\@alph\topicscount )}%
+ \kern\dimexpr-\parindent-\topicslabelwidth\relax
+ \hbox to\topicslabelwidth{\topicsmakelabel\hfil}%
+ \ignorespaces
+}
+\def\topicslabeli{\@alph\topicscount )}
+\def\topicslabelii{---}
+
+\def\topics{\par \advance\topicsdepth by1
+ \leftskip=\parindent
+ \csname topicsindent\romannumeral\topicsdepth\endcsname
+ \edef\topicsmakelabel{\expandafter\noexpand\csname topicslabel\romannumeral\topicsdepth\endcsname}%
+ \let\item=\topicsitem
+ \tnba@addto\@esphack\ignorespaces
+}
+
+\let\endtopics=\par
+
+% |sec TABELAS
+% ! ================================================
+
+\newenvironment{table}[1]{\begin{tabular}{#1}}{\end{tabular}}
+
+% ÁREAS DE LEGENDA
+% ================================================
+
+%\long\def\@makecaption#1#2{\sbox0{#1~—~#2}%
+% \ifdim\wd0>\hsize
+% #1~—~#2\par \else
+% \global\@minipagefalse \hbox to\hsize{\hss\box0\hss}%
+% \fi
+% \vskip10pt
+%}
+%\def\place#1#2#3{\@float{#1}\centering\caption{#2}#3\end@float}
+
+\def\tnba@lastplacenum{0}
+
+% \legendplacedef{<type>}{<name>}{<ref-font>}{<file-extension>}
+\def\legendplacedef#1#2#3#4{\expandafter\newcount\csname c@#1\endcsname
+ \@namedef{#1name}{#2}
+ \@namedef{p@#1}##1{#3}
+ \@namedef{ext@#1}{#4}
+ \@namedef{l@#1}{\extline{#4}{1}}
+ \expandafter\edef\csname the#1\endcsname{\expandafter\noexpand\the\csname c@#1\endcsname}
+% \tnba@key{pos}{\@namedef{fps@#1}{##1}}
+% \@nameedef{ftype@#1}{\the\numexpr\tnba@lastplacenum+1}
+% \@namedef{fnum@#1}{\csname #1name\endcsname ~\csname the#1\csname}
+}
+
+\def\tnba@makelegend{\advancecount{\csname c@\tnba@savedplace\endcsname}%
+ \hfil \hbox{\vtop{\setbox0=\hbox{\legendlabel \tnba@savedlegend}%
+ \ifdim\wd0>\legendmaxwidth \hsize=\legendmaxwidth \else \hsize=\wd0 \fi
+ \setbox0=\hbox{\legendlabel}\legendlabel
+ \vtop{\advance\hsize-\wd0 \tnba@savedlegend}%
+ }}%
+ \addcontentsline{\csname ext@\tnba@savedplace\endcsname}%
+ {\tnba@savedplace}%
+ {\protect\extlabelbox\thelegend \tnba@savedlegend}%
+}
+\def\tnba@makesrc{\vskip8pt
+ \hfil \hbox{\vtop{\hsize=\tnba@placewidth
+ \setbox0=\hbox{\srclabel}\srclabel
+ \vtop{\advance\hsize-\wd0 \tnba@savedsrc\getprev}%
+ }}\useprev
+}
+
+\def\legend#1#2{%
+ \ifdim\lastskip<0pt \else
+ \ifnum\lastpenalty=11333 \vskip-\placeabovespace \else
+ \removelastskip \fi\fi
+ \def\tnba@savedplace{#1}\def\tnba@savedlegend{#2}%
+ \def\@currentlabel{\csname p@#1\expandafter\endcsname
+ \the\expandafter\numexpr\csname c@#1\endcsname+1}%
+}
+\def\legendname{\csname \tnba@savedplace name\endcsname}
+\def\thelegend{\the\csname c@\tnba@savedplace\endcsname}
+
+\def\src#1{%
+ \ifdim\lastskip<0pt \else
+ \ifnum\lastpenalty=11333 \vskip-\placeabovespace \else
+ \removelastskip \fi\fi
+ \def\tnba@savedsrc{#1}%
+}
+\def\srcname{Fonte}
+
+\def\placespaces#1#2{\def\placeabovespace{#1}\def\placebelowspace{#2}}
+
+\let\tnba@savedplace=\empty
+\let\tnba@savedlegend=\empty
+\let\tnba@savedsrc=\empty
+
+\long\def\place#1{%
+ \ifx\tnba@savedplace\empty \else \vskip\placeabovespace \fi
+ \begingroup \setbox0=\hbox{\ignorespaces#1}\edef\tnba@placewidth{\the\wd0}%
+ \parindent=0pt
+ \ifx\tnba@savedplace\empty\else\tnba@makelegend\fi
+ \nobreak\par\nointerlineskip
+ \hbox to\hsize{\hss\box0\hss}%
+ \nobreak\par\nointerlineskip
+ \ifx\tnba@savedsrc\empty \else \tnba@makesrc \vskip\placebelowspace \fi
+\par
+ \endgroup
+ \let\tnba@savedplace=\empty
+ \let\tnba@savedlegend=\empty
+ \let\tnba@savedsrc=\empty
+ \let\@currentlabel=\relax
+}
+
+% UTILIDADES
+% ================================================
+
+\def\getprev{\par\xdef\tnba@getprevA{\the\prevdepth}}
+\def\useprev{\par\prevdepth=\tnba@getprevA}
+
+\long\def\sizedpar#1{\leavevmode\vtop{\ignorespaces#1\getprev}\useprev}
+
+\def\justifying{\let\\=\tnba@origcr
+ \leftskip=0pt \rightskip=0pt
+ \finalhyphendemerits=5000
+ \parfillskip=0pt plus1fil
+}
+\let\tnba@origcr=\\
+
+\def\Enter{\@ifnextchar[\tnba@EnterS{\tnba@EnterS[]}}
+\def\tnba@EnterS[#1]{\vskip#1\baselineskip}
+
+\def\twonewpage{\newpage\leavevmode\newpage}
+
+% IDENTIFICAÇÃO DO TRABALHO
+% ================================================
+
+%\long\def\indexcarddebug#1{\hbox{\vrule\vbox to7.5cm{\hsize=\hsize %\advance\hsize-2cm \advance\hsize-0.8pt
+% \hrule\indexcardA{#1}\vss\indexcardbar\hrule}\vrule}%
+%}
+%\long\def\indexcarddebugA#1{\hbox spread2cm{\hss\vrule
+% \vbox spread2cm{\hrule\vss#1\vss\hrule}\vrule\hss}%
+%}
+
+\long\def\indexcard#1{\hbox{\vrule\vbox to7.5cm{\hsize=12.5cm \advance\hsize by-2cm \advance\hsize by-0.8pt
+ \hrule\indexcardA{#1}\vss\indexcardbar\hrule}\vrule}%
+}
+\long\def\indexcardA#1{\hbox spread2cm{\hss\vbox spread2cm{\vss\ttfamily#1\vss}\hss}%
+}
+\def\indexcardbar{\hrule\kern1cm}
+
+\def\judgeline#1{\par{\centering \rule{.7\linewidth}{.6pt}\\ #1\Enter[1.5]}}
+
+% |sec ?
+% ! ================================================
+
+{\catcode`,=\active
+ \gdef,{\futurelet\next\tnba@smartcomma}
+}
+
+\def\tnba@smartcomma{%
+ \ifx\next\@sptoken \else
+ \ifx\next\space \else \mathord \fi\fi
+ \tnba@mathcomma
+}
+
+\mathchardef\tnba@mathcomma\mathcode`\,
+\mathcode`\,="8000
+
+\ifx\XeTeXversion\undefined
+\AddToHook{begindocument/before}{
+ \let\tnba@hyper@linkstart=\hyper@linkstart
+ \protected\def\hyper@linkstart#1#2{\lowercase{\tnba@hyper@linkstart{#1}{#2}}}
+}
+\fi
+
+% |sec INICIALIZAÇÃO
+% ! ================================================
+
+% |bcode !------------------------------------------------
+\fontsizedef{12pt}{
+ \sizeselectordef\normalsize{12pt}{14.5pt}
+ \sizeselectordef\small{10pt}{12pt}
+}
+\setfontsize{12pt}
+\spacing{1.5}
+
+\papersizedef{A4}(210mm,297mm)
+\paper{
+ A4,
+ left=3cm,
+ top=3cm,
+ right=2cm,
+ bottom=2cm
+}
+
+\frenchspacing
+\parindent=0pt
+\parskip=0pt
+
+\tociuppercase
+\sectionuppercase
+
+\tocifont {\bfseries}
+\tociifont {\itshape}
+\tociiifont {\scshape}
+\tocivfont {}
+\tocvfont {}
+
+\sectionfont {\bfseries}
+\subsectionfont {\itshape}
+\subsubsectionfont {\scshape}
+\paragraphfont {}
+\subparagraphfont {}
+
+\sectionspaces {\baselineskip}{\baselineskip}
+\subsectionspaces {\baselineskip}{\baselineskip}
+\subsubsectionspaces {\baselineskip}{\baselineskip}
+\paragraphspaces {\baselineskip}{\baselineskip}
+\subparagraphspaces {\baselineskip}{\baselineskip}
+
+\legendplacedef{figure}{Figura}{fig.\,#1}{lof}
+\legendplacedef{table}{Tabela}{tab.\,#1}{lot}
+
+\def\legendlabel{\legendname ~\thelegend ~---~}
+\def\srclabel{\raggedright\small Fonte:~}
+\def\legendmaxwidth{0.7\linewidth}
+
+\placespaces{\baselineskip}{\baselineskip}
+
+\def\makelof{\heading{Lista de figuras}
+ \def\extlabelwidth{12.5ex}%
+ \def\extlabelbox##1{\hbox to\extlabelwidth{Figura ##1 ---\hfil}}%
+ \extfile{lof}\newpage
+}
+\def\makelot{\heading{Lista de tabelas}
+ \def\extlabelwidth{12.5ex}
+ \def\extlabelbox##1{\hbox to\extlabelwidth{Tabela ##1 ---\hfil}}%
+ \extfile{lot}\newpage
+}
+\def\maketoc{\heading{Sumário}
+ \def\extlabelwidth{4ex}
+ \def\extlabelbox##1{\hbox to\extlabelwidth{##1\hfil}}%
+ \extfile{toc}\newpage
+}
+
+\arrayrulewidth=0.4pt
+
+\topskip=12pt
+
+\pretextual
+
+\endinput
+% |ecode !------------------------------------------------