summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/unbtex/unbtex.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/unbtex/unbtex.cls')
-rw-r--r--macros/latex/contrib/unbtex/unbtex.cls771
1 files changed, 520 insertions, 251 deletions
diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls
index aa289ec887..71f58cebba 100644
--- a/macros/latex/contrib/unbtex/unbtex.cls
+++ b/macros/latex/contrib/unbtex/unbtex.cls
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.4.4 2024/01/05
+%% Version 1.5 2024/02/02
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -14,25 +14,43 @@
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%%
-%% This package consists of the following source file:
-%% unbtex.cls
-%% Template files:
-%% unbtex-example.pdf, unbtex-example.tex, unbtextcite-pt, unbtexcite-en,
-%% and files within unbtex-example directory
+%% This package consists of the file unbtex.cls and the bibliographic style
+%% files located in the unbtexcite directory.
+%% Template files: unbtex-example.pdf, unbtex-example.tex, and files within
+%% unbtex-example directory.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2024/01/05 v1.4.4 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2024/02/02 v1.5 Modelo da Universidade de Brasília baseado em abnTeX2]
+% ------------------------------------------------------------------------
+% Opções para a classe
+% ------------------------------------------------------------------------
+
+% ---
+% Opção para definição de idioma principal
+% ---
+\def\idioma{brazil} % Português por default
+\DeclareOption{idioma=brazil}{\def\idioma{brazil}}
+\DeclareOption{idioma=english}{\def\idioma{english}}
+% ---
+
+% ---
+% Opção para definição de estilo de referências bibliográficas
+% ---
+\def\bibsty{alf} % Autor-data por default
+\DeclareOption{bib=alf}{\def\bibsty{alf}}
+\DeclareOption{bib=num}{\def\bibsty{num}}
% ---
-% Repassa todos os parâmetros a classe abntex2,
-% https://www.ctan.org/pkg/abntex2
+
+% ---
+% Repassa demais opções à classe abntex2
% ---
-\DeclareOption*{%
- \PassOptionsToClass{\CurrentOption}{abntex2}%
+\DeclareOption*{
+ \PassOptionsToClass{\CurrentOption}{abntex2}
}
\ProcessOptions\relax
-\LoadClass{abntex2}
+\LoadClass[12pt,a4paper,onecolumn,openright]{abntex2}
% ---
% ------------------------------------------------------------------------
@@ -42,35 +60,32 @@
% ---
% Pacotes matemáticos
% ---
-\RequirePackage{amsmath}
-\RequirePackage{amsfonts}
-\RequirePackage{amsthm}
-\RequirePackage{mathtools} % Melhorias nas equações
-\RequirePackage{mathrsfs} % Fonte tipográfica mathscr
+\RequirePackage{mathtools} % Melhoria nas equaões
+\RequirePackage{amsthm} % Para configuração de ambientes do tipo teorema
% ---
% ---
% Pacotes de fontes tipográficas
% ---
-\RequirePackage{stickstootext} % Fonte principal (Stix2)
-\RequirePackage[stickstoo,vvarbb]{newtxmath}% Fonte matemática (Stix2)
-\RequirePackage[scale=0.88]{tgheros} % Fonte sans serif (TeX Gyre Heros)
-\RequirePackage[scale=1.03]{inconsolata} % Fonte monoespaçada
+\RequirePackage{stickstootext} % Fonte principal (Stix2)
+\RequirePackage[stickstoo,vvarbb]{newtxmath} % Fonte matemática (Stix2)
+\RequirePackage[scale=0.90]{tgheros} % Fonte sans serif (TeX Gyre Heros)
+\RequirePackage[scale=1]{inconsolata} % Fonte monoespaçada
% ---
% ---
% Pacotes para figuras
% ---
-\RequirePackage{graphicx} % Inclusão de figuras
-%\RequirePackage[skip=8pt]{subcaption} % Permite fazer subfiguras
-\RequirePackage[captionskip=8pt]{subfig} % Permite fazer subfiguras
+\RequirePackage[captionskip=8pt]{subfig} % Permite fazer subfiguras
+%\RequirePackage[skip=8pt]{subcaption} % Permite fazer subfiguras
% ---
% ---
% Cores verde e azul UnB
% http://www.marca.unb.br/arquivosdigitais/files/guia_pratico/guia_pratico.pdf
% ---
-\RequirePackage[dvipsnames]{xcolor} % Para cores da UnB
+% Define cores da UnB
+\RequirePackage[dvipsnames]{xcolor}
\definecolor{verdeunb}{cmyk}{1,0,1,0.2}
\definecolor{azulunb}{cmyk}{1,0.65,0,0.35}
@@ -83,35 +98,34 @@
% ---
% Configurações para tabelas
% ---
-\RequirePackage{multirow} % Para combinar linhas nas tabelas
-\RequirePackage{colortbl} % Permite alterar cores de linhas e células das tabelas
-\arrayrulecolor{verdeunb} % Define a cor das linhas das tabelas
-\setlength\arrayrulewidth{0.6pt} % Define a espessura das linhas das tabelas
+\RequirePackage{multirow} % Para combinar linhas nas tabelas
+\RequirePackage{colortbl} % Permite alterar cores de linhas e células das tabelas
+\arrayrulecolor{verdeunb} % Define a cor das linhas das tabelas
+\setlength\arrayrulewidth{0.6pt} % Define a espessura das linhas das tabelas
% Alinhamento em colunas com especificação de largura
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
% ---
-% ---
% ---
% Configurações do texto
% ---
-\RequirePackage[compact]{titlesec} % Reduz o espaço entre os títulos de seções e o texto
\RequirePackage{indentfirst} % Indenta o primeiro parágrafo de cada seção.
-\RequirePackage[nopatch=item]{microtype} % Para melhorias de justificação
+\RequirePackage{microtype} % Para melhorias de justificação
\RequirePackage{icomma} % Configura casas decimais separadas por vírgula
-\setlength{\parindent}{3em} % Tamanho do recuo da primeira linha do parágrafo
+\setlength{\parindent}{3em} % Tamanho da indentação da primeira linha do parágrafo
\frenchspacing % Retira espaço extra entre as frases (após o ponto final)
-\setlength{\parskip}{4pt} % Espaço entre parágrafos
+\setlength{\parskip}{3pt plus 1pt minus 1pt} % Espaço entre parágrafos
\setlength{\skip\footins}{20pt plus 2pt minus 2pt} % Espaço entre o texto e as notas de rodapé
\addtolength{\footnotesep}{2pt} % Espaço entre as notas de rodapé
+\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
% Ajusta espaço entre texto e figuras/tabelas
-\setlength{\textfloatsep}{18.0pt plus 2.0pt minus 2.0pt} % espaçamento entre texto e floats no topo/base da página
-\setlength{\floatsep}{12.0pt plus 2.0pt minus 2.0pt} % espaçamento entre floats
-\setlength{\intextsep}{14pt plus 2pt minus 2pt} % espaçamento entre texto e floats no meio da página
+\setlength{\textfloatsep}{18pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no topo/base da página
+\setlength{\floatsep}{12pt plus 2pt minus 2pt} % Espaçamento entre floats
+\setlength{\intextsep}{14pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no meio da página
% Ajusta espaçamento nos ambientes itemize, enumerate, description e alineas
\setlist[itemize]{topsep=0pt,itemsep=0pt,leftmargin=\parindent}
@@ -123,70 +137,67 @@
\renewcommand{\thefigure}{\thechapter.\arabic{figure}}\numberwithin{figure}{chapter}
\renewcommand{\thetable}{\thechapter.\arabic{table}}\numberwithin{table}{chapter}
-% configuração do cabeçalho das páginas
-\pagestyle{myheadings} % cabeçalho com linha e numeração da página
+% Configuração do cabeçalho das páginas
+\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
% Modifica o tamanho da fonte e espaçamento entre linhas no ambiente verbatim
\RequirePackage{fvextra}
-\renewenvironment{verbatim}{%
- \VerbatimEnvironment
+\renewenvironment{verbatim}{\VerbatimEnvironment
\begin{Verbatim}[fontsize=\small,baselinestretch=1.1]%
}{%
- \end{Verbatim}%
-}
+ \end{Verbatim}
+}%
\fvset{listparameters=\setlength{\topsep}{6pt}\setlength{\partopsep}{0pt}}
-
-% Modifica o espaçamento entre o texto e o ambiente citacao
-\renewenvironment*{citacao}[1][default]{%
- \list{}{\topsep=4pt}%
- \ABNTEXfontereduzida%
- \addtolength{\leftskip}{\ABNTEXcitacaorecuo}%
- \item[]%
- \begin{SingleSpace}%
- \ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}%
- }{%
- \end{SingleSpace}%
- \endlist}%
% ---
% ---
-% Personalização do Sumário
+% Configurações do Sumário
% ---
\settocdepth{subsection}
-\renewcommand{\cftchapterfont}{\normalsize\bfseries\sffamily}
-\setlength{\cftbeforechapterskip}{8pt}
-\setlength{\cftbeforepartskip}{8pt}
+\setlength{\cftbeforechapterskip}{5pt plus 1pt minus 1pt}
+\setlength{\cftbeforepartskip}{10pt plus 2pt minus 2pt}
-% Corrige falha do abntex2 nos anexos e apêndices
-\renewcommand{\PRIVATEapendiceconfig}[2]{%
-\setboolean{abntex@apendiceousecao}{true}%
-\renewcommand{\appendixname}{#1}
+% Corrige fontes tipográficas dos anexos e apêndices no sumário
\ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{
-\renewcommand{\appendixtocname}{\texorpdfstring{\MakeTextUppercase{#2}}{#2}}
-}{%
-\renewcommand{\appendixtocname}{{\normalsize\bfseries\sffamily #2}}}
-\renewcommand{\appendixpagename}{{\Huge\bfseries\sffamily #2}}
-\switchchapname{#1}
-\renewcommand*{\cftappendixname}{#1 \space}
+\renewcommand{\cftpartfont}{\bfseries\sffamily}
+\renewcommand{\cftpartpagefont}{\bfseries\sffamily}
+\renewcommand{\cftchapterfont}{\bfseries\sffamily}
+\renewcommand{\cftsectionfont}{\bfseries\sffamily}
+}{
+\renewcommand{\cftpartfont}{\bfseries\sffamily}
+\renewcommand{\cftchapterfont}{\bfseries\sffamily}
+\renewcommand{\cftpartpagefont}{\bfseries\sffamily}
+\renewcommand{\cftchapterpagefont}{\bfseries\sffamily}
}
-\renewcommand{\cftpartpagefont}{\normalsize\bfseries}
-
-% Anexos - comando
+% Corrige warning do pacote hyperref para sumário ABNT
+\renewcommand{\PRIVATEapendiceconfig}[2]{%
+ \setboolean{abntex@apendiceousecao}{true}%
+ \renewcommand{\appendixname}{#1}
+ \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{
+ %\renewcommand{\appendixtocname}{\uppercase{#2}}}{%
+ \renewcommand{\appendixtocname}{\texorpdfstring{\MakeTextUppercase{#2}}{#2}}}{%
+ \renewcommand{\appendixtocname}{#2}
+ }
+ \renewcommand{\appendixpagename}{#2}
+ \switchchapname{#1}
+ \renewcommand*{\cftappendixname}{#1 \space}
+}
+% Corrige nome dos anexos nas referências cruzadas
\renewcommand{\anexos}{%
\cftinserthook{toc}{AAA}
+ %\PRIVATEapendiceconfig{\anexoname}{\anexosname}
\PRIVATEapendiceconfig{\Anexoname}{\Anexosname}
\appendix
\renewcommand\theHchapter{anexochapback.\arabic{chapter}}
}
-
-% Anexos - ambiente
\renewenvironment{anexosenv}{%
\cftinserthook{toc}{AAA}
+ %\PRIVATEapendiceconfig{\anexoname}{\anexosname}
\PRIVATEapendiceconfig{\Anexoname}{\Anexosname}
\crefalias{appendix}{annex}
\begin{appendix}
\renewcommand\theHchapter{anexochapback.\arabic{chapter}}
-}{
+}{%
\end{appendix}
\setboolean{abntex@apendiceousecao}{false}
\bookmarksetup{startatroot}
@@ -197,7 +208,7 @@
% Configurações das legendas
% ---
% Legenda das figuras/tabelas na parte superior, tamanho da fonte e espaçamento
-\RequirePackage[figureposition=t,font={small},skip=10pt]{caption}
+\captionsetup{figureposition=t,font={small},skip=10pt}
% Espaçamento vertical do comando \legend
\renewcommand{\legend}[1]{%
@@ -213,10 +224,10 @@
\captionsetup{aboveskip=0pt,belowskip=6pt}
\captiondelim{\mbox{}}
\@makecaption{}{\ABNTEXfontereduzida #1}\par
- \endgroup}
-
+ \endgroup
+}
% Espaçamento vertical do comando \fonte
-% também define o espaçamento do comando \nota
+% Também define o espaçamento do comando \nota
\renewcommand{\fonte}[2][\fontename]{%
\M@gettitle{#2}%
\memlegendinfo{#2}%
@@ -228,23 +239,16 @@
\fi
\ABNTEXfontereduzida
\captionsetup{aboveskip=0pt,belowskip=6pt}
- \captiondelim{\ABNTEXcaptionfontedelim}
+ \captiondelim{\ABNTEXcaptionfontedelim}
\@makecaption{\ABNTEXfontereduzida #1}{\ignorespaces\ABNTEXfontereduzida #2}\par
- \endgroup}
-% ---
-
-% ---
-% Pacotes para algoritmos
-% ---
-\RequirePackage[chapter]{algorithm}
-\RequirePackage{algpseudocode}
+ \endgroup
+}
% ---
% ---
% Configurações do pacote hyperref
% ---
-% https://ctan.org/pkg/hyperref
-\hypersetup{
+\hypersetup{%
pdfstartview=FitH,
breaklinks=true,
colorlinks=true,
@@ -255,10 +259,20 @@
% ---
% ---
-% Insere códigos de programação
+% Pacotes para inserir algoritmos
+% ---
+\RequirePackage[chapter]{algorithm}
+\RequirePackage{algpseudocode}
+% Fix anchor names for algorithm lines
+\newcounter{Halgorithmic}
+\AtBeginEnvironment{algorithmic}{\stepcounter{Halgorithmic}}
+\ExpandArgs{c}\renewcommand{theHALG@line}{\arabic{Halgorithmic}.\arabic{ALG@line}}
+% ---
+
+% ---
+% Pacote para inserir códigos de programação
% ---
\RequirePackage{listings}
-% https://ctan.org/pkg/listings
% Julia (Linguagem não reconhecida automaticamente pelo pacote listings)
\lstdefinelanguage{Julia}%
@@ -274,14 +288,14 @@
morestring=[m]{'}{'},%
}[keywords,comments,strings]%
-\definecolor{mygreen}{RGB}{28,172,0} % color values Red, Green, Blue
+\definecolor{mygreen}{RGB}{28,172,0} % Color values Red, Green, Blue
\definecolor{mylilas}{RGB}{170,55,241}
-\lstset{
+\lstset{%
basicstyle=\linespread{1.1}\ttfamily\footnotesize,
numbers=left,%
- numberstyle={\scriptsize \color{black}},% size of the numbers
- numbersep=9pt, % this defines how far the numbers are from the text
+ numberstyle={\scriptsize \color{black}}, % Size of the numbers
+ numbersep=9pt, % This defines how far the numbers are from the text
backgroundcolor=\color{gray!10},
tabsize=2,
frame=single,
@@ -301,79 +315,185 @@
commentstyle=\color{mygreen},%
extendedchars=true,
inputencoding=utf8,
- showstringspaces=false,%without this there will be a symbol in the places where there is a space
+ showstringspaces=false,% Without this there will be a symbol in the places where there is a space
literate={á}{{\'a}}1 {ã}{{\~a}}1 {é}{{\'e}}1 {ç}{{\c{c}}}1 {â}{{\^a}}1 {õ}{{\~o}}1 {ú}{{\'u}}1 {ó}{{\'o}}1 {í}{{\'i}}1 {Í}{{\'I}}1
}
% ---
% ---
-% Referências cruzadas automáticas, dependendo do tipo de referência (figuras, tabelas, equações, etc.)
+% Pacote para remissões internas
% ---
-\RequirePackage[nameinlink,noabbrev,english,brazilian]{cleveref}
+\IfStrEq{\idioma}{brazil}
+{\RequirePackage[nameinlink,noabbrev,brazilian]{cleveref}}{\RequirePackage[nameinlink,noabbrev,english]{cleveref}}
\crefname{annex}{\anexoname}{\anexosname}
\Crefname{annex}{\Anexoname}{\Anexosname}
+\crefname{listing}{\codigoname}{\codigosname}
+\Crefname{listing}{\Codigoname}{\Codigosname}
+\crefname{subsection}{\subsectionname}{\subsectionsname}
+\Crefname{subsection}{\Subsectionname}{\Subsectionsname}
% ---
% ---
-% Definição de ambientes definição, teorema, exemplo, demonstração, etc.
+% Definição de ambientes teorema, exemplo, demonstração, etc.
% ---
\RequirePackage{mdframed}
-% https://www.ctan.org/pkg/mdframed
\theoremstyle{definition}
\mdfdefinestyle{plainSty}{hidealllines=true,backgroundcolor=verdeunb!10}
-\newmdtheoremenv[style=plainSty]{theorem}{\thname}[chapter]
-\newmdtheoremenv[style=plainSty]{lemma}{\lmname}[chapter]
-\newmdtheoremenv[style=plainSty]{proposition}{\prname}[chapter]
-\newmdtheoremenv[style=plainSty]{corollary}{\crname}[chapter]
+\newmdtheoremenv[style=plainSty]{theorem}{\thname}[chapter] % Teorema
+\newmdtheoremenv[style=plainSty]{lemma}{\lmname}[chapter] % Lema
+\newmdtheoremenv[style=plainSty]{proposition}{\prname}[chapter] % Proposição
+\newmdtheoremenv[style=plainSty]{corollary}{\crname}[chapter] % Corolário
\theoremstyle{definition}
\mdfdefinestyle{defnSty}{hidealllines=true,backgroundcolor=azulunb!10}
-\newmdtheoremenv[style=defnSty]{definition}{\dfname}[chapter]
-\newmdtheoremenv[style=defnSty]{assumption}{\aptname}[chapter]
-\newmdtheoremenv[style=defnSty]{axiom}{\axname}[chapter]
-\newmdtheoremenv[style=defnSty]{conjecture}{\cjcname}[chapter]
-\newmdtheoremenv[style=defnSty]{property}{\prpname}[chapter]
-\newmdtheoremenv[style=defnSty]{example}{\expname}[chapter]
-\newmdtheoremenv[style=defnSty]{exercise}{\excname}[chapter]
-\newmdtheoremenv[style=defnSty]{problem}{\prbname}[chapter]
+\newmdtheoremenv[style=defnSty]{definition}{\dfname}[chapter] % Definição
+\newmdtheoremenv[style=defnSty]{assumption}{\aptname}[chapter] % Hipótese
+\newmdtheoremenv[style=defnSty]{axiom}{\axname}[chapter] % Axioma
+\newmdtheoremenv[style=defnSty]{conjecture}{\cjcname}[chapter] % Conjectura
+\newmdtheoremenv[style=defnSty]{property}{\prpname}[chapter] % Propriedade
+\newmdtheoremenv[style=defnSty]{example}{\expname}[chapter] % Exemplo
+\newmdtheoremenv[style=defnSty]{exercise}{\excname}[chapter] % Exercício
+\newmdtheoremenv[style=defnSty]{problem}{\prbname}[chapter] % Proplema
\theoremstyle{remark}
\let\proof\relax
\let\endproof\relax
-\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{remark}{\rmname}[chapter]
+\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{remark}{\rmname}[chapter] % Observação
\newtheoremstyle{myproof}{\topsep}{\topsep}{}{}{\bfseries}{}{ }{\thmname{#1} \thmnote{#3}}
\theoremstyle{myproof}
\let\proof\relax
\let\endproof\relax
-\newmdtheoremenv[linecolor=verdeunb,linewidth=1pt,hidealllines=false]{proof}{\proofname.}
+\newmdtheoremenv[linecolor=verdeunb,linewidth=1pt,hidealllines=false]{proof}{\proofname.} % Prova
\AtEndEnvironment{proof}{\hfill$\square$}
-\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{solution}{\sltname.}
+\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{solution}{\sltname.} % Solução
+% ---
-\newcommand{\thmnameen}{
-\newcommand{\thname}{Theorem}
-\newcommand{\lmname}{Lemma}
-\newcommand{\prname}{Proposition}
-\newcommand{\crname}{Corollary}
-\newcommand{\aptname}{Assumption}
-\newcommand{\dfname}{Definition}
-\newcommand{\axname}{Axiom}
-\newcommand{\cjcname}{Conjecture}
-\newcommand{\prpname}{Property}
-\newcommand{\expname}{Example}
-\newcommand{\excname}{Exercise}
-\newcommand{\prbname}{Problem}
-\newcommand{\sltname}{Solution}
-\newcommand{\rmname}{Remark}
-\renewcommand{\proofname}{Proof}
-\renewcommand{\lstlistingname}{Code}
-\renewcommand{\ALG@name}{Algorithm}
-\crefname{listing}{code}{codes}
-\Crefname{listing}{Code}{Codes}
+% ---
+% Referências bibliográficas
+% ---
+% Lista na bibliografia o número das páginas em que cada referência é citada
+\RequirePackage[hyperpageref]{backref}
+\AtBeginDocument{
+\renewcommand*{\backref}[1]{}
+\renewcommand*{\backrefalt}[4]{\ifcase#1\nocitation\or\citedp~#2.\else\citedpp~#2.\fi}
+% Retira os limitadores < e > dos hiperlinks
+\addtociteoptionlist{abnt-url-package=url}
+\def\UrlLeft{}
+\def\UrlRight{}
+\urlstyle{same}
}
+% Gera as referências bibliográficas de acordo com as normas da ABNT
+\IfStrEq{\bibsty}{alf}{% Estilo autor-data
+\newcommand{\recuo}{3em} % Indentação da lista de referências
+\RequirePackage[alf,recuo=\recuo,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\renewcommand{\@biblabel}[1]{}%
+\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação
+{\bibliographystyle{unbtexcite/unbtex-alf-pt}}{\bibliographystyle{unbtexcite/unbtex-alf-en}}
+}{%
+\IfStrEq{\bibsty}{num}{% Estilo numérico
+\newcommand{\recuo}{2.2em} % Aumente este valor se o número de referências for superior a 100
+\RequirePackage[num,recuo=\recuo,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage{cite} % Para ordenar, comprimir e colocar entre colchetes os números nas citações
+\renewcommand{\@biblabel}[1]%
+{%
+\ifthenelse{\equal{#1}{}}{}%
+{%
+% Para números entre colchetes na lista de referências
+%\def\biblabeltext{{\citenumstyle #1\hspace{\biblabelsep}}}%
+\def\biblabeltext{{\citenumstyle[#1]\hspace{\biblabelsep}}}%
+\settowidth{\ABCIauxlen}{\biblabeltext}%
+\ifthenelse{\lengthtest{\ABCIauxlen<\minimumbiblabelwidth}}%
+{\setlength{\ABCIauxlen}{\minimumbiblabelwidth-\ABCIauxlen}}%
+{\setlength{\ABCIauxlen}{0cm}}%
+%{\biblabeltext\hspace{\ABCIauxlen}}%
+\parbox[t]{\recuo}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
+}}%
+\renewcommand{\citeonline}[2][] % Redefine \citeonline como \cite
+{\ifthenelse{\equal{#1}{}}{\cite{#2}}{\cite[#1]{#2}}}
+\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação
+{\bibliographystyle{unbtexcite/unbtex-num-pt}}{\bibliographystyle{unbtexcite/unbtex-num-en}}
+}}
+% ---
+
+% ---
+% Listas de abreviaturas/siglas/símbolos
+% ---
+\IfStrEq{\idioma}{brazil}
+{\RequirePackage[portuguese]{nomencl}}{\RequirePackage[english]{nomencl}}
+%\RequirePackage[refpage]{nomencl} % Para imprimir página onde o símbolo foi registrado
+%\def\pagedeclaration#1{\dotfill\hyperlink{page.#1}{\nobreakspace#1}\par}
+\renewcommand{\nomname}{\listadesiglasname} % Nome da lista de siglas
+\setlength{\nomitemsep}{-\parsep} % Espaço entre os itens das listas
+% Imprime os títulos das listas e dos grupos
+\newcommand{\nomenclheader}[1]{\section*{\hspace*{-\leftmargin}\large#1}}
+\renewcommand\nomgroup[1]{%
+ \IfStrEqCase{#1}{%
+ {A}{\vspace{-38pt}\nomenclheader{}} % Lista de abreviaturas e siglas
+ {B}{\cleardoublepage % Quebra de página
+ \pretextualchapter{\hspace{-\leftmargin}\listadesimbolosname} % Lista de símbolos
+ \vspace{-10pt}\nomenclheader{\nomBname}} % Símbolos romanos
+ {C}{\nomenclheader{\nomCname}} % Símbolos gregos
+ %{Letra}{\nomenclheader{Nome do grupo}} % Acrescente, se necessário, outros grupos
+ {X}{\nomenclheader{\nomXname}} % Sobrescritos
+ {Z}{\nomenclheader{\nomZname}} % Subscritos
+ % Grupos podem ser alterados ou adicionados
+ }%
+}
+% Ajusta a largura do rótulo nas listas de abreviaturas/siglas/símbolos
+\RequirePackage{xpatch}
+\xapptocmd\thenomenclature{\let\@item\nomencl@item\def\nomencl@width{0pt}}{}{}
+\let\nomencl@item\@item
+\xpretocmd\nomencl@item{\nomencl@measure{#1}}{}{}
+\def\nomencl@measure#1{%
+ \sbox0{#1}%
+ \ifdim\wd0>\nomencl@width\relax
+ \edef\nomencl@width{\the\wd0}%
+ \fi
+}
+\xapptocmd\endthenomenclature{%
+ \immediate\write\@mainaux{\global\nomlabelwidth\nomencl@width\relax}%
+}{}{}
+% ---
-\newcommand{\thmnamebr}{
+% ---
+% Ajusta a indentação das listas de figuras e de tabelas
+% ---
+%\RequirePackage{tocbasic} % Já carregado pelo pacote nomencl
+\DeclareTOCStyleEntry[
+ indent=0pt,
+ entrynumberformat=\entrynumberwithprefix{\figurename},
+ dynnumwidth,
+ %numsep=0em
+]{tocline}{figure}
+
+\DeclareTOCStyleEntry[
+ indent=0pt,
+ entrynumberformat=\entrynumberwithprefix{\tablename},
+ dynnumwidth,
+ %numsep=0em
+]{tocline}{table}
+\newcommand\entrynumberwithprefix[2]{#1~#2\thinspace\hfill}
+% ---
+
+% ---
+% Define o texto dos rótulos de acordo com o idioma principal selecionado
+% ---
+\AtBeginDocument{
+\IfStrEq{\idioma}{brazil}{
+\selectlanguage{brazil}
+\renewcommand{\listfigurename}{Lista de figuras}
+\renewcommand{\bibname}{Referências}
+\renewcommand{\apendicename}{Apêndice}
+\renewcommand{\anexoname}{anexo}\renewcommand{\anexosname}{anexos}
+\newcommand{\Anexoname}{Anexo}\newcommand{\Anexosname}{Anexos}
+\newcommand{\subsectionname}{subseção}\newcommand{\subsectionsname}{subseções}
+\newcommand{\Subsectionname}{Subseção}\newcommand{\Subsectionsname}{Subseções}
+\renewcommand{\lstlistingname}{Código}
+\newcommand{\codigoname}{código}\newcommand{\codigosname}{códigos}
+\newcommand{\Codigoname}{Código}\newcommand{\Codigosname}{Códigos}
+\renewcommand{\ALG@name}{Algoritmo}
\newcommand{\thname}{Teorema}
\newcommand{\lmname}{Lema}
\newcommand{\prname}{Proposição}
@@ -389,11 +509,46 @@
\newcommand{\sltname}{Solução}
\newcommand{\rmname}{Observação}
\renewcommand{\proofname}{Demonstração}
-\renewcommand{\lstlistingname}{Código}
-\renewcommand{\ALG@name}{Algoritmo}
-\crefname{listing}{código}{códigos}
-\Crefname{listing}{Código}{Códigos}
-}
+\newcommand{\nocitation}{Nenhuma citação no texto.}
+\newcommand{\citedp}{Citado na p.}
+\newcommand{\citedpp}{Citado nas pp.}
+\newcommand{\nomBname}{Símbolos romanos}
+\newcommand{\nomCname}{Símbolos gregos}
+}{
+\selectlanguage{english}
+\renewcommand{\listfigurename}{List of figures}
+\renewcommand{\listtablename}{List of tables}
+\renewcommand{\bibname}{References}
+\renewcommand{\apendicename}{Appendix}\renewcommand{\apendicesname}{Appendices}
+\renewcommand{\anexoname}{annex}\renewcommand{\anexosname}{annexes}
+\newcommand{\Anexoname}{Annex}\newcommand{\Anexosname}{Annexes}
+\newcommand{\subsectionname}{subsection}\newcommand{\subsectionsname}{subsections}
+\newcommand{\Subsectionname}{Subsection}\newcommand{\Subsectionsname}{Subsections}
+\renewcommand{\lstlistingname}{Code}
+\newcommand{\codigoname}{code}\newcommand{\codigosname}{codes}
+\newcommand{\Codigoname}{Code}\newcommand{\Codigosname}{Codes}
+\renewcommand{\ALG@name}{Algorithm}
+\newcommand{\thname}{Theorem}
+\newcommand{\lmname}{Lemma}
+\newcommand{\prname}{Proposition}
+\newcommand{\crname}{Corollary}
+\newcommand{\aptname}{Assumption}
+\newcommand{\dfname}{Definition}
+\newcommand{\axname}{Axiom}
+\newcommand{\cjcname}{Conjecture}
+\newcommand{\prpname}{Property}
+\newcommand{\expname}{Example}
+\newcommand{\excname}{Exercise}
+\newcommand{\prbname}{Problem}
+\newcommand{\sltname}{Solution}
+\newcommand{\rmname}{Remark}
+\renewcommand{\proofname}{Proof}
+\newcommand{\nocitation}{No citations.}
+\newcommand{\citedp}{Cit. on p.}
+\newcommand{\citedpp}{Cit. on pp.}
+\newcommand{\nomBname}{Roman letters}
+\newcommand{\nomCname}{Greek letters}
+}}
% ---
% ------------------------------------------------------------------------
@@ -404,13 +559,19 @@
\newcommand{\autori}[3][]{\def\autorinome{#2}\def\autorisobrenome{#3}}
\newcommand{\autorii}[3][]{\def\autoriinome{#2}\def\autoriisobrenome{#3}}
+% Código Cutter
+\newcommand{\numerocutter}[1]{\def\imprimircutter{#1}}
+
% Orientadores
-\renewcommand{\orientador}[3][]{\def\orienttitulo{#1}\def\orientnome{#2}\def\orientsobrenome{#3}}
-\renewcommand{\coorientador}[3][]{\def\coorienttitulo{#1}\def\coorientnome{#2}\def\coorientsobrenome{#3}}
+\renewcommand{\orientador}[4][]{\def\orientname{#1}\def\orienttitulo{#2}\def\orientnome{#3}\def\orientsobrenome{#4}}
+\renewcommand{\coorientador}[4][]{\def\coorientname{#1}\def\coorienttitulo{#2}\def\coorientnome{#3}\def\coorientsobrenome{#4}}
% Tipo de trabalho
\newcommand{\tipocurso}[1]{\def\imprimircurso{#1}}
+% Informação adicional do trabalho
+\newcommand{\publicacao}[1]{\def\imprimirpublicacao{#1}}
+
% Instituição
\renewcommand{\instituicao}[3][]{\def\instituicaoi{#1}\def\instituicaoii{#2}\def\instituicaoiii{#3}}
@@ -442,45 +603,55 @@
\newcommand{\kwordiv}[1]{\def\kwordivnome{#1}}
\newcommand{\pchavev}[1]{\def\pchavevnome{#1}}
\newcommand{\kwordv}[1]{\def\kwordvnome{#1}}
-
-% Código da ficha catalográfica
-%\newcommand{\numerocutter}[1]{\def\imprimircutter{#1}}
% ---
% ---
% Imprime capa
% ---
\renewcommand{\imprimircapa}{%
+\hypersetup{pageanchor=false}
+\setlrmargins{*}{*}{1} % Margens laterais iguais para a capa
+\checkandfixthelayout[nearest]
\begin{capa}%
\center
\AddToShipoutPicture*{\BackgroundPic}
\vspace*{7.5cm}
- {\bfseries\sffamily\LARGE \instituicaoi \\[12pt] \instituicaoii} \\[12pt]
- \abntex@ifnotempty{\instituicaoiii}{{\bfseries\sffamily\LARGE\instituicaoiii}}
- \begin{center}
+ {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
\vfill
- \bfseries\sffamily\Huge\imprimirtitulo
+ \begin{center}
+ % Define o tamanho da fonte do título
+ \autotitle[4]{\bfseries\imprimirtitulo}
+ \titleformat\bfseries \imprimirtitulo\par
\end{center}
+ \normalfont
\vfill
- {\Large\autorinome\ \autorisobrenome
- \\[12pt]
- \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}}
- \vfill
+ {\Large\autorinome\ \autorisobrenome \\
+ \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par}
+ \vfill\vfill
\begin{center}
- \color{white}{\sffamily\Large\expandafter\MakeUppercase\expandafter \imprimirtipotrabalho \\[4pt] \expandafter\MakeUppercase\expandafter\imprimircurso \\[6pt] \imprimirlocal \\[6pt] \imprimirano}
+ \color{white}{\sffamily\large\MakeUppercase \imprimirtipotrabalho \\[2pt]
+ \MakeUppercase\imprimircurso \\
+ % Define o espaçamento vertical entre o nome do curso e o local (Brasília)
+ \autotitle[1]{\MakeUppercase\imprimircurso}
+ \ifdefined\decvspace \vspace{2pt} \else \vspace{20pt} \fi
+ \imprimirlocal \\ \imprimirano\par}
\end{center}
\end{capa}
+\setlrmarginsandblock{3cm}{2cm}{*} % Reestabelece as margens
+\checkandfixthelayout[nearest]
+\cleardoublepage
+\hypersetup{pageanchor=true}
}
% Figura de fundo da capa
-\RequirePackage{eso-pic}
+\RequirePackage{pdfpages} % Também funciona com o pacote eso-pic
\newcommand\BackgroundPic{%
\put(0,0){%
\parbox[b][\paperheight]{\paperwidth}{%
\vfill
\centering
- \includegraphics[width=\paperwidth,height=\paperheight,%
- keepaspectratio]{capa_fundo.pdf}%
+ \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
\vfill
}
}
@@ -490,80 +661,75 @@
% ---
% Imprime folha de rosto
% ---
-\makeatletter
-
-\renewcommand{\folhaderostocontent}{
+\renewcommand{\folhaderostocontent}{%
\begin{center}
- {\bfseries\sffamily\LARGE \instituicaoi \\[12pt] \instituicaoii} \\[12pt]
- \abntex@ifnotempty{\instituicaoiii}{{\bfseries\sffamily\LARGE\instituicaoiii}}
- \vfill\vfill\vfill
+ {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ \vfill\vfill
\begin{center}
-\color{verdeunb}\bfseries\sffamily\Huge\ifthenelse{\equal{\imprimirtituloestrangeiro}{}}{\imprimirtitulo}{\imprimirtituloestrangeiro}
+% Define o tamanho da fonte do título
+\ifthenelse{\equal{\imprimirtituloestrangeiro}{}}
+{\autotitle[4]{\bfseries\imprimirtitulo}{\color{verdeunb}\titleformat\bfseries \imprimirtitulo\par}}
+{\autotitle[4]{\bfseries\imprimirtituloestrangeiro}{\color{verdeunb}\titleformat\bfseries \imprimirtituloestrangeiro\par}}
\end{center}
-
\vfill
-{\Large\autorinome\ \autorisobrenome
- \\[12pt]
- \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}}
-
-\vfill\vfill
+{\Large\autorinome\ \autorisobrenome \\
+\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par}
+\vfill
\abntex@ifnotempty{\imprimirpreambulo}{%
- \hspace{.45\textwidth}
+ \begin{flushright}
\begin{minipage}{.5\textwidth}
{\SingleSpacing
- \IfStrEq*{\languagename}{english}{
\begin{otherlanguage*}{brazil}
\imprimirpreambulo
- \end{otherlanguage*}}{
- \imprimirpreambulo}
- }
+ \end{otherlanguage*}}
\end{minipage}%
- \vfill
-}%
-
-{\large \orientadorname: \orienttitulo\ \orientnome\ \orientsobrenome\\[6pt]}
-
-\abntex@ifnotempty{\coorientnome}{%
-{\large\coorientadorname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}%
+ \end{flushright}
}%
+\vfill
-\vfill\vfill
+{\large \orientname: \orienttitulo\ \orientnome\ \orientsobrenome \\
+\abntex@ifnotempty{\coorientnome}{\coorientname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}\par}
+\vfill
-{\sffamily\large\imprimirlocal \\[6pt] \imprimirano}
+{\sffamily\large\abntex@ifnotempty{\imprimirpublicacao}{\imprimirpublicacao \\ \vfill} \imprimirlocal \\ \imprimirano\par}
\end{center}
}
-
-\makeatother
% ---
% ---
% Imprime ficha catalográfica
% ---
% https://bce.unb.br/servicos/elaboracao-de-fichas-catalograficas/
-% Para imprimir o código Cutter, remova os comentários (%)
-\renewcommand{\fichacatalografica}{
-\thispagestyle{empty}{
-\setlength{\fboxsep}{18pt} % Se imprimir o código Cutter, altere para 10pt
+\newcommand{\cutter}{\IfInteger{\imprimircutter}{&}{}}
+\renewcommand{\fichacatalografica}{%
+\thispagestyle{empty}{%
+\ifthenelse{\equal{\imprimirpublicacao}{}}{}{
+\begin{OnehalfSpace}
+{\noindent\sffamily\large REFERÊNCIA BIBLIOGRÁFICA}\par
+\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\ }}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
+\end{OnehalfSpace}}
+\IfInteger{\imprimircutter}{\setlength{\fboxsep}{10pt}}{\setlength{\fboxsep}{18pt}}
\vspace*{\fill}
{\small
{\SingleSpacing
\begin{center}
-{\sffamily\large FICHA CATALOGRÁFICA} \\ \vspace{18pt}
+{\sffamily\large FICHA CATALOGRÁFICA} \\[18pt]
\fbox{\begin{minipage}[t][7.5cm]{12.5cm}
-%\begin{tabular}{p{1.25cm} p{10.25cm}} &
+\IfInteger{\imprimircutter}{\begin{tabular}{p{1.25cm} p{10.25cm}}}{} \cutter
\autorisobrenome, \autorinome. \\
-%\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp} &
-\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientadorname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientadorname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano. \\ % &
-\hspace*{2em}\noindent \thelastpage~p. \\ % &
-\\ % &
-\hspace*{2em}\noindent\IfStrEq*{\languagename}{english}{\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*}}{\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.}\\ % &
-\\ % &
-\hspace*{2em}\noindent\IfStrEq*{\languagename}{english}{1. \kwordinome. 2. \kwordiinome. 3. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{4. \kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{5. \kwordvnome.}}}{1. \pchaveinome. 2. \pchaveiinome. 3. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{4. \pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{5. \pchavevnome.}}}
-\ifthenelse{\equal{\autoriinome}{}}{\ifthenelse{\equal{\coorientnome}{}}{I. \orientsobrenome, \orientnome, orient. II. Título}{I. \orientsobrenome, \orientnome, orient. II. \coorientsobrenome, \coorientnome, coorient. III. Título}}{\ifthenelse{\equal{\coorientnome}{}}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. Título}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. \coorientsobrenome, \coorientnome, coorient. IV. Título}}
-%\end{tabular}
+\IfInteger{\imprimircutter}{\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp}}{} \cutter
+\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
+\hspace*{2em}\noindent \thelastpage~p. \\ \cutter
+\\ \cutter
+\hspace*{2em}\noindent\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*} \\ \cutter
+\\ \cutter
+\hspace*{2em}\noindent\IfStrEq{\idioma}{brazil}{1. \pchaveinome. 2. \pchaveiinome. 3. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{4. \pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{5. \pchavevnome.}}}{1. \kwordinome. 2. \kwordiinome. 3. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{4. \kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{5. \kwordvnome.}}}%
+\begin{otherlanguage*}{brazil}{\ifthenelse{\equal{\autoriinome}{}}{\ifthenelse{\equal{\coorientnome}{}}{I. \orientsobrenome, \orientnome, orient. II. Título.}{I. \orientsobrenome, \orientnome, orient. II. \coorientsobrenome, \coorientnome, coorient. III. Título.}}{\ifthenelse{\equal{\coorientnome}{}}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. Título.}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. \coorientsobrenome, \coorientnome, coorient. IV. Título.}}}\end{otherlanguage*}
+\IfInteger{\imprimircutter}{\end{tabular}}{}
\end{minipage}}
\end{center}
}}
@@ -574,88 +740,191 @@
% ---
% Imprime folha de aprovação
% ---
-\makeatletter
-
-\newcommand{\imprimirfolhadeaprovacao}{
+\newcommand{\imprimirfolhadeaprovacao}{%
\begin{folhadeaprovacao}
\begin{center}
- {\bfseries\sffamily\Large \instituicaoi \\[7.5pt] \instituicaoii} \\[6pt]
- \abntex@ifnotempty{\instituicaoiii}{{\bfseries\sffamily\Large\instituicaoiii}}
+ {\Large{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
\vfill
\begin{center}
- \color{verdeunb}\bfseries\sffamily\LARGE\StrDel{\imprimirtitulo}{\\ }
+ % Define o tamanho da fonte do título
+ \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\ }}
+ \ifthenelse{\equal{\titleformat}{\large}}
+ {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
+ {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
\end{center}
+ \vfill
-\vfill
-
-{\large\autorinome\ \autorisobrenome
- \\[6pt]
- \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}}
-
+{\large\autorinome\ \autorisobrenome \\[2pt]
+\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par}
\vfill
\abntex@ifnotempty{\imprimirpreambulo}{%
- \hspace{.45\textwidth}
+ \begin{flushright}
\begin{minipage}{.5\textwidth}
{\SingleSpacing
- \IfStrEq*{\languagename}{english}{
\begin{otherlanguage*}{brazil}
\imprimirpreambulo
- \end{otherlanguage*}}{
- \imprimirpreambulo}
- }
+ \end{otherlanguage*}}
\end{minipage}%
+ \end{flushright}
}%
+\vspace{20pt}
-\vspace{0.8cm}
-
-\raggedright { Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:}
-{
+\raggedright{Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:}
+{%
\assinatura{\textbf{\membrodabancainome} \\ \membrodabancaifuncaonome}
\assinatura{\textbf{\membrodabancaiinome} \\ \membrodabancaiifuncaonome}
\assinatura{\textbf{\membrodabancaiiinome} \\ \membrodabancaiiifuncaonome}
\abntex@ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
- \abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}}
+ \abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}
+}
\vfill
\begin{center}
- {\sffamily\large\imprimirlocal
- \\[6pt] \imprimirano}
+ {\sffamily\large\imprimirlocal \\ \imprimirano\par}
\end{center}
\end{center}
\end{folhadeaprovacao}
}
+% ---
-\makeatother
+\RequirePackage{scontents}
+% ---
+% Imprime dedicatória
% ---
+\newenvsc{DedicatoriaAutorI}[store-env=dedicatoriaautori]
+\newenvsc{DedicatoriaAutorII}[store-env=dedicatoriaautorii]
+\newcommand{\imprimirdedicatoria}{
+\begin{dedicatoria}
+\centering
+\vspace*{\fill}
+% Primeiro autor
+{\itshape\getstored{dedicatoriaautori}}
+
+\ifthenelse{\equal{\autoriinome}{}}{}{
+\vspace{1cm}
+\autorinome\ \autorisobrenome \par
+\vspace*{\fill}
+
+% Segundo autor
+{\itshape\getstored{dedicatoriaautorii}}
+
+\vspace{1cm}
+\autoriinome\ \autoriisobrenome
+}
+\vspace*{\fill}
+\end{dedicatoria}
+}
% ---
-% Correção para o pacote microtype
+
% ---
-\makeatletter
-\long\def\MT@prot@l#1{%
- \MT@get@prot{#1}{left}%
- \leavevmode
- #1}
-\def\MT@prot@group#{\bgroup\afterassignment\MT@prot@get@firstchar\let\MT@temp= }
-\makeatother
+% Imprime agradecimentos
% ---
+\newenvsc{AgradecimentosAutorI}[store-env=agradecimentosautori]
+\newenvsc{AgradecimentosAutorII}[store-env=agradecimentosautorii]
+\newcommand{\idiomaagradecimentos}[1]{\def\acklang{#1}}
+\newcommand{\imprimiragradecimentos}{
+% Define o título da seção de agradecimentos
+\IfStrEq{\acklang}{brazil}{
+\renewcommand{\agradecimentosname}{Agradecimentos}
+}{% Caso os agradecimentos sejam escritos em inglês
+\renewcommand{\agradecimentosname}{Acknowledgements}}
+
+\begin{agradecimentos}
+
+% Primeiro autor
+\getstored{agradecimentosautori}
+
+\ifthenelse{\equal{\autoriinome}{}}{}{
+\vspace{1cm}
+\hfill \autorinome\ \autorisobrenome
+\vspace{1cm}
+
+% Segundo autor
+\getstored{agradecimentosautorii}
+
+\vspace{1cm}
+\hfill \autoriinome\ \autoriisobrenome
+}
+\end{agradecimentos}
+}
% ---
-% Ajusta a indentação das listas de figuras e de tabelas
+
+% ---
+% Imprime epígrafe
+% ---
+\newenvsc{Epigrafe}[store-env=epigrafe]
+\newcommand{\imprimirepigrafe}{
+\begin{epigrafe}
+\getstored{epigrafe}
+\end{epigrafe}
+}
% ---
-\RequirePackage{tocbasic}
-\DeclareTOCStyleEntry[
- indent=0pt,
- entrynumberformat=\entrynumberwithprefix{\figurename},
- dynnumwidth,
- %numsep=0em
-]{tocline}{figure}
-\DeclareTOCStyleEntry[
- indent=0pt,
- entrynumberformat=\entrynumberwithprefix{\tablename},
- dynnumwidth,
- %numsep=0em
-]{tocline}{table}
-\newcommand\entrynumberwithprefix[2]{#1~#2~\hfill}
+% ---
+% Imprime resumo (em português)
+% ---
+\newenvsc{Resumo}[store-env=resumo]
+\newcommand{\imprimirresumo}{
+\newpage
+\setlength{\absparsep}{\parsep}
+\begin{resumo}[Resumo]\vspace{\baselineskip}
+\begin{otherlanguage*}{brazil}
+\getstored{resumo}
+\vspace{\onelineskip}
+
+{\sffamily\bfseries Palavras-chave:} \pchaveinome. \pchaveiinome. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{\pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{\pchavevnome.}}
+\end{otherlanguage*}
+\end{resumo}
+}
+% ---
+
+% ---
+% Imprime resumo (em inglês)
+% ---
+\newenvsc{Abstract}[store-env=abstract]
+\newcommand{\imprimirabstract}{
+\newpage
+\setlength{\absparsep}{\parsep}
+\begin{resumo}[Abstract]\vspace{\baselineskip}
+\begin{otherlanguage*}{english}
+\getstored{abstract}
+\vspace{\onelineskip}
+
+{\sffamily\bfseries Keywords:} \kwordinome. \kwordiinome. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{\kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{\kwordvnome.}}
+\end{otherlanguage*}
+\end{resumo}
+}
+% ---
+
+% ---
+% Define o tamanho da fonte tipográfica do título
+% ---
+\newbox\testbox
+\newdimen\testblskip
+\newcommand*{\testlines}[1]{%
+ \setbox\testbox\hbox to\textwidth{\vbox{\centering\testfontsize #1\global\testblskip\baselineskip\par}}%
+}
+\newcommand*{\autotitle}[2][]{% \autotitle{número de linhas}{texto do título}
+% \huge
+ \let\testfontsize\huge\sffamily\testlines{#2}%
+ \ifdim\ht\testbox>#1\testblskip
+% \LARGE
+ \let\testfontsize\LARGE\sffamily\testlines{#2}%
+ \ifdim\ht\testbox>#1\testblskip
+% \Large
+ \let\testfontsize\Large\sffamily\testlines{#2}%
+ \ifdim\ht\testbox>#1\testblskip
+% \large
+ \let\testfontsize\large\sffamily\testlines{#2}%
+ \ifdim\ht\testbox>#1\testblskip
+ \newcommand{\decvspace}{}
+ \fi
+ \fi
+ \fi
+ \fi
+ \newcommand{\titleformat}{\testfontsize}
+}
% --- \ No newline at end of file