summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-19 21:25:49 +0000
committerKarl Berry <karl@freefriends.org>2018-08-19 21:25:49 +0000
commitde86d821d8b3efbc590d469c92db5012b4c84283 (patch)
tree2061f02128c6911d5ae32df43b1d588547e89f73 /Master/texmf-dist/source/latex
parente2d776e4380890862007f3a0b2b6982a081ce452 (diff)
ucsmonograph (19aug18)
git-svn-id: svn://tug.org/texlive/trunk@48438 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx501
-rw-r--r--Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins4
2 files changed, 420 insertions, 85 deletions
diff --git a/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx b/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
index d95cedd5bf6..5d79266f736 100644
--- a/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
+++ b/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
@@ -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@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@ExpandTwoArgs,%
+%\su@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@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.
+%
+%\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.
%
-% 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.
+%\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@cite,abnt-etal-list=3,abnt-etal-text=it,abnt-full-initials=no]{abntex2cite}
+\RequirePackage[\ucsmonograph@cite,abnt-etal-list=3,abnt-etal-text=it,%
+ abnt-full-initials=no]{abntex2cite}
\ifthenelse{\equal{\ucsmonograph@cite}{num}}{%
\citebrackets[]%
@@ -251,17 +428,28 @@
}{}
% \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@ExpandTwoArgs\relax
\let\IfSubStringInString\relax
\let\su@IfSubStringInString\relax
% \end{macrocode}
-% Chamada de outros pacotes
+% Configurações gerais do pacote |hyperref|.
+% \begin{macrocode}
+\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}% ^^A Habilita a fonte Latin Modern
+\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}%
+}{}
+
+\RequirePackage{glossaries-extra}
+\setlength\glsdescwidth\linewidth%
-\ifthenelse{\boolean{listasAtivo}}{%
- \RequirePackage{glossaries-extra}%
+% \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,7 +591,12 @@
\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}
@@ -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@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,14 +817,34 @@
%\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}
%
%\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}%
}%
diff --git a/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins b/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins
index ad9c259c789..7c8abcd26df 100644
--- a/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins
+++ b/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins
@@ -42,8 +42,8 @@ and the derived file ucsmonograph.cls.
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