ppginf.cls 14.1 KB
Newer Older
Carlos Maziero's avatar
Carlos Maziero committed
1 2 3 4
%------------------------------------------------------------------------------

% EM USO NORMAL, ESTE ARQUIVO NÃO DEVE SER MODIFICADO!

Carlos Maziero's avatar
Carlos Maziero committed
5 6 7
% Esta classe define o padrão para dissertações, teses e documentos
% correlatos produzidos no Programa de Pós-Graduação em Informática
% da Universidade Federal do Paraná, em Curitiba PR.
Carlos Maziero's avatar
Carlos Maziero committed
8 9 10 11 12 13 14 15 16 17 18 19
%
% Esta classe segue o modelo da classe "book" e aceita todas as suas opções.
% Ela também define as seguintes opções específicas:
% 
%    defesa: versão prévia (só frente, espaçamento 1.5,)
%    final:  versão final (frente/verso, espaçamento 1, páginas complementares)

% Os seguintes ambientes e comandos também são definidos:
%
% \descr{...}		: descrição do documento na folha de rosto
% \instit{short}{long}	: instituição (abreviado e por extenso)
% \advisor{Nome}	: define o orientador
20
% \coadvisor{Nome}	: define o coorientador, se houver
Carlos Maziero's avatar
Carlos Maziero committed
21 22 23
% \field{Área}		: define a área de concentração da pesquisa
% \local{Cidade}	: define o local da defesa
% \keywords{}{}...	: define três palavras-chave e três keywords
Carlos Maziero's avatar
Carlos Maziero committed
24
% \coverimage{}		: define a imagem de fundo da capa
Carlos Maziero's avatar
Carlos Maziero committed
25 26 27 28 29 30 31 32 33
% \begin{resumo}	: define a página de resumo
% \begin{abstract}	: define a página de abstract
% \begin{agradece}	: define a página de agradecimentos
% \begin{dedica}	: define a página de dedicatória
% \begin{ficha}		: define a ficha catalográfica
% \begin{aprovacao}	: define a folha de aprovação
%
% Software fornecido sob a licença GNU GPL. Pode ser usada e modificada
% livremente, desde que mantidas as informações deste cabeçalho.
Carlos Maziero's avatar
Carlos Maziero committed
34 35
%
% Autoria: prof. Carlos A. Maziero, DInf/UFPR (maziero@inf.ufpr.br)
Carlos Maziero's avatar
Carlos Maziero committed
36 37 38

%------------------------------------------------------------------------------

Carlos Maziero's avatar
Carlos Maziero committed
39
% definição da classe e versão
40 41
\ProvidesClass{ppginf}[2018/05/22 Manuscript class for PPGInf/UFPR]
\def\@classversion{0.9.9}
Carlos Maziero's avatar
Carlos Maziero committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

%------------------------------------------------------------------------------

% opções desta classe

% define flag de versão final do documento
\newif\iffinalmode

% defesa: só frente, espaçamento 1,5 e menos páginas iniciais
\DeclareOption{defesa}{\finalmodefalse}

% aprovada: frente/verso, espaçamento 1 e mais páginas iniciais
\DeclareOption{final}{\finalmodetrue}

% demais opções devem ser encaminhadas à classe de base (book)
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}

% processa as opcoes definidas acima
\ProcessOptions

%------------------------------------------------------------------------------

%% Carregar a classe de base
\iffinalmode
  \if@twoside
    \LoadClass[12pt,a4paper,twoside]{book}	% twoside na final
  \else%
    \LoadClass[12pt,a4paper,oneside]{book}	% oneside na final
  \fi
\else
  \if@twoside
    \LoadClass[12pt,a4paper,twoside]{book}	% twoside na defesa
  \else%
    \LoadClass[12pt,a4paper,oneside]{book}	% oneside na defesa
  \fi
\fi

%------------------------------------------------------------------------------

%% Ajustes no layout geral do texto

% dimensões da página e margens
\RequirePackage{geometry}
\geometry{a4paper}
\geometry{right=2cm,left=2cm,top=3cm,bottom=2cm}
\geometry{bindingoffset=1cm}

