
У меня простой вопрос: возможно ли добавить тень к НЕ скругленному блоку в Beamer?
Я пробовал это с:
\setbeamertemplate{blocks}[rounded=false][shadow=true]
Но безуспешно. Я использую тему marburg. Вот код преамбулы:
\documentclass[serif]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage[spanish]{babel}
\usepackage{mathpazo}
\linespread{1.05}
\author{Lorem ipsum}
\title{LOrem ipsum}
\setbeamertemplate{navigation symbols}{}
\usetheme[hideallsubsections,left,width=2cm]{Marburg}
\usecolortheme{rose}
\setbeamercolor{titlelike}{bg=structure,fg=white}
\logo{\includegraphics[height=1.5cm]{../Fotos/Logo.png}}
\setbeamertemplate{sidebar left}{
\begin{minipage}{2cm}
\centering
\vspace{\baselineskip}
\insertlogo
\vspace{\baselineskip}
\color{white}{\insertshorttitle[width={2cm},center,respectlinebreaks]}
\insertshortauthor[width={2cm},center,respectlinebreaks] \vspace{\baselineskip}
\insertverticalnavigation{2cm}
\vspace{10\baselineskip}
\insertframenumber / \inserttotalframenumber
\end{minipage}
}
\begin{document}
...
Заранее спасибо,
Чарли
решение1
К сожалению, сделать это изначально непросто beamer
(но есть простой способ сделать это с помощью внешних инструментов), поскольку тени применяются только к скругленным прямоугольникам (которые создаются с помощью beamerboxesrounded
), но не к нескругленным прямоугольникам (которые создаются отдельно с помощью beamercolorbox
).
В качестве альтернативы я предлагаю вам здесь возможность использованияtcolorbox
пакет для определения блоков, эмулирующих те, которые определены классом beamer
, но добавляющих тень. В следующем примере я показываю, как легко это сделать, определив правильный стиль и построив затененные клоны для exampleblock
и alertblock
:
\documentclass[]{beamer}
\usepackage{mathpazo}
\usepackage[many]{tcolorbox}
\linespread{1.05}
\usetheme[hideallsubsections,left,width=2cm]{Marburg}
\usefonttheme{serif}
\usecolortheme{rose}
\setbeamercolor{titlelike}{bg=structure,fg=white}
\setbeamertemplate{sidebar left}{%
\begin{minipage}{2cm}
\centering
\vspace{\baselineskip}
\insertlogo%
\vspace{\baselineskip}
\color{white}{\insertshorttitle[width={2cm},center,respectlinebreaks]}%
\insertshortauthor[width={2cm},center,respectlinebreaks] \vspace{\baselineskip}
\insertverticalnavigation{2cm}
\vspace{10\baselineskip}
\insertframenumber / \inserttotalframenumber
\end{minipage}%
}
\makeatletter
\tikzset{beamer@color/.style={top color=\kvtcb@colback,bottom color=\kvtcb@colback}}
\makeatother
\tcbset{
tcbeamer/.style={
beamer,
width=\textwidth+3pt,
enlarge left by=-3pt,
bottom=0pt,
top=0pt,
left=1pt,
right=1pt,
arc=0pt,
outer arc=0pt,
toptitle=0pt,
bottomtitle=-1pt,
}
}
\newenvironment<>{tcexampleblock}[1]
{\begin{actionenv}#2\begin{tcolorbox}[
adjusted title=#1,
tcbeamer,
colback=block body example.bg,
colframe=block title example.bg,
fonttitle=\large\color{block title example.fg}
]
}
{\end{tcolorbox}\end{actionenv}}
\newenvironment<>{tcalertblock}[1]
{\begin{actionenv}#2\begin{tcolorbox}[
adjusted title=#1,
tcbeamer,
colback=block body alerted.bg,
colframe=block title alerted.bg,
fonttitle=\large\color{block title alerted.fg},
adjusted title=#1,
]
}
{\end{tcolorbox}\end{actionenv}}
\begin{document}
\begin{frame}
\begin{exampleblock}<1->{Test exampleblock}
This is a block provided by the \texttt{beamer} class.
\end{exampleblock}
\begin{tcexampleblock}<2->{Test tcexampleblock}
This is a block provided by the \texttt{tcolorbox} package.
\end{tcexampleblock}
\begin{alertblock}<3->{Test alertblock}
This is a block provided by the \texttt{beamer} class.
\end{alertblock}
\begin{tcalertblock}<4-6>{Test tcalertblock}
This is a block provided by the \texttt{tcolorbox} package.
\end{tcalertblock}
\end{frame}
\end{document}
Результат, демонстрирующий новые среды с поддержкой наложения в действии:
Обратите внимание, что параметр класса serif устарел, поэтому вместо
\documentclass[serif]{beamer}
вам следует использовать
\usefonttheme{serif}
решение2
Вы можете использовать новую внутреннюю тему tcolorbox (https://www.ctan.org/pkg/beamertheme-tcolorbox). В этой теме есть возможность включить тени независимо от круглых/острых углов:\useinnertheme[shadow]{tcolorbox}
Полный пример:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage[spanish]{babel}
\usepackage{mathpazo}
\linespread{1.05}
\author{Lorem ipsum}
\title{LOrem ipsum}
\setbeamertemplate{navigation symbols}{}
\usetheme[hideallsubsections,left,width=2cm]{Marburg}
\usecolortheme{rose}
\setbeamercolor{titlelike}{bg=structure,fg=white}
\logo{\includegraphics[height=1.5cm]{example-image-duck}}
\setbeamertemplate{sidebar left}{
\begin{minipage}{2cm}
\centering
\vspace{\baselineskip}
\insertlogo
\vspace{\baselineskip}
\color{white}{\insertshorttitle[width={2cm},center,respectlinebreaks]}
\insertshortauthor[width={2cm},center,respectlinebreaks] \vspace{\baselineskip}
\insertverticalnavigation{2cm}
\vspace{10\baselineskip}
\insertframenumber / \inserttotalframenumber
\end{minipage}
}
\useinnertheme[shadow]{tcolorbox}
\begin{document}
\begin{frame}
\begin{block}{title}
content...
\end{block}
\end{frame}
\end{document}