\documentclass[aspectratio=169,t,xcolor=table]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{listings}
\usetheme{Ufg}
\usetikzlibrary{positioning}
\setbeamertemplate{caption}[numbered]
\AtBeginSection[]{%
\setLayout{mainpoint}%
\setBGColor{\currentsectioncolor}%
\begin{frame}[noframenumbering]{}%
\frametitle{\insertsectionhead}%
\end{frame}%
\setLayout{vertical}%
}
\setPrimaryColor{UFGBlue}
\setLogos{lib/logos/INF-compact-white.png}{lib/logos/INF-compact-white.png}
\begin{document}
\title[UFGTeX]{Template Components}
\subtitle{UFGTeX-Presentation — Showcase}
\author{Altino Dantas\inst{1} \and Deuslirio Junior\inst{2}}
\institute[UFG]{%
\inst{1}%
Instituto de Informática\\
Federal University of Goiás
\and
\inst{2}%
Instituto de Informática\\
Federal University of Goiás
}
\date{2026}
\frame[noframenumbering]{\titlepage}
%---------------------------------------------------------
\setLayout{horizontal}
\begin{frame}{Who am I}
\begin{columns}
\column{0.6\textwidth}
\textbf{First Last}
\begin{itemize}
\item Role — \textbf{Organization}
\item PhD in Computer Science
\item Research: LLM agents in Software Engineering
\end{itemize}
\vspace{0.5em}
\textbf{Previously at:}
\begin{itemize}
\item \textbf{Company A} — area of work
\item \textbf{Company B} — area of work
\end{itemize}
\column{0.4\textwidth}
\begin{center}
\profilephoto[3.2cm]{figs/photo.png}{FL}
\end{center}
\end{columns}
\end{frame}
%---------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Agenda}
\tableofcontents
\end{frame}
%--------------------------------------------------------
\begin{frame}{AI Assistance}
This template includes a guide for AI assistants (Claude, Copilot, Cursor, Gemini, etc.).
\begin{block}{AGENTS.md — at the project root}
Machine-readable guide with layout rules, block patterns, column constraints, color palette, and common mistakes. Any AI assistant that reads project files will use it automatically.
\end{block}
\vspace{0.5em}
\begin{recommendationblock}{Claude Code users}
A dedicated skill is configured at \texttt{.claude/skills/}. It is invoked automatically when editing slides and includes interactive checklists (bio photo, section color strategy).
\end{recommendationblock}
\end{frame}
%==========================================================
\section[DarkPurple]{Layouts}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Vertical Layout}
Default layout for general content. Right sidebar with logo.
\begin{itemize}
\item Right sidebar (\textasciitilde 20\% of slide width)
\item Dark text on light background
\item \texttt{\textbackslash textwidth} $\approx 80\%$ of slide
\end{itemize}
\vspace{0.5em}
\begin{block}{When to use}
Lists, blocks, tables, diagrams, body text. Any slide that does not require side-by-side columns.
\end{block}
\end{frame}
%--------------------------------------------------------
\setLayout{horizontal}
\begin{frame}{Horizontal Layout}
Decorative bar at the bottom. Less vertical space available.
\begin{columns}
\column{0.55\textwidth}
\begin{itemize}
\item Horizontal bar at the base
\item Logo at the bottom-left corner
\item Preferred for two-column content
\end{itemize}
\vspace{0.5em}
\begin{block}{When to use}
Diagram or visual alongside descriptive text. Any side-by-side layout.
\end{block}
\column{0.45\textwidth}
\begin{center}
\begin{tikzpicture}[
vnode/.style={circle, minimum size=1.5cm, align=center,
font=\scriptsize\bfseries, text=white}
]
\coordinate (A) at (0, 2.6);
\coordinate (B) at (-1.8, 0.3);
\coordinate (C) at ( 1.8, 0.3);
\draw[thick, gray!35] (A) -- (B) -- (C) -- cycle;
\node[vnode, fill=UFGBlue] at (A) {A};
\node[vnode, fill=DarkOrange] at (B) {B};
\node[vnode, fill=DarkGreen] at (C) {C};
\end{tikzpicture}
\end{center}
\end{columns}
\end{frame}
%--------------------------------------------------------
\setLayout{blank}
\setBGColor{DarkGray}
\begin{frame}{Blank Layout}
\begin{columns}
\column{0.5\textwidth}
\textbf{Characteristics}
\begin{itemize}
\item Solid background in \texttt{bgcolor}
\item Text automatically white
\item No sidebar or bottom bar
\item Change color with \texttt{\textbackslash setBGColor\{\}}
\end{itemize}
\column{0.5\textwidth}
\begin{block}{When to use}
Emphasis slides with color: large metrics (\texttt{\textbackslash stat}), impactful quotes, closing. Not for regular content.
\end{block}
\end{columns}
\end{frame}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Color Palette}
\renewcommand{\arraystretch}{1.6}
\setlength{\tabcolsep}{4pt}
\begin{tabular}{p{2.8cm}p{2.8cm}p{2.8cm}p{2.8cm}}
\cellcolor{UFGBlue}{\color{white}\small\texttt{UFGBlue}\newline\tiny\texttt{\#0072B9}} &
\cellcolor{DarkOrange}{\color{DarkGray}\small\texttt{DarkOrange}\newline\tiny\texttt{\#FF9800}} &
\cellcolor{DarkGreen}{\color{white}\small\texttt{DarkGreen}\newline\tiny\texttt{\#5B8D08}} &
\cellcolor{DarkPurple}{\color{white}\small\texttt{DarkPurple}\newline\tiny\texttt{\#8E24AA}} \\
\cellcolor{INFBlue}{\color{white}\small\texttt{INFBlue}\newline\tiny\texttt{\#005CA1}} &
\cellcolor{LightOrange}{\color{DarkGray}\small\texttt{LightOrange}\newline\tiny\texttt{\#FFC107}} &
\cellcolor{LightGreen}{\color{DarkGray}\small\texttt{LightGreen}\newline\tiny\texttt{\#7ABC0C}} &
\cellcolor{LightPurple}{\color{white}\small\texttt{LightPurple}\newline\tiny\texttt{\#BF53DB}} \\
\cellcolor{Ocean}{\color{DarkGray}\small\texttt{Ocean}\newline\tiny\texttt{\#81C2EA}} &
\cellcolor{DarkGray}{\color{white}\small\texttt{DarkGray}\newline\tiny\texttt{\#212121}} &
\cellcolor{LightGray}{\color{DarkGray}\small\texttt{LightGray}\newline\tiny\texttt{\#969696}} &
\cellcolor{VeryLightGray}{\color{DarkGray}\small\texttt{VeryLightGray}\newline\tiny\texttt{\#F9F9F9}} \\
\end{tabular}
\vspace{0.5em}
{\small Mixing: \texttt{UFGBlue!60}, \texttt{DarkOrange!80!black} — works anywhere xcolor is accepted.}
\end{frame}
%--------------------------------------------------------
\setLayout{horizontal}
\begin{frame}{Section Slides with \texttt{\textbackslash section}}
\begin{columns}
\column{0.5\textwidth}
\begin{block}{With color}
\texttt{\textbackslash section[DarkPurple]\{Title\}}
\end{block}
\column{0.5\textwidth}
\begin{block}{Default (DarkGray)}
\texttt{\textbackslash section\{Title\}}
\end{block}
\end{columns}
\vspace{0.5em}
\begin{block}{Color + short TOC title}
\texttt{\textbackslash section[UFGBlue][Short]\{Long Title\}}
\end{block}
\end{frame}
%==========================================================
\section[DarkOrange]{Blocks}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Block types}
\begin{block}{Block — general content}
PrimaryColor border. Summaries, definitions, neutral notes.
\end{block}
\vspace{0.5em}
\begin{alertblock}{Alert Block — warning or risk}
DarkOrange border. Tensions, dangers, counterpoints.
\end{alertblock}
\vspace{0.5em}
\begin{recommendationblock}{Recommendation Block — suggestion}
DarkGreen border. Best practices, actionable recommendations.
\end{recommendationblock}
\end{frame}
%--------------------------------------------------------
\begin{frame}{Examples block and inline highlight}
\begin{examples}
Built-in Beamer environment. Green border with no extra setup. Title auto-translated via \texttt{babel}. Use only for real examples — not as a generic green block.
\end{examples}
\vspace{0.8em}
Text with \alert{orange highlight} via \texttt{\textbackslash alert\{\}}.
Use sparingly to preserve impact.
\end{frame}
%==========================================================
\section[UFGBlue]{Columns and Images}
%--------------------------------------------------------
\setLayout{horizontal}
\begin{frame}{Symmetric columns — 0.5 + 0.5}
\begin{columns}
\column{0.5\textwidth}
\textbf{Column A — advantages}
\begin{itemize}
\item Positive item 1
\item Positive item 2
\item Positive item 3
\end{itemize}
\column{0.5\textwidth}
\textbf{Column B — costs}
\begin{itemize}
\item Cost 1
\item Cost 2
\item \alert{Hidden cost}
\end{itemize}
\end{columns}
\end{frame}
%--------------------------------------------------------
\setLayout{horizontal}
\begin{frame}{Asymmetric columns — 0.6 + 0.4 (text + image)}
\begin{columns}
\column{0.6\textwidth}
\textbf{When to use 0.6 + 0.4}
\begin{itemize}
\item Image or diagram needs breathing room
\item Text side carries the narrative
\item Heavier content on the left balances visually
\end{itemize}
\vspace{0.5em}
\begin{block}{Tip}
Keep image width to \texttt{0.9\textbackslash textwidth} of its column to preserve padding.
\end{block}
\column{0.4\textwidth}
\begin{center}
\includegraphics[width=0.9\textwidth]{figs/photo.png}
\end{center}
\end{columns}
\end{frame}
%==========================================================
\section[DarkGray]{TikZ Diagrams}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Hierarchy diagram}
\begin{center}
\begin{tikzpicture}[
rect/.style={rectangle, rounded corners=5pt, minimum height=0.72cm,
align=center, font=\small\bfseries, text=white},
arr/.style={->, thick, color=gray!70},
darr/.style={->, thick, dashed, color=UFGBlue!80}
]
\node[rect, fill=DarkOrange, minimum width=9.5cm] (top) at (0, 4.2)
{Level 1 — Executives};
\node[rect, fill=DarkPurple, minimum width=4.5cm] (l) at (-2.6, 2.8)
{Level 2A};
\node[rect, fill=UFGBlue, minimum width=4.5cm] (r) at ( 2.6, 2.8)
{Level 2B};
\node[rect, fill=DarkGray, minimum width=9.5cm] (bot) at (0, 1.4)
{\textit{Level 3 — cross-cutting}};
\draw[arr] (top.south) -- ++(0,-0.15) -| (l.north);
\draw[arr] (top.south) -- ++(0,-0.15) -| (r.north);
\draw[darr] (l.south) -- ++(0,-0.15) -| (bot.north);
\draw[darr] (r.south) -- ++(0,-0.15) -| (bot.north);
\end{tikzpicture}
\end{center}
\vspace{0.2em}
\begin{block}{}
Solid arrows = direct hierarchy. Dashed = secondary or implicit relation.
\end{block}
\end{frame}
%==========================================================
\section[DarkGreen]{Metrics and Quotes}
%--------------------------------------------------------
\setLayout{blank}
\setBGColor{UFGBlue}
\begin{frame}{Metrics with \texttt{\textbackslash stat}}
\begin{columns}[c]
\column{0.3\textwidth} \stat{73\%}{teams adopted generative AI}
\column{0.03\textwidth} \statsep
\column{0.3\textwidth} \stat{12x}{faster code generation}
\column{0.03\textwidth} \statsep
\column{0.3\textwidth} \stat{15 days}{average adoption time}
\end{columns}
\end{frame}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Quote with \texttt{\textbackslash quoteblock}}
\quoteblock{AI redistributes who gets to create. That is real, it is positive, and there is no going back. What does not change is that creation produces artifacts that must be maintained, operated and evolved by people.}{Deuslirio Junior, 2026}
\end{frame}
%==========================================================
\section[LightPurple]{Tables and Code}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{Table with booktabs}
\begin{table}[]
\centering
\caption{Layout comparison}
\renewcommand{\arraystretch}{1.5}
\setlength{\tabcolsep}{10pt}
{\rowcolors{2}{}{LightGray!10}
\begin{tabular}{p{2.5cm}p{3.5cm}p{4cm}}
\toprule
\textbf{Layout} & \textbf{Visual marker} & \textbf{Typical use} \\
\midrule
vertical & Right sidebar & General content \\
horizontal & Bottom bar & Diagram + side text \\
blank & Solid background & Emphasis, closing \\
mainpoint & Solid bg + overlay & Section transition \\
\bottomrule
\end{tabular}
}
\end{table}
\end{frame}
%--------------------------------------------------------
\begin{frame}[fragile]{Code with lstlisting}
\begin{lstlisting}[language=Python, caption=Redistributing access with AI]
def apply_ai(team: list[str], tool: str) -> dict:
# redistributes access to creation across all roles
return {member: tool for member in team}
roles = ["dev", "pm", "designer", "exec"]
output = apply_ai(roles, "claude-code")
print(output) # everyone creates, responsibility remains
\end{lstlisting}
\end{frame}
%==========================================================
\section[DarkOrange]{Anti-patterns — what not to do}
%--------------------------------------------------------
\setLayout{vertical}
\begin{frame}{[WRONG] Two columns in vertical layout}
\begin{columns}
\column{0.5\textwidth}
\textbf{Problem}
\begin{itemize}
\item Sidebar consumes 20\% of width
\item Columns compete with the sidebar decoration
\item Content gets cramped
\end{itemize}
\column{0.5\textwidth}
\begin{alertblock}{Correct}
Use \texttt{\textbackslash setLayout\{horizontal\}} for side-by-side blocks.
Reserve \texttt{vertical} for single-column content.
\end{alertblock}
\end{columns}
\end{frame}
%--------------------------------------------------------
\setLayout{horizontal}
\begin{frame}{[WRONG] Too much content in horizontal layout}
\begin{columns}
\column{0.5\textwidth}
\textbf{Problem — horizontal has less vertical space}
\begin{itemize}
\item First item with a longer description that wraps
\item Second item with additional context provided
\item Third item explaining something important
\item Fourth item already pushing the limit
\item Fifth item that clearly overflows the frame
\item Sixth item overflows over the footer bar
\item Seventh item completely invisible to audience
\end{itemize}
\column{0.5\textwidth}
\begin{block}{Block A — first point}
Explanation that takes two lines because someone thought more text meant more value.
\end{block}
\vspace{0.4em}
\begin{block}{Block B — second point}
Another multi-line explanation adding even more vertical pressure to an already tight layout.
\end{block}
\vspace{0.4em}
\begin{alertblock}{Block C — overlaps footer}
Content overflows over the footer bar. Layout decorations sit behind — content always wins.
\end{alertblock}
\vspace{0.4em}
\begin{block}{Block D — outside the frame}
This block is cut off by the slide boundary. Audience sees nothing past the edge.
\end{block}
\end{columns}
\end{frame}
%==========================================================
\setLayout{blank}
\setBGColor{UFGBlue}
\begin{frame}
\centering
\vspace{2cm}
\textbf{\Huge Thank you}
\ \\
\textbf{Questions and suggestions are welcome}
\ \\
{\footnotesize deuslirio.junior@gmail.com}
\vspace{1cm}
\begin{figure}
\centering
\includegraphics[height=3cm]{lib/logos/INF-full-white.png}
\end{figure}
\end{frame}
%--------------------------------------------------------
\setLayout{titlepage}
\setBGColor{DarkGray}
\titlepage
\end{document}