% \iffalse meta-comment
%
% Copyright (C) 2026 Guilherme Ivo
%
% This file 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:
%
% https://www.latex-project.org/lppl/
%
% and version 1.3c or later is part of all distributions of
% LaTeX version 2008-05-04 or later.
%
% \fi
%
% \iffalse
%
%<driver>\ProvidesFile{siicusp-abstracts.dtx}
%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{siicusp-abstracts}
%<package>    [2026/08/05 v1.1.0 SIICUSP Abstracts]
%
%<*driver>
    \listfiles
    \documentclass{ltxdoc}

    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[brazilian]{babel}

    \usepackage{siunitx}

    \usepackage{makeidx}

    \usepackage{hypdoc}

    \EnableCrossrefs
    \RecordChanges

    \GlossaryPrologue{\section*{Histórico de Alterações}}

    \IndexPrologue{\section*{Índice Remissivo} Números em itálico referem-se à página de descrição; números sublinhados referem-se à linha de definição.}

    \makeindex

    \begin{document}
        \DocInput{siicusp-abstracts.dtx}
    \end{document}
%</driver>
% \fi
%
% \iffalse
%
%<*package>

%</package>
%
% \fi
%
% \title{O pacote \texttt{siicusp-abstracts}\footnote{Simpósio Internacional de Iniciação Científica e Tecnológica da USP}\\Esse documento corresponde a \texttt{siicusp-abstracts.sty}.}
% \author{Guilherme Ivo}
% 
% \maketitle
%
% \newcommand{\idxtext}[1]{#1\index{#1}}
% \setlength{\MacroIndent}{0pt}
%
% \changes{v1.1.0}{2026/08/05}{
%   Aprimora a documentação do pacote, ajusta a formatação para maior
%   conformidade com o modelo do SIICUSP, adiciona formatação automática
%   das legendas de figuras e tabelas, melhora o tratamento do logotipo
%   oficial e realiza correções para publicação no CTAN.
% }
%
% \changes{v1.0.0}{2026/07/30}{Versão inicial}
% 
% \PrintChanges
%    \tableofcontents
%
% \iffalse
%<*package>
\RequirePackage{graphicx}
\RequirePackage[brazilian]{babel}

\newcommand{\siicuspabstracts@logofile}{siicusp-abstracts-logo.png}

%</package>
% \fi
%
% \section{Introdução}
%
% O pacote \texttt{siicusp-abstracts} fornece uma configuração de \LaTeX{} para
% elaboração de resumos científicos de acordo com as diretrizes de formatação do
% \idxtext{SIICUSP} (Simpósio Internacional de Iniciação Científica e
% Tecnológica da USP).
%
% O pacote configura automaticamente aspectos como margens, tipografia,
% cabeçalho, informações do título e referências bibliográficas, permitindo que
% o autor concentre seus esforços no conteúdo do trabalho.
%
% Este projeto é independente e não possui qualquer vínculo oficial com a
% comissão organizadora do SIICUSP. Antes da submissão de um resumo,
% recomenda-se consultar o edital e as instruções oficiais mais recentes, pois
% as exigências de formatação podem ser alteradas ao longo do tempo.
%
% \paragraph{Importante}
%
% Este pacote procura reproduzir o modelo oficial do SIICUSP, porém não inclui
% materiais protegidos por direitos autorais, como o logotipo do evento.
% Cabe ao usuário obter esses arquivos a partir do edital ou dos materiais
% oficiais disponibilizados pela organização e verificar se houve alterações na
% identidade visual ou nas normas de formatação da edição em que o resumo será
% submetido.
%
% \subsection{Arquivos necessários}
%
% O pacote não distribui o logotipo oficial do SIICUSP.
%
% O usuário deve obter o modelo oficial disponibilizado pela organização do
% evento e copiar o arquivo de imagem do logotipo para o mesmo diretório do
% documento ou para um diretório acessível pelo \LaTeX.
%
% Por padrão, o pacote procura pelo arquivo
% \texttt{siicusp-abstracts-logo.png}.
%
% Como a identidade visual do SIICUSP pode ser alterada entre diferentes
% edições do simpósio, recomenda-se sempre utilizar o logotipo correspondente
% ao edital vigente.
%
% \begin{macro}{geometry (package)}
%
% Configura automaticamente a geometria da página conforme o modelo de resumo
% disponibilizado pelo \idxtext{SIICUSP}. São definidos o tamanho do papel, as
% margens e a área reservada ao cabeçalho contendo o logotipo do evento.
%
%    \begin{macrocode}
\RequirePackage{geometry}

\geometry{
    a4paper,
    inner=2.6cm,
    outer=2.6cm,
    top=0cm,
    bottom=8.4cm,
    bindingoffset=0cm
}
%    \end{macrocode}
% \end{macro}
%
% Define o espaçamento de \SI{0.8}{cm} entre as colunas, conforme as orientações
% do edital. Para produzir o resumo em duas colunas é necessário utilizar a
% opção \texttt{twocolumn} na classe do documento.
%
%    \begin{macrocode}
\setlength{\columnsep}{0.8cm}
%    \end{macrocode}
%
% \begin{macro}{headings}
%
% Configura o estilo da página para incluir o logotipo do SIICUSP no
% cabeçalho e remove a numeração das páginas, reproduzindo o modelo oficial do
% resumo.
%
% O logotipo é carregado a partir do arquivo
% \texttt{siicusp-abstracts-logo.png}. Esse arquivo não faz parte deste pacote
% e deve ser fornecido pelo usuário, utilizando a versão correspondente ao
% edital vigente do SIICUSP.
%
%    \begin{macrocode}
\setlength{\headheight}{4.6cm}
\setlength{\headsep}{1.0cm}

\def\ps@headings{%
    \def\@oddhead{%
        \raisebox{-0.9cm}{%
            % O usuário deve fornecer este arquivo.
            \IfFileExists{\siicuspabstracts@logofile}{
                \includegraphics[height=3.8cm]{\siicuspabstracts@logofile}
            }{
                \PackageError
                    {siicusp-abstracts}
                    {File '\siicuspabstracts@logofile' not found}
                    {Download the official SIICUSP logo corresponding to\MessageBreak
                    the current call for papers and place it in the document\MessageBreak
                    directory.}
            }
            \hfill%
    }}
    \let\@evenhead\@oddhead
    \def\@oddfoot{}%
    \let\@evenfoot\@oddfoot
}
%    \end{macrocode}
% \end{macro}
%
% \iffalse
%<*package>
\pagestyle{headings}
%</package>
% \fi
%
% \section{Tipografia}
%
% \begin{macro}{\section}
% \begin{macro}{\subsection}
%
% Configura a tipografia exigida pelo modelo do SIICUSP.
%
% Redefine os tamanhos de fonte utilizados no documento, incluindo o
% texto principal e os títulos de seção.
%
%    \begin{macrocode}
% 15.6pt = 13pt * 1.2
\newcommand{\siicuspabstracts@thirteenpt}{%
    \fontsize{13pt}{15.6pt}\selectfont%
}

% 12pt = 10pt * 1.2
\newcommand{\siicuspabstracts@tenpt}{%
    \fontsize{10pt}{12pt}\selectfont%
}

% 10.8pt = 9pt * 1.2
\newcommand{\siicuspabstracts@ninept}{%
    \fontsize{9pt}{10.8pt}\selectfont%
}
%    \end{macrocode}
%
% Quando compilado com Xe\LaTeX{} ou Lua\LaTeX{}, utiliza a fonte Arial
% instalada no sistema. Em pdf\LaTeX{}, utiliza uma fonte sans-serif compatível
% como alternativa.
%
%    \begin{macrocode}
\RequirePackage{iftex}

\ifPDFTeX
    \RequirePackage[T1]{fontenc}
    \RequirePackage[utf8]{inputenc}
    \RequirePackage{lmodern} % ou helvet, newtxtext, etc.

    \renewcommand{\familydefault}{\sfdefault}
\else
    \RequirePackage{fontspec}

    \setmainfont{Arial}
    \setsansfont{Arial}
    \renewcommand{\familydefault}{\sfdefault}

    \RequirePackage{unicode-math}

    \setmathfont{Latin Modern Math}
\fi

\renewcommand{\normalsize}{%
    \@setfontsize\normalsize{10pt}{12pt}%
}

\renewcommand\section{%
    \@startsection{section}{1}%
        {\z@ }%
        {-3.5ex\@plus -1ex\@minus -.2ex}%
        {2.3ex\@plus .2ex}%
        {\centering\normalfont\siicuspabstracts@thirteenpt\bfseries}%
}

\renewcommand\subsection{%
    \@startsection{subsection}{2}
        {\z@ }%
        {-3.25ex\@plus -1ex\@minus -.2ex}%
        {1.5ex\@plus .2ex}%
        {\centering\normalfont\siicuspabstracts@thirteenpt\bfseries}%
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@makecaption}
%
% Configura as legendas de figuras e tabelas conforme o modelo do SIICUSP.
%
% As legendas utilizam fonte de \SI{9}{pt}, são centralizadas e não utilizam
% negrito ou itálico. Para legendas com largura superior à coluna, o
% comportamento padrão do \LaTeX{} é preservado, permitindo quebra automática
% de linhas.
%
%    \begin{macrocode}
\long\def\@makecaption#1#2{%
    \vskip\abovecaptionskip
    \begingroup
        \siicuspabstracts@ninept
        \sbox\@tempboxa{#1: #2}%
        \ifdim\wd\@tempboxa>\hsize
            #1: #2\par
        \else
            \global\@minipagefalse
            \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
        \fi
    \endgroup
    \vskip\belowcaptionskip
}
%    \end{macrocode}
% \end{macro}
%
% \section{Informações do título}
%
% O pacote fornece comandos para definir as informações apresentadas no
% cabeçalho do resumo, incluindo autores, colaboradores, orientador,
% instituição e endereço de e-mail.
%
% \DescribeMacro{\title}
% Define o título do trabalho. O pacote utiliza a informação fornecida por
% \cs{title} para produzir o cabeçalho conforme o modelo do SIICUSP.
%
% \DescribeMacro{\author}
% Define o(s) autor(es) do trabalho. O conteúdo é utilizado pelo comando
% \cs{maketitle} sem alterações na sintaxe da classe do documento.
%
% \DescribeMacro{\collaborators}
% Define os colaboradores do trabalho. O regulamento do SIICUSP permite até
% três colaboradores que tenham participado do desenvolvimento do projeto.
%
%    \begin{macrocode}
\newcommand*{\collaborators}[1]{\gdef\@collaborators{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\advisor}
% Define o nome do orientador do trabalho.
%
%    \begin{macrocode}
\newcommand*{\advisor}[1]{\gdef\@advisor{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\institution}
% Define a unidade, instituto ou faculdade e a universidade às quais o trabalho
% está vinculado.
%
%    \begin{macrocode}
\newcommand*{\institution}[1]{\gdef\@institution{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\emailauthor}
% Define o endereço de e-mail do primeiro autor.
%
%    \begin{macrocode}
\newcommand*{\emailauthor}[1]{\gdef\@emailauthor{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\maketitle}
% Produz o bloco de identificação do resumo conforme o modelo do SIICUSP,
% utilizando as informações definidas por \cs{title}, \cs{author},
% \cs{collaborators}, \cs{advisor}, \cs{institution} e
% \cs{emailauthor}.
%
%    \begin{macrocode}
\renewcommand{\@maketitle}{%
\newpage\null%
\vskip 2em
\begin{center}
    \let\footnote\thanks%
    {\siicuspabstracts@thirteenpt\bfseries\MakeUppercase{\@title}\par}
    \vspace{1.2em}
    {\normalfont\siicuspabstracts@thirteenpt\bfseries\lineskip .5em
    \begin{tabular}[t]{c}%
        \@author
    \end{tabular}\par}
    \ifdefined\@collaborators
        \vspace{1.2em}
        {\normalfont\siicuspabstracts@thirteenpt\bfseries\@collaborators\par}
    \fi
    \vspace{1.2em}
    {\normalfont\siicuspabstracts@thirteenpt\bfseries\@advisor\par}
    \vspace{1.2em}
    {\normalfont\siicuspabstracts@thirteenpt\@institution\par}
    \vspace{1.2em}
    {\normalfont\siicuspabstracts@tenpt\@emailauthor\par}
    \vspace{0.3em}
\end{center}
\par
\vspace{2em}
}
%    \end{macrocode}
%
% \begin{macro}{\captionsbrazilian}
%
% Ajusta os textos gerados automaticamente pelo \LaTeX{} para corresponder
% à nomenclatura utilizada pelo modelo do SIICUSP.
%
%    \begin{macrocode}
\addto\captionsbrazilian{%
    \renewcommand{\refname}{Referências bibliográficas}
}
%    \end{macrocode}
% \end{macro}
%
% \section{Exemplo}
%
% Um documento mínimo utilizando o pacote:
%
% \begin{verbatim}
% \documentclass[twocolumn]{article}
% \usepackage{siicusp-abstracts}
%
% \title{TÍTULO}
% \author{Autor(es) - Estudante(s) de Graduação}
% \advisor{Orientador(a)}
% \institution{Faculdade/Universidade}
% \emailauthor{E-mail do primeiro autor}
%
% \begin{document}
% \maketitle\thispagestyle{headings}
%
% Texto do resumo...
%
% \end{document}
% \end{verbatim}
%
% \printindex
%
% \Finale