summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-08 21:41:32 +0000
committerKarl Berry <karl@freefriends.org>2019-11-08 21:41:32 +0000
commit3bbc4db84c2de66cbc5611b4e9cd3cff0e0f3d2f (patch)
treef93a4a53beb3afff1f38dfac9b105d2d6b70c9fa /Master/texmf-dist/source
parentad12eac5a9018d44b7c837f103bc6f9d896e9180 (diff)
ucsmonograph (8nov19)
git-svn-id: svn://tug.org/texlive/trunk@52698 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx252
1 files changed, 240 insertions, 12 deletions
diff --git a/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx b/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
index ffd226be483..059f16c76c5 100644
--- a/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
+++ b/Master/texmf-dist/source/latex/ucsmonograph/ucsmonograph.dtx
@@ -33,7 +33,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ucsmonograph}
%<*class>
- [2018/12/10 v1.2.1 Padrao de monografias da UCS]
+ [2019/11/07 v1.3.0 Padrao de monografias da UCS]
%</class>
%
%<*driver>
@@ -56,7 +56,7 @@
%</driver>
%\fi
-% \CheckSum{648}
+% \CheckSum{771}
% \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
@@ -77,6 +77,7 @@
%\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}
+%\changes{v1.2.1}{2018/12/10}{Correção de compatibilidade com o pacote substr}
%
%\GetFileInfo{ucsmonograph.dtx}
%
@@ -183,7 +184,7 @@
%
%\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.
+% 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.
@@ -191,7 +192,7 @@
%\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 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.
@@ -214,7 +215,7 @@
% 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}
+%\subsection{Chamada da classe e opções}\label{sec:chamada-classe}
%\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
@@ -252,6 +253,42 @@
%
% 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{Exemplo básico}
+% Para o desenvolvimento de uma monografia com a classe |ucsmonograph|, algumas propriedades do documento devem ser definidas, como o autor, título, entre outros.
+% Existem macros implementadas nesta classe e na classe |abntex2| (que é utilizada como base) disponibilizadas para atribuir estas propriedades,
+% e que devem ser chamadas no começo do documento.
+% Seja neste manual ou no manual da classe |abntex2|, estas funções estão documentadas.
+% De toda forma, um exemplo básico da chamada destas, para servir como ponto de partida, é exibido abaixo:
+%\begin{verbatim}
+% \documentclass[12pt,oneside,english,brazil,lmodern,cite=num]{ucsmonograph}
+% \usepackage[utf8]{inputenc}
+% \usepackage[T1]{fontenc}
+%
+% \titulo{Modelagem numérica de vibração em rolamentos defeituosos}
+% \autor{Henrique Baron}
+% \data{2018}
+% \instituicao{Universidade de Caxias do Sul}
+% \local{Caxias do Sul}
+% \preambulo{Trabalho de conclusão de curso apresentado à Universidade de Caxias do Sul
+% como requisito parcial à obtenção do grau de Engenheiro Mecânico.}
+% \areadoconhecimento{Área do conhecimento de ciências exatas e engenharias}
+% \orientador{Prof. Me. Pedro da Silva} % Orientador do trabalho
+% \avaliadori{Prof. Me. Paulo Oliveira} % Avaliador da banca, da instituição
+% \avaliadorii{Profa. Dra. Maria Pereira} % Avaliador da banca, da instituição
+% \avaliadorext[Empresa X]{Cristiane Silveira} % Avaliaodr da banca, de instituição externa
+% % Palavras-chave que aparecem no resumo em português
+% \palavraschave{Vibra\c{c}\~ao. Modelagem. Defeito. Rolamento.}
+% % Palavras-chave em idioma estrangeiro (o mesmo configurado nas opções da classe!)
+% \palavraschave[english]{Vibration. Modelling. Defect. Bearing.}
+%
+% \begin{document}
+% \imprimircapa
+% \imprimirfolhaderosto
+% \imprimirfolhadeaprovacao{29/11/2018}
+%
+% \end{document}
+%\end{verbatim}
+%
%\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|.
@@ -268,6 +305,10 @@
%\DescribeMacro{\listofquadros*}
% Gera a lista de quadros, sem colocar essa entrada no sumário.
%
+%\section{Macros redefinidas e implementadas}
+% As subseções seguintes descrevem macros e ambientes que foram implementados na classe |ucsmonograph|,
+% ou redefinições de comandos da classe |abntex2| que foram realizadas nesta classe.
+%
%\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.
%
@@ -286,6 +327,36 @@
%\DescribeMacro{\orientador}
% A função da macro |\orientador|\marg{nome} foi estendida de maneira semelhante à macro |\autor|.
%
+%\DescribeEnv{resumo}
+% O ambiente |resumo| foi totalmente redefinido na classe |ucsmonograph|.
+% Ele continua recebendo um parâmetro opcional, no entanto, agora este parâmetro deve receber o nome da língua em que o resumo será escrito,
+% caso seja diferente do idioma padrão do documento.
+% Com isso, o padrão de hifenização do idioma selecionado é aplicado a todo o texto contido no ambiente.
+%
+% Conforme a norma ABNT, o resumo do trabalho deve ser apresentado no idioma vernáculo (no caso da UCS, o português brasileiro),
+% e em um idioma estrangeiro.
+% Dessa maneira, o ambiente |resumo| deve ser utilizado duas vezes no documento: uma delas não leva o argumento opcional,
+% enquanto a outra deve receber o idioma em que o resumo é apresentado.
+% Um exemplo com as duas chamadas do ambiente é mostrado abaixo:
+%\begin{verbatim}
+% \begin{resumo}
+% O presente trabalho demonstra a aplicação da Teoria da Relatividade...
+% \end{resumo}
+%
+% \begin{resumo}[english]
+% The present work demonstrates the application of the Relativity Theory...
+% \end{resumo}
+%\end{verbatim}
+% Com isso, o título \emph{RESUMO} e a expressão \emph{Palavras-chave} também são adaptados ao idioma escolhido.
+% É importante que o idioma estrangeiro selecionado tenha sido incluído \emph{também nas opções da classe},
+% como é mostrado na Seção \ref{sec:chamada-classe}.
+%
+% Por fim, as palavras-chave do documento, definidas com a macro\\
+%|\palavraschave|\oarg{idioma}\marg{palavras},
+% são incluídas automaticamente no fim do resumo.
+% As palavras-chave também devem ser definidas para os dois idiomas do resumo, o que fará com que o conjunto certo
+% de palavras-chave seja exibido.
+%
%\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:
@@ -295,6 +366,22 @@
% \end{dedicatoria}
%\end{verbatim}
%
+%\DescribeEnv{epigrafe}
+% O ambiente |epigrafe| foi modificado da mesma forma que o ambiente |dedicatoria|, para que o posicionamento do texto seja feito automaticamente como pede o Guia da UCS.
+% Portanto, o ambiente pode ser utilizado da seguinte maneira:
+%\begin{verbatim}
+% \begin{epigrafe}
+% ''Uma mente que se abre a uma nova ideia nunca mais volta ao tamanho
+% original.''
+% \vspace{12pt}
+%
+% \textbf{Albert Einstein}
+% \end{epigrafe}
+%\end{verbatim}
+%
+% O guia solicita que o nome do autor seja destacado em negrito.
+% A mudança desta parte e o espaçamento do nome para o resto do texto devem ser feitos manualmente, como mostrado no exemplo acima.
+%
%\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.
%
@@ -323,6 +410,26 @@
% 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}|.
%
+% A macro |\palavraschave| recebe também um argumento opcional, que define o idioma das palavras-chave fornecidas.
+% Como as palavras-chave são exibidas no \emph{resumo}, que deve ser incluído em dois idiomas,
+% esta macro também deve ser chamada duas vezes: uma sem o parâmetro opcional,
+% que indica que são as palavras-chave no idioma principal do documento;
+% e outra com o nome do idioma estrangeiro que é utilizado no resumo do trabalho.
+% A chamada duplicada desta macro é exibida no exemplo abaixo:
+%\begin{verbatim}
+% \palavraschave{Vibração. Modelagem. Defeito. Rolamento.}
+% \palavraschave[english]{Vibration. Modelling. Defect. Bearing.}
+%\end{verbatim}
+%
+% É importante que o segundo idioma que é passado como parâmetro para a macro tenha sido declarado como opção ao chamar a classe,
+% como é mostrado na Seção \ref{sec:chamada-classe}.
+%
+%\DescribeMacro{\imprimirpalavraschave}
+% Esta macro simplesmente exibe as palavras-chave configuradas com o comando\\
+% |\palavraschave|\oarg{idioma}\marg{palavras},
+% precedidas da expressão \emph{Palavras-chave}, destacada em negrito,
+% conforme especificado pelo guia da UCS.
+%
%\DescribeMacro{\aredoconhecimento}
% Define a área do conhecimento do trabalho desenvolvido, que é impressa na capa do trabalho.
% Esta macro possui apenas um argumento.
@@ -557,6 +664,25 @@
% \end{macrocode}
%\end{macro}
%
+%\subsection{Definição de constantes}
+%Declaração das constantes de texto da classe.
+%\begin{macro}{\palavraschavename}
+% Constante que armazena a expressão \textit{Palavras-chave}, no idioma em que o texto estiver sendo escrito.
+% \begin{macrocode}
+\newcommand{\palavraschavename}{Palavras-chave:}
+\addto\captionsenglish{
+ \renewcommand\palavraschavename{Keywords:}
+}
+\addto\captionsgerman{
+ \renewcommand\palavraschavename{Stichw\"orter:}
+}
+\addto\captionsspanish{
+ \renewcommand\palavraschavename{Palabras-llave:}
+}
+
+% \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}
@@ -823,6 +949,30 @@
% \end{macrocode}
%\end{macro}
%
+%\begin{environment}{folhaderosto}
+%\changes{v1.3.0}{2019/08/29}{Redefinir os ambientes internos de folha de rosto}
+% Os ambientes |folhaderosto| e |folhaderosto*| da classe |abntex2| foram redefinidos para corrigir um erro provocado por comandos frágeis.
+% Um erro era gerado se não fosse deixada uma linha em branco (quebra de parágrafo) após o comando |imprimirfolhadefosto|.
+% \begin{macrocode}
+\renewenvironment{folhaderosto}[1]{\clearpage\PRIVATEbookmarkthis{#1}}{\cleardoublepage}
+\renewenvironment{folhaderosto*}[1]{\clearpage\PRIVATEbookmarkthis{#1}}{\newpage}
+
+% \end{macrocode}
+%\end{environment}
+%
+%\begin{macro}{\imprimirfolhaderosto}
+%\changes{v1.3.0}{2019/08/29}{Redefinir o comando para imprimir a folha de rosto}
+% O comando |\imprimirfolhaderosto| da classe |abntex2| foi redefinido para corrigir um erro provocado por comando frágil.
+% Um erro era gerado se não fosse deixada uma linha em branco após o comando.
+% \begin{macrocode}
+\renewcommand{\imprimirfolhaderosto}[1][\folhaderostoname]{%
+ \@ifstar{\imprimirfolhaderostostar#1}{%
+ \imprimirfolhaderostonostar#1}
+}
+
+% \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}
@@ -907,6 +1057,75 @@
% \end{macrocode}
%\end{environment}
+%
+%\begin{environment}{epigrafe}
+%\changes{v1.3.0}{2019/08/29}{Redefinição do ambiente de epígrafe}
+% Extensão do ambiente |epigrafe| para isentar o usuário da necessidade de formatar manualmente a posição do texto.
+% \begin{macrocode}
+\let\@oldepigrafe\epigrafe
+\let\@oldendepigrafe\endepigrafe
+\def\epigrafe{%
+ \@oldepigrafe %
+ \vspace*{\fill}%
+ \hspace{0.5\textwidth}%
+ \begin{minipage}[b]{.45\textwidth}%
+ \SingleSpacing\itshape\raggedleft%
+}
+\def\endepigrafe{%
+ \end{minipage}%
+ \@oldendepigrafe
+}
+
+% \end{macrocode}
+%\end{environment}
+%
+%\begin{environment}{resumo}
+%\changes{v1.3.0}{2019/09/02}{Redefinição do ambiente resumo}
+% O ambiente |resumo| foi totalmente redefinido para que o idioma do resumo seja selecionado como um argumento opcional.
+% \begin{macrocode}
+\renewcommand\abstractnamefont\chaptitlefont
+\newboolean{@abstractotherlanguage}
+\setboolean{@abstractotherlanguage}{false}
+\DeclareRobustCommand\resumo{\@ifnextchar[{\@@resumo}{\@resumo}}
+\def\@resumo{%
+ \let\@oldabstractname\abstractname
+ \PRIVATEbookmarkthis{\abstractname}
+ \def\abstractname{\MakeUppercase{\@oldabstractname}}
+ \begin{abstract}
+ \SingleSpacing
+}
+\def\@@resumo[#1]{%
+ \begin{otherlanguage}{#1}
+ \setboolean{@abstractotherlanguage}{true}
+ \let\@oldabstractname\abstractname
+ \PRIVATEbookmarkthis{\abstractname}
+ \def\abstractname{\MakeUppercase{\@oldabstractname}}
+ \begin{abstract}
+ \SingleSpacing
+}
+\def\endresumo{%
+ \vspace{\onelineskip}\par
+ \imprimirpalavraschave
+ \end{abstract}
+ \PRIVATEclearpageifneeded
+ \ifthenelse{\boolean{@abstractotherlanguage}}{\end{otherlanguage}}{}
+ \setboolean{@abstractotherlanguage}{false}
+ \def\abstractname\@oldabstractname
+}
+
+% \end{macrocode}
+%\end{environment}
+%
+%\begin{macro}{\imprimirpalavraschave}
+%\changes{v1.3.0}{2019/11/07}{Criação do comando}
+% O comando |\imprimirpalavraschave| foi criado para formatar o texto que contém as palavras-chave do documento.
+% \begin{macrocode}
+\newcommand\imprimirpalavraschave{%
+ \textbf{\palavraschavename}\ \@palavraschavecontent}
+
+% \end{macrocode}
+%\end{macro}
+%
%\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}
@@ -1058,22 +1277,31 @@
%\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}
+%\begin{macro}{\@palavraschavecontent}
% É uma macro utilizada como variável, que armazena as palavras-chave definidas pelo usuário.
% \begin{macrocode}
-\newcommand{\@palavraschave}{}
+\newcommand{\@palavraschavecontent}{}
% \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}
+%\changes{v1.3.0}{2019/11/07}{Adicionar parâmetro opcional de idioma ao comando}
+% Redefine o conteúdo da macro |\@palavraschavecontent| e configura também esse conteúdo no pacote |hyperref|.
+% Se o parâmetro opcional for utilizado, o conteúdo é armazenado para ser utilizado no resumo em outros idiomas,
+% e o hyperref não é configurado neste caso.
+% \begin{macrocode}
+\DeclareRobustCommand\palavraschave{\@ifnextchar[{\@@palavraschave}{\@palavraschave}}
+\def\@palavraschave#1{%
+ \renewcommand\@palavraschavecontent{#1}
\hypersetup{%
pdfkeywords={#1}
}
}
+\def\@@palavraschave[#1]#2{
+ \expandafter\addto\csname captions#1\endcsname{
+ \renewcommand\@palavraschavecontent{#2}
+ }
+}
% \end{macrocode}
%\end{macro}
@@ -1301,4 +1529,4 @@
%
%\Finale
%\PrintChanges
-%\PrintIndex \ No newline at end of file
+%\PrintIndex