Как создать градиентные текстовые поля шириной с бумагу

Как создать градиентные текстовые поля шириной с бумагу

В презентации в бимере я хотел бы создать блоки без рамки, но заполненные градиентом слева (светло-серый) направо (темно-серый) и текст в блоке. Я также хочу, чтобы блок касался края бумаги (сверху, слева, справа), поэтому поместите его на слайд без каких-либо полей. Возможно ли сделать это с помощью 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

Это вариант ответа Стивена Б. Сеглетеса. Я создал новую среду gradientbox, которая принимает необязательные tcolorboxпараметры. Я попытался использовать настройки размеров из beamerфайлов стилей. Тем не менее, есть фиксированный кернинг 2mmдля верхнего пространства, который я не смог найти за разумное время в реализации бимера.

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

введите описание изображения здесь введите описание изображения здесь

Связанный контент