
답변1
이는 tcolorbox
기반 구현입니다.
\documentclass{beamer}
\usepackage{tikz,tcolorbox}
\usetikzlibrary{shapes,calc}
\tcbuselibrary{skins}
\definecolor{myblue}{rgb}{0.15,0.15,0.53}
\makeatletter
\newtcbox{\titlebox}{
enhanced,
overlay={
\draw[myblue,fill=myblue](frame.south east)--+(0,.2)to[bend right]+(.2,-0)--cycle;},
colback=myblue,
top=-1pt,bottom=-2pt,left=2pt,right=2pt,
boxrule=1pt,
colframe=myblue,
sharp corners=south,
colupper=white,
fontupper=\bfseries
}
\newtcolorbox{myblock}[1][]{
enhanced,
left=2pt,
right=2pt,
colframe=myblue,
boxrule=1pt,
colback=blue!10,
overlay={
\def\myblock@tempa{#1}
\ifx\myblock@tempa\@empty
\else
\draw[myblue,fill=myblue]($(frame.north west)+(.2pt,-.2pt)$)--+(.1,0)to[bend right]+(-0,-.1)--cycle;
\node [
anchor=south west,
inner sep=0pt,
outer sep=0pt
]at(frame.north west){\titlebox{#1}};
\fi
},
}
\makeatother
\begin{document}
\begin{frame}
\begin{myblock}[Corollary]
\textit{If $_{\chi PP}(M)=2$ a haplotype matrix M we can find an optimal pp-partition in polynomial time}
\end{myblock}
\begin{myblock}
this block has no title
\end{myblock}
\end{frame}
\end{document}
멋진 것(둥근 모서리 등)은 TikZ로 수행되며 상자에 제목이 없으면 조건부로 제외됩니다.
답변2
tcolorbox 내부 테마를 시작점으로 사용하고 거기서부터 사용자 정의를 시작할 수 있습니다.
\documentclass{beamer}
\usecolortheme{orchid}
\useinnertheme[rounded]{tcolorbox}
\makeatletter
\tcbsetforeverylayer{
boxrule=1pt,
borderline={1.5pt}{0pt}{beamer@tcb@titlebg},
sharp corners=northwest,
attach boxed title to top left={},
boxed title style={
bottom=-1mm,
top=0mm,
sharp corners=south,
rounded corners=northwest,
arc=1.3mm,
overlay={
\fill[beamer@tcb@titlebg] (frame.south east) -- ++(0,3mm) arc [start angle=180, end angle=270, radius=3mm] -- cycle;
\fill[beamer@tcb@titlebg] (frame.south west) -- ++(1.8mm,-0.5mm) arc [start angle=90, end angle=180, radius=1.3mm] -- cycle;
}
},
}
\makeatother
\begin{document}
\begin{frame}
\begin{block}{title}
content...
\end{block}
\begin{Corollary}[test]
content...
\end{Corollary}
\begin{exampleblock}{title}
content...
\begin{alertblock}{title}
content...
\end{alertblock}
\end{exampleblock}
\end{frame}
\end{document}