| 1 | %==============================================================================
|
| 2 | % Identificação
|
| 3 | %==============================================================================
|
| 4 | \def\currversion{3/5/2014}
|
| 5 |
|
| 6 | \typeout{^^J^^J
|
| 7 | --------------------------------------------------^^J
|
| 8 | CLASSE textsi^^J
|
| 9 | Formatação de Documentos LaTeX do TSI^^J
|
| 10 | --------------------------------------------------^^J
|
| 11 | Agradecimentos^^J
|
| 12 | Marilton Aguiar, pela Classe de Formatação de Documentos LaTeX da UFPEL^^J
|
| 13 | Rafael Krolow, pelo esqueleto de Template para o Documento LaTeX par o TSI^^J
|
| 14 | --------------------------------------------------^^J
|
| 15 | Desenvolvimento por Giovane de Oliveira Torres (ggiovaneotorres@gmail.com)^^J
|
| 16 | --------------------------------------------------^^J
|
| 17 | Versão: \currversion^^J
|
| 18 | --------------------------------------------------^^J^^J}
|
| 19 |
|
| 20 | \NeedsTeXFormat{LaTeX2e}
|
| 21 | \ProvidesClass{textsi}[\currversion]
|
| 22 |
|
| 23 | %==============================================================================
|
| 24 | % Declaração de opções
|
| 25 | %==============================================================================
|
| 26 |
|
| 27 | % Órgãos para o cabeçalho do título.
|
| 28 |
|
| 29 | \newcommand{\ministerio}[1]{\gdef\@ministerio{#1}}
|
| 30 | \ministerio{Minist{\'e}rio da Educa\c c{\~a}o}
|
| 31 |
|
| 32 | \newcommand{\secretaria}[1]{\gdef\@secretaria{#1}}
|
| 33 | \secretaria{Secretaria de Educa\c c{\~a}o Profissional e Tecnol{\'o}gica}
|
| 34 |
|
| 35 | \newcommand{\instituto}[1]{\gdef\@instituto{#1}}
|
| 36 | \instituto{Instituto Federal Sul-Rio-Grandense}
|
| 37 |
|
| 38 | \newcommand{\campus}[1]{\gdef\@campus{#1}}
|
| 39 | \campus{C{\^a}mpus Pelotas}
|
| 40 |
|
| 41 | \newcommand{\thecurso}[1]{\gdef\@thecurso{#1}}
|
| 42 | \thecurso{Curso Superior de Tecnologia em Sistemas para Internet}
|
| 43 |
|
| 44 | \newcommand{\documento}[1]{\gdef\@documento{#1}}
|
| 45 | \newcommand{\tipodocumento}[1]{\gdef\@tipodocumento{#1}}
|
| 46 | \newcommand{\descricaodocumento}[1]{\gdef\@descricaodocumento{#1}}
|
| 47 |
|
| 48 | % Para a folha de aprovação
|
| 49 |
|
| 50 | \newcommand{\instituicaoadvisor}[1]{\gdef\@instituicaoadvisor{#1}}
|
| 51 |
|
| 52 | \newcommand{\membroi}[1]{\gdef\@membroi{#1}}
|
| 53 | \newcommand{\membroii}[1]{\gdef\@membroii{#1}}
|
| 54 | \newcommand{\membroiii}[1]{\gdef\@membroiii{#1}}
|
| 55 |
|
| 56 | \newcommand{\instituicaomembroi}[1]{\gdef\@instituicaomembroi{#1}}
|
| 57 | \newcommand{\instituicaomembroii}[1]{\gdef\@instituicaomembroii{#1}}
|
| 58 | \newcommand{\instituicaomembroiii}[1]{\gdef\@instituicaomembroiii{#1}}
|
| 59 |
|
| 60 | % Para o texto
|
| 61 |
|
| 62 | \newcommand{\source}[1]{\\ Fonte: #1}
|
| 63 |
|
| 64 | \newcommand{\sourcecode}[1]{%
|
| 65 | \smallskip
|
| 66 | {\centering Fonte: #1\par}%
|
| 67 | }
|
| 68 |
|
| 69 | % Opções
|
| 70 |
|
| 71 | \DeclareOption{tcc}{
|
| 72 | \documento{Trabalho de Conclus{\~a}o de Curso}
|
| 73 | \tipodocumento{Trabalho de Conclus{\~a}o de Curso (\@nomecurso) -- \@unidade}
|
| 74 | \descricaodocumento{Trabalho de Conclus{\~a}o de Curso apresentado como requisito parcial {\`a} obten\c c{\~a}o ao t{\'i}tulo de tecn{\'o}logo em Sistemas para Internet do Instituto Federal Sul-Rio-Grandense}
|
| 75 | }
|
| 76 |
|
| 77 | \newcommand{\capa}[1]{\gdef\@capa{#1}}
|
| 78 | \DeclareOption{capa}{\capa{1}}
|
| 79 |
|
| 80 | \newcommand{\nocipinfo}[1]{\gdef\@nocipinfo{#1}}
|
| 81 | \DeclareOption{nocipinfo}{\nocipinfo{1}}
|
| 82 |
|
| 83 | \DeclareOption{english}{\@englishtrue\OptionNotUsed}\newif\if@english
|
| 84 | \DeclareOption{oneside}{\AtEndOfClass{\@twosidefalse}\OptionNotUsed}
|
| 85 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
|
| 86 | \ProcessOptions
|
| 87 | \relax
|
| 88 |
|
| 89 | %==============================================================================
|
| 90 | % Herança da classe `report' e inclusão de pacotes e arquivos necessários
|
| 91 | %==============================================================================
|
| 92 | \LoadClass[12pt,a4paper,oneside]{report}
|
| 93 |
|
| 94 | \RequirePackage[english,brazilian]{babel}
|
| 95 | \RequirePackage{ulem}
|
| 96 | \RequirePackage{lastpage}
|
| 97 | \RequirePackage{indentfirst}
|
| 98 | \RequirePackage{natbib}
|
| 99 | \RequirePackage{chngcntr}
|
| 100 | \RequirePackage{eso-pic}
|
| 101 | \RequirePackage{xcolor}
|
| 102 | \RequirePackage{setspace}
|
| 103 | \RequirePackage{geometry}
|
| 104 | \RequirePackage{listings}
|
| 105 |
|
| 106 | \geometry{top=3cm,right=2cm,left=3cm,bottom=2cm}
|
| 107 |
|
| 108 | \definecolor{laranjaufpel}{rgb}{1,0.6,0}
|
| 109 | \definecolor{verdeufpel}{rgb}{0.09,0.7,0.44}
|
| 110 | \definecolor{azulufpel}{rgb}{0.07,0.49,0.72}
|
| 111 | \definecolor{cinzaufpel}{rgb}{0.85,0.85,0.85}
|
| 112 |
|
| 113 | %==============================================================================
|
| 114 | % Configuração de listagens de código (pacote listings)
|
| 115 | %==============================================================================
|
| 116 | \lstdefinelanguage{yaml}{
|
| 117 | keywords={image,build,context,file,ports,environment,volumes,depends_on,
|
| 118 | condition,healthcheck,test,interval,timeout,retries,start_period,
|
| 119 | restart,command,shm_size,user,push,tags,labels,services,options},
|
| 120 | sensitive=false,
|
| 121 | comment=[l]{\#},
|
| 122 | morestring=[b]",
|
| 123 | morestring=[b]',
|
| 124 | }
|
| 125 |
|
| 126 | \lstdefinelanguage{javascript}{
|
| 127 | keywords={async,await,break,case,catch,class,const,continue,debugger,default,
|
| 128 | delete,do,else,export,extends,false,finally,for,function,if,import,
|
| 129 | in,instanceof,let,new,null,of,return,static,super,switch,this,throw,
|
| 130 | true,try,typeof,var,void,while,with,yield},
|
| 131 | otherkeywords={=>},
|
| 132 | sensitive=true,
|
| 133 | comment=[l]{//},
|
| 134 | morecomment=[s]{/*}{*/},
|
| 135 | morestring=[b]",
|
| 136 | morestring=[b]',
|
| 137 | morestring=[b]`,
|
| 138 | }
|
| 139 |
|
| 140 | \lstdefinelanguage{typescript}{
|
| 141 | keywords={abstract,any,as,async,await,boolean,break,case,catch,class,const,
|
| 142 | continue,debugger,declare,default,delete,do,else,enum,export,
|
| 143 | extends,false,finally,for,from,function,get,if,implements,import,
|
| 144 | in,infer,instanceof,interface,keyof,let,module,namespace,never,
|
| 145 | new,null,number,object,of,override,private,protected,public,readonly,
|
| 146 | return,set,static,string,super,switch,symbol,this,throw,true,try,
|
| 147 | type,typeof,undefined,unique,unknown,var,void,while,with,yield},
|
| 148 | otherkeywords={=>,:},
|
| 149 | sensitive=true,
|
| 150 | comment=[l]{//},
|
| 151 | morecomment=[s]{/*}{*/},
|
| 152 | morecomment=[s]{/**C@}{*/},
|
| 153 | morestring=[b]",
|
| 154 | morestring=[b]',
|
| 155 | morestring=[b]`,
|
| 156 | }
|
| 157 |
|
| 158 | \lstset{
|
| 159 | language=yaml,
|
| 160 | basicstyle=\ttfamily\small,
|
| 161 | keywordstyle=\color{azulufpel}\bfseries,
|
| 162 | commentstyle=\color{verdeufpel}\itshape,
|
| 163 | stringstyle=\color{laranjaufpel},
|
| 164 | backgroundcolor=\color{cinzaufpel!35},
|
| 165 | rulecolor=\color{azulufpel},
|
| 166 | frame=single,
|
| 167 | framerule=0.6pt,
|
| 168 | numbers=left,
|
| 169 | numberstyle=\tiny\color{black!60},
|
| 170 | numbersep=8pt,
|
| 171 | showstringspaces=false,
|
| 172 | breaklines=true,
|
| 173 | columns=fullflexible,
|
| 174 | captionpos=t,
|
| 175 | tabsize=2,
|
| 176 | }
|
| 177 |
|
| 178 | \renewcommand*{\l@lstlisting}{\@dottedtocline{1}{0em}{5.5em}}
|
| 179 |
|
| 180 | %
|
| 181 | % definições para textos em português
|
| 182 | %
|
| 183 | \@namedef{captionsbrazilian}{%
|
| 184 | \def\bibname{Refer{\^e}ncias}%
|
| 185 | \def\abstractname{Resumo}%
|
| 186 | \def\appendixname{Ap{\^e}ndice}%
|
| 187 | \def\appendicesname{Ap{\^e}ndices}%
|
| 188 | \def\contentsname{Sum{\'a}rio}%
|
| 189 | \def\listfigurename{Lista de Ilustra\c{c}{\~o}es}%
|
| 190 | \def\listtablename{Lista de Tabelas}%
|
| 191 | \def\figurename{Figura}%
|
| 192 | \def\tablename{Tabela}%
|
| 193 | \def\advisorname{Orientador}%
|
| 194 | \def\coadvisorname{Coorientador}%
|
| 195 | \def\collaboratorname{Colaborador}%
|
| 196 | \def\listabbrvname{Lista de Abreviaturas e Siglas}%
|
| 197 | \def\listsymbolname{Lista de S{\'\i}mbolos}%
|
| 198 | \def\annexname{Anexo}%
|
| 199 | \def\annexesname{Anexos}%
|
| 200 | \def\keywordsname{Palavras-chave}%
|
| 201 | \def\lstlistingname{C{\'o}digo}%
|
| 202 | \def\lstlistlistingname{Lista de C{\'o}digos}%
|
| 203 | }
|
| 204 |
|
| 205 | \@namedef{datebrazilian}{%
|
| 206 | \def\monthname{%
|
| 207 | \ifcase\month\or%
|
| 208 | janeiro\or fevereiro\or mar{\c{c}}o\or abril\or maio\or junho\or
|
| 209 | julho\or agosto\or setembro\or outubro\or novembro\or dezembro%
|
| 210 | \fi%
|
| 211 | }%
|
| 212 | \def\ei@date{\@publyear}%
|
| 213 | % \def\ei@date{\@publmonth\ de~\@publyear}%
|
| 214 | }
|
| 215 |
|
| 216 | %
|
| 217 | % definições para textos em inglês
|
| 218 | %
|
| 219 | \@namedef{captionsenglish}{%
|
| 220 | \def\bibname{References}%
|
| 221 | \def\abstractname{Abstract}%
|
| 222 | \def\appendixname{Appendix}%
|
| 223 | \def\appendicesname{Appendices}%
|
| 224 | \def\contentsname{Contents}%
|
| 225 | \def\listfigurename{List of Figures}%
|
| 226 | \def\listtablename{List of Tables}%
|
| 227 | \def\figurename{Figure}%
|
| 228 | \def\tablename{Table}%
|
| 229 | \def\advisorname{Advisor}%
|
| 230 | \def\coadvisorname{Coadvisor}%
|
| 231 | \def\collaboratorname{Collaborator}%
|
| 232 | \def\listabbrvname{List of Abbreviations and Acronyms}%
|
| 233 | \def\listsymbolname{List of Symbols}%
|
| 234 | \def\annexname{Annex}%
|
| 235 | \def\annexesname{Annexes}%
|
| 236 | \def\keywordsname{Keywords}%
|
| 237 | \def\lstlistingname{Listing}%
|
| 238 | \def\lstlistlistingname{List of Listings}%
|
| 239 | }
|
| 240 |
|
| 241 | \@namedef{dateenglish}{%
|
| 242 | \def\monthname{%
|
| 243 | \ifcase\month\or%
|
| 244 | January\or February\or March\or April\or May\or June\or July\or
|
| 245 | August\or September\or October\or November\or December%
|
| 246 | \fi%
|
| 247 | }%
|
| 248 | \def\ei@date{\@publyear}%
|
| 249 | % \def\ei@date{\@publmonth~\@publyear}%
|
| 250 | }
|
| 251 |
|
| 252 | \if@english%
|
| 253 | \selectlanguage{english}%
|
| 254 | \AtBeginDocument{\selectlanguage{english}}%
|
| 255 | \fi
|
| 256 |
|
| 257 | %==============================================================================
|
| 258 | % O uso de fonte Arial, 12 pt, é mandatório
|
| 259 | %==============================================================================
|
| 260 | \renewcommand*\familydefault{\sfdefault}%
|
| 261 | \renewcommand{\rmdefault}{phv}%
|
| 262 | \renewcommand{\sfdefault}{phv}
|
| 263 |
|
| 264 | % Definição do espaçamento de texto
|
| 265 | \setlength{\baselineskip}{1.5cm}
|
| 266 |
|
| 267 | %----------------------------------------
|
| 268 | % PARÁGRAFOS
|
| 269 | %----------------------------------------
|
| 270 | % Tamanho da endentação do parágrafo
|
| 271 | \setlength{\parindent}{1.3cm}
|
| 272 | % Espaçamento entre um parágrafo e outro
|
| 273 | \setlength{\parskip}{1.5pt}
|
| 274 |
|
| 275 |
|
| 276 | %==============================================================================
|
| 277 | % Numeração das páginas
|
| 278 | %==============================================================================
|
| 279 | \def\ps@texufpel{%
|
| 280 | \let\@oddfoot\@empty%
|
| 281 | \let\@evenfoot\@empty%
|
| 282 | \def\@oddhead{\hspace*{\fill}{\small\thepage}}%
|
| 283 | \def\@evenhead{\hspace*{\fill}{\small\thepage}}%
|
| 284 | }
|
| 285 |
|
| 286 | \pagestyle{empty}%
|
| 287 | \let\ps@plain\ps@empty
|
| 288 |
|
| 289 | %==============================================================================
|
| 290 | % Definição de autor(es), orientador e co-orientador
|
| 291 | %==============================================================================
|
| 292 | \newcounter{ei@authorcount}
|
| 293 | \renewcommand{\author}[2]{
|
| 294 | \addtocounter{ei@authorcount}{1}
|
| 295 | \expandafter\gdef\csname @author\alph{ei@authorcount}last\endcsname{#1}
|
| 296 | \expandafter\gdef\csname @author\alph{ei@authorcount}first\endcsname{#2}
|
| 297 | \expandafter\gdef\csname @author\alph{ei@authorcount}\endcsname{#2 #1}
|
| 298 | }
|
| 299 |
|
| 300 | \newcounter{ei@advisorcount}
|
| 301 | \DeclareRobustCommand{\advisor}[3][]{
|
| 302 | \addtocounter{ei@advisorcount}{1}
|
| 303 | \expandafter\gdef\csname @advisor\alph{ei@advisorcount}last\endcsname{#2}
|
| 304 | \expandafter\gdef\csname @advisor\alph{ei@advisorcount}first\endcsname{#3}
|
| 305 | \expandafter\gdef\csname @advisor\alph{ei@advisorcount}\endcsname{#1~#3 #2}
|
| 306 | }
|
| 307 |
|
| 308 | \newcounter{ei@coadvisorcount}
|
| 309 | \DeclareRobustCommand{\coadvisor}[3][]{
|
| 310 | \addtocounter{ei@coadvisorcount}{1}
|
| 311 | \expandafter\gdef\csname @coadvisor\alph{ei@coadvisorcount}last\endcsname{#2}
|
| 312 | \expandafter\gdef\csname @coadvisor\alph{ei@coadvisorcount}first\endcsname{#3}
|
| 313 | \expandafter\gdef\csname @coadvisor\alph{ei@coadvisorcount}\endcsname{#1~#3 #2}
|
| 314 | }
|
| 315 |
|
| 316 | \newcounter{ei@collaboratorcount}
|
| 317 | \DeclareRobustCommand{\collaborator}[3][]{
|
| 318 | \addtocounter{ei@collaboratorcount}{1}
|
| 319 | \expandafter\gdef\csname @collaborator\alph{ei@collaboratorcount}last\endcsname{#2}
|
| 320 | \expandafter\gdef\csname @collaborator\alph{ei@collaboratorcount}first\endcsname{#3}
|
| 321 | \expandafter\gdef\csname @collaborator\alph{ei@collaboratorcount}\endcsname{#1~#3 #2}
|
| 322 | }
|
| 323 |
|
| 324 |
|
| 325 | %==============================================================================
|
| 326 | % Definição das palavras-chave (máx. 10)
|
| 327 | %==============================================================================
|
| 328 | \newcounter{kwcounter}
|
| 329 | \newcommand{\keyword}[1]{
|
| 330 | \addtocounter{kwcounter}{1}
|
| 331 | \expandafter\gdef\csname keyw\alph{kwcounter}\endcsname{#1}
|
| 332 | }
|
| 333 |
|
| 334 | \newcommand{\@cipkw}{%
|
| 335 | \@ifundefined{keywa}{}{1.~\expandafter\MakeUppercase\keywa\@. }%
|
| 336 | \@ifundefined{keywb}{}{2.~\expandafter\MakeUppercase\keywb\@. }%
|
| 337 | \@ifundefined{keywc}{}{3.~\expandafter\MakeUppercase\keywc\@. }%
|
| 338 | \@ifundefined{keywd}{}{4.~\expandafter\MakeUppercase\keywd\@. }%
|
| 339 | \@ifundefined{keywe}{}{5.~\expandafter\MakeUppercase\keywe\@. }%
|
| 340 | \@ifundefined{keywf}{}{6.~\expandafter\MakeUppercase\keywf\@. }%
|
| 341 | \@ifundefined{keywg}{}{7.~\expandafter\MakeUppercase\keywg\@. }%
|
| 342 | \@ifundefined{keywh}{}{8.~\expandafter\MakeUppercase\keywh\@. }%
|
| 343 | \@ifundefined{keywi}{}{9.~\expandafter\MakeUppercase\keywi\@. }%
|
| 344 | \@ifundefined{keywj}{}{10.~\expandafter\MakeUppercase\keywj\@. }%
|
| 345 | }
|
| 346 |
|
| 347 | \newcommand{\@abstractkw}{%
|
| 348 | \@ifundefined{keywa}{}{\expandafter\MakeUppercase\keywa}%
|
| 349 | \@ifundefined{keywb}{}{, \keywb}%
|
| 350 | \@ifundefined{keywc}{}{, \keywc}%
|
| 351 | \@ifundefined{keywd}{}{, \keywd}%
|
| 352 | \@ifundefined{keywe}{}{, \keywe}%
|
| 353 | \@ifundefined{keywf}{}{, \keywf}%
|
| 354 | \@ifundefined{keywg}{}{, \keywg}%
|
| 355 | \@ifundefined{keywh}{}{, \keywh}%
|
| 356 | \@ifundefined{keywi}{}{, \keywi}%
|
| 357 | \@ifundefined{keywj}{}{, \keywj}%
|
| 358 | }
|
| 359 |
|
| 360 | %==============================================================================
|
| 361 | % Redefinição da data (para ter mês e ano separados)
|
| 362 | %==============================================================================
|
| 363 | \renewcommand{\date}[2]{
|
| 364 | \gdef\@publmonth{#1}
|
| 365 | \gdef\@publyear{#2}
|
| 366 | }
|
| 367 | \date{\monthname}{\number\year}
|
| 368 |
|
| 369 | %==============================================================================
|
| 370 | % Definição padrão da folha de rosto.
|
| 371 | % Os dados específicos do tipo de trabalho (dissertação, tese, etc.) são
|
| 372 | % informados definindo-se o comando \titlepagespecificinfo. Veja os
|
| 373 | % arquivos .def incluídos com a classe.
|
| 374 | %==============================================================================
|
| 375 |
|
| 376 | \newlength{\titlepagewinwidth}\setlength{\titlepagewinwidth}{95mm}
|
| 377 | \newlength{\titlepagewinheight}\setlength{\titlepagewinheight}{64mm}
|
| 378 | \newlength{\titlepagewinvoffset}\setlength{\titlepagewinvoffset}{112mm}
|
| 379 |
|
| 380 | \newcommand{\location}[2]{
|
| 381 | \gdef\@city{#1}
|
| 382 | \gdef\@state{#2}
|
| 383 | }
|
| 384 |
|
| 385 | \location{Pelotas}{RS}
|
| 386 |
|
| 387 | \renewcommand{\maketitle}{
|
| 388 | \@ifundefined{@capa}{%
|
| 389 | \begin{titlepage}
|
| 390 | \thetitlepage
|
| 391 | \end{titlepage}
|
| 392 | \clearpage
|
| 393 | \setcounter{page}{1}
|
| 394 | }{%
|
| 395 | \begin{titlepage}
|
| 396 | \thecoverpage
|
| 397 | \newpage
|
| 398 | \thetitlepage
|
| 399 | \end{titlepage}
|
| 400 | \clearpage
|
| 401 | \setcounter{page}{2}
|
| 402 | }
|
| 403 | }
|
| 404 |
|
| 405 | \newcommand{\thecoverpage}{%
|
| 406 | \noindent%
|
| 407 | \parbox[b]{0.1\textwidth}{%
|
| 408 | \hspace{-2cm}%
|
| 409 | \includegraphics[width=3cm]{if}%
|
| 410 | }%
|
| 411 | \noindent%
|
| 412 | \parbox[b]{0.8\textwidth}{%
|
| 413 | \centering%
|
| 414 | \vskip 1cm%
|
| 415 | \MakeUppercase{\textbf{\@ministerio}}\\%
|
| 416 | \MakeUppercase{\textbf{\@secretaria}}\\%
|
| 417 | \MakeUppercase{\textbf{\@instituto}}\\%
|
| 418 | \MakeUppercase{\textbf{\@campus}}\\%
|
| 419 | \MakeUppercase{\textbf{\@thecurso}}\\%
|
| 420 | %\@unidade\\%
|
| 421 | %\@ifundefined{@nomecurso}{\@programa}{Curso de \@nomecurso}\\%
|
| 422 | \vskip 1cm%
|
| 423 | %\@documento\\%
|
| 424 | %\vskip 1cm%
|
| 425 | }%
|
| 426 | \parbox[b][][t]{0.1\textwidth}{%
|
| 427 | \includegraphics[scale=0.175]{tsi.png}%
|
| 428 | }%
|
| 429 | \noindent%
|
| 430 | \vskip 1cm%
|
| 431 | \noindent%
|
| 432 | \parbox[b]{\textwidth}{%
|
| 433 | \centering%
|
| 434 | \vskip .5cm%
|
| 435 | \textbf{{\@authora}\\
|
| 436 | \@ifundefined{@authorb}{}{\@authorb\\}%
|
| 437 | \@ifundefined{@authorc}{}{\@authorc\\}%
|
| 438 | \@ifundefined{@authord}{}{\@authord\\}}%
|
| 439 | \vskip .5cm%
|
| 440 | }%
|
| 441 | \vskip 3cm%
|
| 442 | \noindent%
|
| 443 | \parbox[b]{\textwidth}{%
|
| 444 | \centering%
|
| 445 | \vskip .5cm%
|
| 446 | \textbf{\@title}
|
| 447 | \vskip .5cm%
|
| 448 | }%
|
| 449 | \vskip 3cm%
|
| 450 | \noindent%
|
| 451 | \parbox[b]{\textwidth}{%
|
| 452 | \centering%
|
| 453 | \vskip .5cm%
|
| 454 | \textbf{\@documento}
|
| 455 | \vskip .5cm%
|
| 456 | }%
|
| 457 | \vfill%
|
| 458 | \noindent%
|
| 459 | \parbox[b]{\textwidth}{%
|
| 460 | \centering%
|
| 461 | \vskip .1cm%
|
| 462 | \textbf{\@city}\\
|
| 463 | \textbf{\ei@date}%
|
| 464 | \vskip .1cm%
|
| 465 | }%
|
| 466 | }
|
| 467 |
|
| 468 | \newcommand{\thetitlepage}{%
|
| 469 | \noindent%
|
| 470 | \parbox[b]{\textwidth}{%
|
| 471 | \centering%
|
| 472 | \@authora\\
|
| 473 | \@ifundefined{@authorb}{}{\@authorb\\}%
|
| 474 | \@ifundefined{@authorc}{}{\@authorc\\}%
|
| 475 | \@ifundefined{@authord}{}{\@authord\\}%
|
| 476 | \vskip 5cm%
|
| 477 | {\textbf{\@title}}%
|
| 478 | }
|
| 479 | \vskip 8cm%
|
| 480 | %\@ifundefined{titlepagespecificinfo}{}{%
|
| 481 | \hspace*{\fill}\makebox[.5\textwidth][l]{%
|
| 482 | \parbox[b]{8.5cm}{%
|
| 483 | \@descricaodocumento%
|
| 484 | \@ifundefined{@advisora}{}{%
|
| 485 | \vskip 1cm%
|
| 486 | \hspace{-0.25cm}
|
| 487 | \begin{tabular}{lp{.3675\textwidth}}
|
| 488 | \@ifundefined{@advisora}{}{
|
| 489 | \@ifundefined{@advisorb}{\advisorname:}{\advisorname es:} &
|
| 490 | \@ifundefined{@advisora}{}{\@advisora\\}
|
| 491 | \@ifundefined{@advisorb}{}{\ &}
|
| 492 | \@ifundefined{@advisorb}{}{\@advisorb\\}
|
| 493 | \@ifundefined{@advisorc}{}{\ &}
|
| 494 | \@ifundefined{@advisorc}{}{\@advisorc\\}
|
| 495 | \@ifundefined{@advisord}{}{\ &}
|
| 496 | \@ifundefined{@advisord}{}{\@advisord\\}}
|
| 497 | \@ifundefined{@coadvisora}{}{
|
| 498 | \@ifundefined{@coadvisorb}{\coadvisorname:}{\coadvisorname es:} &
|
| 499 | \@ifundefined{@coadvisora}{}{\@coadvisora\\}
|
| 500 | \@ifundefined{@coadvisorb}{}{\ &}
|
| 501 | \@ifundefined{@coadvisorb}{}{\@coadvisorb\\}
|
| 502 | \@ifundefined{@coadvisorc}{}{\ &}
|
| 503 | \@ifundefined{@coadvisorc}{}{\@coadvisorc\\}
|
| 504 | \@ifundefined{@coadvisord}{}{\ &}
|
| 505 | \@ifundefined{@coadvisord}{}{\@coadvisord\\}}
|
| 506 | \@ifundefined{@collaboratora}{}{
|
| 507 | \@ifundefined{@collaboratorb}{\collaboratorname:}{\collaboratorname es:} &
|
| 508 | \@ifundefined{@collaboratora}{}{\@collaboratora\\}
|
| 509 | \@ifundefined{@collaboratorb}{}{\ &}
|
| 510 | \@ifundefined{@collaboratorb}{}{\@collaboratorb\\}
|
| 511 | \@ifundefined{@collaboratorc}{}{\ &}
|
| 512 | \@ifundefined{@collaboratorc}{}{\@collaboratorc\\}
|
| 513 | \@ifundefined{@collaboratord}{}{\ &}
|
| 514 | \@ifundefined{@collaboratord}{}{\@collaboratord\\}}
|
| 515 | \end{tabular}
|
| 516 | }
|
| 517 | }
|
| 518 | }%
|
| 519 | \vfill%
|
| 520 | %}%
|
| 521 | \vfill%
|
| 522 | \centerline{\@city}%
|
| 523 | \centerline{\ei@date}%
|
| 524 | }
|
| 525 |
|
| 526 | \newcommand{\folhadeaprovacao}{%
|
| 527 | \clearpage%
|
| 528 | \noindent%
|
| 529 | \parbox[b]{\textwidth}{%
|
| 530 | \centering%
|
| 531 | \MakeUppercase{\@authora}\\%
|
| 532 | \vskip 5cm%
|
| 533 | \textbf{\MakeUppercase{\@title}}\\%
|
| 534 | \vskip 4cm%
|
| 535 | }
|
| 536 | \hspace*{\fill}\makebox[.5\textwidth][l]{%
|
| 537 | \parbox[b]{8.5cm}{%
|
| 538 | \@descricaodocumento%
|
| 539 | \@ifundefined{@advisora}{}{%
|
| 540 | \vskip 1cm%
|
| 541 | \hspace{-0.3cm}
|
| 542 | \begin{tabular}{lp{.3675\textwidth}}
|
| 543 | \@ifundefined{@advisora}{}{
|
| 544 | \@ifundefined{@advisorb}{\advisorname:}{\advisorname es:} &
|
| 545 | \@ifundefined{@advisora}{}{\@advisora\\}
|
| 546 | \@ifundefined{@advisorb}{}{\ &}
|
| 547 | \@ifundefined{@advisorb}{}{\@advisorb\\}
|
| 548 | \@ifundefined{@advisorc}{}{\ &}
|
| 549 | \@ifundefined{@advisorc}{}{\@advisorc\\}
|
| 550 | \@ifundefined{@advisord}{}{\ &}
|
| 551 | \@ifundefined{@advisord}{}{\@advisord\\}}
|
| 552 | \@ifundefined{@coadvisora}{}{
|
| 553 | \@ifundefined{@coadvisorb}{\coadvisorname:}{\coadvisorname es:} &
|
| 554 | \@ifundefined{@coadvisora}{}{\@coadvisora\\}
|
| 555 | \@ifundefined{@coadvisorb}{}{\ &}
|
| 556 | \@ifundefined{@coadvisorb}{}{\@coadvisorb\\}
|
| 557 | \@ifundefined{@coadvisorc}{}{\ &}
|
| 558 | \@ifundefined{@coadvisorc}{}{\@coadvisorc\\}
|
| 559 | \@ifundefined{@coadvisord}{}{\ &}
|
| 560 | \@ifundefined{@coadvisord}{}{\@coadvisord\\}}
|
| 561 | \@ifundefined{@collaboratora}{}{
|
| 562 | \@ifundefined{@collaboratorb}{\collaboratorname:}{\collaboratorname es:} &
|
| 563 | \@ifundefined{@collaboratora}{}{\@collaboratora\\}
|
| 564 | \@ifundefined{@collaboratorb}{}{\ &}
|
| 565 | \@ifundefined{@collaboratorb}{}{\@collaboratorb\\}
|
| 566 | \@ifundefined{@collaboratorc}{}{\ &}
|
| 567 | \@ifundefined{@collaboratorc}{}{\@collaboratorc\\}
|
| 568 | \@ifundefined{@collaboratord}{}{\ &}
|
| 569 | \@ifundefined{@collaboratord}{}{\@collaboratord\\}}
|
| 570 | \end{tabular}
|
| 571 | }
|
| 572 | }
|
| 573 | }
|
| 574 | \vskip 1cm%
|
| 575 | \hspace{-0.75cm}
|
| 576 | \parbox[b]{\textwidth}{%
|
| 577 | \centering
|
| 578 | Aprovado pela banca examinadora em: \uline{\hspace{0.75cm}}/\uline{\hspace{0.75cm}}/\uline{\hspace{1.5cm}}
|
| 579 | }
|
| 580 | \vfill%
|
| 581 | \hspace{-0.75cm}
|
| 582 | \parbox[b]{\textwidth}{%
|
| 583 | \centering%
|
| 584 | ~\uline{\hspace{0.75\textwidth}}~\\%
|
| 585 | \@advisora~-~\@instituicaoadvisor\\%
|
| 586 | \@ifundefined{orientadora}{Prof.\textordmasculine}{Prof.\textordfeminine}~\advisorname%
|
| 587 | \@ifundefined{@membroi}{}{
|
| 588 | \vskip 0.5cm%
|
| 589 | ~\uline{\hspace{0.75\textwidth}}~\\%
|
| 590 | \@membroi~-~\@instituicaomembroi\\%
|
| 591 | Membro titular\\%
|
| 592 | }
|
| 593 | \@ifundefined{@membroii}{}{
|
| 594 | \vskip 0.5cm%
|
| 595 | ~\uline{\hspace{0.75\textwidth}}~\\%
|
| 596 | \@membroii~-~\@instituicaomembroii\\%
|
| 597 | Membro titular\\%
|
| 598 | }
|
| 599 | \@ifundefined{@membroiii}{}{
|
| 600 | \vskip 0.5cm%
|
| 601 | ~\uline{\hspace{0.75\textwidth}}~\\%
|
| 602 | \@membroiii~-~\@instituicaomembroiii\\%
|
| 603 | Membro titular\\%
|
| 604 | }
|
| 605 | }
|
| 606 | }
|
| 607 |
|
| 608 | %==============================================================================
|
| 609 | % Ajuste do sumário (nada indentado)
|
| 610 | %==============================================================================
|
| 611 |
|
| 612 | % Nível do sumário
|
| 613 | \setcounter{tocdepth}{4}
|
| 614 |
|
| 615 | \newlength{\ei@chapnumindent}\setlength{\ei@chapnumindent}{1.8em}
|
| 616 |
|
| 617 | \renewcommand*{\l@chapter}[2]{
|
| 618 | \addpenalty{-\@highpenalty}
|
| 619 | \vskip -1ex \@plus\p@
|
| 620 | \setlength\@tempdima{1.5em}
|
| 621 | \begingroup
|
| 622 | \parindent \z@ \rightskip \@pnumwidth
|
| 623 | \parfillskip -\@pnumwidth
|
| 624 | \leavevmode\bfseries\sffamily
|
| 625 | \advance\leftskip\@tempdima
|
| 626 | \hskip -\leftskip
|
| 627 | \@dottedtocline{0}{0em}{\ei@chapnumindent}{\MakeUppercase{#1}}{#2}
|
| 628 | \penalty\@highpenalty
|
| 629 | \endgroup
|
| 630 | }
|
| 631 | \renewcommand*{\l@section}[2]
|
| 632 | {\@dottedtocline{1}{0em}{1.8em}{\MakeUppercase{#1}}{\hss #2}}
|
| 633 |
|
| 634 | \renewcommand*{\l@subsection}[2]{\@dottedtocline{2}{0em}{2.5em}{\textbf{#1}}{#2}}
|
| 635 |
|
| 636 | \renewcommand*{\l@subsubsection}[2]{\@dottedtocline{3}{0em}{3.5em}{\textit{#1}}{#2}}
|
| 637 |
|
| 638 | \renewcommand*{\l@paragraph}[2]{\@dottedtocline{4}{0em}{4.25em}{\uline{#1}}{#2}}
|
| 639 |
|
| 640 | \newif\if@aftertoc
|
| 641 | \@aftertocfalse
|
| 642 | \renewcommand{\tableofcontents}{%
|
| 643 | \chapter*{\contentsname}
|
| 644 | \@starttoc{toc}\@aftertoctrue%
|
| 645 | }
|
| 646 |
|
| 647 | %
|
| 648 | % Anexos e apêndices
|
| 649 | %
|
| 650 |
|
| 651 | % Seção anexo
|
| 652 | \newcounter{annex}% add counter
|
| 653 | \renewcommand\theannex{\annexname~\@Alph\c@annex \space --}
|
| 654 |
|
| 655 | \newcommand*\l@annex[2]{
|
| 656 | \addpenalty{-\@highpenalty}
|
| 657 | \vskip -1ex \@plus\p@
|
| 658 | \setlength\@tempdima{1.5em}
|
| 659 | \begingroup
|
| 660 | \parindent \z@ \rightskip \@pnumwidth
|
| 661 | \parfillskip -\@pnumwidth
|
| 662 | \leavevmode\bfseries\sffamily
|
| 663 | \advance\leftskip\@tempdima
|
| 664 | \hskip -\leftskip
|
| 665 | \@dottedtocline{0}{0em}{5.75em}{\MakeUppercase{#1}}{#2}
|
| 666 | \penalty\@highpenalty
|
| 667 | \endgroup
|
| 668 | }
|
| 669 |
|
| 670 | \newcommand\annexmark[1]{} % define header/footer
|
| 671 | \newcommand\annex{
|
| 672 | \clearpage%
|
| 673 | \vspace*{50pt}%
|
| 674 | \@startsection{annex}{0}{0pt}{0pt}{42pt}{\centering\reset@font\ei@chapterfont\sffamily\bfseries\MakeUppercase}%
|
| 675 | }
|
| 676 |
|
| 677 | % Seção apêndice
|
| 678 | \newcounter{append}% add counter
|
| 679 | \renewcommand\theappend{\appendixname~\@Alph\c@append \space --}
|
| 680 |
|
| 681 | \newcommand*\l@append[2]{
|
| 682 | \addpenalty{-\@highpenalty}
|
| 683 | \vskip -1ex \@plus\p@
|
| 684 | \setlength\@tempdima{1.5em}
|
| 685 | \begingroup
|
| 686 | \parindent \z@ \rightskip \@pnumwidth
|
| 687 | \parfillskip -\@pnumwidth
|
| 688 | \leavevmode\bfseries\sffamily
|
| 689 | \advance\leftskip\@tempdima
|
| 690 | \hskip -\leftskip
|
| 691 | \@dottedtocline{0}{0em}{7.25em}{\MakeUppercase{#1}}{#2}
|
| 692 | \penalty\@highpenalty
|
| 693 | \endgroup
|
| 694 | }
|
| 695 |
|
| 696 | \newcommand\appendmark[1]{} % define header/footer
|
| 697 | \newcommand\append{
|
| 698 | \clearpage%
|
| 699 | \vspace*{50pt}%
|
| 700 | \@startsection{append}{0}{0pt}{0pt}{42pt}{\centering\reset@font\ei@chapterfont\sffamily\bfseries\MakeUppercase}%
|
| 701 | }
|
| 702 |
|
| 703 | %==============================================================================
|
| 704 | % Folha de abertura de Anexos/Apêndices
|
| 705 | %------------------------------------------------------------------------------
|
| 706 | % A ABNT NBR 14724 pede que o conjunto de anexos (ou de apêndices) seja
|
| 707 | % precedido por uma folha simples, contendo apenas "ANEXOS" ou "APÊNDICES"
|
| 708 | % centralizado e em negrito, sem mais nada, distinta da folha de cada
|
| 709 | % anexo/apêndice individual (que já leva "ANEXO A -- Título", produzida por
|
| 710 | % \annex/\append). Use \annexescover ou \appendicescover uma vez, antes
|
| 711 | % do primeiro \annex ou \append do grupo
|
| 712 | %==============================================================================
|
| 713 | \newcommand{\@ei@dividerpage}[1]{%
|
| 714 | \clearpage%
|
| 715 | \thispagestyle{empty}%
|
| 716 | \vspace*{\fill}%
|
| 717 | \begin{center}
|
| 718 | \reset@font\ei@chapterfont\sffamily\bfseries\MakeUppercase{#1}%
|
| 719 | \end{center}
|
| 720 | \vspace*{\fill}%
|
| 721 | \clearpage%
|
| 722 | }
|
| 723 |
|
| 724 | \newcommand{\annexescover}{\@ei@dividerpage{\annexesname}}
|
| 725 | \newcommand{\appendicescover}{\@ei@dividerpage{\appendicesname}}
|
| 726 |
|
| 727 | %==============================================================================
|
| 728 | % Definição das listas de abreviaturas e siglas e de símbolos
|
| 729 | %==============================================================================
|
| 730 | \newenvironment{listofabbrv}[1]{
|
| 731 | \chapter*{\listabbrvname}
|
| 732 | \begin{list}{\textbf{??}}{%
|
| 733 | \settowidth{\labelwidth}{#1}%
|
| 734 | \setlength{\labelsep}{1em}%
|
| 735 | \setlength{\itemindent}{0mm}%
|
| 736 | \setlength{\leftmargin}{\labelwidth}%
|
| 737 | \addtolength{\leftmargin}{\labelsep}%
|
| 738 | \setlength{\rightmargin}{0mm}%
|
| 739 | \setlength{\itemsep}{.1\baselineskip}%
|
| 740 | \renewcommand{\makelabel}[1]{\makebox[\labelwidth][l]{##1}}%
|
| 741 | }
|
| 742 | }{
|
| 743 | \end{list}
|
| 744 | }
|
| 745 |
|
| 746 | \newenvironment{listofsymbols}[1]{
|
| 747 | \chapter*{\listsymbolname}
|
| 748 | \begin{list}{\textbf{??}}{%
|
| 749 | \settowidth{\labelwidth}{#1}%
|
| 750 | \setlength{\labelsep}{1em}%
|
| 751 | \setlength{\itemindent}{0mm}%
|
| 752 | \setlength{\leftmargin}{\labelwidth}%
|
| 753 | \addtolength{\leftmargin}{\labelsep}%
|
| 754 | \setlength{\rightmargin}{0mm}%
|
| 755 | \setlength{\itemsep}{.1\baselineskip}%
|
| 756 | \renewcommand{\makelabel}[1]{\makebox[\labelwidth][l]{##1}}%
|
| 757 | }
|
| 758 | }{
|
| 759 | \end{list}
|
| 760 | }
|
| 761 |
|
| 762 | %==============================================================================
|
| 763 | % Resumo (abstract) e Abstract (englishabstract)
|
| 764 | %==============================================================================
|
| 765 | \renewenvironment{abstract}{%
|
| 766 | \chapter*{\abstractname}
|
| 767 | }{%
|
| 768 | \par\vskip 0.5cm%
|
| 769 | \noindent\textbf{\keywordsname:} \@abstractkw.
|
| 770 | }
|
| 771 |
|
| 772 | \newenvironment{englishabstract}[1]{%
|
| 773 | \if@openright\cleardoublepage\else\clearpage\fi%
|
| 774 | \gdef\@englishkeywords{#1}%
|
| 775 | \iflanguage{english}{
|
| 776 | \begin{otherlanguage}{brazilian}
|
| 777 | }{
|
| 778 | \begin{otherlanguage}{english}
|
| 779 | }
|
| 780 | \chapter*{\abstractname}
|
| 781 | }{
|
| 782 | \par\vskip 0.5cm%
|
| 783 | \noindent\textbf{\keywordsname:} \@englishkeywords.
|
| 784 | \end{otherlanguage}
|
| 785 | }
|
| 786 |
|
| 787 | %==============================================================================
|
| 788 | % Formatação dos capítulos.
|
| 789 | % Os comandos \@chapter e \@schapter são redefinidos para que a
|
| 790 | % numeração de páginas seja correta (deve aparecer somente a partir do
|
| 791 | % primeiro capítulo do texto, mas não nas páginas iniciais de
|
| 792 | % capítulos).
|
| 793 | % Os comandos \@makechapterhead e \@makeschapterhead fazem a
|
| 794 | % formatação dos títulos propriamente ditos.
|
| 795 | %==============================================================================
|
| 796 | \newcommand{\ei@chapterfont}{\@setfontsize\Large{16}{20}}
|
| 797 | \def\@chapapp{}
|
| 798 |
|
| 799 | \def\@chapter[#1]#2{%
|
| 800 | \onehalfspacing
|
| 801 | \refstepcounter{chapter}%
|
| 802 | \addcontentsline{toc}{chapter}{\protect\numberline{\@chapapp\thechapter}#1}%
|
| 803 | % Standard LaTeX chapter-grouping spacing in LoF/LoT: commented out to keep
|
| 804 | % uniform spacing between all entries regardless of chapter boundaries, since I
|
| 805 | % dunno if these are from TSI's guidelines or just copy-pasted from somewhere
|
| 806 | %\addtocontents{lof}{\protect\addvspace{10\p@}}%
|
| 807 | %\addtocontents{lot}{\protect\addvspace{10\p@}}%
|
| 808 | \pagestyle{texufpel}\let\ps@plain\ps@texufpel%
|
| 809 | \@makechapterhead{#2}\@afterheading%
|
| 810 | }
|
| 811 |
|
| 812 | \def\@makechapterhead#1{%
|
| 813 | \vspace*{50pt}%
|
| 814 | \reset@font\noindent{\ei@chapterfont\sffamily\textbf{\@chapapp\thechapter\hspace{1em}\MakeUppercase{#1}}\par}%
|
| 815 | \addvspace{42pt}%
|
| 816 | \thispagestyle{empty}%
|
| 817 | }
|
| 818 |
|
| 819 | \def\@schapter#1{%
|
| 820 | \if@aftertoc\addcontentsline{toc}{chapter}{#1}\fi%
|
| 821 | % Standard LaTeX chapter-grouping spacing in LoF/LoT: commented out to keep
|
| 822 | % uniform spacing between all entries regardless of chapter boundaries, since I
|
| 823 | % dunno if these are from TSI's guidelines or just copy-pasted from somewhere
|
| 824 | %\addtocontents{lof}{\protect\addvspace{10\p@}}%
|
| 825 | %\addtocontents{lot}{\protect\addvspace{10\p@}}%
|
| 826 | \@makeschapterhead{#1}\@afterheading%
|
| 827 | }
|
| 828 |
|
| 829 | \def\@makeschapterhead#1{%
|
| 830 | \vspace*{50pt}%
|
| 831 | \reset@font\centerline{\ei@chapterfont\sffamily\textbf{\MakeUppercase{#1}}}%
|
| 832 | \addvspace{42pt}%
|
| 833 | }
|
| 834 |
|
| 835 | %==============================================================================
|
| 836 | % Formatação das seções
|
| 837 | %==============================================================================
|
| 838 | \setcounter{secnumdepth}{4}
|
| 839 |
|
| 840 | \renewcommand{\section}{%
|
| 841 | \@startsection{section}{1}{0pt}{18pt}{9pt}{\reset@font\large\MakeUppercase}
|
| 842 | }
|
| 843 |
|
| 844 | \renewcommand{\subsection}{%
|
| 845 | \@startsection{subsection}{2}{0pt}{12pt}{6pt}{\reset@font\bfseries}
|
| 846 | }
|
| 847 |
|
| 848 | \renewcommand{\subsubsection}{%
|
| 849 | \@startsection{subsubsection}{3}{0pt}{12pt}{6pt}{\reset@font\itshape}
|
| 850 | }
|
| 851 |
|
| 852 | \renewcommand{\paragraph}{%
|
| 853 | \@startsection{paragraph}{4}{0pt}{12pt}{6pt}{\reset@font\uline}
|
| 854 | }
|
| 855 |
|
| 856 | \renewcommand{\subparagraph}{%
|
| 857 | \@startsection{subparagraph}{5}{0pt}{1ex}{-1em}{\reset@font\bfseries}
|
| 858 | }
|
| 859 |
|
| 860 | %==============================================================================
|
| 861 | % Formatação das legendas
|
| 862 | %==============================================================================
|
| 863 | \renewcommand{\thefigure}{\@arabic\c@figure}
|
| 864 | \renewcommand{\thetable}{\@arabic\c@table}
|
| 865 |
|
| 866 | \counterwithout{figure}{chapter}
|
| 867 | \counterwithout{equation}{chapter}
|
| 868 | \counterwithout{table}{chapter}
|
| 869 | % O pacote listings só cria o contador "lstlisting" dentro de um
|
| 870 | % \AtBeginDocument próprio (ele decide o formato de numeração nesse
|
| 871 | % momento verificando se a classe tem capítulos). Por isso o
|
| 872 | % \counterwithout também precisa ser adiado da mesma forma, e registrado
|
| 873 | % depois de \RequirePackage{listings} para entrar na fila após o hook
|
| 874 | % do próprio pacote.
|
| 875 | \AtBeginDocument{\counterwithout{lstlisting}{chapter}}
|
| 876 |
|
| 877 | %==============================================================================
|
| 878 | % Redefinição do conteúdo das listas de figuras e tabelas
|
| 879 | %------------------------------------------------------------------------------
|
| 880 | % Empacotado em \AtBeginDocument: o pacote hyperref redefine \@caption
|
| 881 | % incondicionalmente e imediatamente no momento em que é carregado (não
|
| 882 | % em seu próprio \AtBeginDocument), descartando o prefixo "Figura"/"Tabela"
|
| 883 | % especificamente na entrada da Lista de Ilustrações/Tabelas (mas não na
|
| 884 | % legenda visível, que continua correta) -- daí a legenda no corpo do texto
|
| 885 | % aparecer certa ("Figura 1: ...") mas a entrada na lista aparecer sem o
|
| 886 | % prefixo. Adiando nossa redefinição para \AtBeginDocument garante que ela
|
| 887 | % seja a última a rodar, independentemente de onde \usepackage{hyperref}
|
| 888 | % aparece no preâmbulo do documento.
|
| 889 | %==============================================================================
|
| 890 | \newif\if@captionlisting\@captionlistingtrue
|
| 891 | \AtBeginDocument{%
|
| 892 | \long\def\@caption#1[#2]#3{%
|
| 893 | \par
|
| 894 | \if@captionlisting%
|
| 895 | \addcontentsline{\csname ext@#1\endcsname}{#1}%
|
| 896 | {\protect\numberline{\csname fnum@#1\endcsname}{\ignorespaces #2}}%
|
| 897 | \fi%
|
| 898 | \begingroup
|
| 899 | \@parboxrestore
|
| 900 | \if@minipage
|
| 901 | \@setminipage
|
| 902 | \fi
|
| 903 | \normalsize
|
| 904 | \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
|
| 905 | \endgroup%
|
| 906 | }%
|
| 907 | }
|
| 908 |
|
| 909 | \renewcommand*{\l@figure}{\@dottedtocline{1}{0em}{5.5em}}
|
| 910 | \let\l@table\l@figure
|
| 911 | \let\l@lstlisting\l@figure
|
| 912 |
|
| 913 | %==============================================================================
|
| 914 | % Compatibilização do "longtable" com a Lista de Tabelas
|
| 915 | %------------------------------------------------------------------------------
|
| 916 | % O pacote longtable define seu próprio mecanismo de legenda (\LT@c@ption),
|
| 917 | % que grava a entrada na Lista de Tabelas usando \thetable (só o número),
|
| 918 | % em vez de \fnum@table ("Tabela"~+~número), diferentemente do \@caption
|
| 919 | % padrão usado pelo ambiente "table" (redefinido acima). É por isso que uma
|
| 920 | % "tabela normal" mostra o prefixo "Tabela" na lista, mas uma "longtable"
|
| 921 | % mostra só o número, criando alinhamento/espaçamento diferente entre as
|
| 922 | % entradas. O trecho abaixo corrige isso, trocando \thetable por
|
| 923 | % \fnum@table para igualar ao comportamento das tabelas normais.
|
| 924 | %==============================================================================
|
| 925 | \RequirePackage{longtable}
|
| 926 | \def\LT@c@ption#1[#2]#3{%
|
| 927 | \LT@makecaption#1\fnum@table{#3}%
|
| 928 | \def\@tempa{#2}%
|
| 929 | \ifx\@tempa\@empty\else
|
| 930 | {\let\\\space
|
| 931 | \addcontentsline{\ext@table}{table}{\protect\numberline{\fnum@table}{\ignorespaces #2}}}%
|
| 932 | \fi}
|
| 933 |
|
| 934 | %==============================================================================
|
| 935 | % Compatibilização do "listings" com a Lista de Códigos
|
| 936 | %------------------------------------------------------------------------------
|
| 937 | % Pelo mesmo motivo acima: o pacote listings grava sua própria entrada na
|
| 938 | % Lista de Códigos usando apenas \thelstlisting (o número puro), sem passar
|
| 939 | % pelo \@caption customizado da classe, então o prefixo "Código" definido em
|
| 940 | % \lstlistingname nunca aparece nessa lista (só no corpo do texto). Aqui
|
| 941 | % forçamos o prefixo também na lista, análogo ao que já ocorre com Figura/
|
| 942 | % Tabela.
|
| 943 | %==============================================================================
|
| 944 | \let\oldlstlistoflistings\lstlistoflistings
|
| 945 | \renewcommand{\lstlistoflistings}{%
|
| 946 | \begingroup
|
| 947 | \let\oldnumberline\numberline
|
| 948 | \renewcommand{\numberline}[1]{\oldnumberline{\lstlistingname\space##1}}%
|
| 949 | %\renewcommand{\numberline}[1]{\lstlistingname\space\oldnumberline{##1}}%
|
| 950 | \oldlstlistoflistings
|
| 951 | \endgroup
|
| 952 | }
|
| 953 |
|
| 954 | %==============================================================================
|
| 955 | % Redefinição do formato de citações longas
|
| 956 | %==============================================================================
|
| 957 | \renewenvironment{quote}{%
|
| 958 | \small%
|
| 959 | \begin{list}{}{\setlength{\leftmargin}{40mm}\item\relax}
|
| 960 | }{%
|
| 961 | \end{list}
|
| 962 | }
|
| 963 |
|
| 964 | %==============================================================================
|
| 965 | % Ajuste do formato das citações e referências
|
| 966 | %==============================================================================
|
| 967 | \setlength{\bibhang}{0pt}
|
| 968 | \let\cite\citep
|
| 969 |
|
| 970 | %
|
| 971 | % Definições de seções restantes.
|
| 972 | %
|
| 973 |
|
| 974 | % Ficha catalográfica: Uma página temporária, somente indicando que é necessário ter a ficha catalográfica
|
| 975 |
|
| 976 | \newcommand{\fichacatalografica}{%
|
| 977 | \clearpage%
|
| 978 | \mbox{}%
|
| 979 | \vfill
|
| 980 | \begin{center}
|
| 981 | \textbf{Insira AQUI a ficha catalogr\'afica\\(solicitada na p\'agina da biblioteca)}
|
| 982 | \end{center}
|
| 983 | \vfill%
|
| 984 | }
|
| 985 |
|
| 986 | % Seção de agradecimentos
|
| 987 |
|
| 988 | \newenvironment{agradecimentos}{%
|
| 989 | \chapter*{Agradecimentos}%
|
| 990 | }{%
|
| 991 | }
|
| 992 |
|
| 993 | % Seção de dedicatória
|
| 994 |
|
| 995 | \newenvironment{dedicatoria}{%
|
| 996 | \clearpage%
|
| 997 | \mbox{}\vfill\begin{flushright}%
|
| 998 | }{%
|
| 999 | \end{flushright}%
|
| 1000 | }
|
| 1001 |
|
| 1002 | % Seção de epígrafe
|
| 1003 |
|
| 1004 | \newenvironment{epigrafe}{%
|
| 1005 | \clearpage%
|
| 1006 | \mbox{}\vfill\begin{flushright}%
|
| 1007 | }{%
|
| 1008 | \end{flushright}%
|
| 1009 | }
|