紙幅と同じ幅のグラデーションテキストボックスを作成する方法

紙幅と同じ幅のグラデーションテキストボックスを作成する方法

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}

ここに画像の説明を入力してください


私は次の 3 つの回答から一部を採用しました。

tcolorbox で 2 つ以上の派手なグラデーション ストライプを作成するにはどうすればよいでしょうか?

tcolorboxの鋭角な角

そして

tcolorboxでボックスを描くにはどうすればいいですか

答え2

これは Steven B. Segletes の回答のバリエーションです。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}

ここに画像の説明を入力してください ここに画像の説明を入力してください

関連情報