如何创建与纸张宽度一样宽的渐变文本框

如何创建与纸张宽度一样宽的渐变文本框

在 beamer 演示文稿中,我想创建没有框架的框,但填充从左(浅灰色)到右(深灰色)的渐变色,并在框中填入文本。我还希望框接触纸张的边缘(顶部、左侧、右侧),因此将其放在没有任何边距的幻灯片上。可以使用 tcolorboxes 来实现这一点吗?

答案1

在我编辑后,我仍然我不知道自己在做什么,但我确实设法把事情弄进去了beamer。物理尺寸的使用,特别是 4.2 英寸\makebox和 4.65 英寸的\tcbox宽度,都是以物理尺寸给出的,因为我不知道边距宽度等的相应变量名称是什么beamer。因此,它们可能需要根据您的beamer模板进行更改。

\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}

在此处输入图片描述


我从以下三个答案中引用了一些内容:

如何在 tcolorbox 中制作两条以上的花式渐变条纹?

尖角到 tcolorbox

如何用 tcolorbox 绘制一个框

答案2

这是 Steven B. Segletes 的答案的变体。我创建了一个gradientbox接受可选tcolorbox参数的新环境。我尝试使用beamer样式文件中的尺寸设置。但是,顶部空间有一个固定的字距2mm,我无法在合理的时间内在 beamer 实现中找到它。

框架应与选项一起使用[t],不带标题,以将框置于幻灯片的最顶部。

\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}

在此处输入图片描述 在此处输入图片描述

相关内容