texlive[48438] Master/texmf-dist: ucsmonograph (19aug18)

commits+karl at tug.org commits+karl at tug.org
Sun Aug 19 23:25:50 CEST 2018


Revision: 48438
          http://tug.org/svn/texlive?view=revision&revision=48438
Author:   karl
Date:     2018-08-19 23:25:49 +0200 (Sun, 19 Aug 2018)
Log Message:
-----------
ucsmonograph (19aug18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/ucsmonograph/README.md
    trunk/Master/texmf-dist/doc/latex/ucsmonograph/ucsmonograph.pdf
    trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
    trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins
    trunk/Master/texmf-dist/tex/latex/ucsmonograph/ucsmonograph.cls

Modified: trunk/Master/texmf-dist/doc/latex/ucsmonograph/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ucsmonograph/README.md	2018-08-19 21:25:32 UTC (rev 48437)
+++ trunk/Master/texmf-dist/doc/latex/ucsmonograph/README.md	2018-08-19 21:25:49 UTC (rev 48438)
@@ -1,4 +1,7 @@
-# ucsmonograph
+# ucsmonograph
+
+**Português abaixo! ;)**
+
 LaTeX class made for typesetting academic documents according to the ABNT (Brazillian Technical Standards Association) standards, adjusted to the requirements of the UCS (University of Caxias do Sul).
 
 The author of this document is Henrique Baron.
@@ -25,22 +28,37 @@
 and the derived file ucsmonograph.cls.
 
 ## Installation
-There are two possibilities for installing the `ucsmonograph` class: you may get it in a zipped TDS (TeX Directory Structure) or you may download the following files:
-* ucsmonograph.ins
-* ucsmonograph.dtx
+There are three possibilities for installing the `ucsmonograph` class:
+you may install it directly from your MiKTeX or TeXLive distribution;
+you may download the `.dtx` `.ins` installation files;
+or (specially if you are using an on-line LaTeX editor) you can download the compiled `.cls` directly.
 
-### Installing from TDS
-The **ucsmonograph.tds** folder contains the subfolders **doc**, **source** and **tex**. The following structure is present in your LaTeX root (TEXMF) folder. The downloaded folders can be copied and merged to this directory structure.
+### Installing through any TeX distribution
+Open your TeX distribution's package manager, search for the `ucsmonograph` class and install it.
+Even simpler, if your TeX installation is configured to install packages on-the-fly, you can just call `ucsmonograph` as your document class and this class and all its dependencies will be automatically installed.
 
 ### Installing from INS and DTX files
-You may run `latex` on the INS file to make it generate the class (.cls) file:
+Firstly you shall download the following files:
+* ucsmonograph.dtx
+* ucsmonograph.ins
 
+Then, you may run `latex` on the INS file to make it generate the class (.cls) file:
+
     latex ucsmonograph.ins
     
-and you can run ´pdflatex´ on the DTX file to generate the class documentation:
+and you can run `pdflatex` on the DTX file to generate the class documentation:
 
     pdflatex ucsmonograph.dtx
+    
+Generate the index and changelog with `makeindex` commands:
 
+    makeindex -s gglo.ist -o ucsmonograph.gls ucsmonograph.glo
+    makeindex -s gind.ist -o ucsmonograph.ind ucsmonograph.idx
+    
+Run `pdflatex` once again to generate the class documentation with the index and changelog:
+
+    pdflatex ucsmonograph.dtx
+
 The generated .CLS file shall be copied to
 
     TEXMF/tex/latex/ucsmonograph
@@ -48,7 +66,93 @@
 and the .PDF documentation file shall be copied to
 
     TEXMF/doc/latex/ucsmonograph
+    
+Where `TEXMF` is your TeX root, that is, your TeX installation folder.
 
+### Installing the CLS file
+This installation option is not recommended, but if you're using an on-line TeX editor, this is the way to go.
+
+Download the compiled files in the repository's [Release](https://github.com/HenriqueBaron/ucsmonograph/releases) page.
+It is recommended to download the PDF documentation of the class too!
+The downloaded CLS file can be copied directly to your on-line project.
+
 ## Change log
 v1.0.0 (2018-08-04, Henrique Baron):
 * Initial version
