使用以下命令我可以更改块标题的背景颜色:
\setbeamercolor{block title}{bg=blue!20,fg=black}
我怎样才能为块标题设置背景图像?(我正在考虑平铺图像以创建更美观的外观)
答案1
完整代码
\documentclass{beamer}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\usepackage{tikz}
\usetheme{Singapore}
\newenvironment<>{myblock}[1]{%
\begin{actionenv}#2%
\def\insertblocktitle{
\vskip-.15cm\hspace*{-.38cm}
\tikz\node[text width=.98\textwidth+.45cm,inner sep=.18cm,font=\bfseries,text=black,path picture={
\node at (path picture bounding box){\includegraphics[width=\textwidth]{hearts}};
}]{#1};
\vskip-.15cm
}
\mode<presentation>{%
\setbeamercolor{block title}{fg=black,bg=gray!20}
\setbeamercolor{block body}{fg=black,bg=white}
\setbeamercolor{itemize item}{fg=orange!20!black}
\setbeamertemplate{itemize item}[triangle]
}%
\usebeamertemplate{block begin}}
{\par\usebeamertemplate{block end}\end{actionenv}}
\newtcolorbox{mytblock}[1]{
enhanced,
title=#1,
title style tile={width=\textwidth}{hearts},
arc=0pt,
boxrule=0pt,
colback=white,
fonttitle=\bfseries,
coltitle=black,
lefttitle=-1pt,
toptitle=3pt,
bottomtitle=3pt,
leftupper=1pt,
}
\begin{document}
\begin{frame}
\begin{myblock}{This is a title}
test
\end{myblock}
\begin{mytblock}{This is a title}
test
\end{mytblock}
\end{frame}
\end{document}
上面有两种方法:
- 破解块模板(
myblock
) - 使用 tcolorbox 包创建一个看起来像 beamer 块的块 (
mytblock
)
该tcolorbox
软件包已经内置了一项功能title style tile
,可让您插入任何背景图片并为您平铺。请注意,在 MWE 中,我使用了一张大图片(如 600x480),该图片本身已经平铺,因此我有:
title style tile={width=\textwidth}{hearts}
如果你有一张非平铺的图片,第一个变量将指定单张图片的宽度,所以你会得到类似
title style tile={width=1cm}{<non-tiled-picture>}
由于您使用的是新加坡主题,因此可以通过破解 beamer 块模板来实现类似的结果。如您所见,代码更复杂(有点破解),在这种情况下,您需要使用像我这样的已经平铺的图片(除非您想让事情变得更加复杂)。
你可以找到爱心的图片这里。
答案2
您可以将 tcolorbox 内部主题作为起点,然后向标题添加背景图像,如下所示:
\documentclass{beamer}
\usetheme{Warsaw}
\useinnertheme[shaded=false]{tcolorbox}
\makeatletter
\tcbset{
title style={fill overzoom image={example-grid-100x100bp}}
}
\makeatother
\begin{document}
\begin{frame}
\begin{block}{title}
content...
\end{block}
\end{frame}
\end{document}