diff options
author | Karl Berry <karl@freefriends.org> | 2018-08-19 21:25:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-08-19 21:25:49 +0000 |
commit | de86d821d8b3efbc590d469c92db5012b4c84283 (patch) | |
tree | 2061f02128c6911d5ae32df43b1d588547e89f73 /Master/texmf-dist/source/latex | |
parent | e2d776e4380890862007f3a0b2b6982a081ce452 (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.dtx | 501 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.ins | 4 |
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 |