+
+v1.1.0 (2018-08-16, Henrique Baron):
+* `hyperref` package setup done automatically through macros `\autor`, 
+`\titulo`, `\preambulo` etc.;
+* Created macro `\palavraschave` to define the PDF keywords (for the `hyperref` package);
+* PDF bookmarks are generated automatically for the lists of contents;
+* `dedicatoria` formats the page entirely. No more need to have a `minipage` environment inside it;
+* Corrected bug that needed the call to `glossaries-extra` package;
+* Corrected spacing after chapter title;
+* Enhancements in the documentation.
+
+# ucsmonograph - Português (BR)
+Esta é uma classe LaTeX para formatação de trabalhos acadêmicos segundo o Guia para Elaboração de Trabalhos Acadêmicos da Universidade de Caxias do Sul.
+
+O autor deste código é Henrique Baron.
+Informações de contato:
+* E-mail: henrique.baron at gmail.com
+* Perfil do TeX Stack Exchange: https://tex.stackexchange.com/users/153467/henrique-baron
+
+## Licença
+Este trabalho utiliza a LPPL, a Licença Pública do Projeto LaTeX, e deve ser distribuído sob suas condições.
+A versão mais recente da licença está disponível (em inglês) em
+
+http://www.latex-project.org/lppl.txt
+
+Este trabalho possui o status atual de 'mantido', e o mantenedor atual é Henrique Baron.
+
+Este trabalho consiste nos arquivos ucsmonograph.dtx, ucsmonograph.ins e no arquivo gerado ucsmonograph.cls.
+
+## Instalação
+Há três possibilidades para instalar a classe `ucsmonograph`:
+você pode instalá-la diretamente pela sua distribuição MiKTeX ou TeXLive;
+você pode baixar os arquivos de instalação `.dtx` e `.ins`;
+ou (especialmente se você está utilizando um editor LaTeX on-line) você pode baixer o arquivo compilado `.cls` diretamente.
+
+### Instalando por uma distribuição TeX
+Abra o gerenciador de pacotes (package manager, ou console) da sua distribuição TeX, busque pela classe `ucsmonograph` e instale-a.
+Mais simples ainda, se a sua instalação TeX estiver configurada para instalar pacotes on-the-fly, você pode apenas chamar a classe `ucsmonograph` como a sua document class, e a classe e todas as suas dependências serão instaladas automaticamente.
+
+### Instalando a partir dos arquivos INS e DTX
+Primeiramente você deve baixar os seguintes arquivos:
+* ucsmonograph.dtx
+* ucsmonograph.ins
+
+Então, rode o comando `latex` no arquivo INS para gerar o arquivo da classe (.cls):
+    
+    latex ucsmonograph.ins
+    
+e rode o comando `pdflatex` no arquivo DTX para gerar a documentação da classe:
+
+    pdflatex ucsmonograph.dtx
+    
+Gere o índice e o changelog com comandos `makeindex`:
+
+    makeindex -s gglo.ist -o ucsmonograph.gls ucsmonograph.glo
+    makeindex -s gind.ist -o ucsmonograph.ind ucsmonograph.idx
+    
+e execute o comando `pdflatex` mais uma vez para gerar a documentação da classe, agora com índice e changelog:
+
+    pdflatex ucsmonograph.dtx
+    
+O arquivo .CLS gerado deve ser copiado para
+
+    TEXMF/tex/latex/ucsmonograph
+    
+e a documentação .PDF deve ser copiada para
+
+    TEXMF/doc/latex/ucsmonograph
+    
+onde `TEXMF` é a sua raiz TeX, isto é, a sua pasta de instalação do TeX.
+
+### Instalando o arquivo CLS
+Essa opção de isntalação não é recomendada, mas se você estiver utilizando um editor TeX on-line, é a opção a se tomar.
+
+Baixe os arquivos compilados na página de [Release](https://github.com/HenriqueBaron/ucsmonograph/releases) do repositório.
+É recomendável baixar a documentação em PDF da classe também!
+O arquivo CLS baixado pode ser copiado diretamente para o seu projeto on-line.

Modified: trunk/Master/texmf-dist/doc/latex/ucsmonograph/ucsmonograph.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx	2018-08-19 21:25:32 UTC (rev 48437)
+++ trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx	2018-08-19 21:25:49 UTC (rev 48438)
@@ -3,11 +3,11 @@
 % Copyright 2018 Henrique Baron
 %
 % This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %   http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
 %
 % This work has the LPPL maintenance status `maintained'.
@@ -21,8 +21,8 @@
 % Formata um documento da classe abnTeX2 para o padrão exigido pela Universidade de Caxias do Sul para
 % monografias.
 % 
-% DÚVIDAS E SUGESTÕES: Entre em contato através do perfil do desenvolvedor no TeX Stack Exchange:
-% https://tex.stackexchange.com/users/153467/henrique-baron
+% DUVIDAS E SUGESTOES: Abra uma issue na pagina do projeto:
+% https://github.com/HenriqueBaron/ucsmonograph
 %
 %\fi
 %
@@ -33,7 +33,7 @@
 %<class>\NeedsTeXFormat{LaTeX2e}
 %<class>\ProvidesClass{ucsmonograph}
 %<*class>
-	[2018/07/31 v1.0.0 Padrao de monografias da UCS]
+	[2018/08/16 v1.1.0 Padrao de monografias da UCS]
 %</class>
 %
 %<*driver>
@@ -42,6 +42,11 @@
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage{lmodern}
+\usepackage{hyperref}
+\hypersetup{%
+	colorlinks=true,
+	linkcolor=black,
+}
 \EnableCrossrefs
 \CodelineIndex
 \RecordChanges
@@ -51,7 +56,7 @@
 %</driver>
 %\fi
 
-% \CheckSum{416}
+% \CheckSum{504}
 
 % \CharacterTable
 %  {Upper-case	\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -70,10 +75,105 @@
 % 	Right brace \} Tilde \~}
 %
 %\changes{v1.0.0}{2018/07/31}{Versão inicial}
+%\changes{v1.1.0}{2018/08/16}{Melhorias no ambiente dedicatória; configuração automática do pacote hyperref; correção no espaçamento após título de capítulo; correção na necessidade de chamar o pacote glossaries-extra; geração automática dos bookmarks do PDF}
 %
 %\GetFileInfo{ucsmonograph.dtx}
 %
-%\DoNotIndex{\newcommand, \newenvironment}
+%\DoNotIndex{\newcommand,%
+%\newenvironment,%
+%\@oldcontentsline,%
+%\@firstoftwo,%
+%\@oldforeignlanguage,%
+%\@olddedicatoria,%
+%\@oldendedicatoria,%
+%\@secondoftwo,%
+%\\,%
+%\ ,%
+%\ABNTEXsubsubsectionfont,%
+%\ABNTEXsubsubsectionfontsize,%
+%\ABNTEXsubsubsubsectionfont,%
+%\ABNTEXsubsubsubsectionfontsize,%
+%\addto,%
+%\addtocounter,%
+%\adjustimage,%
+%\allowdisplaybreaks,%
+%\AtBeginDocument,%
+%\begin,%
+%\bfseries,%
+%\boolean,%
+%\centering,%
+%\citebrackets,%
+%\contentsline,%
+%\contentsname,%
+%\counterwithout,%
+%\csname,%
+%\CurrentOption,%
+%\DeclareOption,%
+%\DeclareStringOption,%
+%\def,%
+%\documentclass,%
+%\else,%
+%\emph,%
+%\end,%
+%\endcsname,%
+%\equal,%
+%\expandafter,%
+%\fboxsep,%
+%\fi,%
+%\fill,%
+%\flushbottom,%
+%\footnotesize,%
+%\hfill,%
+%\hspace,%
+%\ifluatex,%
+%\ifthenelse,%
+%\ifx,%
+%\itshape,%
+%\l at section,%
+%\let,%
+%\linewidth,%
+%\listfigurename,%
+%\listtablename,%
+%\LoadClass,%
+%\makeevenhead,%
+%\makeoddhead,%
+%\makepagestyle,%
+%\MakeTextUppercase,%
+%\mdseries,%
+%\newboolean,%
+%\newlength,%
+%\newlistentry,%
+%\noindent,%
+%\normalsize,%
+%\OR,%
+%\par,%
+%\PassOptionsToClass,%
+%\PassOptionsToPackage,%
+%\pdfbookmark,%
+%\ProcessKeyvalOptions,%
+%\ProcessOptions,%
+%\raggedright,%
+%\relax,%
+%\renewcommand,%
+%\RequirePackage,%
+%\restylefloat,%
+%\rule,%
+%\setboolean,%
+%\setfloatadjustement,%
+%\setfloatlocations,%
+%\setlength,%
+%\SingleSpacing,%
+%\space,%
+%\su at ExpandTwoArgs,%
+%\su at IfSubStringInString,%
+%\textbf,%
+%\textendash,%
+%\textwidth,%
+%\uppercase,%
+%\vfill,%
+%\vspace,%
+%\WithSuffix,%
+%}
 %
 %\title{Classe \textsf{ucsmonograph}\thanks{Esse documento corresponde a \textsf(ucsmonograph)~\fileversion, de \filedate.}}
 %\author{Henrique Baron \\ \texttt{henrique.baron at gmail.com}}
@@ -81,122 +181,199 @@
 %\maketitle
 %
 %\section{Introdução}
-% Esta classe foi desenvolvida para formatar monografias segundo o Guia para Elaboração de Trabalhos Acadêmicos da Universidade de Caxias do Sul. Este código foi desenvolvido tendo por base a versão 2018 do documento, e tem por objetivo simplificar o uso do \LaTeX~por alunos da UCS que têm pouca experiencia no assunto, abstraindo algumas configurações de formatação e comandos mais complexos.
+% Esta classe foi desenvolvida para formatar monografias segundo o Guia para Elaboração de Trabalhos Acadêmicos da Universidade de Caxias do Sul.
+% Este código foi desenvolvido tendo por base a versão 2018 do documento, e tem por objetivo simplificar o uso do \LaTeX~por alunos da UCS que têm pouca experiencia na linguagem, abstraindo algumas configurações de formatação e comandos mais complexos.
 %
-% A classe |ucsmonograph| é baseada na classe |abntex2|, que formata documentos acadêmicos segundo as normas ABNT. O código desenvolvido realiza alterações em algumas macros e expõe outros que são necessários para antender requisitos da UCS, mas que não são oferecidos pela classe |abntex2| por padrão.
+% A classe |ucsmonograph| é baseada na classe |abntex2|, que formata documentos acadêmicos segundo as normas ABNT.
+% O código desenvolvido realiza alterações em algumas macros e expõe outros que são necessários para antender requisitos da UCS, mas que não são oferecidos pela classe |abntex2| por padrão.
 %
 %\subsection{Se seu documento possui fórmulas}
-% Pode ser necessário compilar o trabalho com Lua\LaTeX. Mesmo para iniciantes no \LaTeX, essa não é uma mudança complicada, e pode ser necessária para atender uma exigência da UCS. Isso porque o padrão da universidade diz que a fonte deve ser a mesma em \emph{todo} o documento, inclusive nas fórmulas, onde o \LaTeX e até mesmo outros editores como o Microsoft Word utilizam uma fonte diferente. Isso serve para deixar o documento de fato mais legível e mais ''bonito'', e é possível negociar com os responsáveis se existe margem para manter essa diferença de fontes entre texto e equações.
+% Pode ser necessário compilar o trabalho com Lua\LaTeX.
+% Mesmo para iniciantes no \LaTeX, essa não é uma mudança complicada, e pode ser necessária para atender uma exigência da UCS.
+% Isso porque o padrão da universidade diz que a fonte deve ser a mesma em \emph{todo} o documento, inclusive nas fórmulas, onde o \LaTeX e até mesmo outros editores como o Microsoft Word utilizam uma fonte diferente.
+% Isso serve para deixar o documento de fato mais legível e mais ''bonito'', e é possível negociar com os responsáveis se existe margem para manter essa diferença de fontes entre texto e equações.
 %
-% Caso não seja permitido, é o ponto onde o Lua\LaTeX~entra. No pdf\LaTeX~não é possível alterar a fonte do texto matemático. Por conta disso, a classe |ucsmonograph| é preparada para carregar conjuntos de caracteres e a fonte Latin Modern automaticamente se o documento estiver sendo compilado com o Lua\LaTeX. 
+% Caso não seja permitido, é o ponto onde o Lua\LaTeX~entra.
+% No pdf\LaTeX~não é possível alterar a fonte do texto matemático.
+% Por conta disso, a classe |ucsmonograph| é preparada para carregar conjuntos de caracteres e a fonte Latin Modern automaticamente se o documento estiver sendo compilado com o Lua\LaTeX.
+% 
+%\section{Instalação}
 %
+%\subsection{Editores \LaTeX\ off-line}
+% Se você está utilizando um editor \LaTeX\ off-line, basta buscar pela classe |ucsmonograph| no seu \emph{package manager}.
+% A classe |ucsmonograph| integra as distribuições do MiK\TeX\ e do \TeX Live. 
+%
+%\subsection{Editores \LaTeX\ on-line}
+% Para editores \LaTeX\ on-line como o Share\LaTeX\ ou o Overleaf, você precisa fazer o download dos arquivos compilados da classe |ucsmonograph|.
+% Para isso, vá até a página de lançamentos (\emph{releases}) do projeto no GitHub em \url{https://github.com/HenriqueBaron/ucsmonograph/releases}.
+% Faça o \emph{download} da última versão da classe, baixando tanto o arquivo |.cls| como o arquivo |.pdf|.
+% O arquivo |.cls| pode ser carregado para o seu projeto online e utilizado normalmente.
+%
 %\section{Utilização}
-% Para utilizar a classe |ucsmonograph|, é recomendado consultar os manuais da classe |abntex2| e do pacote |abntex2cite|, que é utilizado para as referências bibliográficas. Este manual descreve apenas os comandos desenvolvidos na própria classe |ucsmonograph| e outras redefinições de comandos que podem ser pertinentes ao usuário.
+% Para utilizar a classe |ucsmonograph|, é recomendado consultar os manuais da classe |abntex2| e do pacote |abntex2cite|, que é utilizado para as referências bibliográficas.
+% Este manual descreve apenas os comandos desenvolvidos na própria classe |ucsmonograph| e outras redefinições de comandos que podem ser pertinentes ao usuário.
 %
 %\subsection{Chamada da classe e opções}
 %\DescribeMacro{\documentclass}
-% A classe pode ser chamada com as opções-padrão que são nativas do \LaTeX~e são encaminhadas para a classe |abntex2|. Um exemplo típico para chamar a classe ao iniciar o documento pode ser
+% A classe pode ser chamada com as opções-padrão que são nativas do \LaTeX~e são encaminhadas para a classe |abntex2|.
+% Um exemplo típico para chamar a classe ao iniciar o documento pode ser
 %\begin{verbatim}
 %	\documentclass[12pt,oneside,english,brazil]{ucsmonograph}
 %\end{verbatim}
-%Outras opções que podem ser alteradas ou acrescentadas a essa chamada são exibidas abaixo.
+% Outras opções que podem ser alteradas ou acrescentadas a essa chamada são exibidas abaixo.
 %
 %\DescribeMacro{oneside}
-% Essa opção pode ser substituída por |twoside| para que o documento seja impresso em frente-e-verso. Embora seja permitido pelo Guia da UCS, isso é vedado pela especificação de alguns cursos, como em engenharias.
+% Essa opção pode ser substituída por |twoside| para que o documento seja impresso em frente-e-verso.
+% Embora seja permitido pelo Guia da UCS, isso é vedado pela especificação de alguns cursos, como em engenharias.
 %
 %\DescribeMacro{english,brazil}
-% As opções de idiomas podem ser alteradas, de modo que \emph{o idioma principal seja sempre o último}. Ou seja, outros exemplos para este par de opções seriam |spanish,brazil| ou |german,brazil|.
+% As opções de idiomas podem ser alteradas, de modo que \emph{o idioma principal seja sempre o último}.
+% Ou seja, outros exemplos para este par de opções seriam |spanish,brazil| ou |german,brazil|.
 %
 %\DescribeMacro{lmodern}
 % Habilita a fonte Latin Modern -- que é uma ''evolução'' à fonte Computer Modern, tradicional do \LaTeX~-- e é equivalente a chamar o seguinte código no preâmbulo do trabalho: |\usepackage{lmodern}|.
 %
 %\DescribeMacro{cite=}
-% Define como é o tipo de citação no documento. O valor dado a essa chave é passado diretamente para a classe |abntex2cite|, e ela pode ser preenchida como: |cite=alf|, que é o valor-padrão, para citações do tipo ''(AUTOR, 2018)''; ou |cite=num| para citações numéricas, no estilo de artigos científicos, que \emph{são permitidas pelo guia da UCS.}
+% Define como é o tipo de citação no documento.
+% O valor dado a essa chave é passado diretamente para a classe |abntex2cite|, e ela pode ser preenchida como: |cite=alf|, que é o valor-padrão, para citações do tipo ''(AUTOR, 2018)''; ou |cite=num| para citações numéricas, no estilo de artigos científicos, que \emph{são permitidas pelo guia da UCS.}
 %
 %\DescribeMacro{siglas}
-% Habilita a produção automática da lista de siglas através de um arquivo |.bib|, semelhante ao de bibliografia. Isso é feito através da chamada do pacote |glossaries-extra| com a opção |record|, e é preciso rodar o script |bib2gls| para que a lista seja gerada. Mais informações sobre o uso do |glossaries-extra| com o |bib2gls| podem ser encontradas na documentação deste pacote. Cabe ressaltar que, pela necessidade de uso desse script, essa opção \emph{não é compatível com editores \LaTeX~on-line}.
+% Habilita a produção automática da lista de siglas através de um arquivo |.bib|, semelhante ao de bibliografia.
+% Isso é feito através da chamada do pacote |glossaries-extra| com a opção |record|, e é preciso rodar o script |bib2gls| para que a lista seja gerada.
+% Mais informações sobre o uso do |glossaries-extra| com o |bib2gls| podem ser encontradas na documentação deste pacote.
+% Cabe ressaltar que, pela necessidade de uso desse script, essa opção \emph{não é compatível com editores \LaTeX~on-line}.
 %
 % Para o caso dos editores online, a lista de siglas deve ser criada manualmente com o ambiente |siglas|, documentado no manual da classe |abntex2|.
 %
 %\DescribeMacro{simbolos}
-% De maneira semelhante à opção |siglas|, habilita a geração automática da lista de símbolos. Essa opção também \emph{não é compatível com editores \LaTeX~on-line}.
+% De maneira semelhante à opção |siglas|, habilita a geração automática da lista de símbolos.
+% Essa opção também \emph{não é compatível com editores \LaTeX~on-line}.
 %
 % Também para o caso dos editores online, a lista de símbolos pode ser feita manualmente no ambiente |simbolos|, documentado no manual da classe |abntex2|.
 %
 %\subsection{Quadros e lista de quadros}
-% Por padrão, o \LaTeX~já oferece meios de criar tabelas e a lista de tabelas. Para o caso dos quadros, que são um elemento obrigatório pelo Guia da UCS, não há nenhum recurso desenvolvido, nem na classe |abntex2|. Para isso, o ambiente |quadro| foi criado na classe |ucsmonograph|.
+% Por padrão, o \LaTeX~já oferece meios de criar tabelas e a lista de tabelas.
+% Para o caso dos quadros, que são um elemento obrigatório pelo Guia da UCS, não há nenhum recurso desenvolvido, nem na classe |abntex2|.
+% Para isso, o ambiente |quadro| foi criado na classe |ucsmonograph|.
 %
 %\DescribeEnv{quadro}
-% É um ambiente flutuante semelhante a |figure| ou |table|. Dentro dele pode ser inserida a imagem de um quadro diretamente, com a macro |\incluirimagem|, ou pode ser criado manualmente o quadro com o ambiente |tabular| e utilizando a macro |caption| para definir uma legenda.
+% É um ambiente flutuante semelhante a |figure| ou |table|.
+% Dentro dele pode ser inserida a imagem de um quadro diretamente, com a macro |\incluirimagem|, ou pode ser criado manualmente o quadro com o ambiente |tabular| e utilizando a macro |caption| para definir uma legenda.
 %
 %\DescribeMacro{\listofquadros}
-% Gera a lista de quadros, inserindo a entrada para a Lista de Quadros no sumário. É recomendado utilizar a macro |\listofquadros*|, que não insere a Lista de Quadros no sumário, conforme prescreve o Guia da UCS.
+% Gera a lista de quadros, inserindo a entrada para a Lista de Quadros no sumário.
+% É recomendado utilizar a macro |\listofquadros*|, que não insere a Lista de Quadros no sumário, conforme prescreve o Guia da UCS.
 %
 %\DescribeMacro{\listofquadros*}
 % Gera a lista de quadros, sem colocar essa entrada no sumário.
 %
+%\subsection{Redefinições da classe abn\TeX 2}
+% Alguns comandos e ambientes expostos pela classe |abntex2| foram redefinidos ou modificados na classe |ucsmonograph|, e essas alterações são apresentadas a seguir.
+%
+%\DescribeMacro{\autor}
+% A função macro |\autor|\marg{nome} foi estendida para incluir o nome do autor automaticamente nas propriedades do PDF.
+% Isso elimina a necessidade de utilizar a macro |\hypersetup| do pacote |hyperref| e alterar a chave |pdfauthor|.
+%
+% Na verdade, essa alteração, em conjunto com as modificações realizadas nas macros |\titulo|, |\preambulo|, |\orientador| e a criação da macro |\palavraschave| eliminam a necessidade de configuração do pacote |hyperref| com a macro |\hypersetup|.
+%
+%\DescribeMacro{\titulo}
+% A função da macro |\titulo|\marg{nome} foi estendida de maneira semelhante à macro |\autor|.
+%
+%\DescribeMacro{\preambulo}
+% A função da macro |\preambulo|\marg{assunto} foi estendida de maneira semelhante à macro |\autor|.
+%
+%\DescribeMacro{\orientador}
+% A função da macro |\orientador|\marg{nome} foi estendida de maneira semelhante à macro |\autor|.
+%
+%\DescribeEnv{dedicatoria}
+% O ambiente |dedicatoria| foi modificado para que não seja necessário aplicar qualquer formatação, nem escrever dentro de um ambiente |minipage|, como sugere o manual da classe |abntex2|.
+% Dessa maneira, a dedicatória pode ser escrita simplesmente como:
+%\begin{verbatim}
+% \begin{dedicatoria}
+%      Dedico este trabalho a minha família etc.
+% \end{dedicatoria}
+%\end{verbatim}
+%
 %\subsection{Outras redefinições}
 % Macros fornecidas por outros pacotes ou classes e que foram alteradas na classe |ucsmonograph| são descritas aqui.
 %
 %\DescribeMacro{\foreignlanguage}
-% Foi alterada para colocar em itálico o texto em idioma estrangeiro. Como essa macro considera o padrão de hifenização da linguagem definida no parâmetro obrigatório \marg{language}, é recomendado utilizá-la sempre que se desejar digitar conteúdo em um idioma diferente do padrão do documento.
+% Foi alterada para colocar em itálico o texto em idioma estrangeiro.
+% Como essa macro considera o padrão de hifenização da linguagem definida no parâmetro obrigatório \marg{language}, é recomendado utilizá-la sempre que se desejar digitar conteúdo em um idioma diferente do padrão do documento.
 %
 %\subsection{Comandos específicos}
 % A classe |ucsmonograph| define alguns comandos próprios, que são detalhados aqui.
 %
+%\DescribeMacro{\palavraschave}
+% Define quais são as palavras-chave do trabalho, que aparecerão no resumo e também nas propriedades do PDF gerado.
+% Esta macro foi criada para ser utilizada de maneira similar às macros |\autor|, |\titulo|, |\preambulo| e |\orientador| que são fornecidas pela classe |abntex2|.
+% Ela deve ser chamada, portanto, \emph{no preâmbulo do seu código}, isto é, antes de |\begin{document}|.
+%
 %\DescribeMacro{\imprimirfolhadeaprovacao}
 % Gera a folha de aprovação no padrão solicitado pela UCS, e recebe até cinco argumentos:
 %\begin{verbatim}
 %	\imprimirfolhadeaprovacao[inst.aval.ext.]{data aprov.}{aval. 1}{aval. 2}{aval.ext}
 %\end{verbatim}
-% O parâmetro opcional \meta{inst. aval. ext.} define a instituição ou empresa de onde vem o avaliador convidado. Caso não preenchida, a instituição é definida como ''UCS -- Universidade de Caxias do Sul''. Os outros parâmetros obrigatórios definem, respectivamente, a data de aprovação, o nome dos dois avaliadores da UCS, e o nome do avaliador externo (convidado). O nome do orientador do trabalho -- que aparece também na folha de aprovação -- não é necessário nesta macro, visto que ele deve ser definido no preâmbulo do documento pela macro |\orientador|\marg{nome}, definida na classe |abntex2|.
+% O parâmetro opcional \meta{inst. aval. ext.} define a instituição ou empresa de onde vem o avaliador convidado.
+% Caso não preenchida, a instituição é definida como ''UCS -- Universidade de Caxias do Sul''.
+% Os outros parâmetros obrigatórios definem, respectivamente, a data de aprovação, o nome dos dois avaliadores da UCS, e o nome do avaliador externo (convidado).
+% O nome do orientador do trabalho -- que aparece também na folha de aprovação -- não é necessário nesta macro, visto que ele deve ser definido no preâmbulo do documento pela macro |\orientador|\marg{nome}, definida na classe |abntex2|.
 %
 %\DescribeMacro{\incluirimagem}
-% Encapsula o comando |\includegraphics|, padrão do \LaTeX, acrescentando alguns elementos gráficos. Esta macro deve ser utilizada dentro de um ambiente |figure| e é chamada da seguinte forma:
+% Encapsula o comando |\includegraphics|, padrão do \LaTeX, acrescentando alguns elementos gráficos.
+% Esta macro deve ser utilizada dentro de um ambiente |figure| e é chamada da seguinte forma:
 %\begin{verbatim}
 %	\incluirimagem[escala]{caminho}{descrição}{fonte e ano}
 %\end{verbatim}
-% O parâmetro opcional \meta{escala} é um valor decimal que define a escala de aumento ou redução da imagem. O valor padrão é 1. Os outros parâmetros indicam o caminho para o arquivo de imagem, a descrição -- que aparecerá acima da imagem, após o número -- e o nome da fonte e ano da imagem, que aparecem abaixo da ilustração, em fonte reduzida.
+% O parâmetro opcional \meta{escala} é um valor decimal que define a escala de aumento ou redução da imagem.
+% O valor padrão é 1.
+% Os outros parâmetros indicam o caminho para o arquivo de imagem, a descrição -- que aparecerá acima da imagem, após o número -- e o nome da fonte e ano da imagem, que aparecem abaixo da ilustração, em fonte reduzida.
 %
 %\DescribeMacro{\incluirsiglas}
-% Faz a chamada para o arquivo |.bib| que contém as definições de siglas. Essa macro só é definida se a opção |siglas| estiver habilitada, e leva o parâmetro obrigatório \marg{caminho}, que dá o caminho para o arquivo |.bib|.
+% Faz a chamada para o arquivo |.bib| que contém as definições de siglas.
+% Essa macro só é definida se a opção |siglas| estiver habilitada, e leva o parâmetro obrigatório \marg{caminho}, que dá o caminho para o arquivo |.bib|.
 %
 %\DescribeMacro{\listofsiglas*}
-% Gera a lista de siglas. O nome da macro foi deixado parcialmente em inglês para ficar de acordo com o padrão de macros de listas como |\listoffigures| ou |\listoftables|, e ela não tem versão sem asterisco. Este comando só é definido se a opção |siglas| estiver habilitada. Caso contrário, a lista de siglas deve ser construída manualmente com o ambiente |siglas|, descrito no manual da classe |abntex2|.
+% Gera a lista de siglas.
+% O nome da macro foi deixado parcialmente em inglês para ficar de acordo com o padrão de macros de listas como |\listoffigures| ou |\listoftables|, e ela não tem versão sem asterisco.
+% Este comando só é definido se a opção |siglas| estiver habilitada.
+% Caso contrário, a lista de siglas deve ser construída manualmente com o ambiente |siglas|, descrito no manual da classe |abntex2|.
 %
 %\DescribeMacro{\incluirsimbolos}
-% Faz a chamada para o arquivo |.bib| que contém as definições de símbolos. Essa macro só é definida se a opção |simbolos| estiver habilitada, e leva o parâmetro obrigatório \marg{caminho}, de maneira similar à macro |\incluirsiglas|.
+% Faz a chamada para o arquivo |.bib| que contém as definições de símbolos.
+% Essa macro só é definida se a opção |simbolos| estiver habilitada, e leva o parâmetro obrigatório \marg{caminho}, de maneira similar à macro |\incluirsiglas|.
 %
 %\DescribeMacro{\listofsimbolos*}
-% Gera a lista de símbolos. O nome desta macro é parte em inglês também para manter o padrão de outras macros de listas do \LaTeX, e não tem versão sem asterisco. Este comando só é definido se a opção |simbolos| estiver habilitada. Caso contrário, a lista de símbolos deve ser construída manualmente com o ambiente |simbolos|, descrito no manual da classe |abntex2|.
+% Gera a lista de símbolos.
+% O nome desta macro é parte em inglês também para manter o padrão de outras macros de listas do \LaTeX, e não tem versão sem asterisco.
+% Este comando só é definido se a opção |simbolos| estiver habilitada.
+% Caso contrário, a lista de símbolos deve ser construída manualmente com o ambiente |simbolos|, descrito no manual da classe |abntex2|.
 %
 %\StopEventually{}
 %
 %\section{Implementação}
-% Esta seção descreve a implementação do código. É utilizada apenas como registro comentado do código produzido, e não é necessário ao usuário lê-la.
+% Esta seção descreve a implementação do código.
+% É utilizada apenas como registro comentado do código produzido, e não é necessário ao usuário lê-la.
 %\subsection{Inicialização}
 %
-%\begin{macro}{Variáveis}
-% Declaração das variáveis: pacote |lmodern| (para uso da fonte Latin Modern) habilitado; listas automáticas do pacote |glossaries-extra| ativadas; criação automática da lista de siglas ativa; e criação automática da lista de símbolos ativa.
+%\begin{macro}{Variaveis}
+% Declaração das variáveis: pacote |lmodern| (para uso da fonte Latin Modern) habilitado; criação automática da lista de siglas ativa; e criação automática da lista de símbolos ativa.
 %    \begin{macrocode}
 \RequirePackage{ifthen}
 
-\newboolean{lmodernAtivo}
-\setboolean{lmodernAtivo}{false}
+\newboolean{@lmodernAtivo}
+\setboolean{@lmodernAtivo}{false}
 
-\newboolean{listasAtivo}
-\setboolean{listasAtivo}{false}
+\newboolean{@siglasAtivo}
+\setboolean{@siglasAtivo}{false}
 
-\newboolean{siglasAtivo}
-\setboolean{siglasAtivo}{false}
+\newboolean{@simbolosAtivo}
+\setboolean{@simbolosAtivo}{false}
 
-\newboolean{simbolosAtivo}
-\setboolean{simbolosAtivo}{false}
-
 %    \end{macrocode}
 %\end{macro}
 %
-%\begin{macro}{Opções}
+%\begin{macro}{Opcoes}
 % Declaração de opções do tipo par key-value, trazidas pelo pacote |kvoptions|.
 %    \begin{macrocode}
 \RequirePackage{kvoptions}
@@ -206,17 +383,15 @@
 % Declaração de outras opções, e carregamento da classe-base |abntex2|.
 %    \begin{macrocode}
 \DeclareOption{lmodern}{%
-	\setboolean{lmodernAtivo}{true}%
+	\setboolean{@lmodernAtivo}{true}%
 }
 
 \DeclareOption{siglas}{%
-	\setboolean{listasAtivo}{true}%
-	\setboolean{siglasAtivo}{true}%
+	\setboolean{@siglasAtivo}{true}%
 }
 
 \DeclareOption{simbolos}{%
-	\setboolean{listasAtivo}{true}%
-	\setboolean{simbolosAtivo}{true}%
+	\setboolean{@simbolosAtivo}{true}%
 }
 
 %    \end{macrocode}
@@ -235,15 +410,17 @@
 %    \begin{macrocode}
 \RequirePackage{ifluatex}
 \ifluatex
-	\usepackage[math-style=upright]{unicode-math}
-	\setboolean{lmodernAtivo}{true}
+	\RequirePackage[math-style=upright]{unicode-math}
+	\setboolean{@lmodernAtivo}{true}
 \fi
 
 %    \end{macrocode}
-% Referências a bibliografia no padrão ABNT. Opções: substituir listas com mais de dois autores por "et al." e escrever o "et al." em itálico.\\
+% Referências a bibliografia no padrão ABNT.
+% Opções: substituir listas com mais de dois autores por "et al." e escrever o "et al." em itálico.\\
 %Se estiver configurada citação numérica, configura para que as citações sejam feitas entre colchetes e permite as citações múltiplas como [8-11], por exemplo.
 %    \begin{macrocode}
-\RequirePackage[\ucsmonograph at cite,abnt-etal-list=3,abnt-etal-text=it,abnt-full-initials=no]{abntex2cite}
+\RequirePackage[\ucsmonograph at cite,abnt-etal-list=3,abnt-etal-text=it,%
+	abnt-full-initials=no]{abntex2cite}
 
 \ifthenelse{\equal{\ucsmonograph at cite}{num}}{%
 	\citebrackets[]%
@@ -251,7 +428,7 @@
 }{}
 
 %    \end{macrocode}
-% Código necessário para evitar conflito no pacote substr pelo uso dele por ambos os pacotes abntex2cite e glossaries
+% Código necessário para evitar conflito no pacote substr pelo uso dele por ambos os pacotes abntex2cite e glossaries.
 %    \begin{macrocode}
 \let\su at ExpandTwoArgs\relax 
 \let\IfSubStringInString\relax 
@@ -258,10 +435,21 @@
 \let\su at IfSubStringInString\relax
 
 %    \end{macrocode}
-% Chamada de outros pacotes
+% Configurações gerais do pacote |hyperref|.
 %    \begin{macrocode}
-\ifthenelse{\boolean{lmodernAtivo}}{%
-	\RequirePackage{lmodern}% ^^A Habilita a fonte Latin Modern
+\hypersetup{%
+	unicode=true,
+	pdfcreator={LaTeX with ucsmonograph},
+	colorlinks=true,
+	linkcolor=black,
+	citecolor=black,
+}
+
+%    \end{macrocode}
+% Chamada de outros pacotes.
+%    \begin{macrocode}
+\ifthenelse{\boolean{@lmodernAtivo}}{%
+	\RequirePackage{lmodern}
 }{}
 
 \RequirePackage{caption}
@@ -290,23 +478,31 @@
 \RequirePackage{suffix}
 
 %    \end{macrocode}
-% Carregamento e configuração condicional do pacote |glossaries-extra| de acordo com o uso de qualquer uma das opções |simbolos| ou |siglas|. Configura, para esse pacote, um novo estilo de abreviação para siglas em outros idiomas, além de definir a largura da linha de descrição na lista a exibir
+% Carregamento e configuração condicional do pacote |glossaries-extra| de acordo com o uso de qualquer uma das opções |simbolos| ou |siglas|.
+% Configura, para esse pacote, um novo estilo de abreviação para siglas em outros idiomas, além de definir a largura da linha de descrição na lista a exibir
+% Passagem das opções para o pacote |glossaries-extra| em função das opções |siglas| ou |simbolos|.
 %    \begin{macrocode}
-\ifthenelse{\boolean{siglasAtivo}}{%
+\ifthenelse{\boolean{@siglasAtivo}}{%
 	\PassOptionsToPackage{acronyms}{glossaries-extra}%
 }
 
-\ifthenelse{\boolean{simbolosAtivo}}{%
+\ifthenelse{\boolean{@simbolosAtivo}}{%
 	\PassOptionsToPackage{symbols}{glossaries-extra}%
 }
 
-\PassOptionsToPackage{record,toc=false,nonumberlist,style=long,acronyms,symbols}{glossaries-extra}
+\ifthenelse{\boolean{@siglasAtivo} \OR \boolean{@simbolosAtivo}}{%
+	\PassOptionsToPackage{record,toc=false,nonumberlist,style=long}{glossaries-extra}%
+}{}
 
-\ifthenelse{\boolean{listasAtivo}}{%
-	\RequirePackage{glossaries-extra}%
+\RequirePackage{glossaries-extra}
+\setlength\glsdescwidth\linewidth%
+
+%    \end{macrocode}
+% Configura no pacote |glossaries-extra| um novo estilo de abreviação para siglas em outros idiomas.
+%    \begin{macrocode}
+\ifthenelse{\boolean{@siglasAtivo}}{%
 	\setabbreviationstyle[acronym]{long-short}%
 	\setabbreviationstyle[foreignabbreviation]{long-short-user}%
-	\setlength{\glsdescwidth}{\linewidth}%
 }{}
 
 %    \end{macrocode}
@@ -344,14 +540,25 @@
 \counterwithout{quadro}{chapter}
 
 %    \end{macrocode}
+% Estende o conteúdo da macro |\listofquadros| para criar o bookmark no PDF automaticamente.
+%    \begin{macrocode}
+\let\@oldlistofquadros\listofquadros
+\def\listofquadros{%
+	\pdfbookmark[0]{\listquadroname}{loq}
+	\@oldlistofquadros
+}
+
+%    \end{macrocode}
 %\end{macro}
 %
 %\subsection{Modificações sobre a classe abnTeX2}
-% Aqui, as alterações de medidas e redefinições de comandos oferecidos pela classe |abntex2| são exibidos. Essas mudanças foram realizadas para adequar os padrões dessa classe à especificação da UCS.
+% Aqui, as alterações de medidas e redefinições de comandos oferecidos pela classe |abntex2| são exibidos.
+% Essas mudanças foram realizadas para adequar os padrões dessa classe à especificação da UCS.
 %
-%\begin{macro}{Configurações}
+%\begin{macro}{Configuracoes}
 % Redefinição de medidas e comandos que não são utilizados pelo usuário como, por exemplo, comandos internos que definem a fonte utilizada.\\
-%Redefinição do estilo abntheadings, que coloca no cabeçalho das páginas o nome do capítulo/seção e uma linha horizontal, além do número de página. O padrão da UCS pede somente o número de página.
+%Redefinição do estilo abntheadings, que coloca no cabeçalho das páginas o nome do capítulo/seção e uma linha horizontal, além do número de página.
+% O padrão da UCS pede somente o número de página.
 %    \begin{macrocode}
 \makepagestyle{abntheadings}
 \makeevenhead{abntheadings}{\ABNTEXfontereduzida\thepage}{}{}
@@ -384,8 +591,13 @@
 \renewcommand{\ABNTEXsubsubsubsectionfontsize}{\normalsize}
 
 %    \end{macrocode}
-% Redefinição de fontes e tamanhos para os capítulos e seções, NO SUMÁRIO. Como o guia da UCS solicita que a apresentação dos títulos seja idêntica no sumário e no texto, as fontes declaradas acima são utilizadas, o que não é o padrão da classe abnTeX2.
+% Alteração do espaçamento entre o título do capítulo e o corpo do texto.
 %    \begin{macrocode}
+\AtBeginDocument{\setlength{\afterchapskip}{20pt}}
+%    \end{macrocode}
+% Redefinição de fontes e tamanhos para os capítulos e seções, NO SUMÁRIO.
+% Como o guia da UCS solicita que a apresentação dos títulos seja idêntica no sumário e no texto, as fontes declaradas acima são utilizadas, o que não é o padrão da classe abnTeX2.
+%    \begin{macrocode}
 \renewcommand{\cftchapterfont}{\ABNTEXchapterfont}
 \renewcommand{\cftsectionfont}{\ABNTEXsectionfont}
 \renewcommand{\cftsubsectionfont}{\ABNTEXsubsectionfont}
@@ -462,13 +674,108 @@
 %    \end{macrocode}
 %\end{macro}
 %
-%\subsection{Outras redefinições}
+%\begin{environment}{dedicatoria}
+% Extensão da macro |dedicatoria| para isentar o usuário da necessidade de formatar manualmente a posição do texto.
+%    \begin{macrocode}
+\let\@olddedicatoria\dedicatoria
+\let\@oldenddedicatoria\enddedicatoria
+\def\dedicatoria{%
+	\@olddedicatoria%
+	\vspace*{\fill}%
+	\hspace{.5\textwidth}%
+	\begin{minipage}[b]{.45\textwidth}%
+	\SingleSpacing%
+}
+\def\enddedicatoria{%
+	\end{minipage}%
+	\@oldenddedicatoria%
+}
+
+%    \end{macrocode}
+%\end{environment}
+%\begin{macro}{\autor}
+% Extensão da macro que define o nome do título, para que isso seja automaticamente passado para o pacote |hyperref|.
+%    \begin{macrocode}
+\let\@oldtitulo\titulo
+\renewcommand{\titulo}[1]{%
+	\@oldtitulo{#1}
+	\hypersetup{%
+		pdftitle={#1}
+	}
+}
+%    \end{macrocode}
+%\end{macro}
+%\begin{macro}{\autor}
+% Extensão da macro para o autor, semelhante à macro |\titulo|.
+%    \begin{macrocode}
+\let\@oldautor\autor
+\renewcommand{\autor}[1]{%
+	\@oldautor{#1}
+	\hypersetup{%
+		pdfauthor={#1}
+	}
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\preambulo}
+% Extensão da macro para o preâmbulo (assunto), semelhante à macro |\titulo|.
+%    \begin{macrocode}
+\let\@oldpreambulo\preambulo
+\renewcommand{\preambulo}[1]{%
+	\@oldpreambulo{#1}
+	\hypersetup{%
+		pdfsubject={#1}
+	}
+}
+
+%    \end{macrocode}
+%\end{macro}
+%
+%\subsection{Outras redefinicoes}
 % Aqui modificações e redefinições de outros comandos que não pertencem à classe |abntex2| são redefinidos.
 %
+%\begin{macro}{\listoffigures}
+% Estende a macro da lista de figuras para incluir o bookmark no PDF automaticamente.
+%    \begin{macrocode}
+\let\@oldlistoffigures\listoffigures
+\def\listoffigures{%
+	\pdfbookmark[0]{\listfigurename}{lof}
+	\@oldlistoffigures
+}
+
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\listoftables}
+% Estende a macro da lista de tabelas para incluir o bookmark no PDF automaticamente.
+%    \begin{macrocode}
+\let\@oldlistoftables\listoftables
+\def\listoftables{%
+	\pdfbookmark[0]{\listtablename}{lot}
+	\@oldlistoftables
+}
+
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\tableofcontents}
+% Estende a macro do sumário para incluir o bookmark no PDF automaticamente.
+%    \begin{macrocode}
+\let\@oldtableofcontents\tableofcontents
+\def\tableofcontents{%
+	\pdfbookmark[0]{\contentsname}{toc}
+	\@oldtableofcontents
+}
+
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\glsxtruserparen}
-% Essa macro, trazida pelo pacote |glossaries-extra| define o conteúdo entre parênteses quando a key |user1| estiver preenchida. Essa redefinição só acontece se a geração de lista de siglas estiver ativa.
+% Essa macro, trazida pelo pacote |glossaries-extra| define o conteúdo entre parênteses quando a key |user1| estiver preenchida.
+% Essa redefinição só acontece se a geração de lista de siglas estiver ativa.
 %    \begin{macrocode}
-\ifthenelse{\boolean{siglasAtivo}}{%
+\ifthenelse{\boolean{@siglasAtivo}}{%
 	\renewcommand{\glsxtruserparen}[2]{%
 		\glsxtrfullsep{#2}%
 		\glsxtrparen
@@ -490,7 +797,7 @@
 %\begin{macro}{\contentsline}
 % Macro responsável por definir o conteúdo da linha no sumário, é redefinida para que os nomes das seções no sumário sejam escritos em letra maiúscula.
 %    \begin{macrocode}
-\let\@contentslineaux\contentsline
+\let\@oldcontentsline\contentsline
 \def\contentsline#1#2{%
 	\expandafter\ifx\csname l@#1\endcsname\l at section
 	\expandafter\@firstoftwo
@@ -498,9 +805,9 @@
 	\expandafter\@secondoftwo
 	\fi
 	{%
-		\@contentslineaux{#1}{\MakeTextUppercase{#2}}%
+		\@oldcontentsline{#1}{\MakeTextUppercase{#2}}%
 	}{%
-		\@contentslineaux{#1}{#2}%
+		\@oldcontentsline{#1}{#2}%
 	}%
 }
 
@@ -510,8 +817,9 @@
 %\begin{macro}{\foreignlanguage}
 % Extensão da macro que inicia um texto em língua estrangeira, alterando-a para que o conteúdo seja destacado em itálico.
 %    \begin{macrocode}
-\let\@foreignlanguageaux\foreignlanguage 
-\renewcommand{\foreignlanguage}[2]{\@foreignlanguageaux{#1}{\emph{#2}}}
+\let\@oldforeignlanguage\foreignlanguage 
+\renewcommand{\foreignlanguage}[2]{\@oldforeignlanguage{#1}{\emph{#2}}}
+
 %    \end{macrocode}
 %\end{macro}
 %
@@ -518,6 +826,25 @@
 %\subsection{Comandos específicos desta classe}
 % No final do código são definidos os comandos produzidos pela classe |ucsmonograph| propriamente dita.
 %
+%\begin{macro}{\@palavraschave}
+% É uma macro utilizada como variável, que armazena as palavras-chave definidas pelo usuário.
+%    \begin{macrocode}
+\newcommand{\@palavraschave}{}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\palavraschave}
+% Redefine o conteúdo da macro |\@palavraschave| e configura também esse conteúdo no pacote |hyperref|.
+%    \begin{macrocode}
+\newcommand{\palavraschave}[1]{%
+	\renewcommand{\@palavraschave}{#1}
+	\hypersetup{%
+		pdfkeywords={#1}
+	}
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\imprimirfolhadeaprovacao}
 % Imprime a folha de aprovação.
 %    \begin{macrocode}
@@ -595,9 +922,10 @@
 %\end{macro}
 %
 %\begin{macro}{\incluirsiglas}
-% Inclusão do arquivo para a lista de siglas. A macro só é definida se a opção |siglas| tiver sido habilitada.
+% Inclusão do arquivo para a lista de siglas.
+% A macro só é definida se a opção |siglas| tiver sido habilitada.
 %    \begin{macrocode}
-\ifthenelse{\boolean{siglasAtivo}}{%
+\ifthenelse{\boolean{@siglasAtivo}}{%
 	\newcommand{\incluirsiglas}[1]{%
 	\GlsXtrLoadResources[%
 		src  = {#1},
@@ -613,11 +941,14 @@
 	}%
 %    \end{macrocode}
 %\begin{macro}{\listofsiglas*}
-% Exibição da lista de siglas. Também só é definida com a opção |siglas| habilitada.\\
-% Por algum motivo, o comando |\printunsrtglossary| incrementa o contador table em uma unidade. Por isso foi preciso utilizar a instrução para decrementá-lo logo em seguida.\\
+% Exibição da lista de siglas.
+% Também só é definida com a opção |siglas| habilitada.\\
+% Por algum motivo, o comando |\printunsrtglossary| incrementa o contador table em uma unidade.
+% Por isso foi preciso utilizar a instrução para decrementá-lo logo em seguida.\\
 % O comando foi criado com * para manter o padrão dos outros comandos de lista utilizados.
 %    \begin{macrocode}
 	\WithSuffix\newcommand\listofsiglas*{%
+		\pdfbookmark[0]{\listadesiglasname}{loa}
 		\printunsrtglossary[type=acronym,title=\listadesiglasname]%
 		\addtocounter{table}{-1}%
 	}%
@@ -628,9 +959,10 @@
 %\end{macro}
 %
 %\begin{macro}{\incluirsimbolos}
-% Inclusão do arquivo para a lista de símbolos. A macro só é definida se a opção |simbolos| tiver sido habilitada.
+% Inclusão do arquivo para a lista de símbolos.
+% A macro só é definida se a opção |simbolos| tiver sido habilitada.
 %    \begin{macrocode}
-\ifthenelse{\boolean{simbolosAtivo}}{%
+\ifthenelse{\boolean{@simbolosAtivo}}{%
 	\newcommand{\incluirsimbolos}[1]{%
 		\GlsXtrLoadResources[%
 		src = {#1},
@@ -640,11 +972,14 @@
 	}%
 %    \end{macrocode}
 %\begin{macro}{\listofsimbolos*}
-% Exibição da lista de símbolos. Também só é definida com a opção |simbolos| habilitada.\\
-% Por algum motivo, o comando |\printunsrtglossary| incrementa o contador table em uma unidade. Por isso foi preciso utilizar a instrução para decrementá-lo logo em seguida.\\
+% Exibição da lista de símbolos.
+% Também só é definida com a opção |simbolos| habilitada.\\
+% Por algum motivo, o comando |\printunsrtglossary| incrementa o contador table em uma unidade.
+% Por isso foi preciso utilizar a instrução para decrementá-lo logo em seguida.\\
 % O comando foi criado com * para manter o padrão dos outros comandos de lista utilizados.
 %    \begin{macrocode}
 	\WithSuffix\newcommand\listofsimbolos*{%
+		\pdfbookmark[0]{\listadesimbolosname}{los}
 		\printunsrtglossary[type=symbols,title=\listadesimbolosname]%
 		\addtocounter{table}{-1}% 
 	}%

Modified: trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins	2018-08-19 21:25:32 UTC (rev 48437)
+++ trunk/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins	2018-08-19 21:25:49 UTC (rev 48438)
@@ -42,8 +42,8 @@
 Classe ucsmonograph
 Formata um documento da classe abnTeX2 para o padrao exigido pela Universidade de Caxias do Sul para monografias.
 
-DUVIDAS E SUGESTOES: Entre em contato atraves do perfil do desenvolvedor no TeX Stack Exchange:
-https://tex.stackexchange.com/users/153467/henrique-baron
+DUVIDAS E SUGESTOES: Abra uma issue na pagina do projeto
+https://github.com/HenriqueBaron/ucsmonograph
 
 \endpreamble
 

Modified: trunk/Master/texmf-dist/tex/latex/ucsmonograph/ucsmonograph.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ucsmonograph/ucsmonograph.cls	2018-08-19 21:25:32 UTC (rev 48437)
+++ trunk/Master/texmf-dist/tex/latex/ucsmonograph/ucsmonograph.cls	2018-08-19 21:25:49 UTC (rev 48438)
@@ -26,43 +26,38 @@
 %% Classe ucsmonograph
 %% Formata um documento da classe abnTeX2 para o padrao exigido pela Universidade de Caxias do Sul para monografias.
 %% 
-%% DUVIDAS E SUGESTOES: Entre em contato atraves do perfil do desenvolvedor no TeX Stack Exchange:
-%% https://tex.stackexchange.com/users/153467/henrique-baron
+%% DUVIDAS E SUGESTOES: Abra uma issue na pagina do projeto
+%% https://github.com/HenriqueBaron/ucsmonograph
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ucsmonograph}
-[2018/07/31 v1.0.0 Padrao de monografias da UCS]
+[2018/08/16 v1.1.0 Padrao de monografias da UCS]
 
 
 \RequirePackage{ifthen}
 
-\newboolean{lmodernAtivo}
-\setboolean{lmodernAtivo}{false}
+\newboolean{@lmodernAtivo}
+\setboolean{@lmodernAtivo}{false}
 
-\newboolean{listasAtivo}
-\setboolean{listasAtivo}{false}
+\newboolean{@siglasAtivo}
+\setboolean{@siglasAtivo}{false}
 
-\newboolean{siglasAtivo}
-\setboolean{siglasAtivo}{false}
+\newboolean{@simbolosAtivo}
+\setboolean{@simbolosAtivo}{false}
 
-\newboolean{simbolosAtivo}
-\setboolean{simbolosAtivo}{false}
-
 \RequirePackage{kvoptions}
 \DeclareStringOption[alf]{cite}
 \ProcessKeyvalOptions*
 \DeclareOption{lmodern}{%
-\setboolean{lmodernAtivo}{true}%
+\setboolean{@lmodernAtivo}{true}%
 }
 
 \DeclareOption{siglas}{%
-\setboolean{listasAtivo}{true}%
-\setboolean{siglasAtivo}{true}%
+\setboolean{@siglasAtivo}{true}%
 }
 
 \DeclareOption{simbolos}{%
-\setboolean{listasAtivo}{true}%
-\setboolean{simbolosAtivo}{true}%
+\setboolean{@simbolosAtivo}{true}%
 }
 
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{abntex2}}
@@ -71,11 +66,12 @@
 
 \RequirePackage{ifluatex}
 \ifluatex
-\usepackage[math-style=upright]{unicode-math}
-\setboolean{lmodernAtivo}{true}
+\RequirePackage[math-style=upright]{unicode-math}
+\setboolean{@lmodernAtivo}{true}
 \fi
 
-\RequirePackage[\ucsmonograph at cite,abnt-etal-list=3,abnt-etal-text=it,abnt-full-initials=no]{abntex2cite}
+\RequirePackage[\ucsmonograph at cite,abnt-etal-list=3,abnt-etal-text=it,%
+abnt-full-initials=no]{abntex2cite}
 
 \ifthenelse{\equal{\ucsmonograph at cite}{num}}{%
 \citebrackets[]%
@@ -86,8 +82,16 @@
 \let\IfSubStringInString\relax
 \let\su at IfSubStringInString\relax
 
-\ifthenelse{\boolean{lmodernAtivo}}{%
-\RequirePackage{lmodern}% ^^A Habilita a fonte Latin Modern
+\hypersetup{%
+unicode=true,
+pdfcreator={LaTeX with ucsmonograph},
+colorlinks=true,
+linkcolor=black,
+citecolor=black,
+}
+
+\ifthenelse{\boolean{@lmodernAtivo}}{%
+\RequirePackage{lmodern}
 }{}
 
 \RequirePackage{caption}
@@ -115,21 +119,24 @@
 
 \RequirePackage{suffix}
 
-\ifthenelse{\boolean{siglasAtivo}}{%
+\ifthenelse{\boolean{@siglasAtivo}}{%
 \PassOptionsToPackage{acronyms}{glossaries-extra}%
 }
 
-\ifthenelse{\boolean{simbolosAtivo}}{%
+\ifthenelse{\boolean{@simbolosAtivo}}{%
 \PassOptionsToPackage{symbols}{glossaries-extra}%
 }
 
-\PassOptionsToPackage{record,toc=false,nonumberlist,style=long,acronyms,symbols}{glossaries-extra}
+\ifthenelse{\boolean{@siglasAtivo} \OR \boolean{@simbolosAtivo}}{%
+\PassOptionsToPackage{record,toc=false,nonumberlist,style=long}{glossaries-extra}%
+}{}
 
-\ifthenelse{\boolean{listasAtivo}}{%
-\RequirePackage{glossaries-extra}%
+\RequirePackage{glossaries-extra}
+\setlength\glsdescwidth\linewidth%
+
+\ifthenelse{\boolean{@siglasAtivo}}{%
 \setabbreviationstyle[acronym]{long-short}%
 \setabbreviationstyle[foreignabbreviation]{long-short-user}%
-\setlength{\glsdescwidth}{\linewidth}%
 }{}
 
 \newcommand{\quadroname}{Quadro}
@@ -149,6 +156,12 @@
 
 \counterwithout{quadro}{chapter}
 
+\let\@oldlistofquadros\listofquadros
+\def\listofquadros{%
+\pdfbookmark[0]{\listquadroname}{loq}
+\@oldlistofquadros
+}
+
 \makepagestyle{abntheadings}
 \makeevenhead{abntheadings}{\ABNTEXfontereduzida\thepage}{}{}
 \makeoddhead{abntheadings}{}{}{\ABNTEXfontereduzida\thepage}
@@ -173,6 +186,7 @@
 \renewcommand{\ABNTEXsubsubsubsectionfont}{\ABNTEXsubsubsectionfont\itshape}
 \renewcommand{\ABNTEXsubsubsubsectionfontsize}{\normalsize}
 
+\AtBeginDocument{\setlength{\afterchapskip}{20pt}}
 \renewcommand{\cftchapterfont}{\ABNTEXchapterfont}
 \renewcommand{\cftsectionfont}{\ABNTEXsectionfont}
 \renewcommand{\cftsubsectionfont}{\ABNTEXsubsectionfont}
@@ -222,7 +236,61 @@
 \expandafter\uppercase\expandafter{\thedate}%
 }
 
-\ifthenelse{\boolean{siglasAtivo}}{%
+\let\@olddedicatoria\dedicatoria
+\let\@oldenddedicatoria\enddedicatoria
+\def\dedicatoria{%
+\@olddedicatoria%
+\vspace*{\fill}%
+\hspace{.5\textwidth}%
+\begin{minipage}[b]{.45\textwidth}%
+\SingleSpacing%
+}
+\def\enddedicatoria{%
+\end{minipage}%
+\@oldenddedicatoria%
+}
+
+\let\@oldtitulo\titulo
+\renewcommand{\titulo}[1]{%
+\@oldtitulo{#1}
+\hypersetup{%
+pdftitle={#1}
+}
+}
+\let\@oldautor\autor
+\renewcommand{\autor}[1]{%
+\@oldautor{#1}
+\hypersetup{%
+pdfauthor={#1}
+}
+}
+\let\@oldpreambulo\preambulo
+\renewcommand{\preambulo}[1]{%
+\@oldpreambulo{#1}
+\hypersetup{%
+pdfsubject={#1}
+}
+}
+
+\let\@oldlistoffigures\listoffigures
+\def\listoffigures{%
+\pdfbookmark[0]{\listfigurename}{lof}
+\@oldlistoffigures
+}
+
+\let\@oldlistoftables\listoftables
+\def\listoftables{%
+\pdfbookmark[0]{\listtablename}{lot}
+\@oldlistoftables
+}
+
+\let\@oldtableofcontents\tableofcontents
+\def\tableofcontents{%
+\pdfbookmark[0]{\contentsname}{toc}
+\@oldtableofcontents
+}
+
+\ifthenelse{\boolean{@siglasAtivo}}{%
 \renewcommand{\glsxtruserparen}[2]{%
 \glsxtrfullsep{#2}%
 \glsxtrparen
@@ -233,7 +301,7 @@
 }
 }{}
 
-\let\@contentslineaux\contentsline
+\let\@oldcontentsline\contentsline
 \def\contentsline#1#2{%
 \expandafter\ifx\csname l@#1\endcsname\l at section
 \expandafter\@firstoftwo
@@ -241,14 +309,22 @@
 \expandafter\@secondoftwo
 \fi
 {%
-\@contentslineaux{#1}{\MakeTextUppercase{#2}}%
+\@oldcontentsline{#1}{\MakeTextUppercase{#2}}%
 }{%
-\@contentslineaux{#1}{#2}%
+\@oldcontentsline{#1}{#2}%
 }%
 }
 
-\let\@foreignlanguageaux\foreignlanguage
-\renewcommand{\foreignlanguage}[2]{\@foreignlanguageaux{#1}{\emph{#2}}}
+\let\@oldforeignlanguage\foreignlanguage
+\renewcommand{\foreignlanguage}[2]{\@oldforeignlanguage{#1}{\emph{#2}}}
+
+\newcommand{\@palavraschave}{}
+\newcommand{\palavraschave}[1]{%
+\renewcommand{\@palavraschave}{#1}
+\hypersetup{%
+pdfkeywords={#1}
+}
+}
 \newcommand{\imprimirfolhadeaprovacao}[5][Universidade de Caxias do Sul - UCS]{%
 \begin{folhadeaprovacao}%
 \begin{center}%
@@ -313,7 +389,7 @@
 \end{minipage}
 }
 
-\ifthenelse{\boolean{siglasAtivo}}{%
+\ifthenelse{\boolean{@siglasAtivo}}{%
 \newcommand{\incluirsiglas}[1]{%
 \GlsXtrLoadResources[%
 src  = {#1},
@@ -328,12 +404,13 @@
 ]
 }%
 \WithSuffix\newcommand\listofsiglas*{%
+\pdfbookmark[0]{\listadesiglasname}{loa}
 \printunsrtglossary[type=acronym,title=\listadesiglasname]%
 \addtocounter{table}{-1}%
 }%
 }{}
 
-\ifthenelse{\boolean{simbolosAtivo}}{%
+\ifthenelse{\boolean{@simbolosAtivo}}{%
 \newcommand{\incluirsimbolos}[1]{%
 \GlsXtrLoadResources[%
 src = {#1},
@@ -342,6 +419,7 @@
 ]%
 }%
 \WithSuffix\newcommand\listofsimbolos*{%
+\pdfbookmark[0]{\listadesimbolosname}{los}
 \printunsrtglossary[type=symbols,title=\listadesimbolosname]%
 \addtocounter{table}{-1}%
 }%



More information about the tex-live-commits mailing list