Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ata.cls % ======= % % Copyright 2012 Fernando Náufel do Amaral (fnaufel@gmail.com) % % Classe LaTeX para formatação de atas de reunião % % Version: 1.0 (November 2012) % % For documentation and usage instructions, see file exemploata.tex % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % 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 % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Fernando Náufel do Amaral (fnaufel@gmail.com) % % This work consists of the files ata.cls and exemploata.tex % and the derived file exemploata.pdf. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ata} [2012/11/21 v1.0 Ata de Reunião Departamental -- fnaufel at gmail.com] %%%%%%%%%% Pacotes necessários: \RequirePackage{ifthen} \RequirePackage{paralist} \RequirePackage{lineno} %%%%%%%%%% Opções de invocação: % Usar pacote beton (usa fonts Concrete). \newboolean{@beton} \setboolean{@beton}{false} \DeclareOption{beton}% {\setboolean{@beton}{true}} % Usar pacote euler (usa fonts Euler para matemática). \newboolean{@euler} \setboolean{@euler}{false} \DeclareOption{euler}% {\setboolean{@euler}{true}} % Encaminhar outras opções para a classe article. \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions\relax %%%%%%%%%% Carregar classe article. \LoadClass{article} %%%%%%%%%% Carregar pacotes opcionais (euler, beton): \ifthenelse{\boolean{@beton}}{ \RequirePackage{beton} } %else {} \ifthenelse{\boolean{@euler}}{ \RequirePackage{euler} } %else {} %%%%%%%%%% Opções de configuração pelo usuário: % Estilo do nome do ponto da pauta: \newcommand{\estilonomeponto}{\bfseries} %%%%%%%%%% Comandos para processar a data: \newcounter{@dia} \newcounter{@mes} \newcounter{@ano} \newcommand{\dia}[1]{% \setcounter{@dia}{#1}% } \newcommand{\mes}[1]{% \setcounter{@mes}{#1}% } \newcommand{\ano}[1]{% \setcounter{@ano}{#1}% } % Se estivermos usando euler, queremos que os números fiquem bonitos; % então, usamos modo matemático para a data. \newcommand{\hoje}{% $\arabic{@dia}$/$\arabic{@mes}$/$\arabic{@ano}$% } \newcommand{\hojeporextenso}{% % Nomes dos meses. % É preciso defini-los aqui dentro deste \newcommand, para que % apareçam com o font correto (Concrete ou não). \expandafter\newbox\csname mes1\endcsname% \expandafter\newbox\csname mes2\endcsname% \expandafter\newbox\csname mes3\endcsname% \expandafter\newbox\csname mes4\endcsname% \expandafter\newbox\csname mes5\endcsname% \expandafter\newbox\csname mes6\endcsname% \expandafter\newbox\csname mes7\endcsname% \expandafter\newbox\csname mes8\endcsname% \expandafter\newbox\csname mes9\endcsname% \expandafter\newbox\csname mes10\endcsname% \expandafter\newbox\csname mes11\endcsname% \expandafter\newbox\csname mes12\endcsname% \expandafter\setbox\csname mes1\endcsname=\hbox{janeiro}% \expandafter\setbox\csname mes2\endcsname=\hbox{fevereiro}% \expandafter\setbox\csname mes3\endcsname=\hbox{março}% \expandafter\setbox\csname mes4\endcsname=\hbox{abril}% \expandafter\setbox\csname mes5\endcsname=\hbox{maio}% \expandafter\setbox\csname mes6\endcsname=\hbox{junho}% \expandafter\setbox\csname mes7\endcsname=\hbox{julho}% \expandafter\setbox\csname mes8\endcsname=\hbox{agosto}% \expandafter\setbox\csname mes9\endcsname=\hbox{setembro}% \expandafter\setbox\csname mes10\endcsname=\hbox{outubro}% \expandafter\setbox\csname mes11\endcsname=\hbox{novembro}% \expandafter\setbox\csname mes12\endcsname=\hbox{dezembro}% \ifthenelse{\the@dia=1}{Ao}{Aos} $\arabic{@dia}$ de \expandafter\unhbox\csname mes\the@mes\endcsname \ de $\arabic{@ano}$% } %%%%%%%%%% Tipo de reunião. % Não usa caixas, pois poderia causar diferença de fonts. \newcommand{\deftiporeuniao}[1]{% \newcommand{\tiporeuniao}[1]{#1}% } %%%%%%%%%% Tipo de reunião (advérbio). % Não usa caixas, pois poderia causar diferença de fonts. \newcommand{\deftiporeuniaoadv}[1]{% \newcommand{\tiporeuniaoadv}[1]{#1}% } %%%%%%%%%% Cabeçalho. Atenção para o vskip. \newcommand{\cabecalho}[1]{% \title{\large #1} \author{} \date{} \maketitle \vskip -5ex \linenumbers } %%%%%%%%%% Nome de quem presidiu: \newcommand{\defpresidiu}[1]{% \newcommand{\presidiu}{#1}% } %%%%%%%%%% Cargo de quem presidiu: \newcommand{\defcargopresidiu}[1]{% \newcommand{\cargopresidiu}{#1}% } %%%%%%%%%% Nome de quem secretariou: \newcommand{\defsecretariou}[1]{% \newcommand{\secretariou}{#1}% } %%%%%%%%%% Presentes e ausentes. % Lista de presentes. % Atenção: produz um espaço ANTES da lista. É intencional. \newcommand{\defpresentes}[1]{% \newbox\@presentes% \setbox\@presentes=\hbox{\ignorespaces #1\unskip}% \newcommand{\presentes}{\unskip{} \unhbox\@presentes}% } % Lista de ausentes. % Atenção: produz um espaço ANTES da lista. É intencional. \newcommand{\defausentes}[1]{% \newbox\@ausentes% \setbox\@ausentes=\hbox{#1}% \newcommand{\ausentes}{\unskip\unhbox\@ausentes\unskip}% } % Lista de ausentes com justificativa.. % Atenção: produz um espaço ANTES da lista. É intencional. \newcommand{\defjustif}[1]{% \newbox\@justificados% \setbox\@justificados=\hbox{#1}% \newcommand{\justificados}{\unskip\unhbox\@justificados\unskip}% } %%%%%%%%%% Pontos da pauta e seu desenvolvimento: % Número do ponto: \newcounter{@nponto} \setcounter{@nponto}{0} % Ambiente ponto. Argumento opcional: label para referências. % Argumento obrigatório: nome do ponto. \newenvironment{ponto}[2][@vazio] {% \refstepcounter{@nponto}% \ifthenelse{\equal{#1}{@vazio}}{}{\label{#1}}% % Cria caixa com o nome do ponto (no estilo \estilonomeponto). \global\expandafter\newbox\csname @ponto\the@nponto\endcsname% \global\expandafter\setbox\csname @ponto\the@nponto\endcsname=% \hbox{\estilonomeponto\ignorespaces #2\unskip}% % Cria caixa com o corpo do ponto (em texto normal). \global\expandafter\newbox\csname @corpo\the@nponto\endcsname% \global\expandafter\setbox\csname @corpo\the@nponto\endcsname=% \hbox\bgroup\ignorespaces% }% {% \unskip% \egroup% }% % Comando \pauta. Gera lista dos nomes dos pontos: \newcommand{\pauta}{% \newcounter{@iponto}% \setcounter{@iponto}{1}% \begin{inparaenum}[$1.$] \whiledo{\not \the@iponto>\the@nponto}% {% \textbf{\item% \unhcopy\csname @ponto\the@iponto\endcsname \ifthenelse{\the@iponto=\the@nponto}{. }{; }}% \stepcounter{@iponto}% }% \end{inparaenum}% } % Comando \desenvolvimento. Gera lista dos corpos dos pontos: \newcommand{\desenvolvimento}{% \newcounter{@jponto}% \setcounter{@jponto}{1}% \begin{inparaenum}[$1.$] \whiledo{\not \the@jponto>\the@nponto}% {% \textbf{\item \unhbox\csname @ponto\the@jponto\endcsname:} \unhbox\csname @corpo\the@jponto\endcsname\ % \stepcounter{@jponto}% }% \end{inparaenum} } %%%%%%%%%% Redefinindo itemize, enumerate, description in parágrafos: \renewenvironment{enumerate}[1][\bfseries (a)] {\begin{inparaenum}[#1]} {\unskip\end{inparaenum}} \renewenvironment{itemize} {\begin{inparaitem}} {\unskip\end{inparaitem}} \renewenvironment{description} {\begin{inparadesc}} {\unskip\end{inparadesc}} %%%%%%%%%% Abreviaturas para Prof., Profa. \newcommand{\prof}{Prof.~} \newcommand{\profa}{Prof\textordfeminine~} \endinput