Em uma apresentação beamer eu gostaria de criar caixas sem moldura, mas preenchidas com gradiente da esquerda (cinza claro) para a direita (cinza escuro) e texto na caixa. Também quero que a caixa toque a borda do papel (superior, esquerda, direita), então coloque-a no slide sem margens. É possível fazer isso com tcolorboxes?
Responder1
Após minha EDIÇÃO, euaindanão tenho ideia do que estou fazendo, mas consegui colocar as coisas em prática beamer
. O uso de dimensões físicas, notadamente 4,2 pol. para largura \makebox
e 4,65 pol. para \tcbox
largura, são dados em dimensões físicas porque não sei quais são os nomes de variáveis correspondentes para beamer
larguras de margem, etc. beamer
modelo.
\documentclass{beamer}
\usepackage{tcolorbox,lipsum}
\tcbuselibrary{skins}
\begin{document}
\begin{frame}
\raisebox{4cm}{\makebox[4.2in]{
\tcbox[enhanced, boxrule=0pt, arc=0pt, width=4.65in, top=.2in,bottom=.3in,
interior style={left color=gray!05,right color=gray!50}]
{\begin{minipage}{4.65in}
\lipsum[1]
\end{minipage}
}}}
\end{frame}
\end{document}
Empreguei pedaços dessas três respostas:
Como fazer mais de duas listras gradientes sofisticadas no tcolorbox?
e
Responder2
Esta é uma variante da resposta de Steven B. Segletes. Criei um novo ambiente gradientbox
que aceita tcolorbox
parâmetros opcionais. Tentei usar as configurações de dimensão dos beamer
arquivos de estilo. Ainda assim, há um kerning fixo 2mm
para o espaço superior que não consegui encontrar em um tempo razoável na implementação do beamer.
O quadro deve ser usado com a [t]
opção e sem título para colocar a caixa no topo do slide.
\documentclass{beamer}
\usepackage{tcolorbox,lipsum}
\tcbuselibrary{skins}
\makeatletter%
\newtcolorbox{gradientbox}[1][]{%
enhanced,boxrule=0pt,boxsep=0pt,sharp corners,
before=\nointerlineskip\kern-2mm,%
width=\paperwidth,
enlarge left by=-\beamer@leftmargin-\beamer@leftsidebar,
enlarge right by=-\beamer@rightmargin-\beamer@rightsidebar,
frame hidden,interior style={left color=gray!05,right color=gray!50},
#1
}
\makeatother%
\begin{document}
\begin{frame}[t]
\begin{gradientbox}
\lipsum[1]
\end{gradientbox}
\end{frame}
\begin{frame}[t]
\begin{gradientbox}[top=8mm,bottom=8mm,left=10mm,right=10mm]
\lipsum[1]
\end{gradientbox}
\end{frame}
\end{document}