89
% para mudar o título dos capítulos para "1. Introdução", etc
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
% ATENCAO: https://tex.stackexchange.com/questions/299969/titlesec-loss-of-
% section-numbering-with-the-new-update-2016-03-15
\RequirePackage{titlesec}
\titleformat{\chapter}[hang]{\huge\bfseries}{\thechapter}{1ex}{}

% por exigência da bib@ufpr, muda título de apêndice para "Apêndice A: blá blá
% blá" no texto e no sumário (fonte: https://stackoverflow.com/questions/717316/
% how-to-make-appendix-appear-in-toc-in-latex, adaptado)
\newcommand\appendix@chapter[1]{%
  \refstepcounter{chapter}%
  \orig@chapter*{Ap\^endice \@Alph\c@chapter: #1}%
  \addcontentsline{toc}{chapter}{Ap\^endice \@Alph\c@chapter: #1}}%
\let\orig@chapter\chapter
\g@addto@macro\appendix{\let\chapter\appendix@chapter}

% por exigência da bib@ufpr, remove indentações no sumário
\RequirePackage{tocloft}
\cftsetindents{part}         {0mm} {15mm}
\cftsetindents{chapter}      {0mm} {15mm}
\cftsetindents{section}      {0mm} {15mm}
\cftsetindents{subsection}   {0mm} {15mm}
\cftsetindents{subsubsection}{0mm} {15mm}
112

113 114 115 116
% por exigência da bib@ufpr, remove indentação nas listas de figuras/tabelas/...
\setlength{\cftfigindent}{0pt}
\setlength{\cfttabindent}{0pt}

Carlos Maziero's avatar
Carlos Maziero committed
117
% indentar o primeiro parágrafo (português) em 15mm
Carlos Maziero's avatar
Carlos Maziero committed
118 119 120
\RequirePackage{indentfirst}
\setlength{\parindent}{15mm}

Carlos Maziero's avatar
Carlos Maziero committed
121 122
% indentar listas de itens alinhadas aos parágrafos
\usepackage{enumitem}
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
\setlist[1]{leftmargin=\parindent}
\setlist[2]{leftmargin=0.5\parindent}

% corrigir recuos nos ambientes quote e quotation
\renewenvironment{quotation}{%
  \list{}{%
    \leftmargin=\parindent%
    \rightmargin=\parindent%
    \listparindent 0.5\parindent%
    \itemindent    \listparindent
    \rightmargin   \leftmargin
    \parsep        \z@ \@plus\p@}%
  \item\relax}
{\endlist}
\renewenvironment{quote}{%
  \list{}{%
    \leftmargin=\parindent%
    \rightmargin=\parindent%
    \rightmargin\leftmargin%
  }%
  \item\relax}%
{\endlist}
Carlos Maziero's avatar
Carlos Maziero committed
145

Carlos Maziero's avatar
Carlos Maziero committed
146 147 148 149 150 151 152
% aumentar o espaço entre a legenda e a tabela
\usepackage{caption} 
\captionsetup[table]{skip=10pt}

% espaçamento entre linhas
\RequirePackage{setspace}
\iffinalmode
Carlos Maziero's avatar
Carlos Maziero committed
153
  \singlespacing   % final: espaçamento 1
Carlos Maziero's avatar
Carlos Maziero committed
154
\else
Carlos Maziero's avatar
Carlos Maziero committed
155
  \onehalfspacing  % default: espaçamento 1.5
Carlos Maziero's avatar
Carlos Maziero committed
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
\fi

% relaxar o espaçamento entre caracteres
\sloppy

% impedir linhas órfãs/viúvas (linhas isoladas no início/fim de uma página)
\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty 10000
\raggedbottom

% sumário: adiciona entrada para bibliografia e remove entradas
% de sumário, lista de figuras e lista de tabelas.
\RequirePackage[nottoc,notlot,notlof]{tocbibind}

Carlos Maziero's avatar
Carlos Maziero committed
171 172
% usar URLs na bibliografia (precisa ficar aqui pois conflita com outros pacotes)
\usepackage[obeyspaces,hyphens]{url}
Carlos Maziero's avatar
Carlos Maziero committed
173

174
% para adicionar imagem de fundo à capa
Carlos Maziero's avatar
Carlos Maziero committed
175 176
\RequirePackage{wallpaper}

Carlos Maziero's avatar
Carlos Maziero committed
177 178
%------------------------------------------------------------------------------

Carlos Maziero's avatar
Carlos Maziero committed
179 180
% CONTROLE DE NUMERAÇÃO DE PÁGINAS

Carlos Maziero's avatar
Carlos Maziero committed
181 182 183 184
% formatação de cabeçalho e rodapé
\RequirePackage{fancyhdr}
\setlength{\headheight}{15pt}

Carlos Maziero's avatar
Carlos Maziero committed
185 186 187 188
% sem linhas separadoras para cabeçalho e rodapé
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

189 190
% por exigência da bib@ufpr (e contra todas as normas tipográficas), a numeração
% da introdução deve considerar as páginas preliminares (i.e. não começa em 1).
Carlos Maziero's avatar
Carlos Maziero committed
191
% Caso as regras de sua universidade sejam "normais", comente as linhas abaixo.
Carlos Maziero's avatar
Carlos Maziero committed
192 193 194 195 196
\renewcommand\pagenumbering[1]{%
  %\global\c@page\@ne % this resets the counter
  \gdef\thepage{\csname @#1\endcsname\c@page}%
}

Carlos Maziero's avatar
Carlos Maziero committed
197
% define o estilo de página do preâmbulo (páginas iniciais) do documento
Carlos Maziero's avatar
Carlos Maziero committed
198 199 200 201
\fancypagestyle{frontmatter}{
  \fancyhf{}
}

Carlos Maziero's avatar
Carlos Maziero committed
202
% define o estilo de página do corpo do documento (capítulos)
Carlos Maziero's avatar
Carlos Maziero committed
203 204 205 206 207 208 209 210 211
\fancypagestyle{mainmatter}{
  \fancyhf{}
  \if@twoside
    \fancyhead[LE,RO]{\thepage}
  \else
    \fancyhead[R]{\thepage}
  \fi
}

Carlos Maziero's avatar
Carlos Maziero committed
212 213 214 215 216 217 218 219 220 221 222 223 224 225
% define o estilo default "plain" como nulo nas páginas iniciais (frontmatter)
% e igual a mainmatter no corpo do documento (para por números de página na
% primeira página de cada capítulo).
\fancypagestyle{plain}{
  \fancyhf{}
  \if@mainmatter
    \if@twoside
      \fancyhead[LE,RO]{\thepage}
    \else
      \fancyhead[R]{\thepage}
    \fi
  \fi
}

Carlos Maziero's avatar
Carlos Maziero committed
226 227
%------------------------------------------------------------------------------

Carlos Maziero's avatar
Carlos Maziero committed
228 229
% CONTROLE DO PDF GERADO

Carlos Maziero's avatar
Carlos Maziero committed
230
% pacotes para gerar um arquivo PDF "rico" (bookmarks, links, metadados)
Carlos Maziero's avatar
Carlos Maziero committed
231 232
\RequirePackage[plainpages,pdfpagelabels]{hyperref}	% PDF com links, metadados
\RequirePackage{bookmark}				% cria um índice no PDF
Carlos Maziero's avatar
Carlos Maziero committed
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

% ajustar metadados e propriedades do PDF gerado
\hypersetup{
  % pdftitle, author, etc definidos mais abaixo
%  bookmarks   = true,
%  pageanchor  = false,
  hypertexnames = false,
%  bookmarkstype = page,
  pdfview     = Fit,
  pdfborder   = {0 0 0},
  colorlinks  = false,
  linkcolor   = blue,
  anchorcolor = blue,
  citecolor   = blue,
  filecolor   = blue,
%  pagecolor   = blue,
  urlcolor    = blue
}

\RequirePackage{microtype}	% melhorar a qualidade da tipografia no PDF

%------------------------------------------------------------------------------

Carlos Maziero's avatar
Carlos Maziero committed
256
% COMANDOS PARA DEFINIÇÕES FEITAS NO MAIN.TEX
Carlos Maziero's avatar
Carlos Maziero committed
257

Carlos Maziero's avatar
Carlos Maziero committed
258
% definição de autor, orientador, local, área, palavras-chave, etc
Carlos Maziero's avatar
Carlos Maziero committed
259 260
% valores default (não mudá-los, pois poderão ser testados em macros)
\def\@advisor{}			% orientador
261
\def\@coadvisor{}		% coorientador
Carlos Maziero's avatar
Carlos Maziero committed
262 263 264 265 266
\def\@field{}			% área de concentração
\def\@local{}			% local
\def\@descr{}			% descrição do documento
\def\@instshort{undef}		% instituição (abreviação)
\def\@instlong{undef}		% instituição (por extenso)
Carlos Maziero's avatar
Carlos Maziero committed
267 268
\def\@pcs{}			% palavras-chave
\def\@kws{}			% keywords
Carlos Maziero's avatar
Carlos Maziero committed
269
\def\@coverimg{}		% imagem de fundo da capa
Carlos Maziero's avatar
Carlos Maziero committed
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293

% instituição
\newcommand{\instit}[2]{
  \def\@instshort{#1}
  \def\@instlong{#2}
}

% descrição do documento na folha de rosto
\newcommand{\descr}[1]{\def\@descr{#1}}

% orientadores
\newcommand{\advisor}[1]{\def\@advisor{#1}}
\newcommand{\coadvisor}[1]{\def\@coadvisor{#1}}

% área/tema do texto
\newcommand{\field}[1]{\def\@field{#1}}

% local (cidade)
\newcommand{\local}[1]{\def\@local{#1}}

% palavras-chave em português e inglês
\newcommand{\pchave}[1]{\def\@pcs{#1}}
\newcommand{\keyword}[1]{\def\@kws{#1}}

Carlos Maziero's avatar
Carlos Maziero committed
294 295 296
% imagem de fundo da capa
\newcommand{\coverimage}[1]{\def\@coverimg{#1}}

Carlos Maziero's avatar
Carlos Maziero committed
297 298
%------------------------------------------------------------------------------

Carlos Maziero's avatar
Carlos Maziero committed
299
% AMBIENTES DA PARTE INICIAL DO DOCUMENTO
Carlos Maziero's avatar
Carlos Maziero committed
300

Carlos Maziero's avatar
Carlos Maziero committed
301
% ambiente resumo
Carlos Maziero's avatar
Carlos Maziero committed
302 303 304 305 306 307 308 309 310 311
\newenvironment{resumo}
{
  \clearpage
%  \phantomsection
%  \addcontentsline{toc}{chapter}{Resumo}
  \begin{center}
  {\huge\textbf{Resumo}}
  \end{center}
  \vspace{0.5ex}
}{
Carlos Maziero's avatar
Carlos Maziero committed
312 313 314 315 316 317
  % somente mostrar palavras-chave se estiverem definidas
  \ifx\@pcs\@empty
  \else
    \vspace{4ex}
    \noindent\textbf{Palavras-chave:} {\@pcs}.
  \fi
Carlos Maziero's avatar
Carlos Maziero committed
318 319 320 321
  \vfill
  \cleardoublepage
}

Carlos Maziero's avatar
Carlos Maziero committed
322
% ambiente abstract
Carlos Maziero's avatar
Carlos Maziero committed
323 324 325 326 327 328 329 330 331 332
\newenvironment{abstract}
{
  \clearpage
%  \phantomsection
%  \addcontentsline{toc}{chapter}{Abstract}
  \begin{center}
  {\huge\textbf{Abstract}}
  \end{center}
  \vspace{0.5ex}
}{
Carlos Maziero's avatar
Carlos Maziero committed
333 334 335 336 337 338
  % somente mostrar keywords se estiverem definidas
  \ifx\@kws\@empty
  \else
    \vspace{4ex}
    \noindent\textbf{Keywords:} {\@kws}.
  \fi
Carlos Maziero's avatar
Carlos Maziero committed
339 340 341 342
  \vfill
  \cleardoublepage
}

Carlos Maziero's avatar
Carlos Maziero committed
343
% ambientes agradecimentos e dedicatória (só na versão aprovada)
Carlos Maziero's avatar
Carlos Maziero committed
344
\iffinalmode
345

Carlos Maziero's avatar
Carlos Maziero committed
346
  % ambiente da ficha catalográfica
347 348 349
  \newenvironment{ficha}
  {\addtocounter{page}{-1}} % não conta no número de páginas (Bib UFPR)
  {\cleardoublepage}
Carlos Maziero's avatar
Carlos Maziero committed
350 351

  % ambiente da folha de aprovação
352 353 354
  \newenvironment{aprovacao}
  {}
  {\cleardoublepage}
Carlos Maziero's avatar
Carlos Maziero committed
355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380

  % ambiente de agradecimentos
  \newenvironment{agradece}
  {
    \begin{center}
    {\huge\textbf{Agradecimentos}}
    \end{center}
    \vspace{0.5ex}
  }{
    \vfill
    \cleardoublepage
  }

  % ambiente de dedicatória
  \newenvironment{dedica}
  {
    \vspace*{\fill}
    \hfill
    \begin{minipage}[t]{6cm}
    \em
  }{
    \end{minipage}
    \cleardoublepage
  }
\else
  % Na versão de defesa, esses ambientes não geram nada
381 382 383 384
  \newenvironment{ficha}     {\comment} {\endcomment}
  \newenvironment{agradece}  {\comment} {\endcomment}
  \newenvironment{dedica}    {\comment} {\endcomment}
  \newenvironment{aprovacao} {\comment} {\endcomment}
Carlos Maziero's avatar
Carlos Maziero committed
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400
\fi

% lista de acrônimos (siglas e abreviações)
\newenvironment{listaacron}
{
  \chapter*{Lista de Acr\^onimos}
%  \phantomsection
%  \addcontentsline{toc}{chapter}{Lista de Acr\^onimos}
}{
  \vfill
  \cleardoublepage
}

% lista de símbolos
\newenvironment{listasimb}
{
Carlos Maziero's avatar
Carlos Maziero committed
401
  \chapter*{Lista de S\'{\i}mbolos}
Carlos Maziero's avatar
Carlos Maziero committed
402 403 404 405 406 407 408 409 410
%  \phantomsection
%  \addcontentsline{toc}{chapter}{Lista de S\'{\i}mbolos}
}{
  \vfill
  \cleardoublepage
}

%------------------------------------------------------------------------------

Carlos Maziero's avatar
Carlos Maziero committed
411 412
% CONSTRUÇÃO DAS PÁGINAS INICIAIS

Carlos Maziero's avatar
Carlos Maziero committed
413 414
\renewcommand{\titlepage}
{
Carlos Maziero's avatar
Carlos Maziero committed
415
  % ajustar tags do PDF final (só funciona bem se estiver aqui)
Carlos Maziero's avatar
Carlos Maziero committed
416 417 418 419 420
  \hypersetup{
    pdftitle    = {\@title},
    pdfauthor   = {\@author},
    pdfsubject  = {\@field},
    pdfproducer = {\@instshort\ - \@instlong},
Carlos Maziero's avatar
Carlos Maziero committed
421
    pdfcreator  = {LaTeX, using PPGInf class V. \@classversion},
Carlos Maziero's avatar
Carlos Maziero committed
422 423 424
    pdfkeywords = {\@pcs, \@kws}
  }

Carlos Maziero's avatar
Carlos Maziero committed
425
  % PRIMEIRA CAPA (SÓ NA VERSÃO APROVADA)
Carlos Maziero's avatar
Carlos Maziero committed
426 427 428
  \iffinalmode
%    \phantomsection
%    \thispagestyle{empty}
Carlos Maziero's avatar
Carlos Maziero committed
429 430 431 432 433 434 435 436

    % imagem de fundo da capa, se estiver definida em main.tex
    \ifx\@coverimg\@empty
    \else
      \ThisCenterWallPaper{1.0}{\@coverimg}
    \fi

    % conteúdo da capa
Carlos Maziero's avatar
Carlos Maziero committed
437 438 439 440 441 442 443 444
    \begin{center}
      \begin{doublespace}
        \textsc{\Large\@instlong}
        \\
        \vspace{3cm}
        \textsc{\Large\@author}
        \\
        \vfill
Carlos Maziero's avatar
Carlos Maziero committed
445
        \DeclareRobustCommand\\{\linebreak}
Carlos Maziero's avatar
Carlos Maziero committed
446 447 448 449 450 451
        \textsc{\Large\@title}
        \vfill
        \textsc{\Large\@local\\\@date}
      \end{doublespace}
    \end{center}
    \cleardoublepage
452 453
    
    % reiniciar numeração de páginas, para não contar a capa;
454
    % segundo a bib@UFPR a capa não deve contar como página
455
    \setcounter{page}{1}
Carlos Maziero's avatar
Carlos Maziero committed
456 457
  \fi

Carlos Maziero's avatar
Carlos Maziero committed
458
  % FOLHA DE ROSTO
Carlos Maziero's avatar
Carlos Maziero committed
459 460 461 462 463 464 465 466 467 468 469 470 471
  \clearpage
%  \phantomsection
%  \addcontentsline{toc}{chapter}{Rosto}
%  \thispagestyle{empty}

  % autor
  \begin{center}
    \textsc{\Large\@author}
  \end{center}

  \vfill\vfill

  % título
Carlos Maziero's avatar
Carlos Maziero committed
472 473 474
  \begin{doublespace}
    \begin{center}
      \DeclareRobustCommand\\{\linebreak }
Carlos Maziero's avatar
Carlos Maziero committed
475
      \textsc{\Large\@title}
Carlos Maziero's avatar
Carlos Maziero committed
476 477
    \end{center}
  \end{doublespace}
Carlos Maziero's avatar
Carlos Maziero committed
478

Carlos Maziero's avatar
Carlos Maziero committed
479 480 481 482 483 484 485 486 487 488
  % na versão de defesa, indicar data de compilação do documento
  \iffinalmode
  \else
    \begin{small}
    \begin{center}
      (\emph{vers\~ao pr\'e-defesa, compilada em \today})
    \end{center}
    \end{small}
  \fi

Carlos Maziero's avatar
Carlos Maziero committed
489 490
  \vspace{1cm}

Carlos Maziero's avatar
Carlos Maziero committed
491
  % construção do selo descritivo
Carlos Maziero's avatar
Carlos Maziero committed
492 493 494
  \hfill
  \begin{minipage}{9cm}

Carlos Maziero's avatar
Carlos Maziero committed
495
    % descrição do documento, se estiver definida em main.tex
Carlos Maziero's avatar
Carlos Maziero committed
496 497 498 499
    \ifx\@descr\@empty
    \else
      \@descr.
    \fi
Carlos Maziero's avatar
Carlos Maziero committed
500

Carlos Maziero's avatar
Carlos Maziero committed
501
    % área de concentração, se estiver definida em main.tex
Carlos Maziero's avatar
Carlos Maziero committed
502 503 504 505 506 507
    \ifx\@field\@empty
    \else
      \vspace{1em}
      \'Area de concentra\c{c}\~ao: \emph{\@field}.
    \fi

Carlos Maziero's avatar
Carlos Maziero committed
508
    % orientador, se estiver definido em main.tex
Carlos Maziero's avatar
Carlos Maziero committed
509 510 511 512 513 514
    \ifx\@advisor\@empty
    \else
      \vspace{1em}
      Orientador: \@advisor.
    \fi

Carlos Maziero's avatar
Carlos Maziero committed
515
    % coorientador, se estiver definido em main.tex
Carlos Maziero's avatar
Carlos Maziero committed
516 517 518
    \ifx\@coadvisor\@empty
    \else
      \vspace{1em}
519
      Coorientador: \@coadvisor.
Carlos Maziero's avatar
Carlos Maziero committed
520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537
    \fi

  \end{minipage}

  \vfill

  % local e data
  \begin{center}
    \begin{doublespace}
      \textsc{\Large\@local\\\@date}
    \end{doublespace}
  \end{center}

  % that's all, folks!
  \cleardoublepage
}

%------------------------------------------------------------------------------