diff options
Diffstat (limited to 'macros/latex/contrib/ucsmonograph')
-rw-r--r-- | macros/latex/contrib/ucsmonograph/README.md | 188 | ||||
-rw-r--r-- | macros/latex/contrib/ucsmonograph/ucsmonograph.dtx | 1304 | ||||
-rw-r--r-- | macros/latex/contrib/ucsmonograph/ucsmonograph.ins | 52 | ||||
-rw-r--r-- | macros/latex/contrib/ucsmonograph/ucsmonograph.pdf | bin | 0 -> 410611 bytes |
4 files changed, 1544 insertions, 0 deletions
diff --git a/macros/latex/contrib/ucsmonograph/README.md b/macros/latex/contrib/ucsmonograph/README.md new file mode 100644 index 0000000000..4884b35df0 --- /dev/null +++ b/macros/latex/contrib/ucsmonograph/README.md @@ -0,0 +1,188 @@ +# 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. +Contact information: +* E-mail: henrique.baron@gmail.com +* TeX Stack Exchange profile: https://tex.stackexchange.com/users/153467/henrique-baron + +## License information +Copyright 2018 Henrique Baron + +This work may be distributed and/or modified under the +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.3c or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is Henrique Baron. + +This work consists of the files ucsmonograph.dtx and ucsmonograph.ins +and the derived file ucsmonograph.cls. + +## Installation +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 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 +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: + + 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 + +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. + +v1.1.1 (2018-09-18, Henrique Baron): +* Advisor's (orientador) name in the title page is now aligned to the +middle of the page, instead of aligning to the right; +* List of symbols' title display corrected for online LaTeX editors +(because of accents in the ''Lista de Símbolos'' title); +* `\fonte` macro redefined to align the text to the left of the +previous tabular environment, instead of +centering. + +v1.1.2 (2018-09-28, Henrique Baron): +Fixes: +* Horizontal spacing between section number and title; +* Line spread changed to MS Word's 1.5 equivalent; +* Vertical spacing in float legends with the `\fonte` macro; +* List item alignment with `enumerate` and `itemize` environments; +* Labels for `enumerate` and `itemize` environments configured; +* Vertical spacing between references in bibliography; +* Vertical spacing after chapter and section titles; +* Vertical spacing before and after equations and floats; +* Advisor's (orientador) name removed from the approval page under the work's description; +* Contents of cover and title page in boldface; +* Paragraph first line indent. + +v1.2.0 (2018-11-22, Henrique Baron): +* Added macros `\areadoconhecimento`, `\avaliadori`, `\avaliadorii`, `\avaliadorext` and `\incluirimagem*`; +* Layout changes in the content generated by the `\imprimircapa`, `\imprimirfolhaderosto` and `\imprimirfolhadeaprovacao` macros; +* The `\imprimirfolhadeaprovacao` macro now takes only one mandatory argument; +* Package `\icomma` automatically included; +* Page vertical layout improved with `\raggedbottom` instead of `\flushbottom`. + +# 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@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. diff --git a/macros/latex/contrib/ucsmonograph/ucsmonograph.dtx b/macros/latex/contrib/ucsmonograph/ucsmonograph.dtx new file mode 100644 index 0000000000..ffd226be48 --- /dev/null +++ b/macros/latex/contrib/ucsmonograph/ucsmonograph.dtx @@ -0,0 +1,1304 @@ +%\iffalse meta-comment +% +% Copyright 2018 Henrique Baron +% +% This work may be distributed and/or modified under the +% 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.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Henrique Baron. +% +% This work consists of the files ucsmonograph.dtx and ucsmonograph.ins +% and the derived file ucsmonograph.cls. +% +% Classe ucsmonograph +% Formata um documento da classe abnTeX2 para o padrão exigido pela Universidade de Caxias do Sul para +% monografias. +% +% DUVIDAS E SUGESTOES: Abra uma issue na pagina do projeto: +% https://github.com/HenriqueBaron/ucsmonograph +% +%\fi +% +%\iffalse +%<*driver> +\ProvidesFile{ucsmonograph.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e} +%<class>\ProvidesClass{ucsmonograph} +%<*class> + [2018/12/10 v1.2.1 Padrao de monografias da UCS] +%</class> +% +%<*driver> +\documentclass{ltxdoc} +\usepackage[brazil]{babel} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{hyperref} +\hypersetup{% + colorlinks=true, + linkcolor=black, +} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{ucsmonograph.dtx} +\end{document} +%</driver> +%\fi + +% \CheckSum{648} + +% \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 +% Lower-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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +%\changes{v1.0.0}{2018/07/31}{Versão inicial} +%\changes{v1.1.0}{2018/08/16}{Configuração automática do pacote hyperref; correção na necessidade de chamar o pacote glossaries-extra; geração automática dos bookmarks do PDF} +%\changes{v1.2.0}{2018/11/22}{inclusão do pacote icomma; posicionamento vertical com raggedright} +% +%\GetFileInfo{ucsmonograph.dtx} +% +%\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,% +%\footnotesize,% +%\hfill,% +%\hspace,% +%\ifluatex,% +%\ifthenelse,% +%\ifx,% +%\ignorespaces,% +%\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}} +% +%\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 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. +% +%\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. +% +% 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. +% +%\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 +%\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. +% +%\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. +% +%\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|. +% +%\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.} +% +%\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}. +% +% 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}. +% +% 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|. +% +%\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. +% +%\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. +% +%\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} +% +%\DescribeMacro{\fonte} +% Essa macro foi redefinida para que o texto seja alinhado à esquerda -- e não centralizado como na definição original na classe |abntex2| -- e para que o texto ''Fonte'' seja separado do argumento passado pelo usuário por dois pontos, e não por um travessão. +% +% A função do parâmetro opcional desta macro também foi modificada. +% Agora a sua chamada é feita como |\fonte|\oarg{largura}\marg{fonte}. +% O parâmetro opcional \meta{largura} é utilizado para definir a lagura da linha em que o texto da fonte será escrito. +% Se essa macro for utilizada depois de um ambiente |tabular|, a |ucsmonograph| detectará a largura da tabela, fazendo com que o texto da fonte fique alinhado corretamente à esquerda. +% Se um valor apropriado não puder ser determinado, o texto da fonte terá a largura da linha (fornecido pela macro |\linewidth|). +% O parâmetro opcional permite, enfim, que o usuário defina uma largura customizada para a linha onde a fonte será escrita. +% +% A função do argumento opcional para a classe |abntex2| é a de mudar o texto ''Fonte''. +% Essa mudança não é possível na classe |ucsmonograph|. +% +%\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. +% +%\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{\aredoconhecimento} +% Define a área do conhecimento do trabalho desenvolvido, que é impressa na capa do trabalho. +% Esta macro possui apenas um argumento. +% +%\DescribeMacro{\avaliadori} +% Esta macro também tem apenas um argumento, e define o primeiro avaliador da banca avaliadora. +% O nome desse avaliador é impresso na folha de aprovação com a macro |\imprimirfolhadeaprovacao|. +% +%\DescribeMacro{\avaliadorii} +% É semelhante à macro |\avaliadori|, e define o segundo avaliador da banca examinadora, para ser impresso na folha de aprovação. +% A instituição deste avaliador é preenchida automaticamente nessa folha com o conteúdo da macro |\instituicao|. +% +% Portanto, se o segundo avaliador for de uma instituição externa ou empresa, a macro |\avaliadorext| deve ser utilizada. +% +%\DescribeMacro{\avaliadorext} +% É semelhante às macros anteriores de avaliadores, definindo o avaliador de instituição externa, se ele existir. +% A instituição que este avaliador representa é definida diretamente como argumento opcional da macro |\imprimirfolhadeaprovacao|. +% +%\DescribeMacro{\imprimirfolhadeaprovacao} +% Gera a folha de aprovação no padrão solicitado pela UCS, e recebe um ou dois argumentos: +%\begin{verbatim} +% \imprimirfolhadeaprovacao[inst.aval.ext.]{data aprov.} +%\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 automaticamente com o conteúdo da macro |\instituicao|. +% O nome da instituição impresso abaixo do nome dos outros avaliadores é sempre preenchido com o nome da instituição definido na macro |\instituicao|. +% +% O parâmetro obrigatório define a data de aprovação que é impressa na folha, que corresponde à data de defesa do trabalho. +% +% Para a banca examinadora, são impressos os nomes definidos com as macros |\orientador|, |\avaliadori|, |\avaliadorii| e |\avaliadorext|. +% Se algum destes nomes não tiver sido definido nas macros, a macro |\imprimirfolhadeaprovacao| não gerará erros, apenas reajustará a página sem exibi-los. +% Isso permite que seja impressa a folha de aprovação com diferentes números de avaliadores, com ou sem um avaliador de instituição externa. +% +%\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: +%\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. +% +%\DescribeMacro{\incluirimagem*} +% Possui a mesma função da macro |\incluirimagem|, porém não adiciona uma legenda na parte superior da imagem e não a inclui na lista de figuras. +% Ela tem, portanto, um argumento a menos na sua chamada: +%\begin{verbatim} +% \incluirimagem*[escala]{caminho}{fonte e ano} +%\end{verbatim} +% Deve-se atentar que o uso dessa macro \emph{não} está de acordo com a especificação do guia da UCS. +% Ela tem a função de auxiliar a inclusão de imagens em partes do documento como anexos ou apêndices, cujo conteúdo interno não deve ser referenciado no sumário. +% +%\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|. +% +%\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|. +% +%\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|. +% +%\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|. +% +%\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. +%\subsection{Inicialização} +% +%\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{@siglasAtivo} +\setboolean{@siglasAtivo}{false} + +\newboolean{@simbolosAtivo} +\setboolean{@simbolosAtivo}{false} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Opcoes} +% Declaração de opções do tipo par key-value, trazidas pelo pacote |kvoptions|. +% \begin{macrocode} +\RequirePackage{kvoptions} +\DeclareStringOption[alf]{cite} +\ProcessKeyvalOptions* +% \end{macrocode} +% Declaração de outras opções, e carregamento da classe-base |abntex2|. +% \begin{macrocode} +\DeclareOption{lmodern}{% + \setboolean{@lmodernAtivo}{true}% +} + +\DeclareOption{siglas}{% + \setboolean{@siglasAtivo}{true}% +} + +\DeclareOption{simbolos}{% + \setboolean{@simbolosAtivo}{true}% +} + +% \end{macrocode} +% Para a classe |abntex2| são passadas as configurações |openright|, para que o documento seja folheado da direita para a esquerda; |a4paper|, para impressão em folha A4; |chapter=TITLE| e |section=TITLE|, para que os títulos de |chapter| e |section| sejam passados para letra maiúscula, como pede o padrão da UCS. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{abntex2}} +\ProcessOptions\relax +\LoadClass[openright,a4paper,chapter=TITLE,section=TITLE]{abntex2}% + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{Pacotes} +% Inclusão e configuração de pacotes.\\ +% Se o documento está sendo compilado com LuaLaTeX, altera-se a fonte do modo matemático para ser igual à fonte do texto, e não ser em itálico. +% \begin{macrocode} +\RequirePackage{ifluatex} +\ifluatex + \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.\\ +%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} + +\ifthenelse{\equal{\ucsmonograph@cite}{num}}{% + \citebrackets[]% + \RequirePackage{cite}% +}{} + +% \end{macrocode} +% 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} +% 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} +}{} + +\RequirePackage{caption} + +\RequirePackage[top=3cm,left=3cm,bottom=2cm,right=2cm]{geometry} +\raggedbottom + +\RequirePackage{etoolbox} +\RequirePackage{indentfirst} +\RequirePackage[absolute]{textpos} +\RequirePackage{calc} + +\RequirePackage{amsmath} +\allowdisplaybreaks + +\RequirePackage{xparse} +\RequirePackage{graphicx} +\RequirePackage{float} +\RequirePackage{icomma} + +\RequirePackage{adjustbox} +\newlength\larguraimagem +\newlength\larguratabular +\newlength\largurafonte + +\RequirePackage{chngcntr} +\counterwithout{equation}{chapter} + +\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 +% Passagem das opções para o pacote |glossaries-extra| em função das opções |siglas| ou |simbolos|. +% \begin{macrocode} +\ifthenelse{\boolean{@siglasAtivo}}{% + \PassOptionsToPackage{acronyms}{glossaries-extra}% +} + +\ifthenelse{\boolean{@simbolosAtivo}}{% + \PassOptionsToPackage{symbols}{glossaries-extra}% +} + +\ifthenelse{\boolean{@siglasAtivo} \OR \boolean{@simbolosAtivo}}{% + \PassOptionsToPackage{record,toc=false,nonumberlist,style=long}{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}% +}{} + +% \end{macrocode} +%\end{macro} +% +%\subsection{Lista de quadros} +% Mostra a implementação da lista de quadros, que é um elemento obrigatório em monografias da UCS, mas não é implementado na classe |abntex2|. +%\begin{macro}{Quadros} +% Macros para os nomes e criação do novo float |quadro|. +% \begin{macrocode} +\newcommand{\quadroname}{Quadro} +\newcommand{\listquadroname}{Lista de quadros} + +\newfloat{quadro}{\quadroname}{loq}[chapter] +% \end{macrocode} +% Redefine o estilo e configura que não é o package float o responsável pela sua formatação. +% \begin{macrocode} +\restylefloat*{quadro} +% \end{macrocode} +% Ajuste do posicionamento do quadro e atribuição do arquivo de extensão .LOQ. +% \begin{macrocode} +\setfloatadjustment{quadro}{\centering} +\setfloatlocations{quadro}{hbtp} + +\newlistof{listofquadros}{loq}{\listquadroname} +\newlistentry{quadro}{loq}{0} +% \end{macrocode} +% Configurações de exibição e numeração nas listas e no corpo do trabalho. +% \begin{macrocode} +\renewcommand{\cftquadroname}{\quadroname\space} +\renewcommand*{\cftquadroaftersnum}{\hfill\textendash\hfill} + +\renewcommand{\fnum@quadro}{\quadroname\ \thequadro} + +\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. +% +%\begin{macro}{abntheadings} +% 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}{}{} +\makeoddhead{abntheadings}{}{}{\ABNTEXfontereduzida\thepage} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\list...name} +%\changes{v1.1.1}{2018/09/18}{Correção do nome da lista de símbolos} +% Nomes de elementos pré-textuais que precisam ser alterados +% \begin{macrocode} +\addto\captionsbrazil{% + \renewcommand{\listfigurename}{Lista de figuras}% + \renewcommand{\listadesimbolosname}{Lista de s\'{i}mbolos}% +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\ABNTEX...font} +% Redefinição de fontes e tamanhos para os capítulos e seções, para o corpo do documento. +% \begin{macrocode} +\renewcommand{\ABNTEXchapterfont}{\bfseries} +\renewcommand{\ABNTEXchapterfontsize}{\normalsize} + +\renewcommand{\ABNTEXsectionfont}{\ABNTEXchapterfont\mdseries} +\renewcommand{\ABNTEXsectionfontsize}{\normalsize} + +\renewcommand{\ABNTEXsubsectionfont}{\ABNTEXsectionfont\bfseries} +\renewcommand{\ABNTEXsubsectionfontsize}{\normalsize} + +\renewcommand{\ABNTEXsubsubsectionfont}{\ABNTEXsubsectionfont\mdseries} +\renewcommand{\ABNTEXsubsubsectionfontsize}{\normalsize} + +\renewcommand{\ABNTEXsubsubsubsectionfont}{\ABNTEXsubsubsectionfont\itshape} +\renewcommand{\ABNTEXsubsubsubsectionfontsize}{\normalsize} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\cft...font} +% 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} +\renewcommand{\cftsubsubsectionfont}{\ABNTEXsubsubsectionfont} +\renewcommand{\cftparagraphfont}{\ABNTEXsubsubsubsectionfont} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\linespread} +%\changes{v1.1.2}{2018/09/28}{Corrigido espaçamento entre linhas para o equivalente a 1.5 do MS Word} +% Espaçamento entre linhas e entre parágrafos. +% Para 12pt, o espaçamento equivalente a 1.5 (do MS Word) é 1.4, obtido experimentalmente. +% \begin{macrocode} +\linespread{1.4} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\parskip} +% \begin{macrocode} +\setlength\parskip{0pt} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\parindent} +%\changes{v1.1.2}{2018/09/28}{Aumentada indentação} +% Recuo da primeira linha do parágrafo em 1.5 cm. +% \begin{macrocode} +\setlength\parindent{1.5cm} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\afterchapskip} +%\changes{v1.1.0}{2018/08/16}{Corrigido espaçamento abaixo} +%\changes{v1.1.2}{2018/09/28}{Corrigido espaçamento abaixo} +% Alteração do espaçamento entre o título dos capítulos e das seções e o corpo do texto. +% \begin{macrocode} +\setlength\afterchapskip\baselineskip +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\setaftersecskip} +%\changes{v1.1.2}{2018/09/28}{Corrigido espaço abaixo} +% \begin{macrocode} +\setaftersecskip\baselineskip +\setaftersubsecskip\baselineskip +\setaftersubsubsecskip\baselineskip +\setafterparaskip\baselineskip + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\textfloatsep} +%\changes{v1.1.2}{2018/09/28}{Corrigido o valor de espaçamento} +% Modificação no espaçamento entre os floats e o texto. +% \begin{macrocode} +\setlength\textfloatsep{1.5\baselineskip} +\setlength\floatsep{1.5\baselineskip} +\setlength\intextsep{1.5\baselineskip} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\abovedisplayskip} +%\changes{v1.1.2}{2018/09/28}{Corrigido o espaçamento acima e abaixo de equações} +% Ajusta os espaçamentos verticais acima e abaixo das equações. +% \begin{macrocode} +\AtBeginDocument{% + \setlength\abovedisplayskip{1\baselineskip plus 5pt minus 5pt} + \setlength\belowdisplayskip{1\baselineskip plus 5pt minus 5pt} + \setlength\abovedisplayshortskip{1\baselineskip plus 5pt minus 5pt} + \setlength\belowdisplayshortskip{1\baselineskip plus 5pt minus 5pt} + \setlength\jot{2ex} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{enumerate} +%\changes{v1.1.2}{2018/09/28}{Ajustar parâmetros de acordo com o padrão da UCS} +%\changes{v1.2.1}{2018/12/10}{Criar um length para configurar os enumerates} +% Configuração das listas para atender ao padrão da UCS. +% \begin{macrocode} +\newlength\@enumerateindent +\setlength\@enumerateindent{\parindent+0.6cm} +\setlist[enumerate,1]{labelindent=\parindent,leftmargin=\@enumerateindent,nosep,label=\alph*)} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{itemize} +% \begin{macrocode} +\setlist[itemize,1]{nosep,label=--} + +% \end{macrocode} +%\end{macro} +% +%\begin{environment}{thebibliography} +%\changes{v1.1.2}{2018/09/28}{Corrigido o espaçamento entre as referências} +% Modificação do espaçamento entre cada referência na bibliografia. +% \begin{macrocode} +\let\@oldthebibliography\thebibliography +\def\thebibliography#1{% + \@oldthebibliography{#1} + \setlength\parskip{0pt} + \setlength\itemsep\baselineskip +} + +% \end{macrocode} +%\end{environment} +% +%\begin{macro}{\printchapternum} +%\changes{v1.1.2}{2018/09/28}{Corrigir o espaçamento após o número de seção} +% As macros que escreve o número do capítulo e da seção no corpo do trabalho foram levemente modificadas para reduzir o espaçamento entre o número do capítulo/seção e o seu título. +% \begin{macrocode} +\renewcommand{\printchapternum}{% + \tocprintchapter + \setboolean{abntex@innonumchapter}{false} + \chapnumfont% + \space\thechapter% + \ifthenelse{\boolean{abntex@apendiceousecao}}{% + \tocinnonumchapter + \ABNTEXcaptiondelim% + }{} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@seccntformat} +% \begin{macrocode} +\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname\ } + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\imprimircapa} +%\changes{v1.1.2}{2018/09/28}{Mudar o conteúdo para negrito} +%\changes{v1.2.0}{2018/11/22}{Mudança do layout gerado} +% O comando que gera a capa precisou ser completamente reescrito para atender ao padrão requisitado pela UCS. +% \begin{macrocode} +\renewcommand{\imprimircapa}{% + \pdfbookmark[0]{Capa}{Capa}% + \begin{capa}% + \bfseries\centering% + \expandafter\uppercase\expandafter{\imprimirinstituicao}\\% + \expandafter\uppercase\expandafter{\@areadoconhecimento} + \vfill +% \end{macrocode} +% Nome em uma caixa de texto, posicionada da seguinte maneira:\\ +% largura: largura A4 - margens = 210-30-20 = 160mm\\ +% posição horizontal: começo da margem esquerda = 30mm\\ +% posição vertical: altura A4/4 + margem superior / 2 = 294mm/4 + 15mm\\ +% \begin{macrocode} + \begin{textblock*}{160mm}(30mm, 297mm/4+15mm)% + \expandafter\uppercase\expandafter{\theauthor}% + \end{textblock*}% +% \end{macrocode} +% Título em uma caixa de texto, posicionada no centro vertical da folha (297mm/2) +% \begin{macrocode} + \begin{textblock*}{160mm}(30mm, 297mm/2)% + \expandafter\uppercase\expandafter{\thetitle}% + \end{textblock*}% + \vfill + \expandafter\uppercase\expandafter{\imprimirlocal}\\ + \expandafter\uppercase\expandafter{\thedate}% + \end{capa}% +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\folhaderostocontent} +%\changes{v1.1.1}{2018/09/18}{Corrigir justificação do nome do orientador} +%\changes{v1.1.2}{2018/09/28}{Mudar o conteúdo para negrito} +%\changes{v1.2.0}{2018/11/22}{Mudança do layout gerado} +% Da mesma forma, a macro interna da classe |abntex2| que gera o conteúdo da folha de rosto precisou ser redefinida para ficar semelhante à capa, também remodelada. +% \begin{macrocode} +\renewcommand{\folhaderostocontent}{% + \bfseries\centering% + \expandafter\uppercase\expandafter{\theauthor}% + \vfill + \vfill +% \end{macrocode} +% Título em uma caixa de texto, posicionada no centro vertical da folha (297mm/2) +% \begin{macrocode} + \begin{textblock*}{160mm}(30mm, 297mm/2)% + \expandafter\uppercase\expandafter{\thetitle}% + \end{textblock*}% + \vfill + \abntex@ifnotempty{\imprimirpreambulo}{% + \hspace{.45\textwidth}% + \begin{minipage}{.5\textwidth}% + \mdseries% + \SingleSpacing% + \imprimirpreambulo% + \vspace{\onelineskip}% + + \imprimirorientadorRotulo~\imprimirorientador% + \end{minipage}% + }% + \vfill + \bfseries + \expandafter\uppercase\expandafter{\imprimirlocal}\\ + \expandafter\uppercase\expandafter{\thedate}% +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\fonte} +%\changes{v1.1.1}{2018/09/18}{Reimplementada para justificar texto à esquerda} +%\changes{v1.1.2}{2018/09/28}{Corrigido o espaçamento vertical antes da fonte} +% Modificação para permitir que a fonte seja alinhada à esquerda. +% Como o texto deve ficar alinhado com a imagem ou a tabela/quadro, um parâmetro opcional com a largura do texto foi criado. +% O valor padrão para este parâmetro é a largura da linha. +% O parâmetro opcional na definição original deste comando, que altera o texto ''Fonte'' não é mais utilizado. +% \begin{macrocode} +\renewcommand{\ABNTEXcaptionfontedelim}{: } +\renewcommand{\fonte}[2][\larguratabular]{% + \ifthenelse{\equal{\strip@pt#1}{0}}{% + \setlength\largurafonte\linewidth + }{% + \setlength\largurafonte{#1} + } + \centering% + \begin{minipage}[h]{\largurafonte} + \vspace{2pt} + \raggedright\footnotesize\fontename% + \ABNTEXcaptionfontedelim\ignorespaces #2 + \end{minipage} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{environment}{dedicatoria} +%\changes{v1.1.0}{2018/08/16}{Aplicação de melhorias} +% 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 redefinições} +% Aqui modificações e redefinições de outros comandos que não pertencem à classe |abntex2| são redefinidos. +% +%\begin{environment}{tabular} +% Extensão do ambiente |tabular| para incluir o conteúdo dentro de uma |adjustbox| e armazenar a largura do quadro ou tabela. +% Essa medida pode ser utilizada pela macro |\fonte| para formatação da largura. +% \begin{macrocode} +\let\@oldtabular\tabular +\let\@oldendtabular\endtabular +\def\tabular{% + \begin{adjustbox}{gstore width=\larguratabular} + \@oldtabular +} +\def\endtabular{% + \@oldendtabular + \end{adjustbox} +} + +% \end{macrocode} +%\end{environment} +% +%\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. +% \begin{macrocode} +\ifthenelse{\boolean{@siglasAtivo}}{% + \renewcommand{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + \glsxtrparen + {#1\ifglshasfield{\glsxtruserfield}{#2}{, \emph{\glscurrentfieldvalue}}{}}% + }% +% \end{macrocode} +%\begin{macro}{\glsuserdescription} +% Define o texto longo (descrição) que será exibido na lista de siglas +% \begin{macrocode} + \renewcommand{\glsuserdescription}[2]{% + \ifglshasfield{\glsxtruserfield}{#2}{\emph{\glscurrentfieldvalue}}{#1}% + } +}{} + +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\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\@oldcontentsline\contentsline +\def\contentsline#1#2{% + \expandafter\ifx\csname l@#1\endcsname\l@section + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {% + \@oldcontentsline{#1}{\MakeTextUppercase{#2}}% + }{% + \@oldcontentsline{#1}{#2}% + }% +} + +% \end{macrocode} +%\end{macro} +% +%\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\@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}{\@areadoconhecimento} +% É uma macro utilizada como variável, que armazena o texto da área do conhecimento que deve aparecer na folha de rosto. +% \begin{macrocode} +\newcommand\@areadoconhecimento{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\areadoconhecimento} +%\changes{v1.2.0}{2018/11/22}{Nova macro} +% Redefine o conteúdo da macro |\@areadoconhecimento|, cujo conteúdo é exibido na folha de rosto do trabalho. +% \begin{macrocode} +\newcommand\areadoconhecimento[1]{% + \renewcommand\@areadoconhecimento{#1} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@avaliadori} +% Macro utilizada como variável que contém o nome do primeiro avaliador da banca, exibido na folha de aprovação. +% \begin{macrocode} +\newcommand\@avaliadori{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\avaliadori} +%\changes{v1.2.0}{2018/11/22}{Nova macro} +% Redefine o conteúdo da macro |\@avaliadori|, cujo conteúdo é exibido na folha de aprovação. +% \begin{macrocode} +\newcommand\avaliadori[1]{% + \renewcommand\@avaliadori{#1} +} + +% \end{macrocode} +%\end{macro}] +% +%\begin{macro}{\@avaliadorii} +% Macro utilizada como variável que contém o nome do segundo avaliador da banca, exibido na folha de aprovação. +% \begin{macrocode} +\newcommand\@avaliadorii{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\avaliadorii} +%\changes{v1.2.0}{2018/11/22}{Nova macro} +% Redefine o conteúdo da macro |\@avaliadorii|, cujo conteúdo é exibido na folha de aprovação. +% \begin{macrocode} +\newcommand\avaliadorii[1]{% + \renewcommand\@avaliadorii{#1} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@avaliadorext} +% Macro utilizada como variávei que contém o nome do avaliador externo da banca, se houver. +% \begin{macrocode} +\newcommand\@avaliadorext{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\avaliadorext} +%\changes{v1.2.0}{2018/11/22}{Nova macro} +% Redefine o conteúdo da macro |\@avaliadorext|, cujo conteúdo é exibido na folha de aprovação, se a macro contiver algum texto. +% \begin{macrocode} +\newcommand\avaliadorext[1]{% + \renewcommand\@avaliadorext{#1} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\imprimirfolhadeaprovacao} +%\changes{v1.1.2}{2018/09/28}{Removido o nome do orientador abaixo da natureza do trabalho} +%\changes{v1.2.0}{2018/11/22}{Modificados os argumentos da função e o layout gerado} +% Imprime a folha de aprovação. +% \begin{macrocode} +\newcommand{\imprimirfolhadeaprovacao}[2][\imprimirinstituicao]{% + \begin{folhadeaprovacao}% + \begin{center}% + \bfseries % + \ABNTEXchapterfont % + \expandafter\uppercase\expandafter{\theauthor} \par % + \vfill + \expandafter\uppercase\expandafter{\thetitle}\par % + \end{center} + \abntex@ifnotempty{\imprimirpreambulo}{% + \hspace{.45\textwidth} % + \begin{minipage}{.5\textwidth}% + \mdseries% + \SingleSpacing% + \imprimirpreambulo% + \vspace{24pt} \par % + \bfseries Aprovado(a) em #2 % + \end{minipage}% + } + \vfill + \flushbottom + \noindent\textbf{Banca Examinadora} % + \begin{SingleSpace} % + \vspace*{\ABNTEXsignskip}% + \noindent% + \imprimirorientador\\ + \imprimirinstituicao + \ifthenelse{\not\equal{\@avaliadori}{}}{% + \par + \vspace*{\ABNTEXsignskip}% + \noindent\@avaliadori\\ + \imprimirinstituicao + }{} + \ifthenelse{\not\equal{\@avaliadorii}{}}{% + \par + \vspace*{\ABNTEXsignskip}% + \noindent\@avaliadorii\\ + \imprimirinstituicao + }{} + \ifthenelse{\not\equal{\@avaliadorext}{}}{% + \par + \vspace*{\ABNTEXsignskip} + \noindent\@avaliadorext\\ + #1 % + }{} + \end{SingleSpace} % + \end{folhadeaprovacao} % +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\incluirimagem} +% Inserção de uma figura com descrição e fonte. +% \begin{macrocode} +\newcommand{\incluirimagem}[4][1]{% + \caption{#3}% + \adjustimage{scale=#1,fbox=1.5pt {\fboxsep} 1pt,gstore width=\larguraimagem,center}{#2} + \fonte[\larguraimagem-14pt]{#4} +} + +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\incluirimagem*} +%\changes{v1.2.0}{2018/11/22}{Nova macro} +% Inserção de uma figura sem descricão, apenas com fonte. +% \begin{macrocode} +\WithSuffix\newcommand\incluirimagem*[3][1]{% + \adjustimage{scale=#1,fbox=1.5pt {\fboxsep} 1pt,gstore + width=\larguraimagem,center}{#2} + \fonte[\larguraimagem-14pt]{#3} +} + +% \end{macrocode} +%\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. +% \begin{macrocode} +\ifthenelse{\boolean{@siglasAtivo}}{% + \newcommand{\incluirsiglas}[1]{% + \GlsXtrLoadResources[% + src = {#1}, + sort = {pt-BR}, + type = {acronym}, + entry-type-aliases={% make @foreignabbreviation act like @abbreviation + foreignabbreviation=abbreviation}, + field-aliases={% + foreignlong=user1, + nativelong=long}, + category={same as original entry}% requires bib2gls v1.4+ + ] + }% +% \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.\\ +% 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}% + }% +}{} + +% \end{macrocode} +%\end{macro} +%\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. +% \begin{macrocode} +\ifthenelse{\boolean{@simbolosAtivo}}{% + \newcommand{\incluirsimbolos}[1]{% + \GlsXtrLoadResources[% + src = {#1}, + sort = {use}, + type = {symbols} + ]% + }% +% \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.\\ +% 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}% + }% +}{} +% \end{macrocode} +%\end{macro} +%\end{macro} +% +%\Finale +%\PrintChanges +%\PrintIndex
\ No newline at end of file diff --git a/macros/latex/contrib/ucsmonograph/ucsmonograph.ins b/macros/latex/contrib/ucsmonograph/ucsmonograph.ins new file mode 100644 index 0000000000..7c8abcd26d --- /dev/null +++ b/macros/latex/contrib/ucsmonograph/ucsmonograph.ins @@ -0,0 +1,52 @@ +%% Copyright 2018 Henrique Baron +%% +%% This work may be distributed and/or modified under the +%% 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.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Henrique Baron. +%% +%% This work consists of the files ucsmonograph.dtx and ucsmonograph.ins +%% and the derived file ucsmonograph.cls. + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/ucsmonograph} + +\preamble + +Copyright 2018 Henrique Baron + +This work may be distributed and/or modified under the +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.3c or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is Henrique Baron. + +This work consists of the files ucsmonograph.dtx and ucsmonograph.ins +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: Abra uma issue na pagina do projeto +https://github.com/HenriqueBaron/ucsmonograph + +\endpreamble + +\generate{\file{ucsmonograph.cls}{\from{ucsmonograph.dtx}{class}}} + +\endbatchfile
\ No newline at end of file diff --git a/macros/latex/contrib/ucsmonograph/ucsmonograph.pdf b/macros/latex/contrib/ucsmonograph/ucsmonograph.pdf Binary files differnew file mode 100644 index 0000000000..822cbb874a --- /dev/null +++ b/macros/latex/contrib/ucsmonograph/ucsmonograph.pdf |